0.4.2 - 2025-01-26
Administrative release, no functional changes
0.4.1 - 2024-07-31
- Breaking: single implementation aliases are now explicit (#408) (George Dietrich)
- Fix default/nil values related to
object_of
andarray_of
being unavailable in bundle extensions (#432) (George Dietrich)
0.4.0 - 2024-04-09
- Breaking: remove
Clock
,Console
, andEventDispatcher
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)
- 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
toAthena::DependencyInjection
fromAthena::Config
(#392) (George Dietrich)
0.3.8 - 2023-12-16
- Avoid depending directly on Crystal macro types (#335) (George Dietrich)
0.3.7 - 2023-10-09
- Add integration between
Athena::DependencyInjection
and theAthena::Clock
component (#318) (George Dietrich)
0.3.6 - 2023-02-18
- Update some links in preparation for Athena Framework
0.18.0
(#261) (George Dietrich)
0.3.5 - 2023-02-04
- Add better integration between
Athena::DependencyInjection
and theAthena::Console
andAthena::EventDispatcher
components (#259) (George Dietrich)
0.3.4 - 2023-01-07
- Refactor various internal logic (George Dietrich)
0.3.3 - 2022-05-14
First release a part of the monorepo.
- Update minimum
crystal
version to~> 1.4.0
(#169) (George Dietrich)
- Add getting started documentation to API docs (#172) (George Dietrich)
0.3.2 - 2021-10-30
- Unused services are now excluded from the container (#30) (George Dietrich)
0.3.1 - 2021-03-28
- Fix error with untyped parameters with default values injecting (#28) (George Dietrich)
0.3.0 - 2021-03-20
- Allow injecting configuration into services (#27) (George Dietrich)
0.2.6 - 2021-03-15
0.2.5 - 2021-01-30
0.2.4 - 2021-01-29
- 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)
- Remove the
lazy
ADI::Register
field. All services are lazy by default now (#21) (George Dietrich)
- Fix issue building documentation (#22) (George Dietrich)
0.2.3 - 2020-12-24
- Fix error when a parameter has a default value after an array parameter (#19) (George Dietrich)
0.2.2 - 2020-12-03
- Update
crystal
version to allow version greater than1.0.0
(#18) (George Dietrich)
0.2.1 - 2020-11-14
- 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.
- Add concept of aliasing services (#10) (George Dietrich)
- Add concept of binding values (#10) (George Dietrich)
- Add concept of auto configuration (#10) (George Dietrich)
- Add ADI::Inject annotation (#10) (George Dietrich)
- Add support for generic services (#10) (George Dietrich)
- 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)
- 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 fromADI::ServiceContainer
(#10) (George Dietrich)
0.1.3 - 2020-04-06
- Fix an edge case by checking includers via
<=
(#7) (George Dietrich)
0.1.2 - 2020-02-22
- Change type resolution logic to operate at compile time instead of runtime (#6) (George Dietrich)
0.1.1 - 2020-02-06
- Add the ability to redefine services (#4) (George Dietrich)
0.1.0 - 2020-01-31
Initial release.