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 March #274

Closed
wants to merge 85 commits into from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Mar 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.49.0.

Changelog

4.49.0

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

- [otlLib] Add API for building ``MATH`` table (3446)

4.48.1

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

- Fixed uploading wheels to PyPI, no code changes since v4.48.0.

4.48.0

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

- [varLib] Do not log when there are no OTL tables to be merged.
- [setup.py] Do not restrict lxml<5 any more, tests pass just fine with lxml>=5.
- [feaLib] Remove glyph and class names length restrictions in FEA (3424).
- [roundingPens] Added ``transformRoundFunc`` parameter to the rounding pens to allow
for custom rounding of the components' transforms (3426).
- [feaLib] Keep declaration order of ligature components within a ligature set, instead
of sorting by glyph name (3429).
- [feaLib] Fixed ordering of alternates in ``aalt`` lookups, following the declaration
order of feature references within the ``aalt`` feature block (3430).
- [varLib.instancer] Fixed a bug in the instancer's IUP optimization (3432).
- [sbix] Support sbix glyphs with new graphicType "flip" (3433).
- [svgPathPen] Added ``--glyphs`` option to dump the SVG paths for the named glyphs
in the font (0572f78).
- [designspaceLib] Added "description" attribute to ``<mappings>`` and ``<mapping>``
elements, and allow multiple ``<mappings>`` elements to group ``<mapping>`` elements
that are logically related (3435, 3437).
- [otlLib] Correctly choose the most compact GSUB contextual lookup format (3439).

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.interpolatable] 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).

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).
- [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 (3075)
- [merge] Handle differing default/nominalWidthX in CFF (3070)
- [ttLib] Add missing main.py file to ttLib package (3088)
- [ttx] Fix missing composite instructions in XML (3092)
- [ttx] Fix split tables option to work on filenames containing '%' (3096)
- [featureVars] Process lookups for features other than rvrn last (3099)
- [feaLib] support multiple substitution with classes (3103)

4.39.3

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

- [sbix] Fixed TypeError when compiling empty glyphs whose imageData is None, regression
was introduced in v4.39 (3059).
- [ttFont] Fixed AttributeError on python <= 3.10 when opening a TTFont from a tempfile
SpooledTemporaryFile, seekable method only added on python 3.11 (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).

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 (3042).
- [feaLib] Consult avar for normalizing user-space values in ConditionSets and in
VariableScalars (3042, 3043).
- [ttProgram] Handle string input to Program.fromAssembly() (3038).
- [otlLib] Added a config option to emit GPOS 7 lookups, currently disabled by default
because of a macOS bug (3034).
- [COLRv1] Added method to automatically compute ClipBoxes (3027).
- [ttFont] Fixed getGlyphID to raise KeyError on missing glyphs instead of returning
None. The regression was introduced in v4.27.0 (3032).
- [sbix] Fixed UnboundLocalError: cannot access local variable 'rawdata' (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 (3024).
- [mtiLib] Only add ``Debg`` table with lookup names when ``FONTTOOLS_LOOKUP_DEBUGGING``
env variable is set (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) (2958).
- [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 1.0.0.

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.3.

Changelog

3.8.3

This is the third micro release of the 3.8 series.

Highlights of the 3.8.3 release include:

- Improvements to the MacOS backend
- Fix hanging on `plt.pause`
- Fix warnings about "Secure coding is not enabled for restorable state"
- Fix crash at exit for PGF backend

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.5

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

This release contains two bug-fixes:

- Fix hanging on `plt.pause` on the MacOS backend
- Fix crash on exit when using the PGF backend on Windows

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.4.

Changelog

1.26.4

discovered after the 1.26.3 release. The Python versions supported by
this release are 3.9-3.12. This is the last planned release in the
1.26.x series.

Contributors

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

-   Charles Harris
-   Elliott Sales de Andrade
-   Lucas Colley +
-   Mark Ryan +
-   Matti Picus
-   Nathan Goldbaum
-   Ola x Nilsson +
-   Pieter Eendebak
-   Ralf Gommers
-   Sayed Adel
-   Sebastian Berg
-   Stefan van der Walt
-   Stefano Rivera

Pull requests merged

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

-   [25323](https://github.com/numpy/numpy/pull/25323): BUG: Restore missing asstr import
-   [25523](https://github.com/numpy/numpy/pull/25523): MAINT: prepare 1.26.x for further development
-   [25539](https://github.com/numpy/numpy/pull/25539): BUG: `numpy.array_api`: fix `linalg.cholesky` upper decomp\...
-   [25584](https://github.com/numpy/numpy/pull/25584): CI: Bump azure pipeline timeout to 120 minutes
-   [25585](https://github.com/numpy/numpy/pull/25585): MAINT, BLD: Fix unused inline functions warnings on clang
-   [25599](https://github.com/numpy/numpy/pull/25599): BLD: include fix for MinGW platform detection
-   [25618](https://github.com/numpy/numpy/pull/25618): TST: Fix test_numeric on riscv64
-   [25619](https://github.com/numpy/numpy/pull/25619): BLD: fix building for windows ARM64
-   [25620](https://github.com/numpy/numpy/pull/25620): MAINT: add `newaxis` to `__all__` in `numpy.array_api`
-   [25630](https://github.com/numpy/numpy/pull/25630): BUG: Use large file fallocate on 32 bit linux platforms
-   [25643](https://github.com/numpy/numpy/pull/25643): TST: Fix test_warning_calls on Python 3.12
-   [25645](https://github.com/numpy/numpy/pull/25645): TST: Bump pytz to 2023.3.post1
-   [25658](https://github.com/numpy/numpy/pull/25658): BUG: Fix AVX512 build flags on Intel Classic Compiler
-   [25670](https://github.com/numpy/numpy/pull/25670): BLD: fix potential issue with escape sequences in `__config__.py`
-   [25718](https://github.com/numpy/numpy/pull/25718): CI: pin cygwin python to 3.9.16-1 and fix typing tests \[skip\...
-   [25720](https://github.com/numpy/numpy/pull/25720): MAINT: Bump cibuildwheel to v2.16.4
-   [25748](https://github.com/numpy/numpy/pull/25748): BLD: unvendor meson-python on 1.26.x and upgrade to meson-python\...
-   [25755](https://github.com/numpy/numpy/pull/25755): MAINT: Include header defining backtrace
-   [25756](https://github.com/numpy/numpy/pull/25756): BUG: Fix np.quantile(\[Fraction(2,1)\], 0.5) (#24711)

Checksums

MD5

 90f33cdd8934cd07192d6ede114d8d4d  numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl
 63ac60767f6724490e587f6010bd6839  numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl
 ad4e82b225aaaf5898ea9798b50978d8  numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 d428e3da2df4fa359313348302cf003a  numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 89937c3bb596193f8ca9eae2ff84181e  numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl
 de4f9da0a4e6dfd4cec39c7ad5139803  numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl
 2c1f73fd9b3acf4b9b0c23e985cdd38f  numpy-1.26.4-cp310-cp310-win32.whl
 920ad1f50e478b1a877fe7b7a46cc520  numpy-1.26.4-cp310-cp310-win_amd64.whl
 719d1ff12db38903dcfd6749078fb11d  numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl
 eb601e80194d2e1c00d8daedd8dc68c4  numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl
 71a7ab11996fa370dc28e28731bd5c32  numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 eb0cdd03e1ee2eb45c57c7340c98cf48  numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 9d4ae1b0b27a625400f81ed1846a5667  numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl
 1b6771350d2f496157430437a895ba4b  numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl
 1e4a18612ee4d0e54e0833574ebc6d25  numpy-1.26.4-cp311-cp311-win32.whl
 5fd325dd8704023c1110835d7a1b095a  numpy-1.26.4-cp311-cp311-win_amd64.whl
 d95ce582923d24dbddbc108aa5fd2128  numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl
 6f16f3d70e0d95ce2b032167c546cc95  numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl
 5369536d4c45fbe384147ff23185b48a  numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 1ceb224096686831ad731e472b65e96a  numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 cd8d3c00bbc89f9bc07e2df762f9e2ae  numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl
 5bd81ce840bb2e42befe01efb0402b79  numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl
 2cc3b0757228078395da3efa3dc99f23  numpy-1.26.4-cp312-cp312-win32.whl
 305155bd5ae879344c58968879584ed1  numpy-1.26.4-cp312-cp312-win_amd64.whl
 ec2310f67215743e9c5d16b6c9fb87b6  numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl
 406aea6081c1affbebdb6ad56b5deaf4  numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl
 fee12f0a3cbac7bbf1a1c2d82d3b02a9  numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 baf4b7143c7b9ce170e62b33380fb573  numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 376ff29f90b7840ae19ecd59ad1ddf53  numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl
 86785b3a7cd156c08c2ebc26f7816fb3  numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl
 ab8a9ab69f16b7005f238cda76bc0bac  numpy-1.26.4-cp39-cp39-win32.whl
 fafa4453e820c7ff40907e5dc79d8199  numpy-1.26.4-cp39-cp39-win_amd64.whl
 7f13e2f07bd3e4a439ade0e4d27905c6  numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
 928954b41c1cd0e856f1a31d41722661  numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 57bbd5c0b3848d804c416cbcab4a0ae8  numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl
 19550cbe7bedd96a928da9d4ad69509d  numpy-1.26.4.tar.gz

SHA256

 9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0  numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl
 2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a  numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl
 d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4  numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f  numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a  numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl
 a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2  numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl
 bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07  numpy-1.26.4-cp310-cp310-win32.whl
 b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5  numpy-1.26.4-cp310-cp310-win_amd64.whl
 4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71  numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl
 edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef  numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl
 7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e  numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5  numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a  numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl
 60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a  numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl
 1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20  numpy-1.26.4-cp311-cp311-win32.whl
 cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2  numpy-1.26.4-cp311-cp311-win_amd64.whl
 b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218  numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl
 03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b  numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl
 9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b  numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed  numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a  numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl
 1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0  numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl
 50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110  numpy-1.26.4-cp312-cp312-win32.whl
 08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818  numpy-1.26.4-cp312-cp312-win_amd64.whl
 7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c  numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl
 52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be  numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl
 d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764  numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3  numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd  numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl
 47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c  numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl
 a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6  numpy-1.26.4-cp39-cp39-win32.whl
 3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea  numpy-1.26.4-cp39-cp39-win_amd64.whl
 afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30  numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
 95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c  numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0  numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl
 2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010  numpy-1.26.4.tar.gz

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/n

@pyup-bot
Copy link
Collaborator Author

pyup-bot commented Apr 1, 2024

Closing this in favor of #275

@pyup-bot pyup-bot closed this Apr 1, 2024
@jamiebull1 jamiebull1 deleted the pyup-scheduled-update-2024-03-01 branch April 1, 2024 16:36
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