What’s New in PyAMF 0.6

TODO: A description here of PyAMF 0.6.

Highlighted Features

  • The default AMF version has been switched from AMF0 to AMF3.

Backward Incompatible API Changes

  • 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 pyamf.util.IndexedCollection. Any method that used to raise pyamf.ReferenceError will now return None for speed.
  • amf3.Encoder.write* methods no longer accept use_references.
  • Added two new Context methods to help handling unicode vs string. See pyamf.BaseContext.getStringForUnicode and pyamf.BaseContext.getUnicodeForString. Also amf*.Encoder.writeUnicode and amf*.Decoder.readUnicode methods have been introduced.
  • amf*.Encoder.type_map has been changed to support custom types only. Standard types (e.g. str, unicode) are hardcoded.

Integration

Django

  • Empty relations are now encoded as None, not pyamf.Undefined.
  • All model.Model fields are now encoded dynamically. See #677

Google AppEngine

  • All db.Model properties are now encoded dynamically. See #677

SQLAlchemy

  • All mapped properties are now encoded dynamically. See #677