Skip to content
This repository has been archived by the owner on Aug 4, 2022. It is now read-only.

Latest commit

 

History

History
executable file
·
380 lines (345 loc) · 18.6 KB

CHANGELOG.rst

File metadata and controls

executable file
·
380 lines (345 loc) · 18.6 KB

Ver. 0.9.0 - Development

  • Removed the dispatch module from utils.
  • Asynchronous redis connection moved to pulsar.
  • Added the :meth:`odm.Manager.save` as shortcut for immediately committing changes to a model.
  • Bug fix in model registration.
  • Bug fixes when primary key is not named id.
  • 554 regression tests with 93% coverage.

Ver. 0.8.2 - 2013 July 4

Ver. 0.8.1 - 2013 July 2

Ver. 0.8.0 - 2013 May 24

Ver. 0.7.0 - 2012 Oct 25

Ver. 0.6.2 - 2011 Nov 14

  • Critical bug fix in delete method when a model has no indices.
  • Critical bug fix in :class:`stdnet.odm.ManyToManyField` which was causing the model delete method to crash.
  • 297 regression tests with 78% coverage.

Ver. 0.6.1 - 2011 Sep 10

  • This is a minor release which brings an improved documentation, better support for the :class:`stdnet.odm.JSONField` and some minor bug fixes.
  • Test suite parsing is done using the new python argparse module since the optparse is now deprecated. Check :ref:`running tests <runningtests>` for more information.
  • Started work on lua extensions and added a development test tag script.
  • Added google analytics to the documentation web site.
  • The instance validation algorithm catches :class:`stdnet.FieldValueError` exceptions and stores them into the errors dictionary.
  • Fixed bug in :class:`stdnet.odm.Field` when using default values. Default values are regenerated if missing during the saving algorithm.
  • Refactored redisinfo for a better redis monitor.
  • 297 regression tests with 78% coverage.

Ver. 0.6.0 - 2011 Aug 9

  • New database schema incompatible with previous versions.
  • This is a major release which brings into production a vast array of important new features including an improved database schema.
  • :class:`stdnet.odm.StdModel` instances are mapped into separate redis hash tables with fields given by the model field names and values given by the instance field values.
  • Implemented two types of sorting: Implicit by the :class:`stdnet.odm.Metaclass` attribute ordering. When using this route, items are stored in the database in a sorted fashion, therefore no overhead is required for the sorting step. Explicit by using the sort_by method in a :class:`stdnet.odm.query.QuerySet` object. Check the :ref:`sorting <sorting>` documentation for more information.
  • Unique fields (fields with :attr:`stdnet.odm.Field.unique` set to True) are now indexed via redis hash tables which maps the field value to the object id. Previously they were stored in keys. This solution reduces the memory footprint and the number of keys used.
  • Added :ref:`transaction support <model-transactions>`. This way model instances are always consistent even when redis shuts down during an update. Transactions are also useful when updating several instances at once.
  • Added :ref:`serialization utilities <serialize-models>` for saving model data in JSON or CSV format. Custom serialization algorithms can be added to the library.
  • Data encoders have been moved to the :mod:`stdnet.utils.encoders` module. There are four available, a dummy one (no encoding), Default to and from unicode and bytes, Bytes to and from bytes, PythonPickle to and from object and their pickle (bytes) representation and Json to and from structures and bytes.
  • Added as_string parameter to :class:`stdnet.odm.JSONField` for specifying the storage method.
  • Moved testing functions into the :mod:`stdnet.test` module.
  • Added hidden attribute to :class:`stdnet.odm.Field`. Used in the search algorithm.
  • Reorganized and expanded documentation.
  • Bug fix in :class:`stdnet.odm.PickleObjectField` field.
  • 289 regression tests with 78% coverage.

Ver. 0.5.5 - 2011 June 6

  • Several new features, some important bug fixes and more tests.
  • Added :func:`stdnet.odm.from_uuid` function which can be used to retrieve a model instance from its universally unique identifier.
  • Added pickle support to models. The __getstate__ method return a tuple containg id and a dictionary representation of scalar fields (obtained from the todict method).
  • Bug Fix in :class:`stdnet.odm.JSONField`.
  • Added tests for timeseries with date as keys (rather than datetimes).
  • Bug fix in Backend and test suite, Redis port was not read.
  • Bug fix in :class:`stdnet.contrib.timeseries`. The models were overridding the :meth:`__str__` rather than :meth:`__unicode__`.
  • Added :func:`stdnet.odm.flush_models`, a utility functions for flushing model data.
  • Added a new :class:`stdnet.odm.ByteField` which saves bytes rather than strings.
  • Renamed start and end in TimeSeres to data_start and data_end.
  • 245 regression tests with 76% coverage.

Ver. 0.5.4 - 2011 May 18

  • Another bug fixing release with a couple of new functionalities and a new contrib application.
  • Fixed a filtering problem when performing exclude on unique fields.
  • Refactored registration utilities.
  • Added :func:`stdnet.odm.test_unique` for testing uniqueness.
  • Removed tagging from :mod:`contrib` and included in the :mod:`contrib.searchengine`. The search engine application has been refactored so that it can perform a fast, fuzzy, full text index using Redis.
  • Added pre_save and post_save signals.
  • Added pre_delete and post_delete signals.
  • Bug fix on disptach module which was failing when using python 3.
  • Several more tests.
  • 218 regression tests with 73% coverage.

Ver. 0.5.3 - 2011 Apr 30

Ver. 0.5.2 - 2011 Mar 31

Ver. 0.5.1 - 2011 Feb 27

Ver. 0.5.0 - 2011 Feb 24

  • Ported to python 3 and dropped support for python 2.5.

  • Removed dependency from redis-py for python 3 compatibility.

  • Refactored the object data mapper, including several bug fixes.

  • Added benchmark and profile to tests. To run benchmarks or profile:

    python runtests.py -t bench
    python runtests.py -t bench tag1 tag2
    python runtests.py -t profile
    
  • Included support for redis timeseries which requires redis fork at https://github.com/lsbardel/redis.

  • Added :mod:`stdnet.contrib.sessions` module for handling web sessions. Experimental and pre-alpha.

  • Added :class:`stdnet.odm.JSONField` with tests.

  • 167 regression tests with 61% coverage.

Ver. 0.4.2 - 2010 Nov 17

  • Added tags in tests. You can now run specific tags:

    python runtests.py hash
    

    will run tests specific to hashtables.

  • Removed ts tests since the timeseries structure is not in redis yet. You can run them by setting tag ts.

  • 54 tests.

Ver. 0.4.1 - 2010 Nov 14

  • Added CONTRIBUTING to distribution.
  • Corrected spelling error in Exception ObjectNotFound exception class.
  • Added initial support for Map structures. Ordered Associative Containers.
  • 63 tests

Ver. 0.4.0 - 2010 Nov 11

Ver. 0.3.3 - 2010 Sep 13

  • If a model is not registered and the manager method is accessed, it raises ModelNotRegistered
  • Changed the way tests are run. See documentation
  • redis set as requirements
  • 29 tests

Ver. 0.3.2 - 2010 Aug 24

  • Bug fixes
  • Fixed a bug on odm.DateField when required is set to False
  • Changelog included in documentation
  • 27 tests

Ver. 0.3.1 - 2010 Jul 19

  • Bug fixes
  • 27 tests

Ver. 0.3.0 - 2010 Jul 15

  • Overall code refactoring.
  • Added ListField and OrderedSetField with Redis implementation
  • StdModel raise AttributError when method/attribute not available. Previously it returned None
  • StdModel raise ModelNotRegistered when trying to save an instance of a non-registered model
  • 24 tests

Ver. 0.2.2 - 2010 Jul 7

  • RelatedManager is derived by Manager and therefore implements both all and filter methods
  • 10 tests

Ver. 0.2.0 - 2010 Jun 21

  • First official release in pre-alpha
  • Redis backend
  • Initial ORM with AtomField, DateField and ForeignKey
  • 8 tests