python-stdnet v0.7.0 Release Notes

Release Date: 2012-10-25 // over 11 years ago
    • It requires redis 2.6 or higher.
    • ๐Ÿ‘Œ Supported python versions: 2.6, 2.7, 3.2, 3.3.
    • Some backward incompatible changes in the API and database schema.
    • ๐ŸŽ Tons of new features including a richer query API, improved performance via custom query options, more flexible transactions and lua_ scripting for redis_.
    • The orm module has been renamed odm for object data mapper. This was a painful change with the vast majority of files affected. But it is better to get terminology right at this stage rather than later.
    • Redesign of :class:stdnet.odm.ManyToManyField which now uses a through model for building many to many relationships. This is the only backward incompatible change both in terms of API and database scema.
    • Implemented :ref:field lookups <range-lookups> gt, ge, lt and le.
    • ๐Ÿ›  Added a prefixed redis client in :class:stdnet.lib.redis.PrefixedRedis.
    • โž• Added :class:stdnet.odm.CompositeIdField to handle situations where each combination of given set of :class:stdnet.odm.Field must be unique.
    • โž• Added ability to filter and search on :class:stdnet.odm.ForeignKey fields.
    • โž• Added :class:stdnet.odm.Session for managing transactions in the object data mapper.
    • ๐Ÿšš Moved structures from :mod:stdnet.backends to the :mod:stdnet.odm module.
    • Added :meth:stdnet.odm.Query.load_only and :meth:stdnet.odm.Query.dont_load methods for loading a subset of a model fields. This can improve performance by reducing the amount of data transferred from the server to the client. Check the :ref:performance tips <performance-loadonly> regarding the new feature.
    • โž• Added :meth:stdnet.odm.Query.load_related for loading related fields of a queryset with a single database query. This can have huge :ref:performance benefits <performance-loadrelated> when you know you are going to access the related field in your model.
    • ๐Ÿ›  Fixed bug in related managers. The exclude method was not implemented.
    • :class:stdnet.odm.PickleObjectField uses the pickle protocol 2 for compatibility between python 2 and python 3.
    • ๐Ÿ”จ Refactored the save and delete method of model instances.
    • โž• Added :meth:stdnet.odm.StdModel.tojson method for obtaining JSON representation of model instances.
    • Indexes for :class:stdnet.odm.ForeignKey fields are stored at sets with keys obtained from the field attrname rather than name.
    • โž• Added :meth:stdnet.odm.StdModel.clone method for cloning model instances.
    • ๐Ÿ”จ Refactored :ref:transactions <model-transactions> to be used with :ref:remote data structures <model-structures> and :ref:structured fields <model-field-structure>.
    • pulsar_ or nose_ are required to run the test suite and unittest2_ is required if using python 2.6.
    • ๐Ÿšš Moved the contrib module to :mod:stdnet.apps.
    • โž• Added :mod:stdnet.utils.dates.
    • โž• Added :mod:stdnet.utils.path.
    • โž• Added a Lua test suite for testing stand alone scripts. Requires lunatest_.
    • Serialisation works for :attr:stdnet.odm.ManyToMany.through models via the :func:stdnet.odm.all_models_sessions function (issue #48).
    • Lua script for univariate timeseries. This means the standard redis distribution works with the :class:stdnet.odm.TS structure.
    • PEP 386-compliant version number.
    • โœ… 624 regression tests with 92% coverage.

    .. _vers06: