If you use the screen-scraping library Beautiful Soup (MIT license),
please test Beautiful Soup 4.13.0b3, now available on PyPI:
https://pypi.org/project/beautifulsoup4/4.13.0b3/pip install beautifulsoup4==4.13.0b3
Maintainer Leonard Richardson hopes to get feedback before the final
release, which he targets for early February.
Key changes from 4.12.3 (Jan. 2024):
* dropping support for Python 3.6
* "a new feature (the ElementFilter class) which makes it easy to swap
in your own matching logic for Beautiful Soup's default logic when
calling methods like find()."
* type hints in the Beautiful Soup code base; Richardson requests
"feedback from people who use type hints when developing with
Beautiful Soup... There might be some changes to the type hint
system it would be good to make before doing a full 4.13.0 release."
* "a larger-than-usual number of deprecations and changes that may
break backwards compatibility"
If you have questions, send them to the discussion group:
https://groups.google.com/forum/?fromgroups#!forum/beautifulsoup . If
you find a bug, file it on Launchpad
https://bugs.launchpad.net/beautifulsoup/ . If it's a security
vulnerability, report it confidentially through Tidelift:
https://tidelift.com/security .
Leonard Richardson writes:
------
Hi, everyone,
I've done a lot of on-and-off work on Beautiful Soup 4.13.0 over the
past few months, and it's added up to enough that I've decided to do
another beta release before publishing it to the world. I hope to
publish the final 4.13.0 release in early February.
One non-code change is that I've cleaned up the docstrings and added
API docs, generated from those docstrings, to the Beautiful Soup
documentation. For the time being you can see the 4.13.0 documentation
here,
https://www.crummy.com/software/BeautifulSoup/bs4/doc/4.13.0/and here is the generated API doc portion of that documentation.
https://www.crummy.com/software/BeautifulSoup/bs4/doc/4.13.0/api/modules.htmlI've attached the entire 4.13.0 changelog to the bottom of this
message, but here are the most significant changes *since the previous
beta* last year:
* The html5 formatter is much less aggressive about escaping
ampersands, in a way that generates cleaner HTML but could break
your project's test suite if you compare Beautiful Soup's output to
pregenerated HTML snapshots.
* The ElementFilter API has been changed slightly and is now
finalized.
* A number of new generators have been added which yield the element
itself before beginning to traverse the tree,
e.g. PageElement.self_and_parents.
* Methods like Tag.extend and PageElement.insert_after now return the
elements that were inserted.
Since this is a prerelease version, you'll have to explicitly ask pip
to install it, e.g. from the command line:
`pip install beautifulsoup4==4.13.0b3`
or by putting something like this in your requirements.txt:
`beautifulsoup4==4.13.0b3`
------
The full changelog is available in the 4.13.0 beta 3 release
announcement:
https://groups.google.com/g/beautifulsoup/c/cX5m7s8v9TM/m/HHXWmwjdBwAJFor a summary of the previous beta release (March 2024):
https://groups.google.com/g/beautifulsoup/c/9w_PEBCaM6c/m/RrIaqGcYAgAJDocumentation, guidance for enterprise users, and more at the project
homepage:
https://www.crummy.com/software/BeautifulSoup/best,
Sumana Harihareswara