Skip to content

Latest commit

 

History

History
74 lines (59 loc) · 2.95 KB

0.6.rst

File metadata and controls

74 lines (59 loc) · 2.95 KB

What's New in PyAMF 0.6

PyAMF 0.6 represents the next step towards the holy grail that is 1.0. The focus of this release has mainly been about speed and providing better support for integrated frameworks (e.g. Django, SQLAlchemy, AppEngine). The C extensions have been supercharged and now 90%+ of the encoding is done in C. This has given some massive gains in both encoding and decoding.

  • Switched the client from :py:mod:`httplib` to :py:mod:`urllib2` to provide support for gzipped responses and proper HTTP proxying. See #751.
  • pyamf.util.IndexedMap has been removed. See #732.
  • __new__ is used in favour of __init__. See #700.
  • pyamf.ClientTypes served no purpose and was not compliant with the AMF0 specification. It has been removed. See #651 for more information.
  • exceptions attribute has been removed from Context objects and :class:`pyamf.codec.IndexedCollection`. Any method that used to raise :class:`pyamf.ReferenceError` will now return None for speed.
  • amf3.Encoder.write* methods no longer accept use_references.
  • amf*.Encoder.type_map has been been removed. Use pyamf.add_type instead. Standard types (e.g. str, unicode) are now hardcoded.
  • django.contrib.auth.models.User is now strongly typed, with the alias django.contrib.auth.models.User with the password and all messages excluded from the instance. In addition, the username is now set to readonly which means that a separate (read: deliberate) service method will be required to update this directly (or you can override these defaults)
  • AMF0 Remoting errors will now produce the details property as a list, rather than a string.
  • Empty relations are now encoded as None, not pyamf.Undefined.
  • All model.Model fields are now encoded dynamically. See #677.
  • Django 1.2 supported, including the new CSRF middleware.
  • All db.Model properties are now encoded dynamically. See #677.
  • All mapped properties are now encoded dynamically. See #677.
  • Tested with SQLAlchemy 0.6. See #747.