Accepting request 561518 from devel:languages:python

OBS-URL: https://build.opensuse.org/request/show/561518
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-attrs?expand=0&rev=5
This commit is contained in:
Dominique Leuenberger 2018-01-16 08:34:45 +00:00 committed by Git OBS Bridge
commit 85ba436391
4 changed files with 70 additions and 5 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c78f53e32d7cf36d8597c8a2c7e3c0ad210f97b9509e152e4c37fa80869f823c
size 89046

3
attrs-17.4.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9
size 97071

View File

@ -1,3 +1,68 @@
-------------------------------------------------------------------
Wed Jan 3 23:08:32 UTC 2018 - arun@gmx.de
- specfile:
* update copyright year
- update to version 17.4.0:
* Backward-incompatible Changes
+ The traversal of MROs when using multiple inheritance was
backward:
If you defined a class "C" that subclasses "A" and "B" like
"C(A, B)", "attrs" would have collected the attributes from "B"
*before* those of "A".
This is now fixed and means that in classes that employ multiple
inheritance, the output of "__repr__" and the order of
positional arguments in "__init__" changes.
Due to the nature of this bug, a proper deprecation cycle was
unfortunately impossible.
Generally speaking, it's advisable to prefer "kwargs"-based
initialization anyways *especially* if you employ multiple
inheritance and diamond-shaped hierarchies.
+ The "__repr__" set by "attrs" no longer produces an
"AttributeError" when the instance is missing some of the
specified attributes (either through deleting or after using
"init=False" on some attributes).
This can break code that relied on "repr(attr_cls_instance)"
raising "AttributeError" to check if any attr-specified members
were unset.
If you were using this, you can implement a custom method for
checking this::
def has_unset_members(self):
for field in attr.fields(type(self)):
try:
getattr(self, field.name)
except AttributeError:
return True
return False
* Deprecations
+ The "attr.ib(convert=callable)" option is now deprecated in
favor of "attr.ib(converter=callable)".
This is done to achieve consistency with other noun-based
arguments like *validator*. *convert* will keep working until
at least January 2019 while raising a "DeprecationWarning".
* Changes
+ Generated "__hash__" methods now hash the class type along with
the attribute values. Until now the hashes of two classes with
the same values were identical which was a bug.
The generated method is also *much* faster now.
+ "attr.ib"s "metadata" argument now defaults to a unique empty
"dict" instance instead of sharing a common empty "dict" for
all. The singleton empty "dict" is still enforced.
+ "ctypes" is optional now however if it's missing, a bare
"super()" will not work in slots classes. This should only
happen in special environments like Google App Engine.
+ The attribute redefinition feature introduced in 17.3.0 now
takes into account if an attribute is redefined via multiple
inheritance. In that case, the definition that is closer to the
base of the class hierarchy wins.
+ Subclasses of "auto_attribs=True" can be empty now.
+ Equality tests are *much* faster now.
+ All generated methods now have correct "__module__", "__name__",
and (on Python 3) "__qualname__" attributes.
-------------------------------------------------------------------
Thu Dec 21 16:10:47 UTC 2017 - jmatejek@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package python-attrs
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -20,7 +20,7 @@
%bcond_with tests
Name: python-attrs
Version: 17.3.0
Version: 17.4.0
Release: 0
Summary: Attributes without boilerplate
License: MIT