github google/fruit v2.1.0
Fruit 2.1.0

This release has the sole purpose of aiding the migration from Fruit 2.0.x to Fruit 3.x.

Changes compared to 2.0.4

  • Mark as deprecated all constructors/methods that are no longer available in Fruit 3.x.
  • Introduce a PartialComponent::install() method and constructors for Injector and NormalizedComponent with the same signature as the ones in Fruit 3.x.

Note that none of the bug-fixes or the other improvements in Fruit 3.x are provided with this release.
This release is only meant to be using temporarily, while migrating code to the Fruit 3.x syntax.

Suggested migration process

  • Switch from Fruit 2.0.x to 2.1.0. This will cause deprecation warnings for all uses of Fruit 2.0.x APIs that no longer exist in 3.x. Depending on the compiler flags used in your build, you might need to temporarily disable some diagnostics (e.g. if you're using GCC/Clang's -Werror, these deprecation warnings will be considered errors and your code will no longer build).
  • Incrementally port your code to remove uses of deprecated methods, replacing them with the corresponding non-deprecated variant. After each change you can re-run your tests to make sure nothing breaks.
  • Re-enable any disabled diagnostics (e.g. -Werror).
  • Switch from Fruit 2.1.0 to 3.x. Note that even if you're not using any deprecated methods, this is not guaranteed to be a backwards-compatible change, notably due to the de-duplication of install() calls performed in Fruit 3.x (which is not performed in 2.1.0). However in practice this should not require many changes (if any). Just make sure you re-run your tests under Fruit 3.x.
  • Enjoy the 3.x performance improvements and new features.
latest releases: v3.6.0, v3.5.0, v3.4.0...
3 years ago