Thread overview
Aedi 0.1.0 release
Jan 03, 2017
Alexandru Ermicioi
Jan 03, 2017
Chris Wright
Jan 04, 2017
Alexandru Ermicioi
January 03, 2017
Good day.

Aedi release 0.1.0 is available now.
Following changes from 0.0.1 have been made:
- Added annotation based configuration.
- Added additional logic in register based configuration, to handle composite containers.
- Added support for setting and auto-wiring of public fields, along with methods.
- Added factory method pattern to library.
- Added switchable container, that can be switched on and off (in offline mode no objects are served).
- Added a proof of concept implementation of proxy based container (though not working at the moment).
- Added and improved documentation.
- Added unittests, testing most of the code.
- Improved register based configuration handling of containers with simple data.
- Improved error reporting, when a method mismatch, or incompatibility with configuration occurs.
- Implemented support for struct construction and configuration (now di containers are - able to construct and wire them too).
- Updated examples to reflect new abilities.
- Removed Register struct from register based configuration, due to no need.

For the next release, planning to add:
- pre and post instantiation processing.
- fiddle with proxy based containers, that can serve proxy objects instead of real ones.
- probably, some sort of integration with vibed, and other libs/frameworks.

Project's repository: https://github.com/aermicioi/aedi
Project's documentation (check aedi package members for start): https://aermicioi.github.io/aedi/

Waiting for reviews, and bug reporting.
January 03, 2017
On Tue, 03 Jan 2017 11:47:44 +0000, Alexandru Ermicioi wrote:
> Aedi release 0.1.0 is available now.

This would be the perfect place to describe what Aedi is and why people might be interested in it.
January 04, 2017
On Tuesday, 3 January 2017 at 18:24:50 UTC, Chris Wright wrote:
> On Tue, 03 Jan 2017 11:47:44 +0000, Alexandru Ermicioi wrote:
>> Aedi release 0.1.0 is available now.
>
> This would be the perfect place to describe what Aedi is and why people might be interested in it.

It is a dependency injection library.

Dependency injection libraries, usually are used at bootstrap stage of application, when application is creating and connecting all of it's components (objects, structs etc.).
The process of wiring components between them, can be tedious and complex, in case when it is done manually. A DI library like Aedi, will take the task of creating and wiring components between them, instead of developer. It will wire them according to configuration, passed to it. The configuration itself can be done by code or by annotation for Aedi, and it is easier to write it, since the DI library will take the rest of work on itself.