Skip to content

Commit

Permalink
Merge branch 'release/0.19'
Browse files Browse the repository at this point in the history
  • Loading branch information
kurtmckee committed Jun 4, 2022
2 parents 2110e5f + ca37e54 commit 1910c45
Show file tree
Hide file tree
Showing 128 changed files with 2,050 additions and 2,984 deletions.
11 changes: 10 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,13 @@
MANIFEST
dist
build
listparser$py.class
*$py.class
.tox/
listparser.egg-info/
.cache
htmlcov/
.coverage
venv/
.idea/
.venv/
poetry.lock
281 changes: 281 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,281 @@
..
This is the feedparser changelog.
It is managed and updated by scriv during development.
Please do not edit this file directly. Instead, run
"scriv create" to create a new changelog fragment file.


Changelog
*********


Unreleased changes
==================

Please see the fragment files in the `changelog.d directory`_.

.. _changelog.d directory: https://github.com/kurtmckee/listparser/tree/develop/changelog.d


.. scriv-insert-here
.. _changelog-0.19:

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.


0.18 - 2015-04-21
=================

* Replace the regex RFC 822 date parser with procedural code.


0.17 - 2012-12-16
=================

*"Territory expansion"*

* Python 3.3 is now tested and supported!
* PyPy is now tested and supported!
* Jython 2.5.2 and 2.5.3 are now tested and supported!
* Python 2 and 3 are now supported without 2to3 conversion
* Remove the hack to work around Jython bug 1375.
(This means that Jython 2.5.1 is no longer supported.)
* Support single-digit days in RFC822 dates


0.16 - 2011-12-17
=================

*"Refresh"*

* Python 3.2 is now supported!
* Made setup.py auto-convert listparser using 2to3 if necessary.
* Switched to absolute URLs in the HTTP redirect tests.


0.15 - 2010-11-15
=================

*"A special day"*

* IronPython 2.6.2 is now supported!


0.14 - 2010-10-22
=================

*"A good year"*

* Added support for LiveJournal FOAF files.
* Improved the documentation.
* Improved the code quality.


0.13 - 2010-02-01
=================

*"Revelations"*

* Fixed an infinite loop bug in Injector.
* Fixed a threading-related bug in the unit tests.
* Made Injector inject after the first '>', not '\n'.
* Overhauled and modularized the unit test code.
* Increased the code coverage of the unit tests.


0.12 - 2010-01-03
=================

*"Safety net"*

* Fixed global USER_AGENT behavior.
* Fixed several crasher bugs.
* Fixed a 2to3 tool warning in lptest.py.
* Made lptest.py return a status code to the shell.


0.11 - 2009-12-25
=================

*"Floodgates"*

* Jython 2.5.1 is now supported!
* Added support for opening relative and absolute filenames.


0.10 - 2009-12-12
=================

*"Internet-ready"*

* Python 3 is now supported!
* Correctly interpret undeclared HTML character entities.
* Significantly sped up large RDF+FOAF document parsing.
* Fixed RFC 822 date and time creation bug.
* Fixed RFC 822 crasher bugs.
* Fixed iGoogle-related crasher bug.
* Refreshed and added to documentation.
* Added many more tests.


0.9 - 2009-10-03
================

*"Celery wolves"*

* Support RDF+FOAF!
* Capture opportunity URLs.
* Added duplicate URL detection.
* Added distutils support for easier distribution.


0.8 - 2009-09-03
================

*"Three day weekend"*

* Support the iGoogle exported settings format!
* Support Liferea's version of subscription lists in OPML.
* Removed ``feeds[i].claims``.
* Removed almost all of listparser's bozo warnings.


0.7 - 2009-08-28
================

*"The Codex"*

* Added documentation!
* Unified feed and subscription list code.
* Extended category and tag support to subscription lists.
* Result dictionary keys are now also attributes (i.e. ``result['meta']['title']`` -> ``result.meta.title``).
* Feed and list titles are no longer filled with the associated URL if the title is not found.


0.6 - 2009-08-07
================

*"Hatchet Hotel"*

* Certain return result elements are now guaranteed.
* ``bozo_detail`` has been renamed ``bozo_exception``.
* Better support for Wordpress' wp-links-opml.php output.
* Added 22 new tests (and modified several others).


0.5 - 2009-08-01
================

*"Going green"*

* Send a (configurable) User-Agent header.
* Support HTTP ETag and Last-Modified headers.
* Support HTTP redirects and errors.
* Support parsing of strings and file-like objects (not just URLs).
* The subscription list title is now stripped of whitespace.
* Added 11 more tests.


0.4 - 2009-07-18
================

*"07/18,29"*

* Support categories and tags specified in ``@category``.
* Support categorization using nested ``<outline>`` tags.
* Added 21 more tests.


0.3 - 2009-07-03
================

*"...and Recursion for all."*

* The feed key ``name`` is now ``title``.
* Additional optional attributes supported.
* Support subscription list inclusions.
* Added 13 more tests.


0.2 - 2009-06-26
================

*"Leveling up"*

* RFC 822 date and time support added (+39 tests).
* Added more thorough OPML version attribute detection (+5 tests).
* ``dateModified`` and ``dateCreated`` OPML tags supported (+4 tests).
* Added test cases for existing functionality (+2 tests).
* ``<outline>`` ``htmlUrl`` attribute support added (+1 test).


0.1 - 2009-06-19
================

*"Achievement unlocked"*

* Initial release.
Loading

0 comments on commit 1910c45

Please # to comment.