Skip to content

Tags: kurtmckee/listparser

Tags

v0.20

Toggle v0.20's commit message

Verified

This tag was signed with the committer’s verified signature.
kurtmckee Kurt McKee
0.20 - 2024-03-29

=================

Python support
--------------

*   Support Python 3.11 and 3.12.
*   Drop support for Python 3.7.

Added
-----

*   Add a ``py.typed`` file so mypy can lint listparser use in dependent applications.
*   Support lxml v5.0.0 while maintaining support for v4.6.2.

Changed
-------

*   Support malformed XML documents by using lxml's HTML parsers.

Fixed
-----

*   Fix the feed URL to the blog entries about listparser.

Documentation
-------------

*   Add the OPML 1.0 and OPML 2.0 specifications to the listparser documentation for posterity.

Development
-----------

*   Randomize the order of listparser's unit tests on each run
    to help ensure there are no testing interdependencies.
*   Add black, flake8, and isort as pre-commit hooks.
*   Add mypy as a tox test environment.
*   Add pyupgrade as a pre-commit hook and enforce Python 3.8+ syntax.
*   Python warnings encountered during testing are now escalated to errors.
*   Move tool dependencies into separate ``requirements.txt`` files.
*   Add a tox label, ``update``, so it's easy to update tool dependencies.

v0.19

Toggle v0.19's commit message

Verified

This tag was signed with the committer’s verified signature.
kurtmckee Kurt McKee
0.19 - 2022-06-04

=================

*"Spring cleaning"*

Added
-----

*   Add ``requests`` as an optional dependency.
*   Add ``lxml`` as an optional dependency.
    This is currently the only way to parse malformed XML files.
*   Add support for Python 3.7 through Python 3.10.

Removed
-------

*   Drop support for CPython 3.6 and lower.
*   Drop support for IronPython.
*   Drop support for Jython.
*   Remove some ancient Jython compatibility code.
*   HTML entities are no longer automatically injected into the DTD.

    If ``lxml`` is installed and undeclared HTML entities are encountered,
    they will be ignored.

    If lxml is not installed and undeclared HTML entities are encountered,
    Python's ``xml.sax`` parser will fail to parse the document.

Fixed
-----

*   Fix some coverage messages that were output during testing.
*   Fix the combined coverage HTML report's paths.

Changed
-------

*   Migrate to a ``src/``-based directory structure.
*   Migrate to Read the Docs for documentation hosting.
*   ``parse()`` no longer accepts *etag*, *modified*, or *agent* arguments.
*   HTTP response information is no longer available in the return dictionary.
*   The unit tests no longer launch an HTTP server.
*   Coverage data is now erased before the unit tests begin.
*   ``bozo`` is now ``True`` or ``False``, not ``1`` or ``0``.
*   ``bozo_exception`` is guaranteed to exist in the return dict.
*   The RFC 822 parser now returns timezone-aware ``datetime`` objects
    instead of converting to UTC and losing timezone info.
*   Move and split ``lptest.py`` into the ``tests/`` subdirectory
    and into specific ``test_*`` files.
*   Increased test coverage reporting to include test runners.
*   Decreased the number of ``tox`` environments where listparser must be built and installed.
*   Internally rely on ``dict`` key-based lookups instead of ``SuperDict`` attribute-based lookups.
*   Cache XML parsing method lookup results to avoid excessive string formatting.
*   Change the name of the ``ListError`` to ``ListparserError``.
*   Split the codebase into multiple files.
*   Use ``tox`` to automate testing across multiple interpreters and versions.
*   Migrate to ``pytest`` for unit testing.
*   Remove dependence on the ``six`` package.
*   Add type annotations.
*   Remove compatibility code.
*   Migrate to Poetry and ``pyproject.toml`` for project configuration.
*   Change the license from LGPLv3 to MIT.
*   Use scriv to manage the CHANGELOG.

v0.18

Toggle v0.18's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
listparser 0.18

v0.17

Toggle v0.17's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
listparser 0.17 - "Territory expansion"

v0.16

Toggle v0.16's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
listparser 0.16 - "Refresh"

v0.15

Toggle v0.15's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
listparser v0.15 - "A special day"

v0.14

Toggle v0.14's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
listparser v0.14 - "A good year"

v0.13

Toggle v0.13's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
listparser v0.13 - "Revelations"

v0.12

Toggle v0.12's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
listparser v0.12 - "Safety net"

v0.11

Toggle v0.11's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
listparser v0.11 - "Floodgates"