python-dependency-injector/docs/main/changelog.rst

170 lines
5.4 KiB
ReStructuredText
Raw Normal View History

2015-07-28 09:46:35 +03:00
Changelog
=========
2015-08-31 16:31:38 +03:00
This document describes all the changes in *Dependency Injector* framework
that were made in every particular version.
2015-08-31 16:31:38 +03:00
From version 0.7.6 *Dependency Injector* framework strictly
follows `Semantic versioning`_
Development version
-------------------
2015-12-15 18:02:21 +03:00
- No features.
1.12.0
------
- Add possibility to specialize ``Factory`` provided type.
- Add possibility to specialize ``Singleton`` provided type.
2015-12-15 17:49:07 +03:00
- Add possibility to specialize ``DeclarativeCatalog`` provider type.
- Add possibility to specialize ``DynamicCatalog`` provider type.
2015-12-11 23:46:49 +03:00
- Make some refactorings for providers.
2015-12-11 12:40:00 +03:00
1.11.2
------
- Improve representation of providers and injections.
2015-11-26 16:34:14 +03:00
2015-11-30 13:09:56 +03:00
1.11.1
2015-11-26 16:50:12 +03:00
------
Previous state of *Dependency Injector* framework (0.11.0 version) is
considered to be production ready / stable, so current release is considered
to be the first major release.
- Increase major version.
- Backward compatibility with all previous versions above 0.7.6 has been saved.
2015-11-26 16:34:14 +03:00
0.11.0
------
- Rename ``AbstractCatalog`` to ``DeclarativeCatalog``
(with backward compatibility).
2015-11-26 16:34:14 +03:00
- Rename ``catalog`` module to ``catalogs`` with backward compatibility.
- Implement dynamic binding of providers for ``DeclarativeCatalog``.
- Add ``DynamicCatalog``.
- Change restrictions for providers-to-catalogs bindings - provider could be
bound to several catalogs with different names.
- Restrict overriding of providers by themselves.
- Restrict overriding of catalogs by themselves.
- Make ``DeclarativeCatalog.last_overriding`` attribute to be ``None`` by
default.
- Make ``Provider.last_overriding`` attribute to be ``None`` by
default.
- Refactor catalogs and providers modules.
- Add API documentation
- Improve user's guides and examples.
2015-11-04 17:32:04 +03:00
0.10.5
------
2015-11-26 16:34:14 +03:00
- Add more representable implementation for ``AbstractCatalog`` and
``AbstractCatalog.Bundle``.
2015-11-04 17:32:04 +03:00
2015-11-02 11:58:09 +03:00
0.10.4
------
- Remove VERSION file from MANIFEST.in.
2015-10-26 13:52:52 +03:00
0.10.3
------
- Update example docblocks.
0.10.2
------
- Fix bug with injecting entities that implement ``__getattr__``.
2015-10-23 17:04:39 +03:00
0.10.1
------
- Update some examples.
2015-10-23 16:49:07 +03:00
0.10.0
------
2015-11-26 16:34:14 +03:00
- Add functionality for creating ``AbstractCatalog`` provider bundles.
- Improve ``AbstractCatalog`` inheritance.
- Improve ``AbstractCatalog`` overriding.
2015-10-11 15:34:21 +03:00
- Add images for catalog "Writing catalogs" and "Operating with catalogs"
examples.
- Add functionality for using positional argument injections with
2015-11-26 16:34:14 +03:00
``Factory``, ``Singleton``, ``Callable`` providers and
``inject`` decorator.
- Add functionality for decorating classes with ``@inject``.
- Add ``Singleton.injections`` attribute that represents a tuple of all
``Singleton`` injections (including args, kwargs, attributes and methods).
- Add ``Callable.injections`` attribute that represents a tuple of all
``Callable`` injections (including args and kwargs).
- Add optimization for ``Injection.value`` property that will compute
type of injection once, instead of doing this on every call.
2015-11-26 16:34:14 +03:00
- Add ``VERSION`` constant for verification of currently installed version.
- Add support of Python 3.5.
- Add support of six 1.10.0.
- Add minor refactorings and code style fixes.
2015-09-03 00:27:56 +03:00
2015-09-14 10:53:24 +03:00
0.9.5
-----
- Change provider attributes scope to public.
2015-11-26 16:34:14 +03:00
- Add ``Factory.injections`` attribute that represents a tuple of all
``Factory`` injections (including kwargs, attributes and methods).
2015-09-14 10:53:24 +03:00
0.9.4
-----
- Add minor documentation fixes.
2015-09-04 02:33:15 +03:00
0.9.3
-----
- Implement thread safety.
2015-09-04 02:33:15 +03:00
2015-09-03 16:00:23 +03:00
0.9.2
-----
- Add minor refactorings.
2015-09-03 00:27:56 +03:00
0.9.1
-----
- Add simplified syntax of kwarg injections for ``di.Factory`` and
``di.Singleton`` providers:
``di.Factory(SomeClass, dependency1=injectable_provider_or_value)``.
- Add simplified syntax of kwarg injections for ``di.Callable`` provider:
``di.Callable(some_callable, dependency1=injectable_provider_or_value)``
- Add simplified syntax of kwarg injections for ``@di.inject`` decorator:
``@di.inject(dependency1=injectable_provider_or_value)``.
- Optimize ``@di.inject()`` decorations when they were made several times for
the same callback.
2015-09-01 00:37:21 +03:00
- Add minor refactorings.
- Fix of minor documentation issues.
2015-08-31 16:36:31 +03:00
0.8.1
2015-08-31 16:31:38 +03:00
-----
- ``Objects`` is renamed to ``Dependency Injector``.
2015-08-17 22:44:28 +03:00
0.7.8
-----
- Fixing @inject import bug in examples.
2015-08-05 17:44:22 +03:00
0.7.7
-----
- Fixing minor bug in concept example.
0.7.6
-----
- Adding support of six from 1.7.0 to 1.9.0.
- Factory / Singleton providers are free from restriction to operate with
classes only. This feature gives a change to use factory method and
functions with Factory / Singleton providers.
- All attributes of all entities that have to be protected was renamed using
``_protected`` manner.
- Providers extending was improved by implementing overriding logic in
``Provider.__call__()`` and moving providing logic into
``Provider._provide()``.
- ``NewInstance`` provider was renamed to ``Factory`` provider.
``NewInstance`` still can be used, but it considered to be deprecated and
will be removed in futher releases.
- ``@inject`` decorator was refactored to keep all injections in
``_injections`` attribute of decorated callback. It will give a possibilty to
track all the injections of particular callbacks and gives some performance
boost due minimizing number of calls for doing injections.
- A lot of documentation updates were made.
- A lot of examples were added.
- Some minor refactorings were done.
Previous versions
-----------------
- While *Objects* was in alpha state, changes were not tracked.
.. _Semantic versioning: http://semver.org/