Additions
---------
- support for default values in a ``__defaults__`` dict
- specify instances members via global ``__init__ **kwargs``
- autogenerated API documentation
Changes
-------
- transactions engine rewrite to support multiple targets
- transactions always persisted after first write attempt
- transactions engine now embeds its own minimal schema
- transactions can be set ``transient`` on a 'per instance basis' instead of class
- autoinc hash key now relies on ``atomic add`` to prevent risks of races
- autoinc magic element moved to -1 instead of 0 to prevent accidental overwrite
- autoinc magic element now hidden from scan results
- factorized default value code
- enforce batch size 100 limit
- full inline documentation
- fixed issue: All transactions fail if they have a bool field set to False
- 99% test coverage
Removal
-------
(None)
Upgrade
-------
autoinc
For all tables relying on autoinc feature, manually move element
at ``'hash_key' = 0`` to ``'hash_key' = -1``
transactions
Should be retro-compatible but you are strongly advised to adopt the
new API
- specify ``targets`` and ``setters`` via ``Transactions._get_transactors``
- avoid any use of ``Transactions._get_target`` and ``Transactions._alter_target``
- save is now called automatically as long as at least 1 write was attempted
- ``__schema__`` might not be required anymore due to ``Transaction`` having a new one
- ``requester_id`` hash key must be set by the user
See these method's documentation for more informations
Known bugs
----------
(None)