Pyamf

Latest version: v0.8.0

Safety actively analyzes 723158 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

0.5.1

Not secure
------------------
- ``pyamf.register_package`` can now accept a list of classes (:ticket:`650`)
- Fixed a regression in ``TwistedGateway`` where services would be called
twice (:ticket:`648`)
- Fixed a bug with encoding anonymous trait references (:ticket:`644`)
- Moved ``IndexedCollection`` into ``cpyamf`` (:ticket:`424`)
- ``amf3.encode_int`` now encodes signed 29bit ints, not unsigned. Thanks
to gerard for the report, investigation and patch! (:ticket:`646`)

0.5

Not secure
----------------
- Added the ability to modify the timezones of dates being de/encoded for
legacy systems. (:ticket:`612`)
- Fixed a Django reference bug where ``parent.child.parent`` is parent
would encode 3 objects and not 2. (:ticket:`642`)
- Setting ``None`` on a Django ``DateField`` would blow up the encoder
(:ticket:`632`)
- ``rootCause`` in ``ErrorFault`` objects are now populated with the
traceback object. (:ticket:`637`)
- Support for encoding/decoding BlazeDS specific messages (:ticket:`581`)
- Removed tracebacks from exception messages if ``debug=False`` (:ticket:`552`)
- Support for ``google.appengine.ext.db.polymodel.PolyModel`` (:ticket:`633`)
- Support for Django ``File``/``ImageField`` (:ticket:`631`)
- Support for Django model inheritance (:ticket:`626`)
- Rewrote attribute handling code. Added the ability to exclude, set
read-only and static attributes. See
http://pyamf.org/architecture/attributecontrol.html for more details
(:ticket:`601`)
- Exposed the amf request object if ``expose_request=True``.
Twisted/Django/Google have an ``amf_request`` property on the http request
object. WSGI has an entry in the environ dict now - ``pyamf.request``
(:ticket:`234`)
- Added support for the :py:mod:`array` module (:ticket:`468`)
- Fixed an issue with Django model ``AutoFields`` being set to 0 by the Flex
client (:ticket:`556`)
- Added support for the :py:mod:`collections` module. (:ticket:`474`)
- Added type checks for class objects. (:ticket:`473`)
- GAE ``FloatProperty`` can now accept int without issue (:ticket:`609`)
- Revamped the lazy imports module to use :py:data:`sys.meta_path` instead.
Fixes all erroneous import errors (:ticket:`485`).
- Django models will now accept dynamic properties (:ticket:`575`)
- Django PK properties will be set first to allow related properties to apply
correctly (:ticket:`599`)
- p.r.encode/p.r.decode both have a new ``logger`` kwarg. Supply a
:py:class:`logging.Logger` instance if you want to see debug output
(:ticket:`588`)
- ``pyamf.TypedObjectClassAlias`` now forces the class type (:ticket:`537`)
- If a call to ``Decoder.readElement`` results in an ``IOError`` exception,
the original position of the stream will be restored (:ticket:`573`)
- Replaced hardcoded Python implementation title in p.r.gateway.SERVER_NAME
(:ticket:`541`)
- Provide a user friendly way to handle :py:class:`datetime.time` objects
(:ticket:`498`)
- Removed the useless ``pyamf.logging`` module (:ticket:`577`)
- Added a new ``register_package`` helper function to make bulk class
registration easier. Check the docstring for more info. (:ticket:`576`)
- ``cpyamf.amf3._decode_int`` now propagates exceptions correctly (:ticket:`506`)
- Fixed an incorrect ``OverflowError`` when encoding large integers in AMF3
(:ticket:`519`)
- Added ``append`` to ``pyamf.util.BufferedByteStream`` (:ticket:`574`)
- Added Epydoc signatures to all ``util.StringIOProxy``, ``util.DataTypeMixIn``
and ``util.BufferedByteStream`` classes (:ticket:`440`)
- Removed dependancy on ``fpconst``. Platforms with broken platforms are
detected and handled correctly internally (:ticket:`564`)
- ``amf0.Encoder`` now supports attribute ordering (:ticket:`558`)
- Removed duplicate method ``Context.reset``, in favour of ``Context.clear``
(:ticket:`527`)
- Rewrote ``cpyamf.util.BufferedByteStream`` to not depend on :py:mod:`cStringIO`.
Added a C based api for stream functions (:ticket:`513`)
- Unified exceptions for ``BufferedByteStream`` so that only ``IOError``
is raised. (:ticket:`520`)
- Made raising ``pyamf.ReferenceError`` optional for all Indexed* and
``Context`` classes. Refactored AMF3 so that only one ``ClassDefinition``
is created per class (:ticket:`524`)
- Strict type checking now on ``pyamf.util.BufferedByteStream`` (:ticket:`512`)
- Removed the default loggers from p.r.gateway.*. To re-enable supply a
``logger`` instance as a keyword arg to the gateway constructor (:ticket:`525`)
- Removed ``pyamf.util.make_classic_instance`` (as it is not used)
(:ticket:`521`)
- Removed ``pyamf.util.get_mro``, in favour of :py:func:`inspect.getmro`
(:ticket:`526`)
- Removed ``pyamf.util.Indexed[Collection|Map].remove`` (:ticket:`518`)

0.4.2

Not secure
------------------
- Support for decoding the ``source`` property on ``ArrayCollection``
(:ticket:`488`)
- Fixed an issue in the GAE adapter where dynamic properties would be missing
on referenced objects. (:ticket:`511`)
- Fixed a critical issue with AMF0 reference counting when encoding remoting
responses. (:ticket:`510`)
- Strengthened HTTP header handling in the client (:ticket:`492`)
- Support for Django i18n ``ugettext_lazy`` (:ticket:`496`)
- Added support for microseconds for :py:mod:`datetime` objects. Thanks to
Derek Payton for the patch. (:ticket:`490`)
- Added support for property types on SQLAlchemy mapped classes (:ticket:`491`)
- Added support for property types for Google AppEngine ``db.Model`` and
``db.Expando``. (:ticket:`487`)

0.4.1

------------------
- ``amf0.Encoder.use_amf3`` has been extended to cover all object types
(:ticket:`453`, :ticket:`467`)
- Property types on Django models will now encode as expected. (:ticket:`480`)
- Django ``models.ForeignKey`` properties will be followed only if previously
accessed outside of PyAMF. ``_[attr]_cache`` is no longer encoded.
(:ticket:`456`)
- Encoding ``{0:0, '0':1}`` will now raise an ``AttributeError``. (:ticket:`458`)
- Google AppEngine adapter improvements - see ticket for details (:ticket:`479`)
- ``amf0.Encoder`` will encode all elements as AMF3 if ``use_amf3`` option is
set to ``True`` (:ticket:`453`)
- Unicode handling in ``__repr__`` functions has been improved (:ticket:`455`)
- object attributes and dict keys are now utf8 encoded bytestrings. Python
\**kwargs doesn't accept unicode key objects. (:ticket:`463`)
- Django ``models.TimeField``, ``models.DateField`` will now be converted to
the correct type (``datetime.time`` and ``datetime.date`` respectively).
``fields.NOT_PROVIDED`` is also checked for by converting to
``pyamf.Undefined`` and back again. (:ticket:`457`)

0.4

----------------
- cpyamf now deals with exceptional floats the same way as pure Python -
especially on Windows (:ticket:`448`)
- Support for SQLAlchemy 0.5.1 (:ticket:`449`)
- ``amf0.Encoder`` now has a ``use_amf3`` flag which determines which XML
type to return to the client (:ticket:`435`)
- ``BufferedByteStream.truncate(length)`` now actually does something useful
(:ticket:`444`)
- setup.py now gets the version number from ``pyamf/__init__.py`` source
(:ticket:`429`)

0.4rc3

-------------------
- Support for SQLAlchemy 0.5.0 (:ticket:`436`)
- pyamf.util.DataTypeMixIn/cpyamf.util.BufferedByteStream can now
encode/decode 24bit un/signed integers. (:ticket:`422`)
- pyamf.util.StringIOProxy/cpyamf.util.BufferedByteStream both have new
consume methods that will chop of the tail of the stream (already read
stream). (:ticket:`423`)
- Now checking for all types of supported xml lib types for encoding, but
will only use the first implementation for decoding (:ticket:`426`)
- fpconst dependancy is now only required if the platform requires it
(:ticket:`356`)
- Decoding negative timestamps on certain platforms (namely Windows) are now
supported (:ticket:`390`)

Page 2 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.