Beautiful Soup's official support for Python 2 ended on December 31st, 2020. The final release to support Python 2 was Beautiful Soup 4.9.3. In the Launchpad Bazaar repository, the final revision to support Python 2 was revision 605. = 4.11.0 (Unreleased) * Ported unit tests to use pytest. * Added special string classes, RubyParenthesisString and RubyTextString, to make it possible to treat ruby text specially in get_text() calls. [bug=1941980] * Fixed a crash when overriding multi_valued_attributes and using the html5lib parser. [bug=1948488] * Added a workaround for an lxml bug (https://bugs.launchpad.net/lxml/+bug/1948551) that caused problems when parsing a Unicode string beginning with BYTE ORDER MARK. [bug=1947768] = 4.10.0 (20210907) * This is the first release of Beautiful Soup to only support Python 3. I dropped Python 2 support to maintain support for newer versions (58 and up) of setuptools. See: https://github.com/pypa/setuptools/issues/2769 [bug=1942919] * The behavior of methods like .get_text() and .strings now differs depending on the type of tag. The change is visible with HTML tags like