Releases: onecodex/chrononaut
v0.4.1
v0.4.0
This release reinstates the original diff
method signature from versions 0.2.2
and earlier. It also adds supplementary diff_timestamps
and diff_versions
methods for all the different diffing needs.
v0.3.0
This release changes the way the historic data is being stored. Instead of copying the versioned tables, a single table is introduced which stores the records from all versioned tables. The historic record versions are stored as JSON snapshots.
This release also introduces tracking insert operations alongside the updates.
Fix deferred model resolution bug
- Fixes deferred model resolution (#10)
Configurable transfer of indices and validators to history tables
- #6 Previously, all column indices were transferred to history tables. Now, certain columns can be excluded by setting them as, e.g.,
__chrononaut_disable_indices__ = ['col1', 'col2']
on the model. - #9 Previously, validators were sometimes transferred to history tables and sometimes not. Copying validators over to the history tables is not a desired behavior, since validators can change over the course of time. Now, validators are not copied by default unless the
__chrononaut_copy_validators__
flag is set on the model.
v0.2.2
v0.2.1
- Improves efficiency of
.versions(after=X, before=Y)
method for models with both aRecordChanges
andVersioned
mixin
v0.2.0
This release includes the following features (as well as some general code re-organization for cleanliness):
-
A new
RecordChanges
mixin for inserting achange_info
andchanged
column directly into application models (vs. distinct history tables) -
A simple
rationale
context manager for simplified rationales when working, e.g., in an application console:with rationale('The user asked me to!'): user.email = 'updated@example.com' session.commit()
v0.1.1
This release includes:
- An
append_change_info
context manager (for legacy backwards compatibility, as well as the ability to mark changes for a single object rather than within a context/commit block) - The ability to set custom change info recording via a function specified in the Flask config
CHRONONAUT_EXTRA_CHANGE_INFO_FUNC
variable – this removes the need to subclass Versioned for simply adding extra change information. Note the interface for this feature is likely unstable and may be broken as soon as v0.2.0. - Some general code cleanup and renaming
Initial release!
v0.1.0 Initial v0.1.0 release of Chrononaut