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 aRecordChangesandVersionedmixin
v0.2.0
This release includes the following features (as well as some general code re-organization for cleanliness):
-
A new
RecordChangesmixin for inserting achange_infoandchangedcolumn directly into application models (vs. distinct history tables) -
A simple
rationalecontext 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_infocontext 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_FUNCvariable – 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