==================
A lot of internals have changed, but it can roughly be resumed as the following:
Breaking changes
----------------
- The :code:`DependencyManager` does not exist anymore and has been replaced by
multiple helpers which accepts a :code:`container` argument. By default the global
container of Antidote is used. Thus one can easily replace
:code:`from antidote import antidote` to :code:`import antidote` to adapt existing code.
- The global container of Antidote, previously named :code:`container`, has been
renamed :code:`world`.
- :code:`Dependency` does not take additional arguments anymore, for custom
dependencies :code:`Build`, :code:`Tagged` must be used instead.
- Custom providers must inherit :code:`Provider`.
- :code:`register_parameters()` has been replaced by a more general function,
:code:`resource()`. See the documentation to imitate its functionality.
- :code:`factory()` is more strict. Subclasses are not handled anymore, one should
use :code:`register()` with its :code:`factory` argument instead.
Features
--------
- Dependencies can be tagged at registration. Those can then be retrieved as
a dependency. This allows one to extend an app by registering a service in
special way just by adding a tag.
- Type hints usage can now be finely controlled or disabled with :code:`use_type_hints`.
- Add :code:`resource()` to support custom resources, such as configuration.
- Dependency providers are more strict for more maintainable code.
- Use of Cython for better injection performance.