Skip to content

Releases: typelevel/sbt-tpolecat

v0.5.1

03 Apr 18:13
Compare
Choose a tag to compare

What's Changed

  • Update scalafmt-core to 3.7.11 by @typelevel-steward in #164
  • Improve the 0.5.x migration by handling some more wildcard import possibilities by @DavidGregory084 in #165
  • Improve the 0.5.x migration some more by handling TpolecatPlugin.autoImport.ScalacOptions by @DavidGregory084 in #166
  • Update README to include import and Set examples by @davesmith00000 in #181
  • Update scalafmt-core to 3.7.17 by @typelevel-steward in #193
  • Update sbt to 1.9.8 by @typelevel-steward in #195
  • Update scalac-options to 0.1.4 by @typelevel-steward in #177
  • Update scalafmt-core to 3.8.0 by @typelevel-steward in #201
  • Update sbt-scalafix, scalafix-core, ... to 0.11.1 by @typelevel-steward in #173
  • Update sbt to 1.9.9 by @typelevel-steward in #203
  • Test Scala 3.3.1 opts by @bcarter97 in #202
  • Fix typo in README.md by @froth in #207

New Contributors

Full Changelog: v0.5.0...v0.5.1

0.5.0

26 Jul 22:37
v0.5.0
a1f439e
Compare
Choose a tag to compare

Changed

  • The plugin artifact is now published under the org.typelevel group ID. An artifact migration has been added to Scala Steward, so Scala Steward users should not have to update the artifact group ID manually.

  • The project now makes use of the scalac-options library, so symbols relating to scalac options and their availability on differing Scala versions have been moved to the package org.typelevel.scalacoptions.

  • All other symbols provided by this plugin have been moved to the org.typelevel.sbt.tpolecat package.

  • The ScalacOptions object is no longer part of this plugin's autoImport symbols. You will need to explicitly import org.typelevel.scalacoptions.ScalacOptions.

  • A Scalafix migration is available, and can be applied using the github: scheme, e.g.

$ scalafix github:typelevel/sbt-tpolecat/v0_5?sha=4837a5bad7426c97be9bb3a5b792fd779f5c921a
  • However, please note that there are severe limitations on running Scalafix migrations that require semantic information on sbt build files. Scalafix semantic migrations are able to update *.scala files but not *.sbt files.

0.4.4

11 Jul 10:30
v0.4.4
741e180
Compare
Choose a tag to compare

Added

  • #127 - add a verbose mode, which enables verbose options such as -Vimplicits and -explain.

0.4.3

06 Jul 16:39
v0.4.3
ac833f6
Compare
Choose a tag to compare

Added

  • #147 - added support for compiler warnings re-introduced in Scala 3.3.0.

Changed

  • #143 - set tpolecatOptionsMode in every scope when using the mode commands, rather than just ThisBuild scope. This enables users who set the mode differently in different subprojects to make use of mode commands.

0.4.2

06 Jan 14:04
2e4579a
Compare
Choose a tag to compare

Fixed

  • #102 - a bug which resulted in scalac options contributed by other plugins being overwritten, most notably the Scala.js plugin. Huge thanks to @sjrd for their work on #126 which resolves this issue.

0.4.1

21 Jul 16:19
5bc0a76
Compare
Choose a tag to compare

Added

  • #84 - An advancedOption overload with support for multiple argument options was added.
  • #88 - A Scalafix migration rule to migrate package names for the upcoming 0.5.0 release was added.

Changed

  • #85 - -Xcheckinit was removed from the default option set. After discussion on issues #10 and #83 it has become apparent that although -Xcheckinit offers a lot of value for some users, it creates some very tricky problems for users that are writing async code. The initialization checking code this option produces introduces @volatile variables that can disguise memory visibility issues.
  • #88 - The project was restructured into a multi-module sbt build.

0.4.0

18 Jul 10:18
69ee774
Compare
Choose a tag to compare

NOTE: This release series will be the final one released under the group ID io.github.davidgregory084, and the final one using the package io.github.davidgregory084.

As of the 0.5.x series, this project will be released under the group ID org.typelevel and using the package org.typelevel.sbt.

If you are using Scala Steward to upgrade your libraries, an artifact migration has been provided to update the sbt-tpolecat group ID.

A Scalafix migration will be provided upon the release of 0.5.0 to migrate any usages of the previous package in your projects.

Changed

  • #75 The ScalacOptions trait was made package-private. This is to ensure that new methods can be added to this trait without risking binary compatibility breakages.
  • #75 The ScalacOption constructor was changed from (tokens: List[String], ...) to (option: String, args: List[String], ...). This is to ensure that multi-argument options can be filtered out regardless of which arguments were provided to the option.

0.3.3

06 Jun 14:30
3a2872b
Compare
Choose a tag to compare

Added

  • Support for the SIP-22 -Xasync option was added to the ScalacOptions DSL.
  • Support for the -Ybackend-parallelism option was added to the ScalacOptions DSL. This option can be used to enable scalac to emit class files in parallel.
  • Support for the -release option was added to the ScalacOptions DSL. This option can be used to compile for a specific version of the Java platform.

Fixed

  • #74 - a bug in filtering of multiple-argument options. This filtering was broken in the attempt to fix #60. Unfortunately this means that if users append to ThisBuild / scalacOptions, those appended options will no longer be inherited by other configurations, e.g. Test / scalacOptions.
  • #78 - a bug where options were not filtered out of Test / scalacOptions as expected. This had the same underlying cause as #74.
  • #77 - the JDK version was not being set as expected by the setup-scala action. Resolved by switching to setup-java instead.

0.3.2 - [YANKED]

06 Jun 14:29
44a8a8e
Compare
Choose a tag to compare

Please do not use this release - GitHub accepted a tag push but not its corresponding commit data, so the release proceeded against a commit that is not on the main branch.

0.3.1

25 Apr 09:57
8e85dba
Compare
Choose a tag to compare

Changed

  • The dependency on the sbt-partial-unification plugin was dropped. This is because support for partial unification was backported to Scala 2.11.11, so all versions of Scala supported by this plugin either enable partial unification by default or provide a compiler option to enable it. This means that this plugin will no longer enable partial unification on 2.11.x patch releases older than 2.11.11.