Significant non-backward compatible release
The 0.9.0 release is an overhaul of the money
library. So much of the actual dependencies, namespaces, and type names have changed.
Remove Akka as the core run-time
Money 0.8.x used Akka and Akka Actors to "drive" span data collection and generation. This introduced the following issues:
- Incompatible akka versions - if you wanted to use money on a project that was already using akka, the money version of akka could be incompatible with the version in your application
- Unncessary overhead - because actors have their own executors / mailboxes / etc., using akka and in particular the way akka was used created overhead in the JVM that was unnecessary
As such, we have removed all need for akka in order to work with money
Introduce a java api
One of the criticisms of money has been that it requires scala
to work. This can be an impediment for low-resource applications as the scala
library is quite large. A new package money.api
has a java only contract that can easily be implemented in other JVM languages.
Note: The default implementation is still scala based
Remove Spring 3 support
Spring 3 has long been EOL. There are a number of known security issues with Spring 3. As such, money now only supports Spring 4.x and above.
This will require you to change your maven dependency, as well as imports, if you upgrade.
Overhaul the config
0.9.0 introduces a new way to configure money. This will break existing installations as the config syntax has changed.
Money still supports configurable collection of span data, including introducing your own handlers.
Removal of TracedFuture
Money 0.8.x supported the concept of tracing scala standard library Future
. This proved to be unreliable in usage and had limited to zero adoption.
Support JDK 8, remove support for older versions
Support Scala 2.12, remove support for older versions