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