2015-07-28 09:46:35 +03:00
Changelog
=========
2015-08-03 23:41:46 +03:00
2024-08-07 05:41:24 +03:00
This document describes all the changes in *Dependency Injector* framework
2015-08-31 16:31:38 +03:00
that were made in every particular version.
2015-08-03 23:41:46 +03:00
2024-08-07 05:41:24 +03:00
From version 0.7.6 *Dependency Injector* framework strictly
2015-08-31 16:31:38 +03:00
follows `Semantic versioning`_
2015-08-03 23:41:46 +03:00
2025-01-05 23:19:57 +03:00
4.45.0
--------
- Add Starlette lifespan handler implementation (`#683 <https://github.com/ets-labs/python-dependency-injector/pull/683> `_ ).
- Raise exception in `` ThreadLocalSingleton `` instead of hiding it in finally (`#845 <https://github.com/ets-labs/python-dependency-injector/pull/845> `_ ).
- Improve debuggability of `` deepcopy `` errors (`#839 <https://github.com/ets-labs/python-dependency-injector/pull/839> `_ ).
- Update examples (`#838 <https://github.com/ets-labs/python-dependency-injector/pull/838> `_ ).
- Upgrade testing dependencies (`#837 <https://github.com/ets-labs/python-dependency-injector/pull/837> `_ ).
- Add minor fixes to the documentation (`#709 <https://github.com/ets-labs/python-dependency-injector/pull/709> `_ ).
- Remove `` six `` from the dependencies (`3ba4704 <https://github.com/ets-labs/python-dependency-injector/commit/3ba4704bc1cb00310749fd2eda0c8221167c313c> `_ ).
Many thanks for the contributions to:
- `ZipFile <https://github.com/ZipFile> `_
- `František Trebuňa <https://github.com/gortibaldik> `_
- `JC (Jonathan Chen) <https://github.com/dijonkitchen> `_
2024-12-07 19:51:44 +03:00
4.44.0
2024-11-10 08:05:25 +03:00
--------
2024-12-07 19:51:44 +03:00
- Implement support for Pydantic 2. PR: `#832 <https://github.com/ets-labs/python-dependency-injector/pull/832> `_ .
2024-11-10 08:05:25 +03:00
- Implement `PEP-517 <https://peps.python.org/pep-0517/> `_ , `PEP-518 <https://peps.python.org/pep-0518/> `_ , and
2024-12-07 19:51:44 +03:00
`PEP-621 <https://peps.python.org/pep-0621/> `_ . PR: `#829 <https://github.com/ets-labs/python-dependency-injector/pull/829> `_ .
Many thanks to `ZipFile <https://github.com/ZipFile> `_ for both contributions.
2024-11-10 08:05:25 +03:00
2024-11-04 08:02:52 +03:00
4.43.0
2024-11-04 05:01:45 +03:00
--------
2024-11-04 08:01:28 +03:00
- Add support for Python 3.13.
2024-11-04 05:01:45 +03:00
- Migrate to Cython 3 (version 3.0.11). Many thanks to `ZipFile <https://github.com/ZipFile> `_ for
this contribution `#813 <https://github.com/ets-labs/python-dependency-injector/pull/813> `_ .
2024-09-10 04:52:11 +03:00
4.42.0
--------
- Promote release `` 4.42.0b1 `` to a production release.
- Fix the Disqus comment widget.
2024-08-07 05:51:59 +03:00
4.42.0b1
--------
2024-08-07 05:41:24 +03:00
- Add support of Python 3.12.
- Drop support of Python 2.7, 3.5, and 3.6.
- Regenerate C sources using Cython 0.29.37.
2024-08-08 04:04:37 +03:00
- Update `` cibuildwheel `` to version `` 2.20.0 `` .
2024-08-07 05:41:24 +03:00
2022-12-19 06:14:00 +03:00
4.41.0
------
2022-12-19 05:09:14 +03:00
- Add support of Python 3.11.
2022-12-19 05:52:32 +03:00
- Allow Closing to detect dependent resources `#633 <https://github.com/ets-labs/python-dependency-injector/issues/633> `_ ,
`#636 <https://github.com/ets-labs/python-dependency-injector/pull/636> `_ . Thanks `Jamie Stumme @StummeJ <https://github.com/StummeJ> `_
for the contribution.
2022-12-19 05:09:14 +03:00
- Update CI/CD to use Ubuntu 22.04.
- Update CI/CD to `` actions/checkout@v3 `` , `` actions/setup-python@v4 `` , `` actions/upload-artifact@v3 `` , `` pypa/cibuildwheel@v2.11.3 `` ,
and `` actions/download-artifact@v3 `` .
2022-12-19 05:25:16 +03:00
- Fix install crash on non-utf8 systems `#644 <https://github.com/ets-labs/python-dependency-injector/pull/644> `_ .
2022-12-19 05:52:32 +03:00
- Fix a bug in Windows build with default charset `#635 <https://github.com/ets-labs/python-dependency-injector/pull/635> `_ .
2022-12-19 05:35:43 +03:00
- Update FastAPI Redis example to use `` aioredis `` version 2 `#613 <https://github.com/ets-labs/python-dependency-injector/pull/613> `_ .
2022-12-19 05:42:55 +03:00
- Update documentation on creating custom providers `#598 <https://github.com/ets-labs/python-dependency-injector/pull/598> `_ .
2022-12-19 05:09:14 +03:00
- Regenerate C sources using Cython 0.29.32.
2022-12-19 06:12:38 +03:00
- Fix builds badge.
2022-12-19 05:09:14 +03:00
2022-08-04 04:20:38 +03:00
4.40.0
------
2022-07-11 04:08:45 +03:00
- Add `` Configuration.from_json() `` method to load configuration from a json file.
2022-07-27 04:37:15 +03:00
- Fix bug with wiring not working properly with functions double wrapped by `` @functools.wraps `` decorator.
See issue: `#454 <https://github.com/ets-labs/python-dependency-injector/issues/454> `_ .
Many thanks to: `@platipo <https://github.com/platipo> `_ , `@MatthieuMoreau0 <https://github.com/MatthieuMoreau0> `_ ,
`@fabiocerqueira <https://github.com/fabiocerqueira> `_ , `@Jitesh-Khuttan <https://github.com/Jitesh-Khuttan> `_ .
- Refactor wiring module to store all patched callable data in the `` PatchedRegistry `` .
2022-04-17 05:29:19 +03:00
- Improve wording on the "Dependency injection and inversion of control in Python" docs page.
2022-07-27 04:37:15 +03:00
- Add documentation on the `` @inject `` decorator.
2022-04-17 04:46:01 +03:00
- Update typing in the main example and cohesion/coupling correlation definition in
"Dependency injection and inversion of control in Python".
Thanks to `@illia-v (Illia Volochii) <https://github.com/illia-v> `_ for the
PR (`#580 <https://github.com/ets-labs/python-dependency-injector/pull/580> `_ ).
2022-04-17 05:29:19 +03:00
- Update copyright year.
2022-07-20 03:28:40 +03:00
- Enable skipped test `` test_schema_with_boto3_session() `` .
2022-07-02 22:11:25 +03:00
- Update pytest configuration.
2022-07-11 04:23:25 +03:00
- Regenerate C sources using Cython 0.29.30.
2022-04-17 04:46:01 +03:00
2022-03-30 05:51:40 +03:00
4.39.1
------
- Fix bug `#574 <https://github.com/ets-labs/python-dependency-injector/issues/574> `_ :
"`` @inject `` breaks `` inspect.iscoroutinefunction `` ". Thanks to
`@burritoatspoton (Rafał Burczyński) <https://github.com/burritoatspoton> `_ for reporting the issue.
2022-03-28 05:21:51 +03:00
4.39.0
------
- Optimize injections and wiring from x1.5 to x7 times depending on the use case.
2022-03-27 21:23:27 +03:00
- Fix bug `#569 <https://github.com/ets-labs/python-dependency-injector/issues/569> `_ :
"numpy.typing.NDArray breaks wiring". Thanks to
`@VKFisher (Vlad Fisher) <https://github.com/VKFisher> `_ for reporting the issue and providing a fix.
2022-01-31 07:27:58 +03:00
4.38.0
------
2022-01-10 05:45:20 +03:00
- Add new provider `` Aggregate `` . It is a generalized version of `` FactoryAggregate `` that
can contain providers of any type, not only `` Factory `` . See issue
`#530 <https://github.com/ets-labs/python-dependency-injector/issues/530> `_ . Thanks to
`@zerlok (Danil Troshnev) <https://github.com/zerlok> `_ for suggesting the feature.
2021-12-21 01:46:51 +03:00
- Add argument `` as_ `` to the `` config.from_env() `` method for the explicit type casting
of an environment variable value, e.g.: `` config.timeout.from_env("TIMEOUT", as_=int) `` .
2022-01-10 05:45:20 +03:00
See issue `#533 <https://github.com/ets-labs/python-dependency-injector/issues/533> `_ . Thanks to
`@gtors (Andrey Torsunov) <https://github.com/gtors> `_ for suggesting the feature.
2021-11-26 19:50:19 +03:00
- Add `` .providers `` attribute to the `` FactoryAggregate `` provider. It is an alias for
`` FactoryAggregate.factories `` attribute.
- Add `` .set_providers() `` method to the `` FactoryAggregate `` provider. It is an alias for
`` FactoryAggregate.set_factories() `` method.
2022-01-31 07:16:55 +03:00
- Add string imports for `` Factory `` , `` Singleton `` , `` Callable `` , `` Resource `` , and `` Coroutine ``
providers, e.g. `` Factory("module.Class") `` .
See issue `#531 <https://github.com/ets-labs/python-dependency-injector/issues/531> `_ .
Thanks to `@al-stefanitsky-mozdor <https://github.com/al-stefanitsky-mozdor> `_ for suggesting the feature.
2022-01-29 07:12:08 +03:00
- Fix `` Dependency `` provider to don't raise "Dependency is not defined" error when the `` default ``
is a falsy value of proper type.
See issue `#550 <https://github.com/ets-labs/python-dependency-injector/issues/550> `_ . Thanks to
`@approxit <https://github.com/approxit> `_ for reporting the issue.
2021-11-26 19:50:19 +03:00
- Refactor `` FactoryAggregate `` provider internals.
2022-01-17 02:39:36 +03:00
- Update logo on Github and in docs to support dark themes and remove some imperfections.
2021-11-26 19:50:19 +03:00
2021-11-01 03:50:16 +03:00
4.37.0
------
2021-10-20 19:10:05 +03:00
- Add support of Python 3.10.
2021-09-30 22:08:11 +03:00
- Improve wiring with adding importing modules and packages from a string
`` container.wire(modules=["yourapp.module1"]) `` .
2021-10-04 03:35:48 +03:00
- Add container wiring configuration `` wiring_config = containers.WiringConfiguration() `` .
2021-10-07 04:36:41 +03:00
- Add support of `` with `` statement for `` container.override_providers() `` method.
2021-10-24 04:46:50 +03:00
- Add `` Configuration(yaml_files=[...]) `` argument.
2021-10-27 03:27:11 +03:00
- Add `` Configuration(ini_files=[...]) `` argument.
2021-10-27 04:08:47 +03:00
- Add `` Configuration(pydantic_settings=[...]) `` argument.
2021-10-12 19:16:49 +03:00
- Drop support of Python 3.4. There are no immediate breaking changes, but Dependency Injector
will no longer be tested on Python 3.4 and any bugs will not be fixed.
2021-11-01 04:00:28 +03:00
- Announce the date of dropping Python 3.5 support (Jan 1st 2022).
2021-10-18 23:19:03 +03:00
- Fix `` Dependency.is_defined `` attribute to always return boolean value.
2021-10-27 03:27:11 +03:00
- Fix `` envs_required=False `` behavior in `` Configuration.from_*() `` methods
to give a priority to the explicitly provided value.
2021-09-30 22:08:11 +03:00
- Update documentation and fix typos.
2021-11-01 03:48:23 +03:00
- Regenerate C sources using Cython 0.29.24.
2021-10-18 23:19:03 +03:00
- Migrate tests to `` pytest `` .
2021-09-13 03:15:03 +03:00
2021-09-28 21:59:11 +03:00
4.36.2
------
- Update docs.
2021-09-28 21:51:39 +03:00
4.36.1
------
2021-09-25 22:36:48 +03:00
- Fix a wiring bug with improper resolving of `` Provide[some_provider.provider] `` .
2021-09-13 03:15:03 +03:00
- Fix a typo in `` Factory `` provider docs `` service.add_attributes(clent=client) ``
`#499 <https://github.com/ets-labs/python-dependency-injector/issues/499> `_ .
Thanks to `@rajanjha786 <https://github.com/rajanjha786> `_ for the contribution.
2024-08-07 05:41:24 +03:00
- Fix a typo in `` boto3 `` example
2021-09-16 19:55:14 +03:00
`#511 <https://github.com/ets-labs/python-dependency-injector/issues/511> `_ .
Thanks to `@whysage <https://github.com/whysage> `_ for the contribution.
2021-09-13 03:15:03 +03:00
2021-08-25 19:06:22 +03:00
4.36.0
------
2021-08-25 17:20:45 +03:00
- Add support of non-string keys for `` FactoryAggregate `` provider.
- Improve `` FactoryAggregate `` typing stub.
2021-08-24 04:00:47 +03:00
- Improve resource subclasses typing and make shutdown definition optional
`PR #492 <https://github.com/ets-labs/python-dependency-injector/pull/492> `_ .
Thanks to `@EdwardBlair <https://github.com/EdwardBlair> `_ for suggesting the improvement.
2021-08-24 04:25:32 +03:00
- Fix type annotations for `` .provides `` .
Thanks to `Thiago Hiromi @thiromi <https://github.com/thiromi> `_ for the fix
`PR #491 <https://github.com/ets-labs/python-dependency-injector/pull/491> `_ .
2021-08-24 04:14:22 +03:00
- Fix environment variables interpolation examples in configuration provider docs `` {$ENV} -> ${ENV} `` .
Thanks to `Felipe Rubio @krouw <https://github.com/krouw> `_ for reporting the issue and
fixing yaml example `PR #494 <https://github.com/ets-labs/python-dependency-injector/pull/494> `_ .
2021-08-12 04:18:37 +03:00
- Fix `` @containers.copy() `` decorator to respect dependencies on parent providers.
See issue `#477 <https://github.com/ets-labs/python-dependency-injector/issues/477> `_ .
Thanks to `Andrey Torsunov @gtors <https://github.com/gtors> `_ for reporting the issue.
2021-08-12 04:23:18 +03:00
- Fix typing stub for `` container.override_providers() `` to accept other types besides `` Provider `` .
2021-08-16 17:05:50 +03:00
- Fix runtime issue with generic typing in resource initializer classes `` resources.Resource ``
and `` resources.AsyncResource `` .
See issue `#488 <https://github.com/ets-labs/python-dependency-injector/issues/488> `_ .
Thanks to `@EdwardBlair <https://github.com/EdwardBlair> `_ for reporting the issue.
2021-08-12 04:18:37 +03:00
2021-08-24 04:00:47 +03:00
4.35.3
------
- *This release was removed from PyPI. It was inconsistently published because project has
reached a PyPI size limit. Changes from this release are published on PyPI in next version.*
2021-08-06 23:50:42 +03:00
4.35.2
------
- Update wiring to support modules provided as packages.
See issue `#481 <https://github.com/ets-labs/python-dependency-injector/issues/481> `_ .
Thanks to `@Sadbot <https://github.com/Sadbot> `_ for demonstrating the issue.
2021-08-06 00:05:17 +03:00
4.35.1
------
- Fix a container issue with supporting custom string types.
See issue `#479 <https://github.com/ets-labs/python-dependency-injector/issues/479> `_ .
Thanks to `@ilsurih <https://github.com/ilsurih> `_ for reporting the issue.
2021-07-29 23:41:23 +03:00
4.35.0
------
- Add support of six 1.16.0.
2021-07-24 23:33:16 +03:00
4.34.2
------
- Fix a bug with reverse shutdown order in `` container.shutdown_resources() `` .
See issue `#432 <https://github.com/ets-labs/python-dependency-injector/issues/432> `_ .
Thanks to `Saulius Beinorius <https://github.com/saulbein> `_ for bringing up the issue.
2021-07-21 01:48:23 +03:00
4.34.1
------
2021-07-21 01:46:44 +03:00
- Update `` container.shutdown_resources() `` to respect dependencies order while shutdown.
See issue `#432 <https://github.com/ets-labs/python-dependency-injector/issues/432> `_ .
Thanks to `Saulius Beinorius <https://github.com/saulbein> `_ for bringing up the issue.
2021-06-24 16:03:11 +03:00
4.34.0
------
2021-06-24 16:00:36 +03:00
- Add option `` envs_required `` for configuration provider `` .from_yaml() `` and `` .from_ini() ``
methods. With `` envs_required=True `` methods `` .from_yaml() `` and `` .from_ini() `` raise
an exception when encounter an undefined environment variable in the configuration file.
By default this option is set to false for preserving previous behavior `` envs_required=False `` .
- Add raising of an exception in configuration provider strict mode when provider encounters
an undefined environment variable in the configuration file.
- Update configuration provider environment variables interpolation to replace
undefined environment variables with an empty value.
- Update configuration provider to perform environment variables interpolation before passing
configuration file content to the parser.
2021-06-14 05:06:27 +03:00
4.33.0
2021-06-13 22:07:30 +03:00
------
- Add support of default value for environment variable in INI and YAML
configuration files with `` ${ENV_NAME:default} `` format.
See issue `#459 <https://github.com/ets-labs/python-dependency-injector/issues/459> `_ .
Thanks to `Maksym Shemet @hbmshemet <https://github.com/hbmshemet> `_ for suggesting the feature.
2021-06-14 05:05:29 +03:00
- Add method `` Configuration.from_value() `` .
See issue `#462 <https://github.com/ets-labs/python-dependency-injector/issues/462> `_ .
Thanks to Mr. `Slack Clone <https://disqus.com/by/slackclone/> `_ for bringing it up
in the comments for configuration provider docs.
2021-06-13 22:07:30 +03:00
2021-05-21 01:12:00 +03:00
4.32.3
------
- This fix a typo in `` di_in_python.rst `` doc.
Thanks to `@loingo95 <https://github.com/loingo95> `_ for the fix.
2021-04-27 05:09:35 +03:00
4.32.2
------
- Improve wiring fault tolerance.
See issue `#441 <https://github.com/ets-labs/python-dependency-injector/issues/441> `_ .
Thanks to `@ssheng <https://github.com/ssheng> `_ for reporting the issue.
2021-04-25 20:45:34 +03:00
4.32.1
------
- Fix a bug with `` List `` provider not working in async mode.
See issue: `#450 <https://github.com/ets-labs/python-dependency-injector/issues/450> `_ .
Thanks to `@mxab <https://github.com/mxab> `_ for reporting the issue.
- Add async mode tests for `` List `` and `` Dict `` provider.
2021-04-19 04:47:47 +03:00
4.32.0
------
- Add `` ContextLocalSingleton `` provider.
See PR: `#443 <https://github.com/ets-labs/python-dependency-injector/pull/442> `_ .
Thanks to `@sonthonaxrk <https://github.com/sonthonaxrk> `_ for the contribution.
- Regenerate C sources using Cython 0.29.22.
2021-03-30 23:02:12 +03:00
4.31.2
------
2021-03-30 17:25:45 +03:00
- Fix an issue with `` Dict `` provider non-string keys.
See issue: `#435 <https://github.com/ets-labs/python-dependency-injector/issues/435> `_ .
Thanks to `@daniel55411 <https://github.com/daniel55411> `_ for reporting the issue.
2021-03-30 23:02:12 +03:00
- Fix Flask scoped contexts example.
See issue: `#440 <https://github.com/ets-labs/python-dependency-injector/pull/440> `_ .
Thanks to `@sonthonaxrk <https://github.com/sonthonaxrk> `_ for the contribution.
2021-03-30 17:25:45 +03:00
2021-03-24 04:14:35 +03:00
4.31.1
------
2021-03-24 04:14:03 +03:00
- Fix `` ThreadSafeSingleton `` synchronization issue.
See issue: `#433 <https://github.com/ets-labs/python-dependency-injector/issues/433> `_ .
Thanks to `@garlandhu <https://github.com/garlandhu> `_ for reporting the issue.
2021-03-21 04:42:40 +03:00
4.31.0
------
2021-03-20 20:16:51 +03:00
- Implement providers' lazy initialization.
- Improve providers' copying.
- Improve typing in wiring module.
- Fix wiring module loader uninstallation issue.
- Fix provided instance providers error handing in asynchronous mode.
2021-03-21 04:41:39 +03:00
- Fix overridden configuration option cache resetting.
See issue: `#428 <https://github.com/ets-labs/python-dependency-injector/issues/428> `_ .
Thanks to `@dcendents <https://github.com/dcendents> `_ for reporting the issue.
2021-03-20 20:16:51 +03:00
2021-03-20 03:23:20 +03:00
4.30.0
------
- Remove restriction to wire a dynamic container.
2021-03-09 00:33:32 +03:00
4.29.2
------
2021-03-09 00:32:34 +03:00
- Fix wiring to not crash on missing signatures.
See issue: `#420 <https://github.com/ets-labs/python-dependency-injector/issues/420> `_ .
Thanks to `@Balthus1989 <https://github.com/Balthus1989> `_ for reporting the issue.
2021-03-06 01:28:46 +03:00
4.29.1
------
2021-03-06 01:24:48 +03:00
- Fix recursive copying issue in `` Delegate `` provider.
See issue: `#245 <https://github.com/ets-labs/python-dependency-injector/issues/245> `_ .
Thanks to `@GitterRemote <https://github.com/GitterRemote> `_ for reporting the issue.
2021-03-04 00:06:53 +03:00
- Add docs and example for `` Factory.add_attributes() `` method.
2021-03-06 01:23:57 +03:00
- Remove legacy css file.
2021-03-06 04:17:28 +03:00
- Remove `` unittest2 `` test dependency.
2021-03-04 00:06:53 +03:00
2021-03-03 17:06:19 +03:00
4.29.0
------
2021-03-03 16:28:10 +03:00
- Implement context manager interface for resetting a singleton provider.
See issue: `#413 <https://github.com/ets-labs/python-dependency-injector/issues/413> `_ .
Thanks to `@Arrowana <https://github.com/Arrowana> `_ for suggesting the improvement.
2021-03-03 17:05:15 +03:00
- Implement overriding interface to container provider.
See issue: `#415 <https://github.com/ets-labs/python-dependency-injector/issues/415> `_ .
Thanks to `@wackazong <https://github.com/wackazong> `_ for bringing up the use case.
2021-03-03 16:28:10 +03:00
2021-03-01 17:06:11 +03:00
4.28.1
------
2021-03-01 17:01:51 +03:00
- Fix async mode mode exception handling issue in `` Dependency `` provider.
See issue: `#409 <https://github.com/ets-labs/python-dependency-injector/issues/409> `_ .
Thanks to `@wackazong <https://github.com/wackazong> `_ for reporting the issue.
2021-03-01 16:28:22 +03:00
- Fix links to `` boto3 `` example.
2021-03-01 05:08:50 +03:00
4.28.0
------
2021-03-01 05:07:50 +03:00
- Add wiring injections into modules and class attributes.
See issue: `#411 <https://github.com/ets-labs/python-dependency-injector/issues/411> `_ .
Many thanks to `@brunopereira27 <https://github.com/brunopereira27> `_ for submitting
the use case.
2021-02-27 17:46:58 +03:00
4.27.0
------
2021-02-27 17:45:49 +03:00
- Introduce wiring inspect filter to filter out `` flask.request `` and other local proxy objects
from the inspection.
See issue: `#408 <https://github.com/ets-labs/python-dependency-injector/issues/408> `_ .
Many thanks to `@bvanfleet <https://github.com/bvanfleet> `_ for reporting the issue and
help in finding the root cause.
2021-02-25 18:51:40 +03:00
- Add `` boto3 `` example.
2021-02-23 18:20:04 +03:00
- Add tests for `` .as_float() `` modifier usage with wiring.
2021-02-25 17:51:33 +03:00
- Make refactoring of wiring module and tests.
See PR # `#406 <https://github.com/ets-labs/python-dependency-injector/issues/406> `_ .
Thanks to `@withshubh <https://github.com/withshubh> `_ for the contribution:
- Remove unused imports in tests.
- Use literal syntax to create data structure in tests.
2021-02-26 01:02:01 +03:00
- Add integration with a static analysis tool `DeepSource <https://deepsource.io/> `_ .
2021-02-23 18:20:04 +03:00
2021-02-21 18:35:33 +03:00
4.26.0
------
2021-02-21 18:34:28 +03:00
- Add wiring by string id.
2021-02-19 16:50:14 +03:00
- Improve error message for `` Dependency `` provider missing attribute.
2021-02-19 16:11:18 +03:00
4.25.1
------
- Amend docs and add another example for `` @containers.copy() `` decorator.
2021-02-19 01:52:29 +03:00
4.25.0
------
2021-02-19 01:49:39 +03:00
- Add `` application-multiple-containers-runtime-overriding `` example. This example demonstrates
how to build application from multiple containers and override one container config from
another one in the runtime.
See issue: `#207 <https://github.com/ets-labs/python-dependency-injector/issues/207> `_ .
- Add attributes forwarding for the `` Dependency `` provider.
2021-02-18 16:51:11 +03:00
4.24.0
------
2021-02-18 16:38:35 +03:00
- Add docs on `` @containers.copy() `` decorator.
2021-02-18 16:25:22 +03:00
- Refactor `` @containers.copy() `` decorator.
2021-02-18 16:17:05 +03:00
- Refactor async mode support in containers module.
2021-02-17 19:31:39 +03:00
4.23.5
------
- Fix docs publishing.
2021-02-17 18:08:43 +03:00
4.23.4
------
- Fix a typo.
2021-02-17 18:02:20 +03:00
4.23.3
------
2021-02-17 17:56:39 +03:00
- Fix mistakenly processed awaitable objects in async mode. This bug has corrupted
`` fastapi-redis `` example causing pool exhaustion.
2021-02-17 18:08:43 +03:00
Thanks to `@iliamir <https://github.com/iliamir> `_ and Valery Komarov for finding and
reporting the issue.
2021-02-17 17:56:39 +03:00
- Refactor async mode.
2021-02-16 20:28:00 +03:00
4.23.2
------
2021-02-16 20:26:23 +03:00
- Improve async mode exceptions handling.
- Fix double printing of exception when async resource initialization causes an error.
2021-02-16 02:13:01 +03:00
4.23.1
------
2021-02-16 01:47:03 +03:00
- Hotfix a bug with importing FastAPI `` Request `` .
See issue: `#398 <https://github.com/ets-labs/python-dependency-injector/issues/398> `_ .
Thanks to `@tapm <https://github.com/tapm> `_ for reporting the bug.
2021-02-15 17:12:46 +03:00
4.23.0
------
2021-02-15 17:11:39 +03:00
- Add support of aliases for `` Configuration `` provider.
See issue: `#394 <https://github.com/ets-labs/python-dependency-injector/issues/394> `_ .
Thanks to `@gtors <https://github.com/gtors> `_ for suggesting the feature.
2021-02-15 05:09:21 +03:00
4.22.1
------
- Pin `` sphinx `` version to hotfix docs build.
- Fix a typo in docs.
2021-02-15 03:09:44 +03:00
4.22.0
------
2021-02-15 02:47:15 +03:00
- Add method `` container.check_dependencies() `` to check if all container dependencies
are defined.
See issue: `#383 <https://github.com/ets-labs/python-dependency-injector/issues/383> `_ .
Thanks to `@shaunc <https://github.com/shaunc> `_ for suggesting the feature.
2021-02-15 03:09:08 +03:00
- Add container name to the representation of the `` Dependency `` provider.
2021-02-15 02:51:55 +03:00
- Add docs cross-links between `` Singleton `` provider and "Reset container singletons"
pages.
2021-02-15 02:47:15 +03:00
2021-02-13 17:17:59 +03:00
4.21.0
------
2021-02-13 17:11:52 +03:00
- Improve `` Dependency `` provider error message: when dependency is undefined,
error message contains its name.
2021-02-09 15:35:55 +03:00
4.20.2
------
- Move docs on container "self" injections to "Providers" section.
2021-02-07 22:17:40 +03:00
4.20.1
------
- Refactor containers module.
2021-02-07 22:14:22 +03:00
4.20.0
------
2021-02-07 22:13:23 +03:00
- Add container "self" injections.
See issue: `#364 <https://github.com/ets-labs/python-dependency-injector/issues/364> `_ .
Thanks to `@shaunc <https://github.com/shaunc> `_ for suggesting the feature.
2021-02-06 02:28:26 +03:00
4.19.0
------
2021-02-06 02:17:44 +03:00
- Add `` singleton.full_reset() `` method to reset all underlying singleton providers.
- Fix `` container.reset_singleton() `` to reset all provider types, not only `` Singleton `` .
- Improve `` container.traverse(types=[...]) `` and `` provider.traverse(types=[...]) `` typing stubs
to return `` types `` -typed iterator.
2021-02-06 02:27:32 +03:00
- Update docs on creating custom providers with a requirement to specify `` .related `` property.
2021-02-06 02:17:44 +03:00
2021-02-06 01:23:10 +03:00
4.18.0
------
2021-02-06 01:14:10 +03:00
- Add `` container.reset_singleton() `` method to reset container singletons.
2021-02-05 16:59:16 +03:00
- Refactor `` container.apply_container_providers_overridings() `` to use `` container.traverse() `` .
This enables deep lazy initialization of `` Container `` providers.
2021-02-05 16:30:27 +03:00
- Add tests for `` Selector `` provider.
2021-02-05 16:48:25 +03:00
- Add tests for `` ProvidedInstance `` and `` MethodCaller `` providers.
2021-02-05 16:36:36 +03:00
- Update Makefile to make Python 3 tests to be a default test command: `` make test `` .
2021-02-05 16:30:27 +03:00
2021-02-05 02:19:40 +03:00
4.17.0
------
2021-02-05 02:18:25 +03:00
- Add `` FastAPI `` + `` SQLAlchemy `` example.
Thanks to `@ShvetsovYura <https://github.com/ShvetsovYura> `_ for providing initial example:
`FastAPI_DI_SqlAlchemy <https://github.com/ShvetsovYura/FastAPI_DI_SqlAlchemy> `_ .
2021-02-03 23:40:41 +03:00
4.16.0
------
2021-02-03 23:33:16 +03:00
- Add container base class `` containers.Container `` . `` DynamicContainer ``
and `` DeclarativeContainer `` become subclasses of the `` Container `` .
See issue: `#386 <https://github.com/ets-labs/python-dependency-injector/issues/386> `_ .
Thanks to `@ventaquil <https://github.com/ventaquil> `_ for reporting the issue.
2021-02-03 17:22:40 +03:00
4.15.0
------
2021-02-03 17:21:32 +03:00
- Add `` Configuration.from_pydantic() `` method to load configuration from a `` pydantic `` settings.
2021-02-01 17:55:21 +03:00
4.14.0
------
2021-02-01 17:42:21 +03:00
- Add container providers traversal.
2021-02-01 17:54:36 +03:00
- Fix an issue with `` container.init_resource() `` and `` container.shutdown_resource() `` ignoring
nested resources that are not present on the root level.
See issue: `#380 <https://github.com/ets-labs/python-dependency-injector/issues/380> `_ .
Thanks to `@approxit <https://github.com/approxit> `_ for finding and reporting the issue.
2021-02-01 17:42:21 +03:00
- Add `` .provides `` attribute to `` Singleton `` and its subclasses.
It's a consistency change to make `` Singleton `` match `` Callable ``
and `` Factory `` interfaces.
- Add `` .initializer `` attribute to `` Resource `` provider.
- Update string representation of `` Resource `` provider.
2021-01-30 00:58:30 +03:00
4.13.2
------
- Fix PyCharm typing warning "Expected type 'Optional[Iterable[ModuleType]]',
got 'List[module.py]' instead" in `` container.wire() `` method.
2021-01-30 00:42:30 +03:00
4.13.1
------
2021-01-30 00:37:50 +03:00
- Fix declarative container metaclass bug: parent container providers replaced child container providers.
See issue: `#367 <https://github.com/ets-labs/python-dependency-injector/issues/367> `_ .
Many thanks to `Shaun Cutts <https://github.com/shaunc> `_ for finding and report the issue.
2021-01-29 21:50:53 +03:00
4.13.0
------
2021-01-29 21:49:40 +03:00
- Add `` default `` argument to the dependency provider: `` Dependency(..., default=...) `` .
See issue: `#336 <https://github.com/ets-labs/python-dependency-injector/issues/336> `_ .
Many thanks to `Shaun Cutts <https://github.com/shaunc> `_ for providing the use case.
2021-01-29 03:50:35 +03:00
4.12.0
------
2021-01-29 03:49:24 +03:00
- Add wiring import hook that auto-wires dynamically imported modules.
See issue: `#365 <https://github.com/ets-labs/python-dependency-injector/issues/365> `_ .
Thanks to `@Balthus1989 <https://github.com/Balthus1989> `_ for providing a use case.
2021-01-28 16:44:10 +03:00
4.11.3
------
2021-01-28 16:40:43 +03:00
- Replace weakrefs with normal refs in `` ConfigurationOption `` to support
`` Container().provider() `` use case. Test that it does not introduce a memory leak.
See issue: `#358#issuecomment-764482059 <https://github.com/ets-labs/python-dependency-injector/issues/358#issuecomment-764482059> `_ .
Many thanks to `@Minitour <https://github.com/Minitour> `_ for reporting the issue.
2021-01-27 22:03:08 +03:00
4.11.2
------
2021-01-27 22:01:33 +03:00
- Fix a bug in `` providers.Container `` when it's declared not at class root level.
See issue `#379 <https://github.com/ets-labs/python-dependency-injector/issues/379> `_ .
Many thanks to `@approxit <https://github.com/approxit> `_ for reporting the issue.
2021-01-27 17:21:45 +03:00
4.11.1
------
- Fix a bug in `` @containers.copy `` to improve replacing of subcontainer providers.
See issue `#378 <https://github.com/ets-labs/python-dependency-injector/issues/378> `_ .
Many thanks to `Shaun Cutts <https://github.com/shaunc> `_ for reporting the issue.
2021-01-27 15:39:38 +03:00
4.11.0
------
2021-01-24 18:27:45 +03:00
- Add `` loader `` argument to the configuration provider `` Configuration.from_yaml(..., loader=...) ``
to override the default YAML loader.
Many thanks to `Stefano Frazzetto <https://github.com/StefanoFrazzetto> `_ for suggesting an improvement.
2021-01-22 02:00:24 +03:00
- Make security improvement: change default YAML loader to the custom `` yaml.SafeLoader `` with a support
of environment variables interpolation.
2021-01-24 18:27:45 +03:00
Many thanks to `Stefano Frazzetto <https://github.com/StefanoFrazzetto> `_ for suggesting an improvement.
2021-01-24 06:37:50 +03:00
- Update configuration provider `` .from_*() `` methods to raise an exception in strict mode if
configuration file does not exist or configuration data is undefined.
2021-01-24 18:27:45 +03:00
Many thanks to `Stefano Frazzetto <https://github.com/StefanoFrazzetto> `_ for suggesting an improvement.
- Add `` required `` argument to the configuration provider `` .from_*() `` methods to specify
mandatory configuration sources.
Many thanks to `Stefano Frazzetto <https://github.com/StefanoFrazzetto> `_ for suggesting an improvement.
2021-01-21 18:51:37 +03:00
- Fix a bug with asynchronous injections: async providers do not work with async dependencies.
See issue: `#368 <https://github.com/ets-labs/python-dependency-injector/issues/368> `_ .
Thanks `@kolypto <https://github.com/kolypto> `_ for the bug report.
2021-01-21 19:20:21 +03:00
- Refactor asynchronous injections.
2021-01-21 19:28:42 +03:00
- Add extra tests for asynchronous injections.
2021-01-27 15:39:38 +03:00
- Migrate CI to Github Actions.
2021-01-21 18:51:37 +03:00
2021-01-20 17:04:11 +03:00
4.10.3
------
2021-01-20 01:51:00 +03:00
- Fix a bug in the `` Configuration `` provider: strict mode didn't work when provider
is overridden by `` None `` .
See issue: `#358#issuecomment-761607432 <https://github.com/ets-labs/python-dependency-injector/issues/358#issuecomment-761607432> `_ .
Many thanks to `Stefano Frazzetto <https://github.com/StefanoFrazzetto> `_ for reporting the issue.
2021-01-20 01:50:46 +03:00
4.10.2
------
2021-01-20 01:47:25 +03:00
- Fix a bug in `` Resource `` that cause failure when async resource depends on
another async resource.
See issue `#361 <https://github.com/ets-labs/python-dependency-injector/issues/361> `_ .
Thanks `@kolypto <https://github.com/kolypto> `_ for the bug report.
2021-01-19 05:02:56 +03:00
4.10.1
------
2021-01-19 04:49:56 +03:00
- Fix a Python 3.9 specific bug in `` wiring `` module: introspection doesn't work for
builtin `` types.GenericAlias `` . This resulted in wiring failure for modules
importing `` queue.Queue `` .
See issue `#362 <https://github.com/ets-labs/python-dependency-injector/issues/362> `_ .
Thanks `@ventaquil <https://github.com/ventaquil> `_ for the bug report.
2021-01-19 04:53:37 +03:00
- Switch Coveralls reporting Travis Job to run on Python 3.9.
2021-01-19 04:49:56 +03:00
2021-01-16 16:55:00 +03:00
4.10.0
------
2021-01-16 16:53:40 +03:00
- Add `` strict `` mode and `` required `` modifier for `` Configuration `` provider.
See issue `#341 <https://github.com/ets-labs/python-dependency-injector/issues/341> `_ .
Thanks `ms-lolo <https://github.com/ms-lolo> `_ for the feature request.
2021-01-16 00:22:12 +03:00
4.9.1
-----
- Fix a bug in the `` Configuration `` provider to correctly handle undefined values.
See issue `#358 <https://github.com/ets-labs/python-dependency-injector/issues/358> `_ .
Many thanks to `Stefano Frazzetto <https://github.com/StefanoFrazzetto> `_ for reporting the issue.
2021-01-15 15:23:45 +03:00
4.9.0
-----
2021-01-15 15:20:37 +03:00
- Add `` .dependencies `` attribute to the `` DeclarativeContainer `` and `` DynamicContainer `` .
It returns dictionary of container `` Dependency `` and `` DependenciesContainer `` providers.
See issue `#357 <https://github.com/ets-labs/python-dependency-injector/issues/357> `_ .
Many thanks to `Shaun Cutts <https://github.com/shaunc> `_ for suggesting the feature.
2021-01-15 14:44:41 +03:00
4.8.3
-----
- Fix a bug in the `` Configuration `` provider to correctly handle overriding by `` None `` .
See issue `#358 <https://github.com/ets-labs/python-dependency-injector/issues/358> `_ .
Many thanks to `Stefano Frazzetto <https://github.com/StefanoFrazzetto> `_ for reporting the issue.
2021-01-14 01:08:26 +03:00
4.8.2
-----
2021-01-14 01:07:41 +03:00
- Fix `` Container `` provider to apply context overridings on root container initialization.
See issue `#354 <https://github.com/ets-labs/python-dependency-injector/issues/354> `_ .
Many thanks to `Shaun Cutts <https://github.com/shaunc> `_ for submitting the issue.
2021-01-13 17:11:24 +03:00
- Hotfix for version `` 4.8.0 `` : fix side effect in `` Container `` provider overriding.
2021-01-13 01:50:11 +03:00
4.8.1
-----
- Fix declarative container multi-level inheritance issue.
See issue `#350 <https://github.com/ets-labs/python-dependency-injector/issues/350> `_ .
Many thanks to `Shaun Cutts <https://github.com/shaunc> `_ for submitting the issue.
2021-01-12 16:42:14 +03:00
4.8.0
-----
- Add support of overriding `` Container `` provider.
See issue `#354 <https://github.com/ets-labs/python-dependency-injector/issues/354> `_ .
2021-01-13 01:50:11 +03:00
Many thanks to `Shaun Cutts <https://github.com/shaunc> `_ for submitting the issue.
2021-01-12 16:42:14 +03:00
2021-01-11 16:19:34 +03:00
4.7.0
-----
2021-01-11 16:18:02 +03:00
- Add container injection support for wiring.
2021-01-11 04:02:46 +03:00
4.6.1
-----
- Add Disqus comments widget to the provider's async injections docs page.
2021-01-11 03:31:59 +03:00
4.6.0
-----
2021-01-11 03:26:15 +03:00
- Add support of async injections for providers.
- Add support of async injections for wiring.
- Add support of async initializers for `` Resource `` provider.
- Add `` FastAPI `` + `` Redis `` example.
2020-12-24 04:03:00 +03:00
- Add ARM wheel builds.
See issue `#342 <https://github.com/ets-labs/python-dependency-injector/issues/342> `_ for details.
2020-12-30 21:26:22 +03:00
- Fix a typo in `ext.flask` deprecation warning.
See PR `#345 <https://github.com/ets-labs/python-dependency-injector/pull/345> `_ for details.
Thanks to `Fotis Koutoupas <https://github.com/kootoopas> `_ for the fix.
2021-01-11 03:31:01 +03:00
- Update copyright year.
2020-12-24 04:03:00 +03:00
2020-12-11 02:28:29 +03:00
4.5.4
-----
- Fix manylinux wheels uploading issue.
See issue `#333 <https://github.com/ets-labs/python-dependency-injector/issues/333> `_ for details.
Thanks to `Richard Jones <https://github.com/RichardDRJ> `_ for reporting the issue.
2020-12-06 06:14:35 +03:00
4.5.3
-----
- Fix `` 4.5.2 `` degradation bug in wiring `` @inject `` with not working `` FastAPI.Depends `` directive.
See issue `#331 <https://github.com/ets-labs/python-dependency-injector/issues/331> `_ for details.
Thanks to `Juan Esteban Marín <https://github.com/juanmarin96> `_ for reporting the issue.
- Add `` FastAPI `` tests.
2020-12-05 04:18:39 +03:00
4.5.2
-----
- Fix a bug in wiring `` @inject `` with not properly working `` FastAPI.Depends `` directive.
See issue `#330 <https://github.com/ets-labs/python-dependency-injector/issues/330> `_ for details.
Thanks to `Lojka-oops <https://github.com/Lojka-oops> `_ for reporting the issue.
2020-11-21 02:16:29 +03:00
4.5.1
-----
- Fix flake8 issue in `` Commands and Handlers `` example.
2020-11-21 02:10:04 +03:00
4.5.0
-----
2020-11-21 01:30:42 +03:00
- Add support of non-string keys for `` Dict `` provider.
2020-11-18 19:13:31 +03:00
- Add simple `` FastAPI `` example.
2020-11-21 02:09:34 +03:00
- Add `` Commands and Handlers `` example from
issue `#327 <https://github.com/ets-labs/python-dependency-injector/issues/327> `_ .
2020-11-20 20:23:44 +03:00
- Add extra typing test for provided instance of `` DependenciesContainer `` provider.
2020-11-18 19:13:31 +03:00
2020-11-18 07:58:44 +03:00
4.4.1
-----
2020-11-18 07:44:32 +03:00
- Improve `` FastAPI `` integration: handle `` Depends(Provide[...]) `` .
2020-11-18 07:46:30 +03:00
- Update `` FastAPI `` example.
2020-11-18 07:50:56 +03:00
- Remove a typo from the `` Flask `` tutorial.
2020-11-18 07:44:32 +03:00
2020-11-16 02:19:34 +03:00
4.4.0
-----
- Add `` @inject `` decorator. It helps to fix a number of wiring bugs and make wiring be more resilient.
- Refactor `` wiring `` module.
- Update documentation and examples to use `` @inject `` decorator.
- Add `` Flask `` blueprints example.
- Fix wiring bug when wiring doesn't work with the class-based decorators.
- Fix wiring bug when wiring doesn't work with the decorators that doesn't use `` functools.wraps(...) `` .
- Fix wiring bug with `` @app.route(...) `` -style decorators (Flask, Sanic, FastAPI, etc.).
- Fix wiring bug when wiring doesn't work with Flask blueprints.
2020-11-16 00:06:42 +03:00
4.3.9
-----
- Add `` FastAPI `` example.
2020-11-13 00:31:09 +03:00
4.3.8
-----
- Add a hotfix to support wiring for `` FastAPI `` endpoints.
2020-11-11 01:02:42 +03:00
4.3.7
-----
- Fix race in `` ThreadSafeSingleton `` . Many thanks to
`Dmitry Rassoshenko aka rda-dev <https://github.com/rda-dev> `_ for the pull request
(See PR `#322 <https://github.com/ets-labs/python-dependency-injector/pull/322> `_ ).
2020-11-05 20:37:25 +03:00
4.3.6
-----
- Fix changelog typo.
2020-11-05 20:23:47 +03:00
4.3.5
-----
- Fix a bug in `` wiring `` module that caused multiple imports of the modules
when `` .wire(packages=[...]) `` is used
(See issue `#320 <https://github.com/ets-labs/python-dependency-injector/issues/320> `_ ). Thanks
2020-11-05 20:37:25 +03:00
to `Federico iskorini <https://github.com/iskorini> `_ for reporting the issue.
2020-11-05 20:23:47 +03:00
2020-11-05 18:20:23 +03:00
4.3.4
-----
- Fix a bug in `` Configuration `` provider that resulted in not working `` .reset_override() ``
(See issue `#319 <https://github.com/ets-labs/python-dependency-injector/issues/319> `_ ). Thanks
to `Jun lust4life <https://github.com/lust4life> `_ for reporting the issue and suggesting a fix.
2020-11-04 00:06:42 +03:00
4.3.3
-----
2020-11-03 23:59:02 +03:00
- Fix a bug in `` wiring `` with improper patching of `` @classmethod `` and `` @staticmethod `` decorated methods
(See issue `#318 <https://github.com/ets-labs/python-dependency-injector/issues/318> `_ ).
2020-10-30 23:56:13 +03:00
4.3.2
-----
- Fix a bug in `` wiring `` with mistakenly initialized and shutdown resource with `` Closing ``
marker on context argument providing.
2020-10-30 06:00:43 +03:00
4.3.1
-----
- Fix README.
2020-10-30 05:57:14 +03:00
4.3.0
-----
- Implement per-function execution scope for `` Resource `` provider in tandem
with `` wiring.Closing `` .
2020-10-29 22:48:04 +03:00
4.2.0
-----
- Add support of Python 3.9.
- Update readme.
2020-10-29 05:30:52 +03:00
4.1.8
-----
- Update asyncio daemon, single- and multi-container examples to use `` Resource `` provider.
2020-10-29 04:02:21 +03:00
4.1.7
-----
- Add CI job to build and push documentation to S3 bucket.
2020-10-28 21:23:00 +03:00
4.1.6
2020-10-28 20:11:07 +03:00
-----
2020-10-28 20:44:11 +03:00
- Fix wiring of multiple containers
(see issue `#313 <https://github.com/ets-labs/python-dependency-injector/issues/313> `_ ).
Thanks to `iskorini <https://github.com/iskorini> `_ for reporting the issue.
2020-10-28 20:11:07 +03:00
- Fix wiring for `` @classmethod `` .
2020-10-28 00:48:05 +03:00
4.1.5
-----
- Fix Travis CI windows and MacOS builds.
2020-10-27 21:36:11 +03:00
4.1.4
-----
- Fix version of `` cibuildwheel==1.63 `` .
- Update Travis CI webhooks to fix builds triggering.
2020-10-27 21:05:16 +03:00
4.1.3
2020-10-27 21:01:40 +03:00
-----
- Migrate from `` travis-ci.org `` to `` travis-ci.com `` to fix build issues.
2020-10-27 21:04:52 +03:00
- Add explicit installation of `` certifi `` for Windows build to resolve build problems.
2020-10-27 21:01:40 +03:00
2020-10-27 20:28:02 +03:00
4.1.2
-----
2020-10-27 21:01:40 +03:00
- Bump version of `` cibuildwheel>=1.5.1 `` to resolve Windows build problem.
2020-10-27 20:28:02 +03:00
2020-10-26 20:39:13 +03:00
4.1.1
-----
- Fix a few typos in `` Resource `` provider docs.
2020-10-25 03:57:48 +03:00
4.1.0
-----
2020-10-25 03:56:32 +03:00
- Add `` Resource `` provider.
2020-10-22 21:49:39 +03:00
- Add `` Dict `` provider.
2020-10-22 19:00:46 +03:00
- "Un-deprecate" `` @containers.override() `` and `` @containers.copy() `` decorators (
see `Issue 301 <https://github.com/ets-labs/python-dependency-injector/issues/301> `_
for more information).
2020-10-22 00:01:31 +03:00
- Add favicon.
2020-10-21 23:54:10 +03:00
- Remove redirects that occur while getting badge images to optimize docs load speed.
2020-10-22 00:06:12 +03:00
- Update license year.
2020-10-25 03:56:32 +03:00
- Update short description on PyPI.
2020-10-21 23:54:10 +03:00
2020-10-21 00:50:20 +03:00
4.0.6
-----
- Fix wiring for top-level package `` __init__.py `` .
2020-10-20 00:35:12 +03:00
4.0.5
-----
2020-10-20 00:21:38 +03:00
- Move `` .provided `` attribute to `` providers.Provider `` .
2020-10-20 00:18:39 +03:00
- Update all links in documentation and examples to use `` https:// `` instead of `` http `` .
2020-10-19 05:27:53 +03:00
4.0.4
-----
- Fix typing stubs for `` container.override() `` method.
2020-10-17 04:44:12 +03:00
4.0.3
-----
2020-10-17 04:43:21 +03:00
- Deprecate `` @containers.override() `` and `` @containers.copy() `` decorators.
- Update changelog of version `` 4.0.0 `` so it lists all deprecated features.
2020-10-16 23:38:37 +03:00
4.0.2
-----
- Fix typing stubs for `` @container.override() `` and `` @containers.copy() `` decorators (
see `PR 302 <https://github.com/ets-labs/python-dependency-injector/pull/302> `_ ). Thanks
to `JarnoRFB <https://github.com/JarnoRFB> `_ for reporting the issue.
2020-10-16 21:10:14 +03:00
4.0.1
-----
- Extend `` Configuration.from_ini() `` and `` Configuration.from_yaml() `` typing stubs to
accept `` pathlib.Path `` . The methods were already compatible with `` pathlib.Path ``
and just did not accept it in their signatures (see
`PR 300 <https://github.com/ets-labs/python-dependency-injector/pull/300> `_ ). Fix
was provided by `JarnoRFB <https://github.com/JarnoRFB> `_ . Many thanks to you again,
JarnoRFB.
2020-10-09 22:16:27 +03:00
4.0.0
-----
New features:
- Add `` wiring `` feature.
Deprecations:
- Deprecate `` ext.aiohttp `` module in favor of `` wiring `` feature.
- Deprecate `` ext.flask `` module in favor of `` wiring `` feature.
- Deprecate `` .delegate() `` provider method in favor of `` .provider `` attribute.
Removals:
- Remove deprecated `` types `` module.
Tutorials:
- Update `` flask `` tutorial.
- Update `` aiohttp `` tutorial.
- Update `` asyncio `` daemon tutorial.
- Update CLI application tutorial.
Examples:
- Add `` django `` example.
- Add `` sanic `` example.
- Update `` aiohttp `` example.
- Update `` flask `` example.
- Update `` asyncio `` daemon example.
- Update `` movie-lister `` example.
- Update CLI application example.
Misc:
- Regenerate C sources using Cython 0.29.21.
- Improve documentation and README (typos removal, rewording, etc).
2020-09-14 03:51:10 +03:00
3.44.0
------
2020-09-14 03:32:21 +03:00
- Add native support of the generics to the providers: `` some_provider = providers.Provider[SomeClass] `` .
- Deprecate module `` types `` .
- Add documentation page on providers typing and `` mypy `` support.
2020-09-14 03:51:10 +03:00
- Update README.
2020-09-14 03:32:21 +03:00
2020-09-10 06:48:08 +03:00
3.43.1
------
- Fix a typo in README.
2020-09-10 06:36:13 +03:00
3.43.0
------
- Update API documentation.
2020-09-10 04:34:30 +03:00
- Remove not relevant "speech" example.
2020-09-10 06:36:13 +03:00
- Fix a few typos.
2020-09-10 04:34:30 +03:00
2020-09-10 01:02:37 +03:00
3.42.0
------
2020-09-10 00:39:49 +03:00
- Update "DI in Python" documentation page.
2020-09-10 00:52:22 +03:00
- Delete "What is DI?" documentation page.
2020-09-10 00:39:49 +03:00
- Delete "engines cars" example mini app.
2020-09-10 00:53:19 +03:00
- Update README.
2020-09-10 00:39:49 +03:00
2020-09-08 05:07:09 +03:00
3.41.0
------
2020-09-07 19:34:49 +03:00
- Refactor "use cases" example.
2020-09-07 18:50:32 +03:00
- Refactor "password hashing" example.
2020-09-08 04:45:03 +03:00
- Refactor "chained factories" pattern example.
2020-09-08 04:57:43 +03:00
- Refactor "factory of factories" pattern example.
2020-09-07 18:53:03 +03:00
- Fix declarative container mypy stub to `` __init__ `` to accept not only providers.
2020-09-07 19:05:12 +03:00
- Refactor main module of the "decoupled packages" example.
2020-09-08 05:02:33 +03:00
- Delete "api client" example mini app.
2020-09-08 05:04:50 +03:00
- Delete "mail service" example mini app.
2020-09-07 18:50:32 +03:00
2020-09-07 04:54:58 +03:00
3.40.0
------
- Add "Decoupled packages" example.
- Delete "Bundles" examples mini application.
2020-09-05 06:22:58 +03:00
3.39.0
------
- Add application examples with single and multiple containers.
- Remove "Services" application examples.
- Split examples page into "Examples" with main examples and "Other Examples" with secondary
examples.
- Move "Installation" page to "Introduction" section.
2020-09-04 06:25:32 +03:00
3.38.1
------
- Fix README.
2020-09-04 06:22:11 +03:00
3.38.0
------
2020-09-04 06:09:21 +03:00
- Update "What is What is dependency injection?" documentation page.
2020-09-04 06:22:11 +03:00
- Update README.
- Fix a bunch of typos.
2020-09-04 06:09:21 +03:00
2020-09-04 01:05:45 +03:00
3.37.0
------
2020-09-03 23:19:40 +03:00
- Update index documentation page.
2020-09-04 01:03:21 +03:00
- Make multiple improvements and fixes for the providers documentation.
2020-09-03 20:36:19 +03:00
- Update "Key Features" documentation page.
2020-09-03 23:19:40 +03:00
- Remove "Structure of Dependency Injector" documentation page.
2020-09-03 23:26:32 +03:00
- Edit "Feedback" documentation page.
2020-09-03 20:36:19 +03:00
2020-09-03 04:28:09 +03:00
3.36.0
------
2020-09-02 23:59:25 +03:00
- Update providers overriding documentation and rework examples.
2020-09-03 00:59:31 +03:00
- Update documentation on injecting provided object attributes, items or method calls.
2020-09-03 03:59:55 +03:00
- Update documentation and example on creating a custom provider.
2020-09-03 04:28:09 +03:00
- Update providers index documentation page to give better overview of providers functionality.
- Fix mypy stub of the `` Provider `` to specify the protected `` ._copy_overridings() `` method.
- Update copyright year in the documentation.
2020-09-02 23:59:25 +03:00
2020-09-02 04:58:13 +03:00
3.35.1
------
- Fix minor issues in the providers documentation and examples.
2020-09-02 04:40:14 +03:00
3.35.0
------
2020-09-02 04:39:23 +03:00
- Update documentation and rework examples for: `` Singleton `` , `` Callable `` , `` Coroutine `` ,
`` Object `` , `` List `` , `` Configuration `` , `` Selector `` , and `` Dependency `` providers.
- Fix mypy stub of the `` DeclarativeContainer `` to specify the `` __init__ `` interface.
2020-09-01 23:05:58 +03:00
2020-09-01 04:29:05 +03:00
3.34.0
------
- Update `` Factory `` provider documentation.
- Rework `` Factory `` provider examples.
2020-08-27 05:25:22 +03:00
3.33.0
------
- Add typing stubs.
2020-08-26 23:35:31 +03:00
3.32.3
------
- Fix few typos on README and docs main pages.
2020-08-26 23:24:59 +03:00
3.32.2
------
- Make a fix in the factory delegation example (thanks to
`Joël Bourgault <https://github.com/ojob> `_ for finding and reporting the issue).
2020-08-25 17:27:24 +03:00
3.32.1
------
- Update DI Demo 2 example and READ to make typed configuration option injection.
2020-08-24 20:38:08 +03:00
3.32.0
------
- Add a feature that helps to explicitly specify the type of the configuration option value
before the injection.
- Add disqus comments to the docs page on injecting provided instance attributes, items, etc.
2020-08-21 04:59:09 +03:00
3.31.0
------
- Add a feature that helps to inject provided instance attribute, item, or method call result
(see `Issue 281 <https://github.com/ets-labs/python-dependency-injector/issues/281> `_ ). Design
for this feature was provided by `JarnoRFB <https://github.com/JarnoRFB> `_ . Many thanks to you,
JarnoRFB.
2020-08-16 08:16:25 +03:00
3.30.4
------
- Update README.
2020-08-16 08:13:32 +03:00
3.30.3
------
- Update README.
- Update containers documentation and examples.
2020-08-14 05:57:34 +03:00
3.30.2
------
- Update README.
2020-08-14 04:53:13 +03:00
3.30.1
------
- Update README.
- Add one more example.
2020-08-13 00:06:40 +03:00
3.30.0
------
- Rework `` Movie Lister `` example.
- Add tutorial for building `` Movie Lister `` .
- Make some rewording for the other tutorials.
- Fix a couple of typos.
2020-08-11 05:32:29 +03:00
3.29.0
------
- Update README with the more direct message on what is `` Dependency Injector `` and how is it
different from the other frameworks.
- Change the example code in the README.
- Add FAQ to the README.
- Update documentation key features and index pages.
2020-08-10 22:50:51 +03:00
3.28.1
------
- Fix typos in the `` asyncio `` + `` Dependency Injector `` monitoring daemon tutorial.
2020-08-08 21:49:08 +03:00
3.28.0
------
2020-08-08 21:48:05 +03:00
- Add `` asyncio `` + `` Dependency Injector `` example `` monitoring-daemon-asyncio `` .
- Add `` asyncio `` + `` Dependency Injector `` monitoring daemon tutorial.
- Fix a typo in the docblock of the `` Configuration `` provider.
- Fix multiple typos in the `` flask `` and `` aiohttp `` tutorials.
- Fix `` Makefile `` to run `` aiohttp `` integration tests on Python 3.5+.
2020-08-06 23:42:49 +03:00
3.27.0
------
- Add deep init injections overriding for `` Factory `` provider.
2020-08-08 21:48:05 +03:00
- Add `` asyncio `` monitoring daemon example.
2020-08-06 23:42:49 +03:00
2020-08-04 01:08:53 +03:00
3.26.0
------
- Add configuration itemselector feature (see
`Issue 274 <https://github.com/ets-labs/python-dependency-injector/issues/274> `_ ).
- Re-design `` Configuration `` provider implementation.
- Update `` giphynav-aiohttp `` to remove doubled "if not query" (many thanks to
`Oleg Baranov <https://github.com/mrbish> `_ for the feedback).
2020-07-30 20:53:37 +03:00
3.25.1
------
- Fix `` aiohttp `` tutorial typos.
2020-07-30 05:20:34 +03:00
3.25.0
------
- Add `` aiohttp `` tutorial.
- Fix `` Flask `` tutorial typos and change some wording.
2020-07-29 19:18:09 +03:00
3.24.1
------
- Update Google Search Console verification meta tag.
- Update meta description.
2020-07-29 02:26:41 +03:00
3.24.0
------
2020-07-29 02:19:05 +03:00
- Add `` Aiohttp `` integration module `` dependency_injector.ext.aiohttp `` .
- Add `` Aiohttp `` + `` Dependency Injector `` example `` giphynav-aiohttp `` .
2020-07-24 03:49:08 +03:00
3.23.2
------
- Fix `` Flask `` tutorial code issues, typos and change some wording.
2020-07-22 19:17:37 +03:00
3.23.1
------
- Fix an issue with creating `` Dependency `` provider with `` abc.ABCMeta `` .
Thanks to `awaizman1 <https://github.com/awaizman1> `_ . More info:
`Issue #266 <https://github.com/ets-labs/python-dependency-injector/issues/266> `_ ,
`PR #267 <https://github.com/ets-labs/python-dependency-injector/pull/267> `_ .
2020-07-22 19:14:26 +03:00
2020-07-21 00:02:32 +03:00
3.23.0
------
- Add `` Flask `` tutorial.
- Add PyPI classifiers.
2020-07-18 07:45:06 +03:00
3.22.0
------
2020-07-18 07:44:11 +03:00
- Migrate docs to `` alabaster `` theme.
- Add `` Bootstrap `` extension to the `` ghnav-flask `` example.
- Add stubs for the tutorials to the docs.
2020-07-14 06:29:32 +03:00
3.21.2
------
- Hotfix changelog typo.
3.21.1
2020-07-14 06:09:42 +03:00
------
- Hotfix `` ghnav-flask `` example to read Github token from environment variable.
2020-07-14 05:50:02 +03:00
3.21.0
------
2020-07-14 05:45:15 +03:00
- Re-design `` Flask `` integration.
2020-07-13 22:36:07 +03:00
- Make cosmetic fixes for `` Selector `` provider docs.
2020-07-11 19:42:55 +03:00
3.20.1
------
- Hotfix Windows builds.
2020-07-11 19:16:08 +03:00
3.20.0
------
2020-07-29 02:19:05 +03:00
- Add `` Flask `` integration module `` dependency_injector.ext.flask `` .
2020-07-11 19:15:00 +03:00
- Add `` Flask `` + `` Dependency Injector `` example `` ghnav-flask `` .
- Add `` Factory.provides `` attribute. It is an alias to the `` Factory.cls `` .
- New README.
2020-07-03 05:08:12 +03:00
3.19.2
------
- Add logo.
2020-07-02 06:17:29 +03:00
3.19.1
------
2020-07-02 06:16:38 +03:00
- Start distributing wheels for Linux, MacOS, and Windows (thanks to
`Travis CI <https://travis-ci.org/> `_ and
`cibuildwheel <https://github.com/joerick/cibuildwheel> `_ ).
2020-06-30 23:44:01 +03:00
- Start using `` twine `` for publishing package on PyPI.
2020-07-01 00:32:16 +03:00
- Fix Travis CI configuration file warnings.
2020-06-30 23:44:01 +03:00
2020-06-29 23:34:05 +03:00
3.19.0
------
2020-06-29 23:32:12 +03:00
- Add `` Selector `` provider.
- Fix `` Configuration.override() `` to return `` OverridingContext `` for non-dictionary values.
2020-06-26 06:16:16 +03:00
3.18.1
------
- Add interpolation of environment variables to `` Configuration.from_yaml() `` and
`` Configuration.from_ini() `` .
2020-06-26 06:37:01 +03:00
- Add ignoring of `` IOError `` to `` Configuration.from_yaml() `` .
2020-06-26 06:16:16 +03:00
2020-06-26 01:06:37 +03:00
3.18.0
------
2020-06-25 19:50:42 +03:00
- Add `` Configuration.from_yaml() `` method to load configuration from the yaml file.
- Add `` Configuration.from_ini() `` method to load configuration from the ini file.
- Add `` Configuration.from_dict() `` method to load configuration from the dictionary.
- Add `` Configuration.from_env() `` method to load configuration from the environment variable.
2020-06-24 23:40:53 +03:00
- Add default value for `` name `` argument of `` Configuration `` provider.
2020-06-26 00:12:16 +03:00
- Add documentation for `` Configuration `` provider.
2020-06-24 21:39:07 +03:00
- Remove undocumented positional parameter of `` DependenciesContainer `` provider.
2020-06-23 23:46:24 +03:00
2020-06-23 19:48:01 +03:00
3.17.1
------
- Fix `` DynamicContainer `` deep-copying bug.
2020-06-23 19:14:06 +03:00
3.17.0
------
2020-06-23 05:45:16 +03:00
- Add `` Container `` provider.
2020-06-23 04:52:00 +03:00
- Add `` Configuration `` providers linking.
2020-06-17 05:34:19 +03:00
3.16.1
2020-06-15 00:49:57 +03:00
------
2020-06-17 05:34:19 +03:00
- Update `` singleton_thread_locals.py `` to support Python 3 (thanks to
`RobinsonMa <https://github.com/RobinsonMa> `_ ,
`PR #252 <https://github.com/ets-labs/python-dependency-injector/pull/252> `_ ).
- Fix Disqus comments.
- Fix warnings in API docs.
2020-06-14 06:28:40 +03:00
2020-06-17 05:34:19 +03:00
3.16.0
------
2020-06-15 00:32:12 +03:00
- Add `` List `` provider
`issue #243 <https://github.com/ets-labs/python-dependency-injector/issues/243> `_ ,
`PR #251 <https://github.com/ets-labs/python-dependency-injector/pull/251> `_ .
2020-06-14 06:28:40 +03:00
- Fix a few typos in docs (thanks to `Bruno P. Kinoshita <https://github.com/kinow> `_ ,
`issue #249 <https://github.com/ets-labs/python-dependency-injector/issues/249> `_ ,
`PR #250 <https://github.com/ets-labs/python-dependency-injector/pull/250> `_ ).
2020-06-15 00:43:06 +03:00
- Add support of six 1.15.0.
2020-06-15 00:38:24 +03:00
- Regenerate C sources using Cython 0.29.20.
2020-02-19 01:52:46 +03:00
3.15.6
------
- Fix changelog typo.
3.15.5
2020-02-19 01:50:56 +03:00
------
- Add downloads badge.
2020-01-27 04:37:13 +03:00
3.15.4
------
- Update a link to the PyPi page on the README page.
2020-01-27 03:53:06 +03:00
3.15.3
------
2020-01-27 04:32:16 +03:00
- Fix a typo in the link to the PyPi on the "Dependency Injection in Python" documentation page.
2020-01-27 03:53:06 +03:00
- Fix a couple of typos in the list of key features on the "Key Features" and index documentation
pages.
2020-01-27 04:32:16 +03:00
- Update a link to the PyPi page on a couple of documentation pages.
2020-01-27 03:53:06 +03:00
2020-01-27 03:33:28 +03:00
3.15.2
------
- Fix a typo in the installation instructions on the README page and in the documentation.
2020-01-27 03:17:03 +03:00
3.15.1
------
- Fix a couple of typos in the README.
- Fix a couple of types in the diagram of "Engines-Cars" example.
2020-01-27 02:55:33 +03:00
3.15.0
------
2020-01-26 23:00:21 +03:00
- Add Python 3.8 support.
2020-01-26 23:10:51 +03:00
- Add PyPy 3.6 support.
2020-01-26 23:00:21 +03:00
- Add support of six 1.14.0.
- Add support of six 1.13.0.
2020-01-26 22:28:15 +03:00
- Regenerate C sources using Cython 0.29.14.
2020-01-27 02:41:36 +03:00
- Remove Python 2-ish inheritance from `` object `` in example modules.
- Replace Python 2-ish `` super(class, self).__init__() `` calls with Python 3-ish
`` super().__init__() `` in example modules.
- Fix doc block errors in example modules, including related to PEP257-compliance.
2020-01-26 23:15:50 +03:00
- Clean up tox.ini file.
2020-01-26 22:22:43 +03:00
2019-10-09 17:46:08 +03:00
3.14.12
-------
2020-01-26 22:28:15 +03:00
- Fix `` 3.14.11 `` degradation issue causing inability of using `` Delegate `` provider in
2019-10-09 17:45:14 +03:00
`` DeclarativeContainer `` when this container is instantiated with overriding of delegating
2020-06-17 04:40:01 +03:00
provider (thanks to `GitterRemote <https://github .com/GitterRemote> `_ , issue details are here
`#235 <https://github.com/ets-labs/python-dependency-injector/issues/235> `_ ).
2019-10-09 17:45:14 +03:00
2019-10-08 21:46:26 +03:00
3.14.11
-------
2020-01-26 22:28:15 +03:00
- Fix issue causing creation of a copy of provided object by `` Object `` provider when it was a
2019-10-08 21:45:12 +03:00
part of `` DeclarativeContainer `` and this container was instantiated (thanks to
2020-06-17 04:40:01 +03:00
`davidcim <https://github.com/davidcim> `_ , issue details are here
`#231 <https://github.com/ets-labs/python-dependency-injector/issues/231> `_ ).
2019-10-08 21:45:12 +03:00
2019-08-18 04:24:26 +03:00
3.14.10
2020-06-17 04:40:01 +03:00
-------
2020-01-26 22:28:15 +03:00
- Make spelling fix for the list of contributors.
2019-08-18 04:24:26 +03:00
2019-08-18 04:08:53 +03:00
3.14.9
------
2020-01-26 22:28:15 +03:00
- Improve README - minor English nitpicking (thanks to `supakeen <https://github.com/supakeen> `_ ).
2019-08-18 04:08:53 +03:00
2019-07-29 22:24:55 +03:00
3.14.8
------
- Regenerate C sources using Cython 0.29.13.
2019-06-07 17:03:11 +03:00
3.14.7
------
- Fix typo on "Dependency injection and inversion of control in Python" docs page (thanks to
`Dmitry (xotonic) <https://github.com/xotonic> `_ ).
2019-05-09 21:58:54 +03:00
3.14.6
------
2019-05-09 21:58:04 +03:00
- Fix `` FactoryAggregate `` provider copying issue.
2019-05-09 21:35:27 +03:00
- Regenerate C sources using Cython 0.29.7.
2019-03-22 05:22:57 +03:00
3.14.5
------
2019-03-22 05:10:53 +03:00
- Fix issue causing `` ThreadLocalSingleton `` provider to return `` None `` after
reset (thanks to `Jeroen Rietveld <https://github.com/jeroenrietveld> `_ ).
- Add test for `` ThreadLocalSingleton `` provider reset functionality (thanks
to `Jeroen Rietveld <https://github.com/jeroenrietveld> `_ ).
2019-03-22 05:22:09 +03:00
- Regenerate C sources using Cython 0.29.6.
2019-03-22 05:10:53 +03:00
2019-01-06 05:38:07 +03:00
3.14.4
------
- Fix typo in providers doc (thanks to `Vlad Ghita <https://github.com/vlad-ghita> `_ ).
2018-12-22 22:02:00 +03:00
3.14.3
------
2018-12-22 21:37:53 +03:00
- Fix issue with copying providers that have system streams injections
(`` sys.stdin `` , `` sys.stdout `` and `` sys.stderr `` ).
2018-12-22 21:50:25 +03:00
- Add support of six 1.12.0.
2018-12-22 22:00:30 +03:00
- Regenerate C sources using Cython 0.29.2.
2018-12-22 21:37:53 +03:00
2018-11-09 00:12:50 +03:00
3.14.2
------
- Set Cython `` language_level=2 `` .
2018-11-08 23:59:21 +03:00
3.14.1
------
2018-11-08 23:49:37 +03:00
- Fix bug `#208 <https://github.com/ets-labs/python-dependency-injector/issues/208> `_ :
version `` 3.14.0 `` hasn't worked on Python 3.5.2 (thanks to
`Jeroen Entjes <https://github.com/JeroenEntjes> `_ ).
2018-11-08 23:55:01 +03:00
- Remove deprecated `` assertEquals `` from tests.
2018-11-08 23:58:17 +03:00
- Regenerate C sources using Cython 0.29.
2018-11-08 23:49:37 +03:00
2018-10-19 13:00:55 +03:00
3.14.0
------
2018-10-18 19:39:19 +03:00
- Add `` Coroutine `` provider.
- Add `` DelegatedCoroutine `` provider.
- Add `` AbstractCoroutine `` provider.
- Add `` CoroutineDelegate `` provider.
2018-10-19 12:56:41 +03:00
- Fix type-hinting of `` *args `` & `` **kwargs `` that was specified in doc
blocks of various providers and caused inspection problems in PyCharm.
2018-10-15 07:46:27 +03:00
- Regenerate C sources using Cython 0.28.5.
2018-09-02 21:01:19 +03:00
3.13.2
------
2018-08-20 22:14:52 +03:00
- Add additional benchmark of `` Factory `` provider.
2018-09-02 21:01:19 +03:00
- Add tests and tox.ini to the distribution, so that they could be used after
package is installed (thanks to
`Tobias Happ <https://github.com/Gerschtli> `_ ).
2018-08-20 22:14:52 +03:00
2018-08-17 00:27:49 +03:00
3.13.1
------
- Fix typo on "Chained Factories" pattern docs page.
2018-08-17 00:17:57 +03:00
3.13.0
2018-08-16 23:53:22 +03:00
------
2018-08-17 00:17:57 +03:00
- Add Python 3.7 support.
- Drop Python 3.3 support.
- Drop Python 2.6 support.
2018-08-16 23:53:22 +03:00
- Add example of "Chained Factories" pattern.
- Add example of "Factory of Factories" pattern.
2018-07-26 10:23:27 +03:00
3.12.4
------
- Fix bug `#200 <https://github.com/ets-labs/python-dependency-injector/issues/200> `_ .
- Make some refactoring `#199 <https://github.com/ets-labs/python-dependency-injector/issues/199> `_ .
2018-07-24 23:14:08 +03:00
3.12.3
------
- Fix bug `#198 <https://github.com/ets-labs/python-dependency-injector/issues/198> `_ .
2018-07-24 23:21:59 +03:00
- Regenerate C sources using Cython 0.28.4.
2018-07-24 23:14:08 +03:00
2018-07-03 19:31:51 +03:00
3.12.2
------
2018-07-03 12:39:43 +03:00
- Apply code style fixes to "services_v2" example miniapp.
2018-07-02 16:47:46 +03:00
3.12.1
------
2018-06-27 19:29:55 +03:00
- Update main page example from "services_v1" to "services_v2".
2018-06-27 17:37:03 +03:00
- Fix few typos on main page.
2018-06-27 19:29:55 +03:00
- Add new example miniapp "password_hashing".
- Add new example miniapp "services_v2".
- Rename example miniapp "services" to "services_v1".
2018-06-22 10:39:56 +03:00
- Fix incompatibility issue between Python 3.3, pip 10.0.0 and virtualenv
16.0.0 (`details <https://github.com/awslabs/base64io-python/issues/4> `_ )
that caused failures of Python 3.3 tests on Travis.
- Regenerate C sources using Cython 0.28.3.
2018-06-22 09:52:58 +03:00
2018-04-23 19:41:53 +03:00
3.12.0
------
2018-04-22 14:02:44 +03:00
- Regenerate C sources using Cython 0.28.2.
2018-02-22 16:32:14 +03:00
3.11.3
------
- Fix padding problem in code samples in docs.
2018-02-22 12:43:08 +03:00
3.11.2
------
- Fix padding problem in code samples in docs.
- Remove `` autodoc `` from the list of documentation dependencies.
2018-01-26 20:34:38 +03:00
3.11.1
------
- Fix small typo in documentation (thanks to James Lafa).
2018-01-24 20:59:31 +03:00
3.11.0
------
2018-01-24 21:01:46 +03:00
- Improve `` Configuration `` provider overriding logic.
- Refactor `` Configuration `` provider.
2018-01-24 21:12:10 +03:00
- Improve `` DependenciesContainer `` provider overriding logic.
2018-01-25 02:06:28 +03:00
- Update "services" example miniapp.
2018-01-24 21:01:46 +03:00
- Update "bundles" example miniapp.
2018-01-22 00:55:32 +03:00
3.10.0
------
- Add `` DependenciesContainer `` provider.
- Add "use_cases" example miniapp.
2024-08-07 05:41:24 +03:00
- Update documentation requirements to use fixed version of
2018-01-22 00:55:32 +03:00
`` sphinxcontrib-disqus `` .
2017-12-25 21:39:56 +03:00
3.9.1
-----
- Fix docs build problem (`` sphinx `` is frozen on `` 1.5.6 `` version because of
2024-08-07 05:41:24 +03:00
incompatibility with `` sphinxcontrib-discus `` ).
2017-12-25 21:39:56 +03:00
- Add badge for docs.
2017-12-25 18:42:01 +03:00
3.9.0
-----
2024-08-07 05:41:24 +03:00
- Change initialization of declarative container, so it accepts overriding
providers as keyword arguments -
2017-12-25 00:03:13 +03:00
`` DeclarativeContainer(**overriding_providers) `` .
2024-08-07 05:41:24 +03:00
- Add method to dynamic catalog for setting groups of providers -
2017-12-25 00:03:13 +03:00
`` DynamicContainer.set_providers(**providers) `` .
2024-08-07 05:41:24 +03:00
- Add method to dynamic catalog for overriding groups of providers -
2017-12-25 00:03:13 +03:00
`` DynamicContainer.set_providers(**overriding_providers) `` .
2017-12-25 18:42:01 +03:00
- Rename `` ExternalDependency `` provider to `` Dependency `` .
- Add default value for `` instance_of `` argument of `` Dependency `` provider -
`` Dependency(instance_of=object) `` .
2017-12-25 17:43:45 +03:00
- Fix bug when copying `` Configuration `` provider.
2017-12-25 18:27:19 +03:00
- Regenerate C sources using Cython 0.27.3.
2017-12-25 17:47:58 +03:00
- Add "bundles" example miniapp.
2017-12-21 23:48:07 +03:00
2017-11-30 12:49:13 +03:00
3.8.2
-----
- Fix padding problem in code samples in docs (part 2).
2017-11-30 12:30:41 +03:00
3.8.1
-----
- Fix padding problem in code samples in docs.
2017-11-21 12:48:15 +03:00
3.8.0
-----
- Add `` DeclarativeContainer.containers `` attribute that stores dictionary of
nested containers.
- Fix bug related to double-overridden providers (provider1 -> provider2 ->
provider3).
2017-10-30 17:52:05 +03:00
3.7.1
-----
- Add support of six 1.11.0.
2017-10-13 20:22:16 +03:00
3.7.0
-----
2017-10-13 06:06:00 +03:00
- Add `` FactoryAggregate `` provider.
2024-08-07 05:41:24 +03:00
- Add `` Provider.provider `` dynamic attribute that return new provider's
2017-10-13 20:15:21 +03:00
delegate (alias of method `` Provider.delegate() `` ).
2017-10-13 06:06:00 +03:00
- Add support of six 1.11.0.
2017-10-13 06:25:46 +03:00
- Regenerate C sources using Cython 0.27.1.
2017-10-13 06:06:00 +03:00
2017-08-08 19:10:06 +03:00
3.6.1
-----
2017-08-08 19:06:03 +03:00
- Regenerate C sources using Cython 0.26.
2017-07-09 23:41:32 +03:00
3.6.0
-----
2017-07-09 23:29:40 +03:00
- Add `` CallableDelegate `` provider.
2017-07-09 23:17:39 +03:00
- Add `` FactoryDelegate `` provider.
2017-07-09 23:34:38 +03:00
- Add `` SingletonDelegate `` provider.
2017-07-09 23:17:39 +03:00
2017-07-07 17:52:58 +03:00
3.5.0
-----
2024-08-07 05:41:24 +03:00
- Add functionality for initializing `` Configuration `` provider with default
2017-07-07 17:49:16 +03:00
values.
2017-06-09 01:46:18 +03:00
3.4.8
-----
2017-06-09 01:41:22 +03:00
- Code style fixes in `` providers `` module.
2017-04-18 23:42:48 +03:00
2017-05-29 10:41:31 +03:00
3.4.7
-----
- Correct typo in changelog.
2017-05-29 10:19:43 +03:00
3.4.6
-----
2017-05-29 10:41:31 +03:00
- Add "Useful links" section to the "Dependency injection and inversion of
control in Python" article.
2017-05-29 10:19:43 +03:00
2017-05-17 10:58:53 +03:00
3.4.5
-----
- Remove non-ascii character from README. This character created an
installation problem on Debian (Python 3.4).
2017-05-08 17:07:22 +03:00
3.4.4
-----
2024-08-07 05:41:24 +03:00
- Add `` Provider.last_overriding `` read-only property that points to last
2017-05-08 17:07:22 +03:00
overriding provider, if any. If target provider is not overridden, `` None ``
would be returned.
2017-05-08 17:07:54 +03:00
- Update example of writing custom providers.
2017-05-08 18:55:14 +03:00
- Update movie lister example miniapp.
2017-05-08 19:05:02 +03:00
- Update source of `` coveralls.io `` badge.
2017-05-08 17:07:22 +03:00
2017-04-19 00:00:29 +03:00
3.4.3
-----
- Update doc block for `` Provider.overriding_lock `` attribute.
2017-04-18 23:42:48 +03:00
3.4.2
-----
2017-04-18 23:30:29 +03:00
- Make `` Provider `` overriding methods thread safe:
2024-08-07 05:41:24 +03:00
`` Provider.override(provider) `` , `` Provider.reset_last_overriding() `` ,
2017-04-18 23:30:29 +03:00
`` Provider.reset_override() `` .
2017-04-18 23:01:20 +03:00
- Refactor storage locking of `` ThreadSafeSingleton `` provider.
2017-04-18 23:38:04 +03:00
- Fix few `` pydocstyle `` errors in examples.
2017-03-26 16:32:13 +03:00
2017-04-07 09:19:48 +03:00
3.4.1
-----
- Update movie lister example miniapp with `` AbstractFactory `` provider.
2017-04-06 12:33:19 +03:00
3.4.0
-----
2017-04-06 18:17:06 +03:00
- Add `` AbstractCallable `` provider.
- Add `` AbstractFactory `` provider.
- Add `` AbstractSingleton `` provider.
2017-04-06 12:34:04 +03:00
- Optimize calling of overridden providers (~15% faster).
2017-04-06 12:33:19 +03:00
2017-03-29 01:34:08 +03:00
3.3.7
-----
- Fix minor bug related to patch of `` Configuration `` provider in version
2020-06-14 05:24:32 +03:00
3.3.6 - special attributes were identified by formula `` __{text} `` - now
2017-03-29 01:34:08 +03:00
they are identified by formula `` __{text}__ `` , that is more correct
according to Python Data Model.
2017-03-29 00:22:54 +03:00
3.3.6
-----
- Patch `` Configuration `` provider to raise `` AttributeError `` when there
is an attempt to access special attribute like `` __module__ `` or
`` __name__ `` (this behaviour is identical to behaviour of `` object `` ).
- Apply minor refactoring for `` providers `` module.
- Remove cythonization from travis building process.
2017-03-26 23:01:00 +03:00
3.3.5
-----
2017-03-26 16:40:41 +03:00
- [Refactoring] Consolidate all containers in
`` dependency_injector.containers `` module.
2017-03-26 16:32:13 +03:00
- [Refactoring] Consolidate all providers in
`` dependency_injector.providers `` module.
2017-03-25 00:46:19 +03:00
3.3.4
-----
- Change `` __module__ `` attribute for all members of
`` dependency_injector.containers `` package to point to package, but not to
package modules.
2017-03-24 23:19:53 +03:00
- Regenerate C sources using Cython 0.25.2.
2016-12-02 21:47:57 +03:00
2017-03-15 18:28:03 +03:00
3.3.3
-----
- Update services miniapp example.
2017-02-28 23:31:19 +03:00
3.3.2
-----
- Add `disqus.com <https://disqus.com/> `_ comments for documentation.
- Fix reference to version in api docs.
- Fix title underline in containers api docs.
- Update documentation copyright year.
- Update example version in installation document.
2017-02-01 14:08:45 +03:00
3.3.1
-----
- Add some improvements to the documentation.
2017-01-30 01:12:08 +03:00
3.3.0
-----
- Add support of Python 3.6.
2017-01-30 00:39:15 +03:00
3.2.5
-----
- Add description of structure into README.
- Fix documentation errors.
2017-01-11 01:14:32 +03:00
3.2.4
-----
2024-08-07 05:41:24 +03:00
- Switch to single version of documentation for getting shorter urls (without
`` /en/stable/ `` ). Add appropriate redirects for compatibility with previous
2017-01-11 01:14:32 +03:00
links.
- Update copyright date.
2016-12-28 00:10:52 +03:00
3.2.3
-----
- Add examples into README.
- Make minor documentation updates.
2016-12-04 14:13:29 +03:00
3.2.2
-----
- Change name of version variable to follow PEP8: `` VERSION `` -> `` __version__ `` .
2016-12-02 22:04:17 +03:00
3.2.1
-----
- Update `` services `` miniapp example.
2016-12-02 21:47:57 +03:00
3.2.0
-----
2024-08-07 05:41:24 +03:00
- Add `` Configuration `` provider for late static binding of configuration
2016-12-02 16:01:52 +03:00
options.
2016-11-11 19:36:35 +03:00
2016-11-23 23:26:14 +03:00
3.1.5
-----
- Refactor provider internals: C functions naming scheme and code layout.
- Add Terrence Brannon (metaperl) to the list of contributors.
2016-11-18 00:35:27 +03:00
3.1.4
-----
2024-08-07 05:41:24 +03:00
- Move `` inline `` functions from class level to module level for removing them
2016-11-18 00:35:27 +03:00
from virtual table and enable inlining.
2016-11-15 15:32:23 +03:00
3.1.3
-----
- Fix flake8 `` E305 `` error in examples.
2016-11-15 15:28:12 +03:00
3.1.2
-----
- Remove `` public `` (`` extern `` ) modifier utils constants.
- Fix flake8 `` E305 `` error in examples.
2016-11-13 12:52:09 +03:00
3.1.1
-----
- Fix minor typo in README.
2016-11-12 00:08:47 +03:00
3.1.0
-----
- Add "Services mini application" example.
- Fix minor error in `` Factory `` provider API doc.
2016-11-11 19:36:35 +03:00
3.0.1
-----
- Add `` *.c `` source files under version control.
- Change keywords.
2016-11-11 18:30:13 +03:00
3.0.0
-----
2016-11-11 18:05:25 +03:00
- **Providers**
2024-08-07 05:41:24 +03:00
1. All providers from `` dependency_injector.providers `` package are
2016-11-11 18:05:25 +03:00
implemented as C extension types using Cython.
2. Add `` BaseSingleton `` super class for all singleton providers.
2024-08-07 05:41:24 +03:00
3. Make `` Singleton `` provider not thread-safe. It makes performance of
2016-11-11 18:05:25 +03:00
`` Singleton `` provider 10x times faster.
2024-08-07 05:41:24 +03:00
4. Add `` ThreadSafeSingleton `` provider - thread-safe version of
2016-11-11 18:05:25 +03:00
`` Singleton `` provider.
2024-08-07 05:41:24 +03:00
5. Add `` ThreadLocalSingleton `` provider - `` Singleton `` provider that uses
2016-11-11 18:05:25 +03:00
thread-local storage.
2024-08-07 05:41:24 +03:00
6. Remove `` provides `` attribute from `` Factory `` and `` Singleton ``
2016-11-11 18:05:25 +03:00
providers.
2024-08-07 05:41:24 +03:00
7. Add `` set_args() `` and `` clear_args() `` methods for `` Callable `` ,
2016-11-11 18:05:25 +03:00
`` Factory `` and `` Singleton `` providers.
- **Containers**
2024-08-07 05:41:24 +03:00
1. Module `` dependency_injector.containers `` was split into submodules
2016-11-11 18:05:25 +03:00
without any functional changes.
- **Utils**
2024-08-07 05:41:24 +03:00
1. Module `` dependency_injector.utils `` is split into
2016-11-11 18:05:25 +03:00
`` dependency_injector.containers `` and `` dependency_injector.providers `` .
- **Miscellaneous**
1. Remove `` @inject `` decorator.
2024-08-07 05:41:24 +03:00
2. Add makefile (`` clean `` , `` test `` , `` build `` , `` install `` , `` uninstall ``
2016-11-11 18:05:25 +03:00
& `` publish `` commands).
3. Update repository structure:
2020-06-17 04:40:01 +03:00
2016-11-11 18:05:25 +03:00
1. Sources are moved under `` src/ `` folder.
2. Tests are moved under `` tests/unit/ `` folder.
2016-10-30 14:19:39 +03:00
2016-10-19 20:25:16 +03:00
2016-10-20 17:17:52 +03:00
2.2.10
------
- Fix typo in README.
2016-10-19 20:25:16 +03:00
2.2.9
-----
2016-10-19 14:58:11 +03:00
- Add github badges to readme and docs index pages.
2016-10-19 15:25:19 +03:00
- Update service names in services example miniapp.
2016-10-19 20:20:36 +03:00
- Create engines & cars example miniapp.
2016-09-23 00:35:51 +03:00
2016-10-13 10:42:52 +03:00
2.2.8
-----
- Move fixtures to separate module in movie lister example.
2016-10-12 10:45:26 +03:00
2.2.7
-----
- Fix typo in README.
2016-10-12 10:42:02 +03:00
2.2.6
-----
- Update README.
- Update docs index page.
2016-10-11 23:52:57 +03:00
2.2.5
-----
- Fix typo in README.
2016-10-11 17:46:56 +03:00
2.2.4
-----
- Update README.
2016-10-07 18:04:18 +03:00
2.2.3
-----
- Update README.
2016-10-07 16:59:22 +03:00
2.2.2
-----
- Update README.
2.2.1
-----
- Update examples.
2016-09-23 00:35:51 +03:00
2.2.0
-----
2016-09-23 00:24:45 +03:00
- Deprecate `` inject `` decorator.
2016-08-19 01:16:43 +03:00
2016-09-07 11:00:24 +03:00
2.1.1
-----
- Normalize package names by PEP-503.
2016-08-19 01:16:43 +03:00
2.1.0
-----
2016-08-19 00:56:41 +03:00
- Add `` ThreadLocalSingleton `` and `` DelegatedThreadLocalSingleton `` providers.
- Add documentation section about singleton providers and multi-threading.
2016-08-19 01:13:38 +03:00
- Update API docs of creational providers.
2016-04-20 17:38:19 +03:00
2016-05-17 21:01:08 +03:00
2.0.0
------
2024-08-07 05:41:24 +03:00
- Introduce new injections style for `` Callable `` , `` Factory `` &
2016-05-22 16:25:17 +03:00
`` Singleton `` providers.
2016-06-09 19:44:05 +03:00
- Drop providers: `` Static `` , `` Value `` , `` Function `` , `` Class `` , `` Config `` .
- Increase performance of making injections in 2 times (+100%).
2016-05-22 16:50:45 +03:00
- Drop method injections.
2016-06-09 19:44:05 +03:00
- Simplify providers overriding system.
- Replace `` catalogs `` package with `` containers `` module.
- Drop all backward compatibilities for 1.x.
- Refactor most of the components.
- Update documentation.
2016-05-17 21:01:08 +03:00
2016-05-16 11:16:14 +03:00
1.17.0
------
2024-08-07 05:41:24 +03:00
- Add `` add_injections() `` method to `` Callable `` , `` DelegatedCallable `` ,
`` Factory `` , `` DelegatedFactory `` , `` Singleton `` and `` DelegatedSingleton ``
2016-05-16 11:16:14 +03:00
providers.
2016-05-16 11:18:00 +03:00
- Fix bug with accessing to declarative catalog attributes from instance level.
2016-05-16 11:16:14 +03:00
2016-04-27 02:04:18 +03:00
1.16.8
------
- Fix some typos in introduction section of documentation.
2016-04-26 13:14:39 +03:00
1.16.7
------
- Add some changes into introduction section of documentation.
2016-04-25 11:39:35 +03:00
1.16.5
------
- Move project to `` https://github.com/ets-labs/python-dependency-injector `` .
- Move project docs to `` http://python-dependency-injector.ets-labs.org/ `` .
2016-04-23 15:24:38 +03:00
1.16.4
2016-04-23 15:00:06 +03:00
------
- Add some documentation improvements.
2016-04-20 18:15:23 +03:00
1.16.1
2016-04-20 17:38:19 +03:00
------
2016-04-10 17:26:30 +03:00
- Add `` @copy `` decorator for copying declarative catalog providers.
2016-04-11 10:43:02 +03:00
- Add line numbers for all code samples in documentation.
2016-04-20 17:38:19 +03:00
- Add "Examples" section into documentation.
- Add "Movie Lister" example.
- Add "Services" example.
2024-08-07 05:41:24 +03:00
- Move project documentation into organisation's domain
2016-04-20 14:19:54 +03:00
(dependency-injector.ets-labs.org).
2016-04-04 23:40:28 +03:00
1.15.2
------
2024-08-07 05:41:24 +03:00
- [Refactoring] split `` catalogs `` module into smaller modules,
2016-04-03 23:47:34 +03:00
`` catalogs `` module become a package.
2024-08-07 05:41:24 +03:00
- [Refactoring] split `` providers `` module into smaller modules,
2016-04-03 23:47:34 +03:00
`` providers `` module become a package.
2016-04-04 23:40:28 +03:00
- Update introduction documentation.
2015-12-28 18:40:26 +03:00
2016-03-17 03:05:54 +03:00
1.15.1
------
- Update package information and documentation.
2016-03-14 01:08:12 +03:00
1.15.0
------
2024-08-07 05:41:24 +03:00
- Add `` Provider.provide() `` method. `` Provider.__call__() `` become a
2016-03-14 01:08:12 +03:00
reference to `` Provider.provide() `` .
- Add provider overriding context.
- Update main examples and README.
2016-03-11 14:01:26 +03:00
1.14.11
-------
- Update README.
2016-03-09 12:39:05 +03:00
1.14.10
-------
- Add "catalog-providing-callbacks" example and several tests for it.
2016-03-01 18:04:01 +03:00
1.14.9
------
- Add `` override `` decorator in providers module.
- Add storing of originally decorated instance in `` inject `` decorator.
- Add several refactorings.
- Switch to `` pydocstyle `` tool from `` pep257 `` .
2016-02-27 01:19:09 +03:00
1.14.8
------
- Update README.
2016-02-27 01:13:42 +03:00
1.14.7
------
- Add one more example in README (inline providers and injections).
2016-02-27 01:07:32 +03:00
1.14.6
------
2024-08-07 05:41:24 +03:00
- Add `` cls `` alias for `` provides `` attributes of `` Factory `` ,
2016-02-27 01:07:32 +03:00
`` DelegatedFactory `` , `` Singleton `` and `` DelegatedSingleton `` providers.
2016-02-26 20:34:30 +03:00
1.14.5
------
- Fix typo in provider's error message.
2016-02-08 02:42:21 +03:00
1.14.4
------
- Update documentation.
2016-02-08 01:37:39 +03:00
1.14.3
------
- Optimize internals of providers.
- Optimize `` Callable `` provider.
- Optimize `` Factory `` provider.
- Optimize `` Singleton `` provider.
2016-02-04 23:55:41 +03:00
1.14.2
------
- Update documentation and description.
2016-02-02 00:18:07 +03:00
1.14.1
------
- Add meta description & keywords on docs index page.
2016-01-25 16:05:25 +03:00
1.14.0
------
- Drop support of Python 3.2.
2016-01-11 12:30:50 +03:00
1.13.2
------
- Update PyPi info.
2016-01-11 12:20:29 +03:00
1.13.1
------
- Transfer ownership to `ETS Labs <https://github.com/ets-labs> `_ .
2015-12-28 18:40:26 +03:00
1.13.0
------
2015-12-28 18:25:25 +03:00
- Add `` DelegatedCallable `` provider.
- Add `` DelegatedFactory `` provider.
- Add `` DelegatedSingleton `` provider.
2015-12-28 18:40:26 +03:00
- Add some documentation improvements.
2015-12-15 18:02:21 +03:00
1.12.0
------
2015-12-13 15:22:59 +03:00
- 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:35:48 +03:00
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
------
2024-08-07 05:41:24 +03:00
Previous state of *Dependency Injector* framework (0.11.0 version) is
considered to be production ready / stable, so current release is considered
2015-11-26 16:50:12 +03:00
to be the first major release.
2024-08-07 05:41:24 +03:00
- Increase major version.
2015-11-26 16:50:12 +03:00
- Backward compatibility with all previous versions above 0.7.6 has been saved.
2015-11-26 16:34:14 +03:00
0.11.0
------
2024-08-07 05:41:24 +03:00
- Rename `` AbstractCatalog `` to `` DeclarativeCatalog ``
2015-11-10 11:42:29 +03:00
(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 `` .
2024-08-07 05:41:24 +03:00
- Change restrictions for providers-to-catalogs bindings - provider could be
2015-11-26 16:34:14 +03:00
bound to several catalogs with different names.
- Restrict overriding of providers by themselves.
- Restrict overriding of catalogs by themselves.
2024-08-07 05:41:24 +03:00
- Make `` DeclarativeCatalog.last_overriding `` attribute to be `` None `` by
2015-11-26 16:34:14 +03:00
default.
2024-08-07 05:41:24 +03:00
- Make `` Provider.last_overriding `` attribute to be `` None `` by
2015-11-26 16:34:14 +03:00
default.
- Refactor catalogs and providers modules.
- Add API documentation
- Improve user's guides and examples.
2015-11-10 11:42:29 +03:00
2015-11-04 17:32:04 +03:00
0.10.5
------
2024-08-07 05:41:24 +03:00
- Add more representable implementation for `` AbstractCatalog `` and
2015-11-26 16:34:14 +03:00
`` 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.
2015-10-23 18:07:52 +03:00
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-08-03 23:41:46 +03:00
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.
2024-08-07 05:41:24 +03:00
- Add images for catalog "Writing catalogs" and "Operating with catalogs"
2015-10-11 15:34:21 +03:00
examples.
2024-08-07 05:41:24 +03:00
- Add functionality for using positional argument injections with
`` Factory `` , `` Singleton `` , `` Callable `` providers and
2015-11-26 16:34:14 +03:00
`` inject `` decorator.
- Add functionality for decorating classes with `` @inject `` .
2024-08-07 05:41:24 +03:00
- Add `` Singleton.injections `` attribute that represents a tuple of all
2015-11-26 16:34:14 +03:00
`` Singleton `` injections (including args, kwargs, attributes and methods).
2024-08-07 05:41:24 +03:00
- Add `` Callable.injections `` attribute that represents a tuple of all
2015-11-26 16:34:14 +03:00
`` Callable `` injections (including args and kwargs).
2024-08-07 05:41:24 +03:00
- Add optimization for `` Injection.value `` property that will compute
2015-10-19 10:50:17 +03:00
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.
2015-10-19 17:26:59 +03:00
- Add support of Python 3.5.
- Add support of six 1.10.0.
2015-10-12 00:11:30 +03:00
- 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.
2024-08-07 05:41:24 +03:00
- Add `` Factory.injections `` attribute that represents a tuple of all
2015-11-26 16:34:14 +03:00
`` Factory `` injections (including kwargs, attributes and methods).
2015-09-14 10:53:24 +03:00
2015-09-04 10:17:13 +03:00
0.9.4
-----
- Add minor documentation fixes.
2015-09-04 02:33:15 +03:00
0.9.3
-----
2015-09-04 10:17:13 +03:00
- 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
-----
2024-08-07 05:41:24 +03:00
- Add simplified syntax of kwarg injections for `` di.Factory `` and
`` di.Singleton `` providers:
2015-09-03 00:27:56 +03:00
`` 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) `` .
2024-08-07 05:41:24 +03:00
- Optimize `` @di.inject() `` decorations when they were made several times for
2015-09-03 00:27:56 +03:00
the same callback.
2015-09-01 00:37:21 +03:00
- Add minor refactorings.
- Fix of minor documentation issues.
2015-08-03 23:41:46 +03:00
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.
2015-08-03 23:41:46 +03:00
0.7.6
-----
2024-08-07 05:41:24 +03:00
- 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
2015-08-03 23:41:46 +03:00
functions with Factory / Singleton providers.
2024-08-07 05:41:24 +03:00
- 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
2015-08-03 23:41:46 +03:00
`` Provider._provide() `` .
2024-08-07 05:41:24 +03:00
- `` NewInstance `` provider was renamed to `` Factory `` provider.
`` NewInstance `` still can be used, but it considered to be deprecated and
2020-06-14 05:24:32 +03:00
will be removed in further releases.
2024-08-07 05:41:24 +03:00
- `` @inject `` decorator was refactored to keep all injections in
2020-06-14 05:24:32 +03:00
`` _injections `` attribute of decorated callback. It will give a possibility to
2024-08-07 05:41:24 +03:00
track all the injections of particular callbacks and gives some performance
2015-08-03 23:41:46 +03:00
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.
2017-02-28 23:05:00 +03:00
.. disqus ::
2020-10-20 00:18:39 +03:00
.. _Semantic versioning: https://semver.org/