dip v0.2 Released

8 September 2010

dip v0.2 has been released. The highlight of the release is full support for Python v2.6 and v2.7.

  • Python v2.6 and v2.7 are now supported.
  • Attribute observers are now only invoked if an attribute has actually changed.
  • Attribute observers are now passed an AttributeChange instance that fully describes the change to the attribute.
  • The _default_xxx() methods for identifying a method for providing an attribute's default value have been replaced by a type's default decorator.
  • The _get_xxx() methods for identifying a method to be used as an attribute's getter have been replaced by a type's getter decorator.
  • The _set_xxx() methods for identifying a method to be used as an attribute's setter have been replaced by a type's setter decorator.
  • The _observe_xxx() methods for identifying a method to be used as an implicit observer of an attribute have been replaced by a type's observer decorator.
  • Support for automatically invoking type factories has been removed. For example, attribute = Str() must be used instead of attribute = Str.
  • Support for automatically invoking view item factories has been removed. For example, MessageArea() must be used instead of MessageArea.
  • The dip.model.Adaptor class has been renamed to Adapter.
  • The dip.model.BaseType class has been renamed to TypeFactory.
  • The dip.model.ValueType class has been renamed to ValueTypeFactory.
  • The dip.model.ContainerType class has been renamed to ContainerTypeFactory.
  • The dip.model.MutableType class has been renamed to MutableTypeFactory.
  • The dip.model.ValueTypeFactory.default() method has been replaced by the __call__() method.
  • The dip.model.ModelType class has been removed as it is now equivalent to Instance(TypeFactory).
  • The dip.model.TypeSpecificationError exception has been removed.
  • The MetaInterface and MetaModel are now part of the dip.model API.
  • The dip.plugins.Plugin class now implements IPlugin so that sub-classes don't have to.
  • The default pickle protocol used is v2.