What’s New¶
This file lists new features and major changes to Norman. For a detailed changelog, see the mercurial log.
Norman-0.7.2¶
Release Date: 2012-02-25
- Support for Python 2.6 added.
- Fixed Issue #1: Using
uidname=Noneinserialise.Sqlitedoes not behave as documented. - Documentation updated, and installation instructions added.
Norman-0.7.1¶
Release Date: 2012-02-12
Query.tableexposed, resulting in a major implementation change inQuery.add. This function now exists for all queries, but raises an error if called when it cannot be used.Query.addcan now be used for queries of whole tables.- Add
AutoDatabaseandAutoTableclasses. - Make
Field.readonlyandField.uniquemutable. - Allow
Fielddefinitions to be copied to anotherTable. - Add
Database.deletemethod. - Allow a
Nonereturn value fromserialise.Reader.create_record. - Fix issue in python2 where uuids cannot be converted to strings.
- Documentation updated.
Norman-0.7.0¶
Release Date: 2012-12-14
- Many internal changes in the way data is stored and indexed, centred
around the introduction of two new classes,
StoreandIndex. - All fields are now automatically indexed. As a results the index
parameter to
Fieldobjects falls away, and a new key argument is introduced. Tableobjects have a new attribute, ~`Table._store`, which refers to theStoreused for the table. This may be changed when the- The
serialiseframework has been completely overhauled and the API simplified. Extensive changes in this module. - Add a new
CSVserialiser. - Add
validate.mapvalidator to convert values. - Improved the string representation of
QueryandFieldinstances. - Deprecated functionality removed
Norman-0.6.2¶
Release Date: 2012-09-03
- Add built-in support for many-to-many joins.
- Hooks added to
Tableto allow more control over validation. - Add
Query.field, allowing queries to traverse tables. - Add
Query.add, allowing records to be created based on query criteria. - Add a return value when calling
Queryobjects. Fieldlevel validation added, including some validator factories.- Add
validate.todatetime,validate.todateandvalidate.totime. - Deprecated the
toolsmodule.
Norman-0.6.1¶
Release Date: 2012-07-12
- New serialiser framework added, based on
serialise.Serialiser. A sample serialiser,serialise.Sqliteis included. serialise.Sqlite3has been deprecated.- Documentation overhauled introducing major changes to the documentation layout.
- Add boolean comparisons,
Query.deleteandQuery.onemethods toQuery. Tablenow supports inheritance by copying its fields.- Several changes to implementations, generally to improve performance and consistency.
Norman-0.6.0¶
Release Date: 2012-06-12
- Python 2.6 support by Ilya Kutukov
- Move serialisation functions to a new serialise module. This module will be expanded and updated in the near future.
- Add sensible
reprtoTableandNotSetobjects Queryobject added, introducing a new method of querying tables, involvingFieldandQuerycomparison operators.Joinclass created, which will replaceGroupin 0.7.0.Field.nameandField.owner, which previously existed, have now been formalised and documented.Field.defaultis respected when initialising tablesTable._uidproperty added for Table objects.- Allow
Table.validate_deleteto make changes. - Two new
toolsfunctions added:tools.dtfromisoandtools.reduce2. Database.addmethod added.- Documentation updated to align with docstrings.
- Fix a bunch of style and PEP8 related issues
- Minor bugfixes
Norman-0.5.2¶
Release Date: 2012-04-20
- Fixed failing tests
Group.addimplemented and documented- Missing documentation fixed
Norman-0.5.1¶
Release Date: 2012-04-20
- Exceptions raised by validation errors are now all ValueError
- Group object added to represent sub-collections
- Deletion validation added to tables through
Table.validate_delete - Minor documentation updates
- Minor bugfixes
Norman-0.5.0¶
Release Date: 2012-04-13
- First public release, repository imported from private project.