Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scheduled monthly dependency update for February #273

Closed
wants to merge 82 commits into from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Feb 1, 2024

Update beautifulsoup4 from 4.8.0 to 4.12.3.

Changelog

4.11.1

This release was done to ensure that the unit tests are packaged along
with the released source. There are no functionality changes in this
release, but there are a few other packaging changes:

* The Japanese and Korean translations of the documentation are included.
* The changelog is now packaged as CHANGELOG, and the license file is
packaged as LICENSE. NEWS.txt and COPYING.txt are still present,
but may be removed in the future.
* TODO.txt is no longer packaged, since a TODO is not relevant for released
code.

4.11.0

* 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]

* It's now possible to customize the way output is indented by
providing a value for the 'indent' argument to the Formatter
constructor. The 'indent' argument works very similarly to the
argument of the same name in the Python standard library's
json.dump() function. [bug=1955497]

* If the charset-normalizer Python module
(https://pypi.org/project/charset-normalizer/) is installed, Beautiful
Soup will use it to detect the character sets of incoming documents.
This is also the module used by newer versions of the Requests library.
For the sake of backwards compatibility, chardet and cchardet both take
precedence if installed. [bug=1955346]

* Added a workaround for an lxml bug
(https://bugs.launchpad.net/lxml/+bug/1948551) that causes
problems when parsing a Unicode string beginning with BYTE ORDER MARK.
[bug=1947768]

* Issue a warning when an HTML parser is used to parse a document that
looks like XML but not XHTML. [bug=1939121]

* Do a better job of keeping track of namespaces as an XML document is
parsed, so that CSS selectors that use namespaces will do the right
thing more often. [bug=1946243]

* Some time ago, the misleadingly named "text" argument to find-type
methods was renamed to the more accurate "string." But this supposed
"renaming" didn't make it into important places like the method
signatures or the docstrings. That's corrected in this
version. "text" still works, but will give a DeprecationWarning.
[bug=1947038]

* Fixed a crash when pickling a BeautifulSoup object that has no
tree builder. [bug=1934003]

* Fixed a crash when overriding multi_valued_attributes and using the
html5lib parser. [bug=1948488]

* Standardized the wording of the MarkupResemblesLocatorWarning
warnings to omit untrusted input and make the warnings less
judgmental about what you ought to be doing. [bug=1955450]

* Removed support for the iconv_codec library, which doesn't seem
to exist anymore and was never put up on PyPI. (The closest
replacement on PyPI, iconv_codecs, is GPL-licensed, so we can't use
it--it's also quite old.)

4.10.0

* 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 <script>, <style>, and <template>. Starting in 4.9.0, methods
like get_text() returned no results on such tags, because the
contents of those tags are not considered 'text' within the document
as a whole.

But a user who calls script.get_text() is working from a different
definition of 'text' than a user who calls div.get_text()--otherwise
there would be no need to call script.get_text() at all. In 4.10.0,
the contents of (e.g.) a <script> tag are considered 'text' during a
get_text() call on the tag itself, but not considered 'text' during
a get_text() call on the tag's parent.

Because of this change, calling get_text() on each child of a tag
may now return a different result than calling get_text() on the tag
itself. That's because different tags now have different
understandings of what counts as 'text'. [bug=1906226] [bug=1868861]

* NavigableString and its subclasses now implement the get_text()
method, as well as the properties .strings and
.stripped_strings. These methods will either return the string
itself, or nothing, so the only reason to use this is when iterating
over a list of mixed Tag and NavigableString objects. [bug=1904309]

* The 'html5' formatter now treats attributes whose values are the
empty string as HTML boolean attributes. Previously (and in other
formatters), an attribute value must be set as None to be treated as
a boolean attribute. In a future release, I plan to also give this
behavior to the 'html' formatter. Patch by Isaac Muse. [bug=1915424]

* The 'replace_with()' method now takes a variable number of arguments,
and can be used to replace a single element with a sequence of elements.
Patch by Bill Chandos. [rev=605]

* Corrected output when the namespace prefix associated with a
namespaced attribute is the empty string, as opposed to
None. [bug=1915583]

* Performance improvement when processing tags that speeds up overall
tree construction by 2%. Patch by Morotti. [bug=1899358]

* Corrected the use of special string container classes in cases when a
single tag may contain strings with different containers; such as
the <template> tag, which may contain both TemplateString objects
and Comment objects. [bug=1913406]

* The html.parser tree builder can now handle named entities
found in the HTML5 spec in much the same way that the html5lib
tree builder does. Note that the lxml HTML tree builder doesn't handle
named entities this way. [bug=1924908]

* Added a second way to pass specify encodings to UnicodeDammit and
EncodingDetector, based on the order of precedence defined in the
HTML5 spec, starting at:
https://html.spec.whatwg.org/multipage/parsing.html#parsing-with-a-known-character-encoding

Encodings in 'known_definite_encodings' are tried first, then
byte-order-mark sniffing is run, then encodings in 'user_encodings'
are tried. The old argument, 'override_encodings', is now a
deprecated alias for 'known_definite_encodings'.

This changes the default behavior of the html.parser and lxml tree
builders, in a way that may slightly improve encoding
detection but will probably have no effect. [bug=1889014]

* Improve the warning issued when a directory name (as opposed to
the name of a regular file) is passed as markup into the BeautifulSoup
constructor. [bug=1913628]

4.9.3

* Implemented a significant performance optimization to the process of
searching the parse tree. Patch by Morotti. [bug=1898212]

4.9.2

* Fixed a bug that caused too many tags to be popped from the tag
stack during tree building, when encountering a closing tag that had
no matching opening tag. [bug=1880420]

* Fixed a bug that inconsistently moved elements over when passing
a Tag, rather than a list, into Tag.extend(). [bug=1885710]

* Specify the soupsieve dependency in a way that complies with
PEP 508. Patch by Mike Nerone. [bug=1893696]

* Change the signatures for BeautifulSoup.insert_before and insert_after
(which are not implemented) to match PageElement.insert_before and
insert_after, quieting warnings in some IDEs. [bug=1897120]

4.9.1

* Added a keyword argument 'on_duplicate_attribute' to the
BeautifulSoupHTMLParser constructor (used by the html.parser tree
builder) which lets you customize the handling of markup that
contains the same attribute more than once, as in:
<a href="url1" href="url2"> [bug=1878209]

* Added a distinct subclass, GuessedAtParserWarning, for the warning
issued when BeautifulSoup is instantiated without a parser being
specified. [bug=1873787]

* Added a distinct subclass, MarkupResemblesLocatorWarning, for the
warning issued when BeautifulSoup is instantiated with 'markup' that
actually seems to be a URL or the path to a file on
disk. [bug=1873787]

* The new NavigableString subclasses (Stylesheet, Script, and
TemplateString) can now be imported directly from the bs4 package.

* If you encode a document with a Python-specific encoding like
'unicode_escape', that encoding is no longer mentioned in the final
XML or HTML document. Instead, encoding information is omitted or
left blank. [bug=1874955]

* Fixed test failures when run against soupselect 2.0. Patch by Tomáš
Chvátal. [bug=1872279]

4.9.0

* Added PageElement.decomposed, a new property which lets you
check whether you've already called decompose() on a Tag or
NavigableString.

* Embedded CSS and Javascript is now stored in distinct Stylesheet and
Script tags, which are ignored by methods like get_text() since most
people don't consider this sort of content to be 'text'. This
feature is not supported by the html5lib treebuilder. [bug=1868861]

* Added a Russian translation by 'authoress' to the repository.

* Fixed an unhandled exception when formatting a Tag that had been
decomposed.[bug=1857767]

* Fixed a bug that happened when passing a Unicode filename containing
non-ASCII characters as markup into Beautiful Soup, on a system that
allows Unicode filenames. [bug=1866717]

* Added a performance optimization to PageElement.extract(). Patch by
Arthur Darcet.

4.8.2

* Added Python docstrings to all public methods of the most commonly
used classes.

* Added a Chinese translation by Deron Wang and a Brazilian Portuguese
translation by Cezar Peixeiro to the repository.

* Fixed two deprecation warnings. Patches by Colin
Watson and Nicholas Neumann. [bug=1847592] [bug=1855301]

* The html.parser tree builder now correctly handles DOCTYPEs that are
not uppercase. [bug=1848401]

* PageElement.select() now returns a ResultSet rather than a regular
list, making it consistent with methods like find_all().

4.8.1

* When the html.parser or html5lib parsers are in use, Beautiful Soup
will, by default, record the position in the original document where
each tag was encountered. This includes line number (Tag.sourceline)
and position within a line (Tag.sourcepos).  Based on code by Chris
Mayo. [bug=1742921]

* When instantiating a BeautifulSoup object, it's now possible to
provide a dictionary ('element_classes') of the classes you'd like to be
instantiated instead of Tag, NavigableString, etc.

* Fixed the definition of the default XML namespace when using
lxml 4.4. Patch by Isaac Muse. [bug=1840141]

* Fixed a crash when pretty-printing tags that were not created
during initial parsing. [bug=1838903]

* Copying a Tag preserves information that was originally obtained from
the TreeBuilder used to build the original Tag. [bug=1838903]

* Raise an explanatory exception when the underlying parser
completely rejects the incoming markup. [bug=1838877]

* Avoid a crash when trying to detect the declared encoding of a
Unicode document. [bug=1838877]

* Avoid a crash when unpickling certain parse trees generated
using html5lib on Python 3. [bug=1843545]
Links

Update contourpy from 1.0.6 to 1.2.0.

Changelog

1.2.0

ContourPy 1.2.0 is a significant release with a number of new features. There is a new format for contour lines called `LineType.ChunkCombinedNan` that is designed to work directly with Bokeh and HoloViews. There are also new functions for manipulating contour lines and filled contours (`convert_filled`, `convert_lines`, `dechunk_filled` and `dechunk_lines`).

Calling `ContourGenerator.filled()` with two identical levels now raises a `ValueError` whereas previously it gave different results depending on algorithm `name`.

This release supports Python 3.9 to 3.12, and is the first release to ship musllinux aarch64 wheels.

Enhancements:

- Support strings as well as enums in renderer functions (284)
- Add new functions `dechunk_filled` and `dechunk_lines` (290)
- Add new functions `convert_filled` and `convert_lines` (291, 293, 294, 312, 313)
- Add new `LineType.ChunkCombinedNan` (296, 301, 308)
- Raise if call `filled()` with `lower_level==upper_level` (317)

Code improvements:

- Code quality improvements (282, 310)
- Improvements to array checking functions (298)
- Better use of dtypes and casting when calling numpy functions (300, 306, 308, 314)
- Update type annotations for Matplotlib 3.8 (303)
- Extra validation when dechunking and converting contour lines and filled contours (316)

Documentation improvements:

- Use `versionadded` sphinx directive (285)
- Remove threaded experimental warnings (297)
- Extract benchmark ratios when generating benchmark plots (302)
- Document new functions and conversion to Shapely geometries (318)

Build, testing and CI improvements:

- Add new CI run using NumPy nightly wheels (280)
- Test contour levels that are `+/-np.inf` (283)
- Improved PyPy CI (287, 307)
- Use better names for enums when reporting parametrised tests (292)
- Improved mpl debug renderer tests (295)
- Support musllinux aarch64 (305)
- Run test suite in parallel (311)
- Miscellaneous build and CI improvements (279, 281, 288, 315, 319)

1.1.1

This release adds support for CPython 3.12 and reinstates the release of Windows 32-bit wheels following NumPy's intention to continue doing so. There is a new keyword argument `webdriver` to the `BokehRenderer` save functions to reuse the same Selenium WebDriver instance across multiple calls.

This release supports Python 3.8 to 3.12.

Thanks to new contributor shadchin and existing contributors eli-schwartz and ianthomas23.

Enhancements:

- Add `webdriver` kwarg to Bokeh export functions (261)
- Add `--driver-path` pytest option to specify chrome driver path (264)

Code improvements:

- Sync constant name with C++ code (258)
- Improved validation in internal chunk functions (266)

Documentation improvements:

- Exclude prompts when using sphinx copybutton (269)

Build system and CI improvements:

- Support CPython 3.12 (254, 272)
- Reinstate Windows 32-bit testing and wheels (274, 275)
- Update build and CI dependencies (256, 257, 259)
- Don't require `ninja` to come from PyPI (260)
- Re-enable bokeh tests in CI (263)
- Add tests for saving to PNG and SVG using Matplotlib and Bokeh renderers (267)
- Pin numpy to less than 2.0 (268)
- Remove `ninja` build requirements (270)

1.1.1rc1

Changelog will be updated with the full release which will happen before the end of September.

1.1.0

This release features a change in the build system from `distutils`, which is scheduled for removal in Python 3.12, to `meson` and `meson-python`. It includes the building of wheels for ppc64le and s390x (on x86_64 only) and removes building of all 32-bit wheels and macOS universal2 wheels.

This release supports Python 3.8 to 3.11.

Thanks to new contributor eli-schwartz.

Build system improvements:

* New meson build system (183, 226, 232, 249, 250)
* Drop building universal2 wheels (225)
* Add build_config to store and show build configuration info (227)
* Build ppc64le and s390x wheels (246)

Code improvements:

* Rearrange functions alphabetically (219)
* Remove unused mpl2005 and mpl2014 code (234, 237)
* Improve mpl2014 chunk count error handling (238)

Documentation improvements:

* Improve API docs (220, 221, 222)
* Update benchmarks (233)
* Add meson-specific build docs (245)
* Add simpler README for PyPI (247)

CI improvements:

* Replace flake8 with ruff (211)
* Building and testing on cirrus CI (213)
* Run mypy in CI (230)
* Set up code coverage in CI (235, 236, 183)
* New internal API, codebase and debug renderer tests (239, 241, 244)
* Use correct version of chromium for Bokeh image tests (243)
* Add tests for musllinux (on x86_64), ppc64le and s390x (246)

1.0.7

This release adds type annotations and moves project metadata to pyproject.toml (PEP 621). Documentation now uses the Sphinx Furo theme, supporting dark and light modes. There are no functional changes.

Type annotations:

* Add type annotations (199, 200, 201, 202)
* Complete mypy configuration (206)

Documentation improvements:

* Support dark mode (185, 188)
* Use sphinx copy button (189)
* Add conda monthly download badges to README (192)
* Furo sphinx theme (195)

Code improvements:

* Improved if statement (186)
* Test nonfinite z and decreasing zlevel for filled (190)
* Add abstract base class Renderer (198)
* Replace mpl scatter call with plot instead (203)
* Use absolute imports (204)
* Minor improvement to get_boundary_start_point (205)

Build system and CI improvements:

* Switch from setup.cfg to pyproject.toml (181)
* Add git pre-commit (191)
* Test improvements (193, 194, 197)
* CI improvements (179, 180, 184)
Links

Update cycler from 0.11.0 to 0.12.1.

Changelog

0.12.1

This is the second release of Cycler 0.12.

This fixes the previous release not shipping the `py.typed` file.

0.12.0

This is the first release of Cycler 0.12.

The major new feature in this release is the addition of type hints.
Furthermore, the minimum supported version of Python is now 3.8.

0.12.0rc1

This is the first release candidate for Cycler 0.12.0.

The major new feature in this release is the addition of type hints.
Furthermore, the minimum supported version of Python is now 3.8.
Links

Update eppy from 0.5.60 to 0.5.63.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update fonttools from 4.38.0 to 4.47.2.

Changelog

4.47.2

Minor release to fix uploading wheels to PyPI.

4.47.1

- [merge] Improve help message and add standard command line options (3408)
- [otlLib] Pass ``ttFont`` to ``name.addName`` in ``buildStatTable`` (3406)
- [featureVars] Re-use ``FeatureVariationRecord``s when possible (3413)

4.47.0

- [varLib.models] New API for VariationModel: ``getMasterScalars`` and ``interpolateFromValuesAndScalars``.
- [varLib.interpolatable] Various bugfixes and rendering improvements. In particular, add a Summary page in the front, and an Index and Table-of-Contents in the back. Change the page size to Letter.
- [Docs/designspaceLib] Defined a new ``public.fontInfo`` lib key, not used anywhere yet (3358).

4.46.0

- [featureVars] Allow to register the same set of substitution rules to multiple features. The ``addFeatureVariations`` function can now take a list of featureTags; similarly, the lib key 'com.github.fonttools.varLib.featureVarsFeatureTag' can now take a comma-separateed string of feature tags (e.g. "salt,ss01") instead of a single tag (3360).
- [featureVars] Don't overwrite GSUB FeatureVariations, but append new records to it for features which are not already there. But raise ``VarLibError`` if the feature tag already has feature variations associated with it (3363).
- [varLib] Added ``addGSUBFeatureVariations`` function to add GSUB Feature Variations to an existing variable font from rules defined in a DesignSpace document (3362).
- [varLib.interpolatable] Various bugfixes and rendering improvements. In particular, a new test for "underweight" glyphs. The new test reports quite a few false-positives though. Please send feedback.

4.45.1

- [varLib.interpolatable] Various bugfixes and improvements, better reporting, reduced false positives.
- [ttGlyphSet] Added option to not recalculate glyf bounds (3348).

4.45.0

- [varLib.interpolator] Vastly improved algorithms. Also available now is ``--pdf`` and ``--html`` options to generate a PDF or HTML report of the interpolation issues.  
The PDF/HTML report showcases the problematic masters, the interpolated broken glyph, as well as the proposed fixed version.

4.44.3

- [subset] Only prune codepage ranges for OS/2.version >= 1, ignore otherwise (3334).
- [instancer] Ensure hhea vertical metrics stay in sync with OS/2 ones after instancing MVAR table containing 'hasc', 'hdsc' or 'hlgp' tags (3297).

4.44.2

- [glyf] Have ``Glyph.recalcBounds`` skip empty components (base glyph with no contours) when computing the bounding box of composite glyphs. This simply restores the existing behavior before some changes were introduced in fonttools 4.44.0 (3333).

4.44.1

- [feaLib] Ensure variable mark anchors are deep-copied while building since they get modified in-place and later reused (3330).
- [OS/2|subset] Added method to ``recalcCodePageRanges`` to OS/2 table class; added ``--prune-codepage-ranges`` to `fonttools subset` command (3328, 2607).

NOTE: this release was "yanked" from PyPI because it introduced a regression: https://github.com/fonttools/fonttools/issues/3334

4.44.0

- [instancer] Recalc OS/2 AvgCharWidth after instancing if default changes (3317).
- [otlLib] Make ClassDefBuilder class order match varLib.merger's, i.e. large classes first, then glyph lexicographic order (3321, 3324).
- [instancer] Allow not specifying any of min:default:max values and let be filled up with fvar's values (3322, 3323).
- [instancer] When running --update-name-table ignore axes that have no STAT axis values (3318, 3319).
- [Debg] When dumping to ttx, write the embedded JSON as multi-line string with indentation (92cbfee0d).
- [varStore] Handle > 65535 items per encoding by splitting VarData subtable (3310).
- [subset] Handle null-offsets in MarkLigPos subtables.
- [subset] Keep East Asian spacing fatures vhal, halt, chws, vchw by default (3305).
- [instancer.solver] Fixed case where axisDef < lower and upper < axisMax (3304).
- [glyf] Speed up compilation, mostly around ``recalcBounds`` (3301).
- [varLib.interpolatable] Speed it up when working on variable fonts, plus various micro-optimizations (3300).
- Require unicodedata2 >= 15.1.0 when installed with 'unicode' extra, contains UCD 15.1.

4.43.1

- [EBDT] Fixed TypeError exception in `_reverseBytes` method triggered when dumping some bitmap fonts with `ttx -z bitwise` option (3162).
- [v/hhea] Fixed UnboundLocalError exception in ``recalc`` method when no vmtx or hmtx tables are present (3290).
- [bezierTools] Fixed incorrectly typed cython local variable leading to TypeError when calling ``calcQuadraticArcLength`` (3288).
- [feaLib/otlLib] Better error message when building Coverage table with missing glyph (3286).

4.43.0

- [subset] Set up lxml ``XMLParser(resolve_entities=False)`` when parsing OT-SVG documents to prevent XML External Entity (XXE) attacks (9f61271dc): https://codeql.github.com/codeql-query-help/python/py-xxe/
- [varLib.iup] Added workaround for a Cython bug in ``iup_delta_optimize`` that was leading to IUP tolerance being incorrectly initialised, resulting in sub-optimal deltas (60126435d, cython/cython5732).
- [varLib] Added new command-line entry point ``fonttools varLib.avar`` to add an ``avar`` table to an existing VF from axes mappings in a .designspace file (0a3360e52).
- [instancer] Fixed bug whereby no longer used variation regions were not correctly pruned after VarData optimization (3268).
- Added support for Python 3.12 (3283).

4.42.1

- [t1Lib] Fixed several Type 1 issues (3238, 3240).
- [otBase/packer] Allow sharing tables reached by different offset sizes (3241, 3236, 457f11c2).
- [varLib/merger] Fix Cursive attachment merging error when all anchors are NULL (3248, 3247).
- [ttLib] Fixed warning when calling ``addMultilingualName`` and ``ttFont`` parameter was not passed on to ``findMultilingualName`` (3253).

4.42.0

- [varLib] Use sentinel value 0xFFFF to mark a glyph advance in hmtx/vmtx as non participating, allowing sparse masters to contain glyphs for variation purposes other than {H,V}VAR (3235).
- [varLib/cff] Treat empty glyphs in non-default masters as missing, thus not participating in CFF2 delta computation, similarly to how varLib already treats them for gvar (3234).
- Added varLib.avarPlanner script to deduce 'correct' avar v1 axis mappings based on glyph average weights (3223).

4.41.1

- [subset] Fixed perf regression in v4.41.0 by making ``NameRecordVisitor`` only visit tables that do contain nameID references (3213, 3214).
- [varLib.instancer] Support instancing fonts containing null ConditionSet offsets in FeatureVariationRecords (3211, 3212).
- [statisticsPen] Report font glyph-average weight/width and font-wide slant.
- [fontBuilder] Fixed head.created date incorrectly set to 0 instead of the current timestamp, regression introduced in v4.40.0 (3210).
- [varLib.merger] Support sparse ``CursivePos`` masters (3209).

4.41.0

- [fontBuilder] Fixed bug in setupOS2 with default panose attribute incorrectly being set to a dict instead of a Panose object (3201).
- [name] Added method to ``removeUnusedNameRecords`` in the user range (3185).
- [varLib.instancer] Fixed issue with L4 instancing (moving default) (3179).
- [cffLib] Use latin1 so we can roundtrip non-ASCII in {Full,Font,Family}Name (3202).
- [designspaceLib] Mark <source name="..."> as optional in docs (as it is in the code).
- [glyf-1] Fixed drawPoints() bug whereby last cubic segment becomes quadratic (3189, 3190).
- [fontBuilder] Propagate the 'hidden' flag to the fvar Axis instance (3184).
- [fontBuilder] Update setupAvar() to also support avar 2, fixing ``_add_avar()`` call site (3183).
- Added new ``voltLib.voltToFea`` submodule (originally Tiro Typeworks' "Volto") for converting VOLT OpenType Layout sources to FEA format (3164).

4.40.0

- Published native binary wheels to PyPI for all the python minor versions and platform and architectures currently supported that would benefit from this. They will include precompiled Cython-accelerated modules (e.g. cu2qu) without requiring to compile them from source. The pure-python wheel and source distribution will continue to be published as always (pip will automatically chose them when no binary wheel is available for the given platform, e.g. pypy). Use ``pip install --no-binary=fonttools fonttools`` to expliclity request pip to install from the pure-python source.
- [designspaceLib|varLib] Add initial support for specifying axis mappings and build ``avar2`` table from those (3123).
- [feaLib] Support variable ligature caret position (3130).
- [varLib|glyf] Added option to --drop-implied-oncurves; test for impliable oncurve points either before or after rounding (3146, 3147, 3155, 3156).
- [TTGlyphPointPen] Don't error with empty contours, simply ignore them (3145).
- [sfnt] Fixed str vs bytes remnant of py3 transition in code dealing with de/compiling WOFF metadata (3129).
- [instancer-solver] Fixed bug when moving default instance with sparse masters (3139, 3140).
- [feaLib] Simplify variable scalars that don’t vary (3132).
- [pens] Added filter pen that explicitly emits closing line when lastPt != movePt (3100).
- [varStore] Improve optimize algorithm and better document the algorithm (3124, 3127).  
Added ``quantization`` option (3126).
- Added CI workflow config file for building native binary wheels (3121).
- [fontBuilder] Added glyphDataFormat=0 option; raise error when glyphs contain cubic outlines but glyphDataFormat was not explicitly set to 1 (3113, 3119).
- [subset] Prune emptied GDEF.MarkGlyphSetsDef and remap indices; ensure GDEF is subsetted before GSUB and GPOS (3114, 3118).
- [xmlReader] Fixed issue whereby DSIG table data was incorrectly parsed (3115, 2614).
- [varLib/merger] Fixed merging of SinglePos with pos=0 (3111, 3112).
- [feaLib] Demote "Feature has not been defined" error to a warning when building aalt and referenced feature is empty (3110).
- [feaLib] Dedupe multiple substitutions with classes (3105).

4.39.4

- [varLib.interpolatable] Allow for sparse masters (https://github.com/fonttools/fonttools/pull/3075)
- [merge] Handle differing default/nominalWidthX in CFF (https://github.com/fonttools/fonttools/pull/3070)
- [ttLib] Add missing main.py file to ttLib package (https://github.com/fonttools/fonttools/pull/3088)
- [ttx] Fix missing composite instructions in XML (https://github.com/fonttools/fonttools/pull/3092)
- [ttx] Fix split tables option to work on filenames containing '%' (https://github.com/fonttools/fonttools/pull/3096)
- [featureVars] Process lookups for features other than rvrn last (https://github.com/fonttools/fonttools/pull/3099)
- [feaLib] Support multiple substitution with classes (https://github.com/fonttools/fonttools/pull/3103)

4.39.3

- [sbix] Fixed TypeError when compiling empty glyphs whose imageData is None, regression was introduced in v4.39 (https://github.com/fonttools/fonttools/issues/3059).
- [ttFont] Fixed AttributeError on python <= 3.10 when opening a TTFont from a tempfile.SpooledTemporaryFile, `seekable` method was only added in python 3.11 (https://github.com/fonttools/fonttools/issues/3052).

4.39.2

- [varLib] Fixed regression introduced in 4.39.1 whereby an incomplete 'STAT' table would be built even though a DesignSpace v5 did contain 'STAT' definitions (3045, 3046).

**NOTE**: The 4.39.1 distribution was "yanked" from PyPI to prevent users from accidentally upgrading to it.

4.39.1

- [avar2] Added experimental support for reading/writing avar version 2 as specified in this draft proposal: 
https://github.com/harfbuzz/boring-expansion-spec/blob/main/avar2.md
- [glifLib] Wrap underlying XML library exceptions with GlifLibError when parsing GLIFs, and also print the name and path of the glyph that fails to be parsed (https://github.com/fonttools/fonttools/pull/3029).
- [feaLib] Consult avar for normalizing user-space values in ConditionSets and in VariableScalars (https://github.com/fonttools/fonttools/pull/3042, https://github.com/fonttools/fonttools/pull/3043).
- [ttProgram] Handle string input to Program.fromAssembly() (https://github.com/fonttools/fonttools/pull/3038).
- [otlLib] Added a config option to emit GPOS 7 lookups, currently disabled by default because of a macOS bug (https://github.com/fonttools/fonttools/pull/3034).
- [COLRv1] Added method to automatically compute ClipBoxes (https://github.com/fonttools/fonttools/pull/3027).
- [ttFont] Fixed getGlyphID to raise KeyError on missing glyphs instead of returning None. The regression was introduced in v4.27.0 (https://github.com/fonttools/fonttools/pull/3032).
- [sbix] Fixed UnboundLocalError: cannot access local variable 'rawdata' (https://github.com/fonttools/fonttools/pull/3031).
- [varLib] When building VF, do not overwrite a pre-existing ``STAT`` table that was built with feaLib from FEA feature file. Also, added support for building multiple VFs defined in Designspace v5 from ``fonttools varLib`` script (https://github.com/fonttools/fonttools/pull/3024).
- [mtiLib] Only add ``Debg`` table with lookup names when ``FONTTOOLS_LOOKUP_DEBUGGING`` env variable is set (https://github.com/fonttools/fonttools/pull/3023).

4.39.0

- [mtiLib] Optionally add `Debg` debug info for MTI feature builds (3018).
- [ttx] Support reading input file from standard input using special `-` character, similar to existing `-o -` option to write output to standard output (3020).
- [cython] Prevent ``cython.compiled`` raise AttributeError if cython not installed properly (3017).
- [OS/2] Guard against ZeroDivisionError when calculating xAvgCharWidth in the unlikely scenario no glyph has non-zero advance (3015).
- [subset] Recompute xAvgCharWidth independently of --no-prune-unicode-ranges, previously the two options were involuntarily bundled together (3012).
- [fontBuilder] Add ``debug`` parameter to addOpenTypeFeatures method to add source debugging information to the font in the ``Debg`` private table (3008).
- [name] Make NameRecord `__lt__` comparison not fail on Unicode encoding errors (3006).
- [featureVars] Fixed bug in ``overlayBox`` (3003, 3005).
- [glyf] Added experimental support for cubic bezier curves in TrueType glyf table, as outlined in glyf v1 proposal (2988):  
https://github.com/harfbuzz/boring-expansion-spec/blob/main/glyf1-cubicOutlines.md
- Added new qu2cu module and related qu2cuPen, the reverse of cu2qu for converting TrueType quadratic splines to cubic bezier curves (2993).
- [glyf] Added experimental support for reading and writing Variable Composites/Components as defined in glyf v1 spec proposal (2958):  
https://github.com/harfbuzz/boring-expansion-spec/blob/main/glyf1-varComposites.md.
- [pens]: Added `addVarComponent` method to pen protocols' base classes, which pens can implement to handle varcomponents (by default they get decomposed).
- [misc.transform] Added DecomposedTransform class which implements an affine transformation with separate translate, rotation, scale, skew, and transformation-center components (2598)
- [sbix] Ensure Glyph.referenceGlyphName is set; fixes error after dumping and re-compiling sbix table with 'dupe' glyphs (2984).
- [feaLib] Be cleverer when merging chained single substitutions into same lookup when they are specified using the inline notation (2150, 2974).
- [instancer] Clamp user-inputted axis ranges to those of fvar (2959).
- [otBase/subset] Define ``__getstate__`` for BaseTable so that a copied/pickled 'lazy' object gets its own OTTableReader to read from; incidentally fixes a bug while subsetting COLRv1 table containing ClipBoxes on python 3.11 (2965, 2968).
- [sbix] Handle glyphs with "dupe" graphic type on compile correctly (2963).
- [glyf] ``endPointsOfContours`` field should be unsigned! Kudos to behdad for spotting one of the oldest bugs in FT. Probably nobody has ever dared to make glyphs with more than 32767 points... (2957).
- [feaLib] Fixed handling of ``ignore`` statements with unmarked glyphs to match makeotf behavior, which assumes the first glyph is marked (2950).
- Reformatted code with ``black`` and enforce new code style via CI check (2925).
- [feaLib] Sort name table entries following OT spec prescribed order in the builder (2927).
- [cu2quPen] Add Cu2QuMultiPen that converts multiple outlines at a time in interpolation compatible way; its methods take a list of tuples arguments that would normally be passed to individual segment pens, and at the end it dispatches the converted outlines to each pen (2912).
- [reverseContourPen/ttGlyphPen] Add outputImpliedClosingLine option (2913, 2914, 2921, 2922, 2995).
- [gvar] Avoid expanding all glyphs unnecessarily upon compile (2918).
- [scaleUpem] Fixed bug whereby CFF2 vsindex was scaled; it should not (2893, 2894).
- [designspaceLib] Add DS.getAxisByTag and refactor getAxis (2891).
- [unicodedata] map Zmth<->math in ot_tag_{to,from}_script (1737, 2889).
- [woff2] Support encoding/decoding OVERLAP_SIMPLE glyf flags (2576, 2884).
- [instancer] Update OS/2 class and post.italicAngle when default moved (L4)
- Dropped support for Python 3.7 which reached EOL, fontTools requires 3.8+.
- [instancer] Fixed instantiateFeatureVariations logic when a rule range becomes default-applicable (2737, 2880).
- [ttLib] Add main to ttFont and ttCollection that just decompile and re-compile the input font (2869).
- [featureVars] Insert 'rvrn' lookup at the beginning of LookupList, to work around bug in Apple implementation of 'rvrn' feature which the spec says it should be processed early whereas on macOS 10.15 it follows lookup order (2140, 2867).
- [instancer/mutator] Remove 'DSIG' table if present.
- [svgPathPen] Don't close path in endPath(), assume open unless closePath() (2089, 2865).
Links

Update future from 0.18.2 to 0.18.3.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update kiwisolver from 1.4.4 to 1.4.5.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update lxml from 4.9.1 to 5.1.0.

Changelog

5.1.0

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

Features added
--------------

* Parsing ASCII strings is slightly faster.

Bugs fixed
----------

* GH349: The HTML ``Cleaner()`` interpreted an accidentally provided string parameter
for the ``host_whitelist`` as list of characters and silently failed to reject any hosts.
Passing a non-collection is now rejected.

Other changes
-------------

* Support for Python 2.7 and Python versions < 3.6 was removed.

* The wheel build was migrated to use ``cibuildwheel``.
Patch by Primož Godec.

5.0.1

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

Bugs fixed
----------

* LP2046208: Parsing non-BMP Python Unicode strings could fail on macOS.

* LP2044225: When incrementally parsing broken HTML, reporting start events on
missing structural tags failed and could lead to subsequent exceptions.

* LP2045435: Some (not all) issues with stricter C compilers were resolved.

* The binary wheels in the 5.0.0 release did not validate cleanly (but installed ok).


.. _latest_release:

5.0.0

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

Features added
--------------

* Character escaping in ``C14N2`` serialisation now uses a single pass over the text
instead of searching for each unescaped character separately.

* Early support for Python 3.13a2 was added.

Bugs fixed
----------

* LP1976304: The ``Element.addnext()`` method previously inserted the new element
before existing tail text.  The tail text of both sibling elements now stays on
the respective elements.

* LP1980767, GH379: ``TreeBuilder.close()`` could fail with a ``TypeError`` after
parsing incorrect input.  Original patch by Enrico Minack.

* ``Element.itertext(with_tail=False)`` returned the tail text of comments and
processing instructions, despite the explicit option.

* GH370: A crash with recent libxml2 2.11.x versions was resolved.
Patch by Michael Schlenker.

* A compile problem with recent libxml2 2.12.x versions was resolved.

* The internal exception handling in C callbacks was improved for Cython 3.0.

* The exception declarations of ``xmlInputReadCallback``, ``xmlInputCloseCallback``,
``xmlOutputWriteCallback`` and ``xmlOutputCloseCallback`` in ``tree.pxd`` were
corrected to prevent running Python code or calling into the C-API with a live
exception set.

* GH385: The long deprecated ``unittest.m̀akeSuite()`` function is no longer used.
Patch by Miro Hrončok.

* LP1522052: A file-system specific test is now optional and should no longer fail
on systems that don't support it.

* GH392: Some tests were adapted for libxml2 2.13.
Patch by Nick Wellnhofer.

* Contains all fixes from lxml 4.9.4.

Other changes
-------------

* LP1742885: lxml no longer expands external entities (XXE) by default to prevent
the security risk of loading arbitrary files and URLs.  If this feature is needed,
it can be enabled in a backwards compatible way by using a parser with the option
``resolve_entities=True``.  The new default is ``resolve_entities='internal'``.

* With libxml2 2.10.4 and later (as provided by the lxml 5.0 binary wheels),
parsing HTML tags with "prefixes" no longer builds a namespace dictionary
in ``nsmap`` but considers the ``prefix:name`` string the actual tag name.
With older libxml2 versions, since 2.9.11, the prefix was removed.  Before
that, the prefix was parsed as XML prefix.

lxml 5.0 does not try to hide this difference but now changes the ElementPath
implementation to let ``element.find("part1:part2")`` search for the tag
``part1:part2`` in documents parsed as HTML, instead of looking only for ``part2``.

* LP2024343: The validation of the schema file itself is now optional in the
ISO-Schematron implementation.  This was done because some lxml distributions
discard the RNG validation schema file due to licensing issues.  The validation
can now always be disabled with ``Schematron(..., validate_schema=False)``.
It is enabled by default if available and disabled otherwise.  The module
constant ``lxml.isoschematron.schematron_schema_valid_supported`` can be used
to detect whether schema file validation is available.

* Some redundant and long deprecated methods were removed:
``parser.setElementClassLookup()``,
``xslt_transform.apply()``,
``xpath.evaluate()``.

* Some incorrect declarations were removed from ``python.pxd``. In general, this file
should not be used by external Cython code. Use the C-API declarations provided by
Cython itself instead.

* Binary wheels use the library versions libxml2 2.12.3 and libxslt 1.1.39.

* Built with Cython 3.0.7, updated to follow recent changes in Cython 3.1-dev.

4.9.4

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

Bugs fixed
----------

* LP2046398: Inserting/replacing an ancestor into a node's children could loop indefinitely.

* LP1980767, GH379: ``TreeBuilder.close()`` could fail with a ``TypeError`` after
parsing incorrect input.  Original patch by Enrico Minack.

* LP1522052: A file-system specific test is now optional and should no longer fail
on systems that don't support it.

Other changes
-------------

* Wheels include zlib 1.3, libxml2 2.10.3 and libxslt 1.1.39
(zlib 1.2.12, libxml2 2.10.3 and libxslt 1.1.37 on Windows).

* Built with Cython 0.29.37.

4.9.3

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

Bugs fixed
----------

* LP2008911: ``lxml.objectify`` accepted non-decimal numbers like ``²²²`` as integers.

* A memory leak in ``lxml.html.clean`` was resolved by switching to Cython 0.29.34+.

* GH348: URL checking in the HTML cleaner was improved.
Patch by Tim McCormack.

* GH371, GH373: Some regex strings were changed to raw strings to fix Python warnings.
Patches by Jakub Wilk and Anthony Sottile.

Other changes
-------------

* Wheels include zlib 1.2.13, libxml2 2.10.3 and libxslt 1.1.38
(zlib 1.2.12, libxml2 2.10.3 and libxslt 1.1.37 on Windows).

* Built with Cython 0.29.36 to adapt to changes in Python 3.12.

4.9.2

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

Bugs fixed
----------

* CVE-2022-2309: A Bug in libxml2 2.9.1[0-4] could let namespace declarations
from a failed parser run leak into later parser runs.  This bug was worked around
in lxml and resolved in libxml2 2.10.0.
https://gitlab.gnome.org/GNOME/libxml2/-/issues/378

Other changes
-------------

* LP1981760: ``Element.attrib`` now registers as ``collections.abc.MutableMapping``.

* lxml now has a static build setup for macOS on ARM64 machines (not used for building wheels).
Patch by Quentin Leffray.
Links

Update matplotlib from 3.6.2 to 3.8.2.

Changelog

3.8.2

This is the second bugfix release of the 3.8 series.

Highlights of this release include:
- Fix a segfault in the MacOS backend when running on Python 3.12
- Fix Contour labeling manual positions selecting incorrect contours.
- Various documentation improvements

3.8.1

This is the first bugfix release of the 3.8.x series.


This release contains several bug fixes and adjustments:


- Bump setuptools required version because of setuptools_scm v8
- Update ``find_nearest_contour`` and revert contour deprecations
- ``allsegs`` and ``allkinds`` return individual segments
- Restore default behavior of hexbin mincnt with C provided
- Try/except import of Axes3D
- Ensure valid path mangling for ContourLabeler
- BLD: Remove development dependencies from sdists
- FIX 2-tuple of colors in to_rgba_array
- Fix issue with non-string labels and legend
- Fix issue with locale comma when not using math text
- Various type hinting improvements
- Various documentation improvements
- Improvements to the MacOS backend

3.7.4

This is the fourth bugfix release of the 3.7.x series.

This release contains one bug-fix:

- Fix a segmentation fault when resizing on Python 3.12 and macOS 14

3.7.3

This is the third bugfix release of the 3.7.x series.

This release contains several bug-fixes and adjustments:

* Add Python 3.12 wheels
* Update the license for the bundled colorbrewer colormap data
* Fix Cairo backend when using cairocffi
* Fix axes_grid1 inset axes with `bbox_inches=tight`
* Fix bugs in `Path3DCollection` / `Poly3DCollection` constructors
* Fix setting array labelcolor on Tick
* Improve compatibility with latest NumPy
* Stop warning when calling `tight_layout` multiple times

3.7.2

This is the second bugfix release of the 3.7.x series.

This release contains several bug-fixes and adjustments:

* Avoid modifying input masks in `pcolor`/`pcolormesh`
* Fix 3D set_aspect error cases
* Fix IPython's `%pylab` mode detection
* Fix `Figure.get_constrained_layout_pads()`
* Fix `Legend.set_draggable()` with `update="bbox"`
* Fix `TransformedBbox.{,full_}contains`
* Fix clipping of `bar_label` text
* Fix colorbar size when saving with explicit `bbox_inches`
* Fix errors when an input is entirely NaN
* Fix leaks of exception tracebacks and `LayoutGrid` objects
* Fix non-interpolated imshow in PDF export
* Fix palettized image optimization in PDF export
* Fix pgf tests with TeXLive 2022
* Fix removal of `Axes` that contain widgets that are grabbing the mouse
* Fix removal of draggable artists
* Fix subslice optimization for long, fully nan lines
* Fix tight layout if Figure has an existing layout manager
* Fix window extent of AnnotationBbox before first draw
* Fix wspace and hspace in subfigures
* Improve Qt compatibility
* Improve compatibility with Python 3.12
* Prevent under the hood downcasting of values in `xcorr`
* Remove some NumPy function overrides from `pylab`
* Remove warning with symlog scales on mouseover

3.7.1

This is the first bugfix release of the 3.7.x series.

This release contains several bug-fixes and adjustments:

* Ensure Qhull license is included in binary wheels
* Fix application of rcParams on Axes labels
* Fix compatibility with Pandas datetime unit converter
* Fix compatibility with latest GTK4
* Fix import of styles with relative path
* Fix Lasso unresponsiveness when clicking and immediately releasing
* Fix pickling of draggable legends
* Fix RangeSlider.set_val when new value is outside existing value
* Fix size of Tk spacers when changing display DPI
* Fix wrapped text in constrained layout
* Improve compatibility with third-party backends
* Improve error if animation save path does not exist

3.6.3

This is the third bugfix release of the 3.6.x series.

This release contains several bug-fixes and adjustments:

* Fix Artist removal from `axes_grid1` Axes classes
* Fix `inset_locator` in subfigures
* Fix `scatter` on masked arrays with units
* Fix colorbar ticks with log norm contours
* Fix deprecation warnings in GTK4 backend
* Fix using relative paths in `HTMLWriter`
* Improve failure message from rcParams string validation for tuple inputs
* Improve performance of QtAgg backends
* No longer modify `pil_kwargs` argument to `imsave` and `savefig`
Links

Update munch from 2.5.0 to 4.0.0.

Changelog

4.0.0

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

* Remove six dependency

3.0.0

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

* Fix munchify for tuples of lists  
* Require Python >=3.6 and upgrade syntax - thanks EwoutH
* Update __init__.py  to work with non standard version - thanks mboisson
* Allow importing even when VERSION read fails - thanks mdornseif and dangillet
* Add imports to README  
* replace pkg_resources with importlib.metadata - thanks dhellmann  
* Added RecursiveMunch object - thanks GuillaumeRochette
Links

Update numpy from 1.23.4 to 1.26.3.

Changelog

1.26.3

discovered after the 1.26.2 release. The most notable changes are the
f2py bug fixes. The Python versions supported by this release are
3.9-3.12.

Compatibility

`f2py` will no longer accept ambiguous `-m` and `.pyf` CLI combinations.
When more than one `.pyf` file is passed, an error is raised. When both
`-m` and a `.pyf` is passed, a warning is emitted and the `-m` provided
name is ignored.

Improvements

`f2py` now handles `common` blocks which have `kind` specifications from
modules. This further expands the usability of intrinsics like
`iso_fortran_env` and `iso_c_binding`.

Contributors

A total of 18 people contributed to this release. People with a \"+\" by
their names contributed a patch for the first time.

-   \DWesl
-   \Illviljan
-   Alexander Grund
-   Andrea Bianchi +
-   Charles Harris
-   Daniel Vanzo
-   Johann Rohwer +
-   Matti Picus
-   Nathan Goldbaum
-   Peter Hawkins
-   Raghuveer Devulapalli
-   Ralf Gommers
-   Rohit Goswami
-   Sayed Adel
-   Sebastian Berg
-   Stefano Rivera +
-   Thomas A Caswell
-   matoro

Pull requests merged

A total of 42 pull requests were merged for this release.

-   [25130](https://github.com/numpy/numpy/pull/25130): MAINT: prepare 1.26.x for further development
-   [25188](https://github.com/numpy/numpy/pull/25188): TYP: add None to `__getitem__` in `numpy.array_api`
-   [25189](https://github.com/numpy/numpy/pull/25189): BLD,BUG: quadmath required where available \[f2py\]
-   [25190](https://github.com/numpy/numpy/pull/25190): BUG: alpha doesn\'t use REAL(10)
-   [25191](https://github.com/numpy/numpy/pull/25191): BUG: Fix FP overflow error in division when the divisor is scalar
-   [25192](https://github.com/numpy/numpy/pull/25192): MAINT: Pin scipy-openblas version.
-   [25201](https://github.com/numpy/numpy/pull/25201): BUG: Fix f2py to enable use of string optional inout argument
-   [25202](https://github.com/numpy/numpy/pull/25202): BUG: Fix -fsanitize=alignment issue in numpy/\_core/src/multiarray/arraytypes.c.src
-   [25203](https://github.com/numpy/numpy/pull/25203): TST: Explicitly pass NumPy path to cython during tests (also\...
-   [25204](https://github.com/numpy/numpy/pull/25204): BUG: fix issues with `newaxis` and `linalg.solve` in `numpy.array_api`
-   [25205](https://github.com/numpy/numpy/pull/25205): BUG: Disallow shadowed modulenames
-   [25217](https://github.com/numpy/numpy/pull/25217): BUG: Handle common blocks with kind specifications from modules
-   [25218](https://github.com/numpy/numpy/pull/25218): BUG: Fix moving compiled executable to root with f2py -c on Windows
-   [25219](https://github.com/numpy/numpy/pull/25219): BUG: Fix single to half-precision conversion on PPC64/VSX3
-   [25227](https://github.com/numpy/numpy/pull/25227): TST: f2py: fix issue in test skip condition
-   [25240](https://github.com/numpy/numpy/pull/25240): Revert \"MAINT: Pin scipy-openblas version.\"
-   [25249](https://github.com/numpy/numpy/pull/25249): MAINT: do not use `long` type
-   [25377](https://github.com/numpy/numpy/pull/25377): TST: PyPy needs another gc.collect on latest versions
-   [25378](https://github.com/numpy/numpy/pull/25378): CI: Install Lapack runtime on Cygwin.
-   [25379](https://github.com/numpy/numpy/pull/25379): MAINT: Bump conda-incubator/setup-miniconda from 2.2.0 to 3.0.1
-   [25380](https://github.com/numpy/numpy/pull/25380): BLD: update vendored Meson for AIX shared library fix
-   [25419](https://github.com/numpy/numpy/pull/25419): MAINT: Init `base` in cpu_avx512_kn
-   [25420](https://github.com/numpy/numpy/pull/25420): BUG: Fix failing test_features on SapphireRapids
-   [25422](https://github.com/numpy/numpy/pull/25422): BUG: Fix non-contiguous memory load when ARM/Neon is enabled
-   [25428](https://github.com/numpy/numpy/pull/25428): MAINT,BUG: Never import distutils above 3.12 \[f2py\]
-   [25452](https://github.com/numpy/numpy/pull/25452): MAINT: make the import-time check for old Accelerate more specific
-   [25458](https://github.com/numpy/numpy/pull/25458): BUG: fix macOS version checks for Accelerate support
-   [25465](https://github.com/numpy/numpy/pull/25465): MAINT: Bump actions/setup-node and larsoner/circleci-artifacts-redirector-action
-   [25466](https://github.com/numpy/numpy/pull/25466): BUG: avoid seg fault from OOB access in RandomState.set_state()
-   [25467](https://github.com/numpy/numpy/pull/25467): BUG: Fix two errors related to not checking for failed allocations
-   [25468](https://github.com/numpy/numpy/pull/25468): BUG: Fix regression with `f2py` wrappers when modules and subroutines\...
-   [25475](https://github.com/numpy/numpy/pull/25475): BUG: Fix build issues on SPR
-   [25478](https://github.com/numpy/numpy/pull/25478): BLD: fix uninitialized variable warnings from simd/neon/memory.h
-   [25480](https://github.com/numpy/numpy/pull/25480): BUG: Handle `iso_c_type` mappings more consistently
-   [25481](https://github.com/numpy/numpy/pull/25481): BUG: Fix module name bug in signature files \[urgent\] \[f2py\]
-   [25482](https://github.com/numpy/numpy/pull/25482): BUG: Handle .pyf.src and fix SciPy \[urgent\]
-   [25483](https://github.com/numpy/numpy/pull/25483): DOC: `f2py` rewrite with `meson` details
-   [25485](https://github.com/numpy/numpy/pull/25485): BUG: Add external library handling for meson \[f2py\]
-   [25486](https://github.com/numpy/numpy/pull/25486): MAINT: Run f2py\'s meson backend with the same python that ran\...
-   [25489](https://github.com/numpy/numpy/pull/25489): MAINT: Update `numpy/f2py/_backends` from main.
-   [25490](https://github.com/numpy/numpy/pull/25490): MAINT: Easy updates of `f2py/*.py` from main.
-   [25491](https://github.com/numpy/numpy/pull/25491): MAINT: Update crackfortran.py and f2py2e.py from main

Checksums

MD5

 7660db27715df261948e7f0f13634f16  numpy-1.26.3-cp310-cp310-macosx_10_9_x86_64.whl
 98d5b98c822de4bed0cf1b0b8f367192  numpy-1.26.3-cp310-cp310-macosx_11_0_arm64.whl
 b71cd0710cec5460292a97a02fa349cd  numpy-1.26.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 0f98a05c92598f849b1be2595f4a52a8  numpy-1.26.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 b866c6aea8070c0753b776d2b521e875  numpy-1.26.3-cp310-cp310-musllinux_1_1_aarch64.whl
 cfdde5868e469fb27655ea73b0b9593b  numpy-1.26.3-cp310-cp310-musllinux_1_1_x86_64.whl
 2655440d61671b5e32b049d30397c58f  numpy-1.26.3-cp310-cp310-win32.whl
 7718a5d33344784ca7821f3bdd467550  numpy-1.26.3-cp310-cp310-win_amd64.whl
 28e4b2ed9192c392f792d88b3c246d1c  numpy-1.26.3-cp311-cp311-macosx_10_9_x86_64.whl
 fb1ae72749463e2c82f0127699728364  numpy-1.26.3-cp311-cp311-macosx_11_0_arm64.whl
 304dec822b508a1d495917610e7562bf  numpy-1.26.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 2cc0d8b073dfd55946a60ba8ed4369f6  numpy-1.26.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 c99962375c599501820899c8ccab6960  numpy-1.26.3-cp311-cp311-musllinux_1_1_aarch64.whl
 47ed42d067ce4863bbf1f40da61ba7d1  numpy-1.26.3-cp311-cp311-musllinux_1_1_x86_64.whl
 3ab3757255feb54ca3793fb9db226586  numpy-1.26.3-cp311-cp311-win32.whl
 c33f2a4518bae535645357a08a93be1a  numpy-1.26.3-cp311-cp311-win_amd64.whl
 bea43600aaff3a4d9978611ccfa44198  numpy-1.26.3-cp312-cp312-macosx_10_9_x86_64.whl
 c678d909ebe737fdabf215d8622ce2a3  numpy-1.26.3-cp312-cp312-macosx_11_0_arm64.whl
 9f21f1875c92425cec1060564b3abb1c  numpy-1.26.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 c44a1998965d45ec136078ee09d880f2  numpy-1.26.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 9274f5c51fa4f3c8fac5efa3d78acd63  numpy-1.26.3-cp312-cp312-musllinux_1_1_aarch64.whl
 07c9f8f86f45077febc46c87ebc0b644  numpy-1.26.3-cp312-cp312-musllinux_1_1_x86_64.whl
 a4857b2f7b6a23bca41178bd344bb28a  numpy-1.26.3-cp312-cp312-win32.whl
 495d9534961d7b10f16fec4515a3d72b  numpy-1.26.3-cp312-cp312-win_amd64.whl
 6494f2d94fd1f184923a33e634692b5e  numpy-1.26.3-cp39-cp39-macosx_10_9_x86_64.whl
 515a7314a0ff6aaba8d53a7a1aaa73ab  numpy-1.26.3-cp39-cp39-macosx_11_0_arm64.whl
 c856adc6a6a78773c43e9c738d662ed5  numpy-1.26.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 09848456158a01feff28f88c6106aef1  numpy-1.26.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 adec00ea2bc98580a436f82e188c0e2f  numpy-1.26.3-cp39-cp39-musllinux_1_1_aarch64.whl
 718bd35dd0431a6434bb30bf8d91d77d  numpy-1.26.3-cp39-cp39-musllinux_1_1_x86_64.whl
 e813aa59cb807efb4a8fee52a6dd41ba  numpy-1.26.3-cp39-cp39-win32.whl
 08e1b0973d0ae5976b38563eaec1253f  numpy-1.26.3-cp39-cp39-win_amd64.whl
 e8887a14750161709636e9fb87df4f36  numpy-1.26.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
 0bdb19040525451553fb5758b65caf4c  numpy-1.26.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 b931c14d06cc37d85d63ed1ddd88e875  numpy-1.26.3-pp39-pypy39_pp73-win_amd64.whl
 1c915dc6c36dd4c674d9379e9470ff8b  numpy-1.26.3.tar.gz

SHA256

 806dd64230dbbfaca8a27faa64e2f414bf1c6622ab78cc4264f7f5f028fee3bf  numpy-1.26.3-cp310-cp310-macosx_10_9_x86_64.whl
 02f98011ba4ab17f46f80f7f8f1c291ee7d855fcef0a5a98db80767a468c85cd  numpy-1.26.3-cp310-cp310-macosx_11_0_arm64.whl
 6d45b3ec2faed4baca41c76617fcdcfa4f684ff7a151ce6fc78ad3b6e85af0a6  numpy-1.26.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 bdd2b45bf079d9ad90377048e2747a0c82351989a2165821f0c96831b4a2a54b  numpy-1.26.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 211ddd1e94817ed2d175b60b6374120244a4dd2287f4ece45d49228b4d529178  numpy-1.26.3-cp310-cp310-musllinux_1_1_aarch64.whl
 b1240f767f69d7c4c8a29adde2310b871153df9b26b5cb2b54a561ac85146485  numpy-1.26.3-cp310-cp310-musllinux_1_1_x86_64.whl
 21a9484e75ad018974a2fdaa216524d64ed4212e418e0a551a2d83403b0531d3  numpy-1.26.3-cp310-cp310-win32.whl
 9e1591f6ae98bcfac2a4bbf9221c0b92ab49762228f38287f6eeb5f3f55905ce  numpy-1.26.3-cp310-cp310-win_amd64.whl
 b831295e5472954104ecb46cd98c08b98b49c69fdb7040483aff799a755a7374  numpy-1.26.3-cp311-cp311-macosx_10_9_x86_64.whl
 9e87562b91f68dd8b1c39149d0323b42e0082db7ddb8e934ab4c292094d575d6  numpy-1.26.3-cp311-cp311-macosx_11_0_arm64.whl
 8c66d6fec467e8c0f975818c1796d25c53521124b7cfb760114be0abad53a0a2  numpy-1.26.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 f25e2811a9c932e43943a2615e65fc487a0b6b49218899e62e426e7f0a57eeda  numpy-1.26.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 af36e0aa45e25c9f57bf684b1175e59ea05d9a7d3e8e87b7ae1a1da246f2767e  numpy-1.26.3-cp311-cp311-musllinux_1_1_aarch64.whl
 51c7f1b344f302067b02e0f5b5d2daa9ed4a721cf49f070280ac202738ea7f00  numpy-1.26.3-cp311-cp311-musllinux_1_1_x86_64.whl
 7ca4f24341df071877849eb2034948459ce3a07915c2734f1abb4018d9c49d7b  numpy-1.26.3-cp311-cp311-win32.whl
 39763aee6dfdd4878032361b30b2b12593fb445ddb66bbac802e2113eb8a6ac4  numpy-1.26.3-cp311-cp311-win_amd64.whl
 a7081fd19a6d573e1a05e600c82a1c421011db7935ed0d5c483e9dd96b99cf13  numpy-1.26.3-cp312-cp312-macosx_10_9_x86_64.whl
 12c70ac274b32bc00c7f61b515126c9205323703abb99cd41836e8125ea0043e  numpy-1.26.3-cp312-cp312-macosx_11_0_arm64.whl
 7f784e13e598e9594750b2ef6729bcd5a47f6cfe4a12cca13def35e06d8163e3  numpy-1.26.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 5f24750ef94d56ce6e33e4019a8a4d68cfdb1ef661a52cdaee628a56d2437419  numpy-1.26.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 77810ef29e0fb1d289d225cabb9ee6cf4d11978a00bb99f7f8ec2132a84e0166  numpy-1.26.3-cp312-cp312-musllinux_1_1_aarch64.whl
 8ed07a90f5450d99dad60d3799f9c03c6566709bd53b497eb9ccad9a55867f36  numpy-1.26.3-cp312-cp312-musllinux_1_1_x86_64.whl
 f73497e8c38295aaa4741bdfa4fda1a5aedda5473074369eca10626835445511  numpy-1.26.3-cp312-cp312-win32.whl
 da4b0c6c699a0ad73c810736303f7fbae483bcb012e38d7eb06a5e3b432c981b  numpy-1.26.3-cp312-cp312-win_amd64.whl
 1666f634cb3c80ccbd77ec97bc17337718f56d6658acf5d3b906ca03e90ce87f  numpy-1.26.3-cp39-cp39-macosx_10_9_x86_64.whl
 18c3319a7d39b2c6a9e3bb75aab2304ab79a811ac0168a671a62e6346c29b03f  numpy-1.26.3-cp39-cp39-macosx_11_0_arm64.whl
 0b7e807d6888da0db6e7e75838444d62495e2b588b99e90dd80c3459594e857b  numpy-1.26.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 b4d362e17bcb0011738c2d83e0a65ea8ce627057b2fdda37678f4374a382a137  numpy-1.26.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 b8c275f0ae90069496068c714387b4a0eba5d531aace269559ff2b43655edd58  numpy-1.26.3-cp39-cp39-musllinux_1_1_aarch64.whl
 cc0743f0302b94f397a4a65a660d4cd24267439eb16493fb3caad2e4389bccbb  numpy-1.26.3-cp39-cp39-musllinux_1_1_x86_64.whl
 9bc6d1a7f8cedd519c4b7b1156d98e051b726bf160715b769106661d567b3f03  numpy-1.26.3-cp39-cp39-win32.whl
 867e3644e208c8922a3be26fc6bbf112a035f50f0a86497f98f228c50c607bb2  numpy-1.26.3-cp39-cp39-win_amd64.whl
 3c67423b3703f8fbd90f5adaa37f85b5794d3366948efe9a5190a5f3a83fc34e  numpy-1.26.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
 46f47ee566d98849323f01b349d58f2557f02167ee301e5e28809a8c0e27a2d0  numpy-1.26.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 a8474703bffc65ca15853d5fd4d06b18138ae90c17c8d12169968e998e448bb5  numpy-1.26.3-pp39-pypy39_pp73-win_amd64.whl
 697df43e2b6310ecc9d95f05d5ef20eacc09c7c4ecc9da3f235d39e71b7da1e4  numpy-1.26.3.tar.gz

1.26.2

@pyup-bot
Copy link
Collaborator Author

pyup-bot commented Mar 1, 2024

Closing this in favor of #274

@pyup-bot pyup-bot closed this Mar 1, 2024
@jamiebull1 jamiebull1 deleted the pyup-scheduled-update-2024-02-01 branch March 1, 2024 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant