7. Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to [Semantic Versioning] (http://semver.org/).
7.1. Version: 1.2.0
- Add
Injectors - new way of dependency injection
async functions support
- Renamed
Rename InjectApplication into ApplicationInitializer.
- Removed
Remove SAQuery (in favour of SessionInjector) and SACommand (in favour of TransactionDecorator).
Drop pyramid support.
Remove jsonhack
Remove DataclassFinder.
7.2. Version: 1.1.1
- Fixed
Added Pickling of the Application object, so FastAPI will no longer crash when tried to log a request.
7.3. Version: 1.1.0
- Added
Support for inject application into coroutine.
7.4. Version: 1.0.5
- Added
Add Plugin validation.
Add Singleton Plugins functionality.
Add Plugin Container in Application.
- Changed
Use Plugin Container instead of OrderedDict for plugins.
- Fixed
Overwriting the self when using InjectApplication decorator
Better error info when Injector not inicialized
7.5. Version: 1.0.4
- Added
Injectors can have injectors in arguments. Application object will be forwarded from to the top to the bottom.
@InjectApplication (or @InitializeInjectors before) functions now can have another @InjectApplication functions in default arguments. Application object will be forwarded from to the top to the bottom.
- Changed
Renamed InitializeInjectors into InjectApplication
Documentation from Markdown into reStructuredText
- Fixed
Starting and running of injectors.
7.6. Version: 1.0.3
- Fixed
Add missing const for settings plugin.
7.7. Version: 1.0.2
- Fixed
Release fix: the release configuration was broken, but the code did not changed (yes, second time :/).
7.8. Version: 1.0.1
- Fixed
Release fix: the release configuration was broken, but the code did not changed.
7.9. Version: 1.0.0
Changed name from sapp to Quack Quack
Change behavoiur of the application and contexts: removex ContextManager and LazyContextManager in favor of always lazy Context.
Remove decorator injecting dependencies in favor of injectors
7.10. Version: 0.5.0
Switch from pipfile into poetry and from setup.py into pyproject.toml
Decorator should not start an context if it’s not needed.
Change settings of DatabasePlugin from a form of “db:dbname:url” into normal dict: {“databases”: {“dbname”: {“url”: “x”}}}
Add recreate for DatabasePlugin and remove old recreate mechanism, including using “default url”.
Removed old “driver” support for DatabasePlugin. Preparing code for CQRS instead, like “command” and “query” wrappers.
Fixed problem with starting context again
Cleaned up dependecies
Changed and improved alembic migration scripts. Now it allows to start the app by the developer instead of the code.
Added Object Finder.
Added JsonHack.
New encoder: Decimal and new way of adding encoders (sapp.plugins.jsonhack.models.add_encoder).
Change View class so all of the ednpoint will get the request as a param.
7.11. Version: 0.4.0 - Split Context Manager and Decorator for Configurator
- Added
ContextManger class, so the configurator will act as context manager
Decorator class, so the configurator will act as decorator
Example for application that uses pyramid, celery, tornado, gevent at the same time
- Removed
Functionality that allowed to use Configurator as decorator and context manager simultaneously
7.12. Version: 0.3.0 - Plugins and documentation
- Added
JSON plugin (makes uuid4 serializable)
REDIS plugin
Add documentation for Fragment Context.
7.13. Version: 0.2.0 - Fragment Context
- Added
Fragment Context mechanism
7.14. Version: 0.1.0 - First Release
- Added
Confiugator
Context
Settings Plugin
Logging Plugin
Pyramid Plugin
SQLalchemy Plugin