wartremover

Flexible Scala code linting tool

APACHE-2.0 License

Downloads
61
Stars
1.1K

Bot releases are hidden (Show)

wartremover - 1.3.0

Published by ClaireNeveu over 7 years ago

This is a feature release of wartremover and sbt-wartremover.

Changelog

New Features

  • Null wart now forbids default field initializers (where they would be null).
  • New ImplicitParameter wart forbids implicit parameters (unless they are type-class dictionaries).
  • New PublicInference wart forbids public members without a type ascription.
  • FinalCaseClass wart now allows sealed abstract case class.

Bugfixes:

  • AsInstanceOf wart no longer triggers on macro output.
  • Various bugfixes for the StringPlusAny wart.

Contributors

wartremover - 1.2.1

Published by ClaireNeveu almost 8 years ago

This is a bugfix release of wartremover and sbt-wartremover.

Changelog

Bugfixes:

Contributors

wartremover - 1.2.0

Published by ClaireNeveu almost 8 years ago

This is a feature release of wartremover and sbt-wartremover. This is the first release that targets Scala 2.12 (excluding release candidates).

Changelog

New Features

  • New StringPlusAny wart supercedes the Any2StringAdd wart and additionally forbids "" + {}.
  • New TraversableOps wart supercedes the ListOps wart and expands its functionality to all Traversables

Contributors

wartremover - 1.1.1

Published by ClaireNeveu about 8 years ago

This is a bugfix release of wartremover and sbt-wartremover. This also marks the first release of wartremover for Scala 2.12-M5

Changelog

Bugfixes:

  • NoNeedForMonad no longer throws a MatchError.

Contributors

wartremover - 1.1.0

Published by ClaireNeveu about 8 years ago

This is a feature release of wartremover and sbt-wartremover.

Changelog

New Features

  • wartremoverExcluded is now a taskKey instead of a settingKey.
  • wartremoverClasspaths is now a taskKey instead of a settingKey.
  • New FinalVal wart prevents use of constant-folding (which triggers a bug in sbt).
  • The Equals wart now forbids use of != in addition to ==.
  • The Null wart now forbids use of Option#orNull.

Contributors

wartremover - 1.0.1

Published by ClaireNeveu over 8 years ago

This is a bugfix release of wartremover and sbt-wartremover.

Changelog

Bugfixes:

  • ImplicitConversions no longer triggers on implicit evidence.

Contributors

wartremover - 1.0.0

Published by ClaireNeveu over 8 years ago

The 1.0.0 version of wartremover and sbt-wartremover has been released. This marks the first version of wartremover to use semantic versioning.

Changelog

Breaking changes:

  • Artifacts are now published under org.wartremover instead of org.brianmckenna. All package paths have been modified accordingly.
  • Wartremover now runs before the patmat phase, as such pattern matches that compiled to isInstanceOf/asInstanceOf are no longer caught by those warts.

New Features:

  • New ImplicitConversion wart prevents use of implicit def.
  • New Equals wart disables use of ==.
  • New LeakingSealed wart prevents non-final classes from extending sealed traits.
  • New While wart disables used of the while loop.
  • New Overloading wart disables method overloading.

Bugfixes:

  • ExplicitImplicitTypes no longer triggers on implicit classes.
  • Using Warts.all or Warts.allBut no longer breaks incremental compiliation.
  • Option2Iterable's error message now indicates the proper substitution to make.
  • Throw no longer triggers on synthetic MatchErrors.
  • NonUnitStatements no longer triggers on classes with multiple argument lists.
  • ExplicitImplicitTypes now properly handles implicit var declarations.
  • ExplicitImplicitTypes now properly handles backticks.

Contributors

Thank you to everybody who contributed as well as those who reported issues and joined in on discussions.