Skip to content

Latest commit

 

History

History
212 lines (128 loc) · 12.2 KB

CHANGELOG.md

File metadata and controls

212 lines (128 loc) · 12.2 KB

Changelog

0.4.2 - 2025-01-26

Administrative release, no functional changes

0.4.1 - 2024-07-31

Changed

  • Breaking: single implementation aliases are now explicit (#408) (George Dietrich)

Fixed

  • Fix default/nil values related to object_of and array_of being unavailable in bundle extensions (#432) (George Dietrich)

0.4.0 - 2024-04-09

Changed

  • Breaking: remove Clock, Console, and EventDispatcher built-in integrations (#337) (George Dietrich)
  • Breaking: major internal refactor (#337, #378) (George Dietrich)
  • Breaking: replace ADI.auto_configure with ADI::Autoconfigure (#387) (George Dietrich)
  • Breaking: replace alias ADI::Register field with ADI::AsAlias (#389) (George Dietrich)
  • Integrate website into monorepo (#365) (George Dietrich)

Added

  • Add ability to easily extend/customize the container (#337, #348, #371, #372, #373, #374, #377, #379, #382, #383) (George Dietrich)
  • Add ability to define method calls that should be made during service instantiation (#384) (George Dietrich)
  • Add new ADI::AutoconfigureTag and ADI::TaggedIterator to make working with tagged services easier (#387) (George Dietrich)
  • Add ADI.configuration_annotation to Athena::DependencyInjection from Athena::Config (#392) (George Dietrich)

0.3.8 - 2023-12-16

Fixed

  • Avoid depending directly on Crystal macro types (#335) (George Dietrich)

0.3.7 - 2023-10-09

Added

  • Add integration between Athena::DependencyInjection and the Athena::Clock component (#318) (George Dietrich)

0.3.6 - 2023-02-18

Changed

  • Update some links in preparation for Athena Framework 0.18.0 (#261) (George Dietrich)

0.3.5 - 2023-02-04

Added

  • Add better integration between Athena::DependencyInjection and the Athena::Console and Athena::EventDispatcher components (#259) (George Dietrich)

0.3.4 - 2023-01-07

Changed

  • Refactor various internal logic (George Dietrich)

0.3.3 - 2022-05-14

First release a part of the monorepo.

Changed

  • Update minimum crystal version to ~> 1.4.0 (#169) (George Dietrich)

Added

  • Add getting started documentation to API docs (#172) (George Dietrich)

0.3.2 - 2021-10-30

Changed

  • Unused services are now excluded from the container (#30) (George Dietrich)

0.3.1 - 2021-03-28

Fixed

  • Fix error with untyped parameters with default values injecting (#28) (George Dietrich)

0.3.0 - 2021-03-20

Added

0.2.6 - 2021-03-15

Added

  • Allow using the ADI::Inject annotation on class methods to create factories (#25) (George Dietrich)

0.2.5 - 2021-01-30

Changed

  • Migrate documentation to MkDocs (#23, #24) (George Dietrich)

0.2.4 - 2021-01-29

Added

  • Add dependency on athena-framework/config (#20) (George Dietrich)
  • Add support for injecting parameters into a service (#20) (George Dietrich)
  • Add support for service proxies (#21) (George Dietrich)

Removed

  • Remove the lazy ADI::Register field. All services are lazy by default now (#21) (George Dietrich)

Fixed

  • Fix issue building documentation (#22) (George Dietrich)

0.2.3 - 2020-12-24

Fixed

  • Fix error when a parameter has a default value after an array parameter (#19) (George Dietrich)

0.2.2 - 2020-12-03

Changed

  • Update crystal version to allow version greater than 1.0.0 (#18) (George Dietrich)

0.2.1 - 2020-11-14

Added

  • Add a mock container instance to allow mocking services (#15) (George Dietrich)
  • Add ability to customize the type of a service within the container (#15) (George Dietrich)
  • Add support for factory pattern constructors (#16) (George Dietrich)

0.2.0 - 2020-06-09

Major refactor of the component.

Added

Changed

  • Breaking: manually provided arguments now need to be prefixed with a _ (#10) (George Dietrich)
  • Breaking: service names are now based on the FQN of the type, downcase underscored by default (#10) (George Dietrich)
  • Updated optional services to now be based on the type/default value of the parameter (#10) (George Dietrich)
  • Service dependencies are now resolved automatically, removes need to manually provide them (#10) (George Dietrich)

Removed

  • Breaking: remove the ADI::Service module (#10) (George Dietrich)
  • Breaking: remove the ADI::Injectable module (#10) (George Dietrich)
  • Breaking: remove the @? syntax (#10) (George Dietrich)
  • Breaking: remove the #get, #has, #resolve, #tagged, and #tags methods from ADI::ServiceContainer (#10) (George Dietrich)

0.1.3 - 2020-04-06

Fixed

  • Fix an edge case by checking includers via <= (#7) (George Dietrich)

0.1.2 - 2020-02-22

Changed

  • Change type resolution logic to operate at compile time instead of runtime (#6) (George Dietrich)

0.1.1 - 2020-02-06

Added

  • Add the ability to redefine services (#4) (George Dietrich)

0.1.0 - 2020-01-31

Initial release.