Nocaselist

Latest version: v2.0.2

Safety actively analyzes 628292 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

2.1.0.dev1

---------------------

Released: not yet

**Incompatible changes:**

**Deprecations:**

**Bug fixes:**

* Docs: Fixed missing Python 3.12 in Trove classifiers.

**Enhancements:**

**Cleanup:**

**Known issues:**

* See `list of open issues`_.

.. _`list of open issues`: https://github.com/pywbem/nocaselist/issues

2.0.2

----------------

Released: 2024-05-08

**Bug fixes:**

* Fixed incorrect formatting of package description on Pypi by setting the
correct content type in setup.py. (issue 157)

**Enhancements:**

* Test: Added support for testing on Python 3.12. (issue 159)

* Test: Added a step to the test workflow for displaying the tree of all
package dependencies using pipdeptree. (issue 153)

* Test: Added a new make target 'check_reqs' that checks missing package
dependencies, and added a step to the test workflow that runs it.
(issue 155)

**Cleanup:**

* Converted any use of percent-style formatting strings and most use of
'format()' to f-strings. (issue 154)

2.0.1

----------------

Released: 2024-05-04

**Incompatible changes:**

* Installation of this package using "setup.py" is no longer supported.
Use "pip" instead.

**Bug fixes:**

* Fixed safety issues up to 2024-05-04.

* Test: Removed setup.py based installs from "make installtest", since one
of them started installing a pre-release of a package on an unsupported Python
version. The recommendation has been for a while now to no longer use

* Docs: Added RTD config file .readthedocs.yaml

* In the Github Actions test workflow for Python 3.6 and 3.7, changed
macos-latest back to macos-12 because macos-latest got upgraded from macOS 12
to macOS 14 which no longer supports these Python versions.

* Test: Fixed issues resulting from removal of support for pytest.warns(None)
in pytest version 8.

**Enhancements:**

* Improvements for safety check tool: Made passing the safety check mandatory;
Fixed safety issues; Separated the safety check into a separate make target;
Added a safety policy file.

* Test: Moved the Safety run to the end of the test workflow because it regularly
fails due to new issues introduced by other packages, in order to surface
our own issues in the test runs in any case.

* Added support for a new make target 'authors' that generates an AUTHORS.md
file from the git commit history. Added the invocation of 'make authors' to
the description of how to release a version in the development
documentation.

2.0.0

----------------

Released: 2023-06-01

**Incompatible changes:**

* Removed support for Python 2.7, 3.4, 3.5. The minimum required Python version
is now 3.6. This was needed in order to add Python type hints.

**Bug fixes:**

* Fixed coveralls issues with KeyError and HTTP 422 Unprocessable Entity.

* Added support for passing slices to '__setitem__()' and '__delitem__()'.
Expanded the testcases accordingly.

* Fixed incorrect error handling when passing objects of unsupported types to
the right hand operand of the rich comparison methods of NocaseList. This
previously caused AttributeError "'list' object has no attribute 'lower'"
and TypeError "'int' object is not iterable" to be raised which was confusing.
This is now handled by returning 'NotImplemented' from these methods as
recommended by Python, causing TypeError with a proper message to be raised
by Python.

**Enhancements:**

* Resurrected support for byte strings as list values in the default
implementation of the casefold method. The list can now contains unicode
strings and byte strings.

* Added type hints and type checking with MyPy (issue 96).

1.1.0

----------------

Released: 2023-01-21

**Incompatible changes:**

* The default casefolding method on Python 3 was changed from `str.lower()`
to `str.casefold()`. This changes the matching of the case-insensitive values.
This shold normally be an improvement, but in case you find that you are
negatively affected by this change, you can go back to the `str.lower()`
method by overriding the `NocaseDict.__casefold__()` method with a method
that calls `str.lower()`. (issue 95)

**Enhancements:**

* Added support for Python 3.11.

* Changed the default casefolding method on Python 3 to be `str.casefold()` in
order to improve Unicode support. On Python 2, it remains `str.lower()`.
Added support for user-defined casefolding. (issue 95)

* Added support for storing `None` as a value in a NocaseList. Previously, that
was rejected with `AttributeError` since the casefold method was attempted to
be called on the `None` value. (part of issue 95)

1.0.6

----------------

Released: 2022-08-04

**Bug fixes:**

* Various fixes in dependencies and test environment.

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.