softwaremill / diffx   0.9.0

Apache License 2.0 GitHub

Pretty diffs for scala case classes

Scala versions: 3.x 2.13 2.12
Scala.js versions: 1.x


Build Status Maven Central diffx-core Scala version support

Gitter Scala Steward badge Documentation Status

Maintenance mode

⚠️ Diffx is no longer actively developed.

No new features will be added.

Pull requests with bug fixes will still be merged for some time.

New users are encouraged to try out a better alternative - difflicious

Old users should migrate to difflicious by the end of 2024.

I am planning to archive this project by that time unless someone volunteers to take it over.

If you spot something that is missing in difflicious that blocks your migration, please don't hesitate and open an issue there.

If you are curious why I decided to do that here is a short summary:

  • diffx didn't have any development for quite some time. Sure some libraries are just done and there is no need for constant development. In my opinion this is not the case for diffx as its internals should be refactored. Also there are some open bugs that should be taken care of.
  • I simply don't have time and energy to maintain it anymore
  • difflicious has better design so there is no point in keeping diffx around

Thank you all for using this project.


diffx documentation is available at

Modifying documentation

The documentation is typechecked using mdoc. The sources for the documentation exist in docs-sources. Don't modify the generated documentation in generated-docs, as these files will get overwritten!

When generating documentation, it's best to set the version to the current one, so that the generated doc files don't include modifications with the current snapshot version.

That is, in sbt run: set version := "0.5.0", before running mdoc in docs.

Releasing a new version

$ nix develop
$ sbt release


Copyright (C) 2019 SoftwareMill