|
| 1 | +``zope.interface Changelog`` |
| 2 | +============================ |
| 3 | + |
| 4 | +3.8.1 (unreleased) |
| 5 | +------------------ |
| 6 | + |
| 7 | +- LP #900906: Avoid exceptions due to tne new ``__qualname__`` attribute |
| 8 | + added in Python 3.3 (see PEP 3155 for rationale). Thanks to Antoine |
| 9 | + Pitrou for the patch. |
| 10 | + |
| 11 | +3.8.0 (2011-09-22) |
| 12 | +------------------ |
| 13 | + |
| 14 | +- New module ``zope.interface.registry``. This is code moved from |
| 15 | + ``zope.component.registry`` which implements a basic nonperistent component |
| 16 | + registry as ``zope.interface.registry.Components``. This class was moved |
| 17 | + from ``zope.component`` to make porting systems (such as Pyramid) that rely |
| 18 | + only on a basic component registry to Python 3 possible without needing to |
| 19 | + port the entirety of the ``zope.component`` package. Backwards |
| 20 | + compatibility import shims have been left behind in ``zope.component``, so |
| 21 | + this change will not break any existing code. |
| 22 | + |
| 23 | +- New ``tests_require`` dependency: ``zope.event`` to test events sent by |
| 24 | + Components implementation. The ``zope.interface`` package does not have a |
| 25 | + hard dependency on ``zope.event``, but if ``zope.event`` is importable, it |
| 26 | + will send component registration events when methods of an instance of |
| 27 | + ``zope.interface.registry.Components`` are called. |
| 28 | + |
| 29 | +- New interfaces added to support ``zope.interface.registry.Components`` |
| 30 | + addition: ``ComponentLookupError``, ``Invalid``, ``IObjectEvent``, |
| 31 | + ``ObjectEvent``, ``IComponentLookup``, ``IRegistration``, |
| 32 | + ``IUtilityRegistration``, ``IAdapterRegistration``, |
| 33 | + ``ISubscriptionAdapterRegistration``, ``IHandlerRegistration``, |
| 34 | + ``IRegistrationEvent``, ``RegistrationEvent``, ``IRegistered``, |
| 35 | + ``Registered``, ``IUnregistered``, ``Unregistered``, |
| 36 | + ``IComponentRegistry``, and ``IComponents``. |
| 37 | + |
| 38 | +- No longer Python 2.4 compatible (tested under 2.5, 2.6, 2.7, and 3.2). |
| 39 | + |
| 40 | +3.7.0 (2011-08-13) |
| 41 | +------------------ |
| 42 | + |
| 43 | +- Move changes from 3.6.2 - 3.6.5 to a new 3.7.x release line. |
| 44 | + |
| 45 | +3.6.7 (2011-08-20) |
| 46 | +------------------ |
| 47 | + |
| 48 | +- Fix sporadic failures on x86-64 platforms in tests of rich comparisons |
| 49 | + of interfaces. |
| 50 | + |
| 51 | +3.6.6 (2011-08-13) |
| 52 | +------------------ |
| 53 | + |
| 54 | +- LP #570942: Now correctly compare interfaces from different modules but |
| 55 | + with the same names. |
| 56 | + |
| 57 | + N.B.: This is a less intrusive / destabilizing fix than the one applied in |
| 58 | + 3.6.3: we only fix the underlying cmp-alike function, rather than adding |
| 59 | + the other "rich comparison" functions. |
| 60 | + |
| 61 | +- Revert to software as released with 3.6.1 for "stable" 3.6 release branch. |
| 62 | + |
| 63 | +3.6.5 (2011-08-11) |
| 64 | +------------------ |
| 65 | + |
| 66 | +- LP #811792: work around buggy behavior in some subclasses of |
| 67 | + ``zope.interface.interface.InterfaceClass``, which invoke ``__hash__`` |
| 68 | + before initializing ``__module__`` and ``__name__``. The workaround |
| 69 | + returns a fixed constant hash in such cases, and issues a ``UserWarning``. |
| 70 | + |
| 71 | +- LP #804832: Under PyPy, ``zope.interface`` should not build its C |
| 72 | + extension. Also, prevent attempting to build it under Jython. |
| 73 | + |
| 74 | +- Add a tox.ini for easier xplatform testing. |
| 75 | + |
| 76 | +- Fix testing deprecation warnings issued when tested under Py3K. |
| 77 | + |
| 78 | +3.6.4 (2011-07-04) |
| 79 | +------------------ |
| 80 | + |
| 81 | +- LP 804951: InterfaceClass instances were unhashable under Python 3.x. |
| 82 | + |
| 83 | +3.6.3 (2011-05-26) |
| 84 | +------------------ |
| 85 | + |
| 86 | +- LP #570942: Now correctly compare interfaces from different modules but |
| 87 | + with the same names. |
| 88 | + |
| 89 | +3.6.2 (2011-05-17) |
| 90 | +------------------ |
| 91 | + |
| 92 | +- Moved detailed documentation out-of-line from PyPI page, linking instead to |
| 93 | + http://docs.zope.org/zope.interface . |
| 94 | + |
| 95 | +- Fixes for small issues when running tests under Python 3.2 using |
| 96 | + ``zope.testrunner``. |
| 97 | + |
| 98 | +- LP # 675064: Specify return value type for C optimizations module init |
| 99 | + under Python 3: undeclared value caused warnings, and segfaults on some |
| 100 | + 64 bit architectures. |
| 101 | + |
| 102 | +- setup.py now raises RuntimeError if you don't have Distutils installed when |
| 103 | + running under Python 3. |
| 104 | + |
| 105 | +3.6.1 (2010-05-03) |
| 106 | +------------------ |
| 107 | + |
| 108 | +- A non-ASCII character in the changelog made 3.6.0 uninstallable on |
| 109 | + Python 3 systems with another default encoding than UTF-8. |
| 110 | + |
| 111 | +- Fixed compiler warnings under GCC 4.3.3. |
| 112 | + |
| 113 | +3.6.0 (2010-04-29) |
| 114 | +------------------ |
| 115 | + |
| 116 | +- LP #185974: Clear the cache used by ``Specificaton.get`` inside |
| 117 | + ``Specification.changed``. Thanks to Jacob Holm for the patch. |
| 118 | + |
| 119 | +- Added support for Python 3.1. Contributors: |
| 120 | + |
| 121 | + Lennart Regebro |
| 122 | + Martin v Loewis |
| 123 | + Thomas Lotze |
| 124 | + Wolfgang Schnerring |
| 125 | + |
| 126 | + The 3.1 support is completely backwards compatible. However, the implements |
| 127 | + syntax used under Python 2.X does not work under 3.X, since it depends on |
| 128 | + how metaclasses are implemented and this has changed. Instead it now supports |
| 129 | + a decorator syntax (also under Python 2.X):: |
| 130 | + |
| 131 | + class Foo: |
| 132 | + implements(IFoo) |
| 133 | + ... |
| 134 | + |
| 135 | + can now also be written:: |
| 136 | + |
| 137 | + @implementer(IFoo): |
| 138 | + class Foo: |
| 139 | + ... |
| 140 | + |
| 141 | + There are 2to3 fixers available to do this change automatically in the |
| 142 | + zope.fixers package. |
| 143 | + |
| 144 | +- Python 2.3 is no longer supported. |
| 145 | + |
| 146 | + |
| 147 | +3.5.4 (2009-12-23) |
| 148 | +------------------ |
| 149 | + |
| 150 | +- Use the standard Python doctest module instead of zope.testing.doctest, which |
| 151 | + has been deprecated. |
| 152 | + |
| 153 | + |
| 154 | +3.5.3 (2009-12-08) |
| 155 | +------------------ |
| 156 | + |
| 157 | +- Fix an edge case: make providedBy() work when a class has '__provides__' in |
| 158 | + its __slots__ (see http://thread.gmane.org/gmane.comp.web.zope.devel/22490) |
| 159 | + |
| 160 | + |
| 161 | +3.5.2 (2009-07-01) |
| 162 | +------------------ |
| 163 | + |
| 164 | +- BaseAdapterRegistry.unregister, unsubscribe: Remove empty portions of |
| 165 | + the data structures when something is removed. This avoids leaving |
| 166 | + references to global objects (interfaces) that may be slated for |
| 167 | + removal from the calling application. |
| 168 | + |
| 169 | + |
| 170 | +3.5.1 (2009-03-18) |
| 171 | +------------------ |
| 172 | + |
| 173 | +- verifyObject: use getattr instead of hasattr to test for object attributes |
| 174 | + in order to let exceptions other than AttributeError raised by properties |
| 175 | + propagate to the caller |
| 176 | + |
| 177 | +- Add Sphinx-based documentation building to the package buildout |
| 178 | + configuration. Use the ``bin/docs`` command after buildout. |
| 179 | + |
| 180 | +- Improve package description a bit. Unify changelog entries formatting. |
| 181 | + |
| 182 | +- Change package's mailing list address to zope-dev at zope.org as |
| 183 | + zope3-dev at zope.org is now retired. |
| 184 | + |
| 185 | + |
| 186 | +3.5.0 (2008-10-26) |
| 187 | +------------------ |
| 188 | + |
| 189 | +- Fixed declaration of _zope_interface_coptimizations, it's not a top level |
| 190 | + package. |
| 191 | + |
| 192 | +- Add a DocTestSuite for odd.py module, so their tests are run. |
| 193 | + |
| 194 | +- Allow to bootstrap on Jython. |
| 195 | + |
| 196 | +- Fix https://bugs.launchpad.net/zope3/3.3/+bug/98388: ISpecification |
| 197 | + was missing a declaration for __iro__. |
| 198 | + |
| 199 | +- Added optional code optimizations support, which allows the building |
| 200 | + of C code optimizations to fail (Jython). |
| 201 | + |
| 202 | +- Replaced `_flatten` with a non-recursive implementation, effectively making |
| 203 | + it 3x faster. |
| 204 | + |
| 205 | + |
| 206 | +3.4.1 (2007-10-02) |
| 207 | +------------------ |
| 208 | + |
| 209 | +- Fixed a setup bug that prevented installation from source on systems |
| 210 | + without setuptools. |
| 211 | + |
| 212 | + |
| 213 | +3.4.0 (2007-07-19) |
| 214 | +------------------ |
| 215 | + |
| 216 | +- Final release for 3.4.0. |
| 217 | + |
| 218 | + |
| 219 | +3.4.0b3 (2007-05-22) |
| 220 | +-------------------- |
| 221 | + |
| 222 | + |
| 223 | +- Objects with picky custom comparison methods couldn't be added to |
| 224 | + component registries. Now, when checking whether an object is |
| 225 | + already registered, identity comparison is used. |
| 226 | + |
| 227 | + |
| 228 | +3.3.0.1 (2007-01-03) |
| 229 | +-------------------- |
| 230 | + |
| 231 | +- Made a reference to OverflowWarning, which disappeared in Python |
| 232 | + 2.5, conditional. |
| 233 | + |
| 234 | + |
| 235 | +3.3.0 (2007/01/03) |
| 236 | +------------------ |
| 237 | + |
| 238 | +New Features |
| 239 | +++++++++++++ |
| 240 | + |
| 241 | +- The adapter-lookup algorithim was refactored to make it |
| 242 | + much simpler and faster. |
| 243 | + |
| 244 | + Also, more of the adapter-lookup logic is implemented in C, making |
| 245 | + debugging of application code easier, since there is less |
| 246 | + infrastructre code to step through. |
| 247 | + |
| 248 | +- We now treat objects without interface declarations as if they |
| 249 | + declared that they provide zope.interface.Interface. |
| 250 | + |
| 251 | +- There are a number of richer new adapter-registration interfaces |
| 252 | + that provide greater control and introspection. |
| 253 | + |
| 254 | +- Added a new interface decorator to zope.interface that allows the |
| 255 | + setting of tagged values on an interface at definition time (see |
| 256 | + zope.interface.taggedValue). |
| 257 | + |
| 258 | +Bug Fixes |
| 259 | ++++++++++ |
| 260 | + |
| 261 | +- A bug in multi-adapter lookup sometimes caused incorrect adapters to |
| 262 | + be returned. |
| 263 | + |
| 264 | + |
| 265 | +3.2.0.2 (2006-04-15) |
| 266 | +-------------------- |
| 267 | + |
| 268 | +- Fix packaging bug: 'package_dir' must be a *relative* path. |
| 269 | + |
| 270 | + |
| 271 | +3.2.0.1 (2006-04-14) |
| 272 | +-------------------- |
| 273 | + |
| 274 | +- Packaging change: suppress inclusion of 'setup.cfg' in 'sdist' builds. |
| 275 | + |
| 276 | + |
| 277 | +3.2.0 (2006-01-05) |
| 278 | +------------------ |
| 279 | + |
| 280 | +- Corresponds to the verison of the zope.interface package shipped as part of |
| 281 | + the Zope 3.2.0 release. |
| 282 | + |
| 283 | + |
| 284 | +3.1.0 (2005-10-03) |
| 285 | +------------------ |
| 286 | + |
| 287 | +- Corresponds to the verison of the zope.interface package shipped as part of |
| 288 | + the Zope 3.1.0 release. |
| 289 | + |
| 290 | +- Made attribute resolution order consistent with component lookup order, |
| 291 | + i.e. new-style class MRO semantics. |
| 292 | + |
| 293 | +- Deprecated 'isImplementedBy' and 'isImplementedByInstancesOf' APIs in |
| 294 | + favor of 'implementedBy' and 'providedBy'. |
| 295 | + |
| 296 | + |
| 297 | +3.0.1 (2005-07-27) |
| 298 | +------------------ |
| 299 | + |
| 300 | +- Corresponds to the verison of the zope.interface package shipped as part of |
| 301 | + the Zope X3.0.1 release. |
| 302 | + |
| 303 | +- Fixed a bug reported by James Knight, which caused adapter registries |
| 304 | + to fail occasionally to reflect declaration changes. |
| 305 | + |
| 306 | + |
| 307 | +3.0.0 (2004-11-07) |
| 308 | +------------------ |
| 309 | + |
| 310 | +- Corresponds to the verison of the zope.interface package shipped as part of |
| 311 | + the Zope X3.0.0 release. |
0 commit comments