NEWS for flufl.enum¶
4.1.1 (2017-01-24)¶
- Support Python 3.6. (Closes #1)
4.1 (2015-10-09)¶
- Fix the regexp that matches identifiers in the functional API. (LP: #1167052)
- Deprecate using getitem syntax for accessing enum values by attribute name. Use
getattr(Enum, name)
instead. (LP: #1167091)- Duplicate enum values error now provides information on the attribute names that produced the conflict. Given by Eli Bendersky.
- The documentation now makes it clear that iteration sort order is not guaranteed for
Enum
but is guaranteed forIntEnum
.- Comparison operators now return
NotImplemented
which cause their use to raiseTypeError
instead ofNotImplementedError
. This is for consistency with Python 3. In Python 2, we raise theTypeError
explicitly.repr(Enum)
now sorts in attribute name order, as does iteration overEnum
. Iteration overIntEnum
is sorted by the enumeration item values (which must be integers).Enum.__getattr__()
and special treatment for__members__
is removed. A__dir__()
is provided to limitdir(Enum)
to just the enumeration item names.- As per BDFL request, document the
__value_factory__
API.- Add support for Python 3.5 and drop support for Python 2.6.
4.0.1 (2014-06-11)¶
- Include MANIFEST.in and tox.ini in the sdist tarball, otherwise the Debian package won’t built correctly.
- Drop use of distribute.
- Narrow tox supported environments.
- Bump copyright years.
4.0 (2013-04-05)¶
- Fix documentation bugs. (LP: #1026403, LP: #1132830)
- Deprecate
EnumValue.__int__()
; useIntEnumValue
(viaIntEnum
) instead.- Add
IntEnum
class which returns int-subclass enum values. (LP: #1132976) - Add__index__()
method to support slicing. (LP: #1132972) - Add non-deprecated__int__()
method.- Deprecate
make()
; useEnum()
instead. - CallIntEnum()
to create integer valued enums. (LP: #1162375) - Accept a space-separate string of enum values which are auto-split. - Accept a dictionary of enumeration name/value pairs.- Add
.value
attribute to enum values. (LP: #1132859)- For
__getitem__()
and__call__()
, fall back to using the.value
attribute if the argument has one. (LP: #1124596)- Previously deprecated APIs
EnumValue.enumclass
,EnumValue.enumname
, andenum.make_enum()
are removed. (LP: #1132951)- Small change to the
repr
of enum values; they now say “value=” instead of “int=”.- Multiple enum values now raise a ValueError instead of a TypeError.
3.3.2 (2012-04-19)¶
- Add classifiers to setup.py and make the long description more compatible with the Cheeseshop.
- Other changes to make the Cheeseshop page look nicer. (LP: #680136)
- setup_helper.py version 2.1.
3.3.1 (2012-01-19)¶
- Fix Python 3 compatibility with Sphinx’s conf.py ($python setup.py install).
3.3 (2012-01-19)¶
- Remove the dependency on 2to3 for Python 3 support; support Python 3 directly with a single code base.
- flufl.enum.make_enum() is deprecated in favor of flufl.enum.make() which provides a better API. (LP: #839529)
- Updated to distribute 0.6.19.
- Moved all documentation to .rst suffix.
- Make test_deprecations() compatible with Python 3 and Python 2.
- Removed markup for pylint.
- Improve documentation to illustrate that enum values with similar names and integer representations still do not hash equally. (Found by Jeroen Vermeulen).
3.2 (2011-08-19)¶
- make_enum() accepts an optional iterable argument to provide the values for the enums.
- The .enumclass and .enumname attributes are deprecated. Use .enum and .name instead, respectively.
- Improve the documentation regarding ordered comparisons and equality tests. (LP: #794853)
- make_enum() now enforces the use of valid Python identifiers. (LP: #803570)
3.1 (2011-03-01)¶
- New convenience function make_enum(). (Contributed by Michael Foord)
- Fix from flufl.enum import *.
- Enums created with the class syntax can be pickled and unpickled. (Suggestion and basic implementation idea by Phillip Eby).
3.0.1 (2010-06-07)¶
- Fixed typo which caused the package to break.
3.0 (2010-04-24)¶
- Package renamed to flufl.enum.
2.0.2 (2010-01-29)¶
- Fixed some test failures when running under 2to3.
2.0.1 (2010-01-08)¶
- Fix the manifest and clarify license.
2.0 (2010-01-07)¶
- Use Sphinx to build the documentation.
- Updates to better package Debian/Ubuntu.
- Use distribute_setup instead of ez_setup.
- Rename pep-xxxx.txt; this won’t be submitted as a PEP.
- Remove dependencies on nose and setuptools_bzr
- Support Python 3 via 2to3.
Earlier¶
Try bzr log lp:flufl.enum for details.