Skip to content

Releases: Parquery/icontract

icontract 2.7.2

08 Nov 09:34
deadc55

Choose a tag to compare

  • Fix child invariants checked in super().__init__ (#301)
  • Support Python 3.13 (#309)
  • Add support for Python 3.12 (#308)

This is a critical bugfix patch version. Previously, we determined the invariants based on the self passed to the function. However, in case of super().__init__, the invariants that need to be checked after the call are those belonging to to the super class, not the current (child) class. This lead to erroneous invariant checks, where the invariants of the child class where checked after the super-init call in the parent class.

icontract 2.7.1

21 Sep 05:49
18fb7b2

Choose a tag to compare

  • Fixed invariants leak between related classes (#297)

This is a critical bugfix patch version. We introduced a bug in 2.7.0 (#292) where invariants defined on derived classes leaked up to parent classes. The bug is fixed in this version.

icontract 2.7.0

17 Sep 05:56
625e797

Choose a tag to compare

  • Allowed to enforce invariants on attribute setting (#292)

    Originally, we had enforced invariants only at calls to "normal" methods, and excluded __setattr__ since it is usually too expensive to verify invariants whenever setting an attribute.

    However, there are use cases where the users prefer to incur to computational overhead for correctness. To that end, we introduced the feature to steer when the invariants are enforced (at method calls, on setting attributes, or in both situations).

icontract 2.6.6

19 Nov 10:34
8bf76f3

Choose a tag to compare

  • Updated typeguard and deal to latest versions (#284)

    This change is needed so that distributions can successfully run the necessary tests with the development dependencies. Previously, the dependencies were outdated, and the old versions were already deprecated in distributions (notably, typegard and deal).

icontract 2.6.5

06 Nov 11:32
38805f1

Choose a tag to compare

  • Added Python 3.11 to the list of supported Pythons (#280)

  • Fixed deal dependency marker (#279)

    This patch is important as we silently broke setup.py, which was
    tolerated by older versions of setuptools, but not any more by
    the newer ones. With this patch, icontract's setup.py is made
    valid again.

icontract 2.6.4

04 Oct 18:21
ac067c9

Choose a tag to compare

  • Restored Python 3.6 support (#274)

    The support for Python 3.6 has been dropped in #257 as GitHub removed
    its support in the CI pipeline. With this patch, we restored
    the support of Python 3.6. Notably, we had to add
    the package contextvars conditioned on Python 3.6.

icontract 2.6.3

02 Oct 08:52
d996d53

Choose a tag to compare

  • Removed meta data files from setup.py (#262)
  • Added support for python 3.11 (#260)
  • Fixed in-progress set for async (#256)

icontract 2.6.2

13 Aug 14:56
41a01e1

Choose a tag to compare

  • Added wheels to releases (#251)
  • Fixed mypy error on missing asttokens.ASTTokens (#252)

icontract 2.6.1

14 Feb 19:29
aaeb1b0

Choose a tag to compare

  • Excluded all tests from package (#240)

icontract 2.6.0

28 Nov 19:25
718ef17

Choose a tag to compare

  • Added support for Python 3.9 and 3.10 (#236)
  • Added representation of subscripts (#237)