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 daily dependency update on Monday #1359

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Dec 9, 2024

Update backtrader from 1.9.76.123 to 1.9.78.123.

Changelog

1.9.78.123

- PR479 Fix errors for simulated orders

1.9.77.123

- PR472
 - Added posibitity for Black theme for charts
 - Added posibitity to run on matplotlib 3.6+
 - Added posibitity to run on Python 3.9+
Links

Update alpaca-trade-api from 1.4.3 to 3.2.0.

Changelog

3.2.0

What's Changed
* Add Python 3.11 support. by fumoboy007 in https://github.com/alpacahq/alpaca-trade-api-python/pull/673
* Support Python 3.12 by hiohiohio in https://github.com/alpacahq/alpaca-trade-api-python/pull/745
* v3.2.0 by hiohiohio in https://github.com/alpacahq/alpaca-trade-api-python/pull/746


**Full Changelog**: https://github.com/alpacahq/alpaca-trade-api-python/compare/v3.1.1...v3.2.0

3.1.0

What's Changed
* Add sort parameter and re-add historical crypto quotes by gnvk in https://github.com/alpacahq/alpaca-trade-api-python/pull/718
* fix: Use warnings.catch_warnings() instead of pytest.warns(None) by hiohiohio in https://github.com/alpacahq/alpaca-trade-api-python/pull/741
* Allow error messages without code field by gnvk in https://github.com/alpacahq/alpaca-trade-api-python/pull/738
* v3.1.0 by gnvk in https://github.com/alpacahq/alpaca-trade-api-python/pull/742


**Full Changelog**: https://github.com/alpacahq/alpaca-trade-api-python/compare/v3.0.2...v3.1.0

3.0.1

What's Changed
* Updating existing crypto APIs to v1beta2 and adding in Latest Orderbooks by andrewwoood in https://github.com/alpacahq/alpaca-trade-api-python/pull/650
* Crypto v1beta3 by haxdds in https://github.com/alpacahq/alpaca-trade-api-python/pull/687
* Fix streaming news article event dispatching by fumoboy007 in https://github.com/alpacahq/alpaca-trade-api-python/pull/691
* Only call the news handler once for a single message by gnvk in https://github.com/alpacahq/alpaca-trade-api-python/pull/693
* Call each different news handler once by gnvk in https://github.com/alpacahq/alpaca-trade-api-python/pull/694

New Contributors
* andrewwoood made their first contribution in https://github.com/alpacahq/alpaca-trade-api-python/pull/650
* fumoboy007 made their first contribution in https://github.com/alpacahq/alpaca-trade-api-python/pull/691

**Full Changelog**: https://github.com/alpacahq/alpaca-trade-api-python/compare/v2.3.0...v3.0.1

2.3.0

What's Changed
* Fix missing URL import for the Stream class example in README by hiohiohio in https://github.com/alpacahq/alpaca-trade-api-python/pull/628
* Fixed grammar and spelling by ALifeLivedFully in https://github.com/alpacahq/alpaca-trade-api-python/pull/629
* Add optional asof for historical marketdata endpoints by gnvk in https://github.com/alpacahq/alpaca-trade-api-python/pull/632

New Contributors
* hiohiohio made their first contribution in https://github.com/alpacahq/alpaca-trade-api-python/pull/628
* ALifeLivedFully made their first contribution in https://github.com/alpacahq/alpaca-trade-api-python/pull/629

**Full Changelog**: https://github.com/alpacahq/alpaca-trade-api-python/compare/v2.2.0...v2.3.0

2.2.0

What's Changed
* Updated Stream Instructions for `sip` parameter in README by hinchcliffz in https://github.com/alpacahq/alpaca-trade-api-python/pull/615
* Remove drew887 as owner by drew887 in https://github.com/alpacahq/alpaca-trade-api-python/pull/621
* Fix typo in streamconn_on_and_off example by MorSof in https://github.com/alpacahq/alpaca-trade-api-python/pull/623
* Add optional feed argument to the market data methods by gnvk in https://github.com/alpacahq/alpaca-trade-api-python/pull/625

New Contributors
* hinchcliffz made their first contribution in https://github.com/alpacahq/alpaca-trade-api-python/pull/615
* MorSof made their first contribution in https://github.com/alpacahq/alpaca-trade-api-python/pull/623

**Full Changelog**: https://github.com/alpacahq/alpaca-trade-api-python/compare/v2.1.0...v2.2.0

2.1.0

PRs in this release:

- Add auto deployment to pypi (612) from drew887 
- Adds a 'side' param to Rest::list_orders (610) from drew887 
- Add issue template for general SDK questions (608) from drew887 
- Update issue templates (606) from drew887 
- Adds stream crypto orderbook (597) from ccnlui

2.0.0

:warning:  Note this release is a **Breaking Change** due to the removal of Market Data V1 capabilities 

- Adds a param to the stream classes to allow overriding of websocket defaults (596)
- Scheduled weekly dependency update for week 12 (592)
- Increase ping timeout (591)
- Send subscription requests in parts (586)
- Remove marketdata v1 functions (590)
- Updating overnight-hold to use the new data api (async get bars) (562)
- Add Week and Month timeframe units (583)
- Multi symbol support for the latest crypto endpoints (580)


You can view this release on [PyPi here](https://pypi.org/project/alpaca-trade-api/2.0.0/)

1.5.1

* Move updated bars to their own subscription by gnvk [574 ](https://github.com/alpacahq/alpaca-trade-api-python/commit/43f0766eaaeadaabc8ab08e2a0554c95fc1ec265)
* empty handler check when unregister cancel errors + corrections by ccnlui [577](https://github.com/alpacahq/alpaca-trade-api-python/commit/294b105439602d46b388c2cbf88275cee15c2261)
* Adds support for Python 3.10 by ccnlui [561](https://github.com/alpacahq/alpaca-trade-api-python/pull/561)
* Fixes Incorrect Access Issue on Long-Short Example by haxdds [560](https://github.com/alpacahq/alpaca-trade-api-python/commit/4e65915e080c4c74e853c6706d839bdb924f2184)

1.5.0

What's Changed
* Add news api by ccnlui in https://github.com/alpacahq/alpaca-trade-api-python/pull/555
* Drops Support For Python 3.6 by haxdds in https://github.com/alpacahq/alpaca-trade-api-python/pull/544
* Mark v1 marketdata endpoints deprecated by gnvk in https://github.com/alpacahq/alpaca-trade-api-python/pull/558
* Adds Raw Data Support for TradingStream by haxdds in https://github.com/alpacahq/alpaca-trade-api-python/pull/556


**Full Changelog**: https://github.com/alpacahq/alpaca-trade-api-python/compare/v1.4.3...v1.5.0
Links

Update exchange-calendars from 3.4 to 4.6.

Changelog

4.6

What’s Changed
* Extend XTKS hours to 15:30 (433) mzjp2
* XSES: 2025 trading calendar (434) w3stling
* XTKS: Add 2025 vernal and autumnal equinoxes (431) w3stling

4.5.8

What’s Changed
* Avoid using legacy time zone name 'CET' in tests (430) EdwardBetts
* Update devcontainer (428) w3stling
* Bump actions/cache from 4.1.1 to 4.1.2 (426) dependabot

4.5.7

What’s Changed

> [!IMPORTANT]
> **Minimum supported Python version is now 3.10**

This release offers a notable update to the **XTAI** calendar which now accurately represents holidays from 2024.

Thank you to all those who have contributed!

Calendar Updates

* XKRX: Add Armed Forces Day - Designated as a Temporary Public Holiday… (421) junbonglee
* Update XTAI holidays from 2024 (414) ruralscenery
* Include calendar aliases for ARCX, XTSX, OOTC (384) pavelstovicek

Maintenance
* Bump min support Python to 3.10 (416) maread99
* Update dependencies (425 and 415) maread99

4.5.6

What’s Changed
* Add HKEx Typhoon no.8 no trading day (412) vincentwyshan
* Typhoon day update (407) kakko-jia
* Avoid using legacy time zone names in tests (406) EdwardBetts

4.5.5

What’s Changed

> [!NOTE]
> `exchange_calendars` now supports numpy 2.0.

New Calendars
* Add EEX (385 and 386) romanzdk
* Add exchanges Dusseldorf & Hamburg (387) ValueRaider

Calendar Updates
* Shift Frankfurt early close (387) ValueRaider
* XSAU: add 2024 holidays + small refactor (388) ValueRaider
* XBOM add missing 2024 holiday (390) Mr-MayankThakur

Dependencies
* Bump supported python upper limit to 3.12 (403) maread99
* Update deps, support numpy 2.0 and pandas 3.0 dev (402) maread99

Under-the-bonnet
* Ensure ad-hoc holidays are proper Pandas timestamps. (398) jenskeiner
* BUG: Fix timezone names (393) jenskeiner

Thank you to all contributors!

4.5.4

What’s Changed
* Bump actions/cache from 4.0.1 to 4.0.2 (378) dependabot
* Bump actions/cache from 4.0.0 to 4.0.1 (377) dependabot

Calendar Updates

* XMOS working weekends (376) iMikeBug
* feat: added new national holiday to BVMF calendar (380) rafaelbo
* ENH: XKRX: Add parliamentary election day 2024 (368) herebebeasties
* XDUB: Add May bank holiday post-2021 (382 ) mzjp2

4.5.3

What’s Changed

**Lots of calendar updates and a couple of fixes.**

Particular thanks to all new contributors, not least herebebeasties for a host of PRs!

Calendar Updates
* XASX Dec 2022 early closes fix (374) herebebeasties
* XCSE: Prayers day has been abolished in Denmark (367) herebebeasties
* CSHG Add 2024-02-09 Chinese New Year (365) herebebeasties
* XMOS: updated holidays from 2020  (352) iMikeBug

Bug Fixes
* Fix `AttributeError` raising in ecal (361) maread99
* Fix end-date-only TZ logic in holiday.py (370) herebebeasties

Documentation
* Update README.md (364) da4089

Maintenance
* Update dependencies (375) maread99

Test Changes
* Fix missing assertion in XSGO calendar tests (369) herebebeasties

4.5.2

What’s Changed

Calendar Updates

* XSHG update 2024 holidays (351) vincentwyshan

Maintenance
* Update dependencies and fix pandas 2.2 deprecation warnings (358) maread99

Bug Fixes
* Fix 355 ecal error (358) maread99

Tests
* Additional tests for XTKS 2024 (349) beppe712

4.5.1

What’s Changed

Calendar Updates
* XBOM: Add 2024 holidays to XBOM (346) shenyingge
* HKEx stop trading on 20230717 because TYPHOON SIGNAL NO.8 (345) vincentwyshan
* XTKS: Add 2024 Vernal and Autumnal equinoxes (342) Quashqwart
* XSES: Draft 2024 trading calendar (343) philiptromans
* XKRX: Add extra holiday on 2023-10-02 (336) philiptromans

Maintenance
* Rename Asia/Calcutta to Asia/Kolkata (338) EdwardBetts
* Update dependencies (348 and 340) maread99

Documentation Updates
* Update tutorials (334) maread99

4.5

What’s Changed

> [!IMPORTANT]
> **`exchange-calendars` no longer uses the third-party `pytz` library.**  From 4.5 timezones are represented by instances of `ZoneInfo` (see standard library [`zoneinfo`](https://docs.python.org/3/library/zoneinfo.html)).
> 
> Thank you `pytz` for all you did for as long as you did it!

> [!NOTE]
> There is no `exchange-calendars` version 4.4. The version that immediately follows 4.3 is 4.5.

Calendar Updates
* XSHG: Add 2023-10-06 as a holiday  (330) philiptromans

Maintenance
* Migrate from `pytz` to `zoneinfo` (329) maread99

4.3

What’s Changed

> [!NOTE]
> **Minimum supported Python version is now 3.9**

4.2.8

What’s Changed

Calendar Updates
* **New Calendar XASU!** Adds calendar for Saudi Arabia XASU exchange (310) oldfishdk
* XKRX: Holiday in lieu for Buddha's birthday (311) philiptromans
* XSHG: Add 2023-06-23 as part of Dragon Boat Festival. (312) philiptromans

Maintenance
* Update dependecies (313) maread99

4.2.7

What’s Changed

* Update ecal.py - pandas 2.0.0 data_range closed was removed (307) paologibertini

Calendar Updates

* XWBO: Made Whitmonday a trading day in 2023. (308) philiptromans
* Correct XKLS Holidays for 2023 (306) tys203831

4.2.6

What’s Changed

Calendar Updates
* Added extra days for Labor day 2023 (298) philiptromans
* XLON: add King Charles III coronation day (296) mixilchenko
* Add missing Sukkoth interim days. (287) jenskeiner
* Add ad-hoc holidays for XIST trading suspension due to earthquake. (285) jenskeiner

Bug Fixes
* Fix for XKRX with pandas 2.0 (299) maread99

Maintenance
* Update dependencies and changes for pandas 2.0 (299) maread99
* Bump actions/cache from 3.2.5 to 3.3.1 (293) dependabot
* Bump actions/cache from 3.2.3 to 3.2.5 (284) dependabot

4.2.5

What’s Changed

Calendar Updates

* Remove First president day from AIXK (265) romanzdk
* Add 2023 adjusted holidays for XTAI (280) jessiejessiewang
* XASX: 'last trading days'  xmas 2022 are full-days not half (279) ValueRaider
* Fix XTKS 2023 holidays according to JPX calendar (278) beppe712
* Updated with 2023 Calendar dates for XBOM (273) srinivasakumar-a
* XTAE: Add Sukkot interim days (268) ValueRaider
* XSES: Add dates for 2023 (264) philiptromans

Internal Updates

* Bump actions/cache from 3.2.2 to 3.2.3 (277) dependabot
* Bump actions/cache from 3.2.1 to 3.2.2 (272) dependabot
* Update dependencies (271) maread99
* Bump actions/cache from 3.0.11 to 3.2.1 (270) dependabot
* Revise `_TradingIndex` tests (263) maread99

Documentation Updates

* Update README (262) maread99

4.2.4

What’s Changed
Calendar Updates
* XNZE: QEII day of mourning (239) ValueRaider
* XNZE: QEII holiday - updating tests csv (240) ValueRaider
* XTAE: Add election day 2022-11-01 (258) ValueRaider
* update republic day (255) romanzdk

Enhancements
* XTAE: fix wrong start time, add early Sunday close (247) ValueRaider
* Complete implementation of weekdays early close (254) maread99
* trading_index() align (256) ValueRaider maread99

Documentation Updates
* Update `trading_index` tutorial (260) maread99

Maintenance
* Update release workflow (again) (237) maread99
* Update dependencies (245) maread99
* Update dependencies (261) maread99

4.2.3

What’s Changed

Continuous Integration
* Disable install check from release workflow (236) maread99

4.2.2

NB github release 4.2.2 was not released to PyPI. The below changes were incorporated into PyPI release 4.2.3.

What’s Changed

Continuous Integration
* Revert (partially) release workflow (235) maread99

4.2.1

NB github release 4.2.1 was not released to PyPI. The below changes were incorporated in PyPI release 4.2.3.

What’s Changed

Calendar Updates
* XLON: add Queen Elizabeth II funeral day 2022-09-12 (230) monkeyusage
* XSHG: Added 2022-10-06 and 2022-10-07 as market holidays (228) philiptromans
* XASX: Added National Day of Mourning for Her Majesty the Queen (232) philiptromans

Continuous Integration
* Update release workflow (234) maread99

Maintenance
* Update dependencies (227) maread99
* Bump actions/cache from 3.0.7 to 3.0.8 (226) dependabot

4.2

What’s Changed

Calendar changes

* XSHG: Added 2022-09-12 as a market holiday (mid-autumn festival). (224) philiptromans
* Made 2022-09-12 a holiday in XHKG. (222) philiptromans

Other Changes

* Fix etc/make_exchange_calendar_test_csv.py (223) philiptromans
* Bump actions/cache from 3.0.6 to 3.0.7 (221) dependabot
* Bump actions/cache from 3.0.5 to 3.0.6 (220) dependabot
* ecal should use timezone naive date (219) knoguchi
* Bump actions/cache from 3.0.4 to 3.0.5 (218) dependabot

4.1.1

What’s Changed

Bug Fixes
* Update resolving of __init__.__version__ (214) maread99

Calendar Updates
* Add New Zealand holiday Matariki Day (215) ValueRaider

Continuous Integration
* Update release workflow (216) maread99

4.1

What’s Changed

Maintenance
* Rename `bounds*` class methods (211) maread99
* Update release.yml (211) maread99

Build Changes
* Move versioning to setuptools-scm and build to pyproject.toml (209) maread99

4.0.2

What’s Changed

Build
* Add package data to setup.cfg (208) maread99

4.0.1

What’s Changed

Fixes 4.0 import error (203)

Build
* Add sub-packages to build. {204) maread99

4.0

What’s Changed

Development
* Change sessions to tz-naive, times to UTC (179) maread99
* v4 dev: revises \*window, bound\*, default\* and prev/next session/minute methods (184) maread99
* v4 dev: Rename parameters, deprecate methods and remove deprecated methods (186) maread99
* v4 dev: Change default side to "left" and post v4 linting (191) maread99

Enhancements
* Add ExchangeCalendar.is_open_at_time (199) maread99

Documentation
v4 dev: Update doc and tutorials for 4.0 (194) maread99

Calendar Changes
* Removed Whit Monday and Day of German Unity holidays in 2022 (185) philiptromans

Maintenance
* v4 dev: fix warnings and update trading index (180) maread99
* v4 dev: Advance min python version to 3.8 (187) maread99
* Bump actions/cache from 3.0.3 to 3.0.4 (190) dependabot
* Bump actions/setup-python from 3 to 4 (193) dependabot

Build
* Move build meta to setup.cfg, update requirements files and workflows (198) maread99

Master merge 201

3.6.3

What’s Changed

Calendar Changes
* Added Juneteenth as a public holiday in XCBF. (173) philiptromans
* Add lunch break for XTKS (172) wec7
* Add lunch break for XSHG (169) codeterm
* Update BVMF - remove state and municipal holidays (167) pbabics

Documentation
* Add doc + types and moves 'special offsets' implementation to XKRX (177) maread99
* Update README.md (176) maread99

3.6.2

Calendar Changes

* XFRA: Added 2022 exceptions for Whit Monday and Day of German Unity. (166) philiptromans
* Fix calendar BVMF for 2022-01-25 (162) pbabics


Other changes

* Bump actions/cache from 3.0.1 to 3.0.2 (163) dependabot
* Bump actions/cache from 2.1.7 to 3.0.1 (161) dependabot
* Update ExchangeCalendar.trading_index (159) maread99

3.6.1

Calendar Updates
* Added missing XKRX holidays (2022-03-09 and 2022-06-01) by philiptromans in https://github.com/gerrymanoim/exchange_calendars/pull/150
* Add missing Qingming and Labor Day holidays in XSHG. by philiptromans in https://github.com/gerrymanoim/exchange_calendars/pull/156
* Add special open for BVMF on Ash Wednesday by pbabics in https://github.com/gerrymanoim/exchange_calendars/pull/154
* Attempt to fix Korean lunar calendar bug. by philiptromans in https://github.com/gerrymanoim/exchange_calendars/pull/152

Dev updates

* Bump actions/checkout from 2.4.0 to 3 by dependabot in https://github.com/gerrymanoim/exchange_calendars/pull/153
* Bump actions/setup-python from 2.3.2 to 3 by dependabot in https://github.com/gerrymanoim/exchange_calendars/pull/151



**Full Changelog**: https://github.com/gerrymanoim/exchange_calendars/compare/3.6...3.6.1

3.6

Holiday Updates

* Fix XTKS 2022 holidays according to JPX calendar by beppe712 in https://github.com/gerrymanoim/exchange_calendars/pull/135
* XLON: Add Platinum Jubilee Day and move Spring Bank Holiday. by jenskeiner in https://github.com/gerrymanoim/exchange_calendars/pull/141
* ENH: Add "2022-01-27" as a holiday in XTAI by wec7 in https://github.com/gerrymanoim/exchange_calendars/pull/140
* Added public holidays before 1999 in XSHG. by qiuwei in https://github.com/gerrymanoim/exchange_calendars/pull/147

Dev Changes

* Bump actions/setup-python from 2.3.1 to 2.3.2 by dependabot in https://github.com/gerrymanoim/exchange_calendars/pull/144
* TST: bump pandas and fix resulting test failures by gerrymanoim in https://github.com/gerrymanoim/exchange_calendars/pull/146
* TST: add py10 to the testing ci by gerrymanoim in https://github.com/gerrymanoim/exchange_calendars/pull/149

New Contributors
* beppe712 made their first contribution in https://github.com/gerrymanoim/exchange_calendars/pull/135
* wec7 made their first contribution in https://github.com/gerrymanoim/exchange_calendars/pull/140
* qiuwei made their first contribution in https://github.com/gerrymanoim/exchange_calendars/pull/147

**Full Changelog**: https://github.com/gerrymanoim/exchange_calendars/compare/3.5.1...3.6

3.5.1

What’s Changed
* Add US Juneteenth holiday to XNYS calendar starting in 2022 (133) prerak-proof
* Update README.md (132) maread99
* Update AIXK calendar accoriding to 2022 trading calendar (131) pbabics
* Added 2022-01-31 as a public holiday in XSHG, and update XBOM (127) philiptromans
* XKRX: add krx holidays in 2022 and 2021 temporary holidays (125) chado13

3.5

What’s Changed

Calendar Updates

* Updated XSES for 2022 (123) philiptromans
* Made Good Friday always a holiday in XCBF (121) philiptromans
* Updated XMAD calendar for New Years Eve 2021 holiday (120) philiptromans
* XSHG: Added extra day of Spring holiday on 2020-01-31 (119) philiptromans
* Added XHKG typhoon on 2021-10-13 (118) philiptromans
* XMAD Christmas Eve regular holiday from 2021 (116) philiptromans
* Correct XKLS Holidays for 2022 (109) mrkgoh

Functionality updates

* Add `ExchangeCalendar.minutes_distance` (122) maread99
* Add `factory_bounds.py` to /etc (111) maread99
* Remove `QuantopianUSFuturesCalendar.default_start` (113) maread99
* Fix deprecated `open_and_close_for_session` (108) maread99

Dev

* Bump actions/setup-python from 2.3.0 to 2.3.1 (117) dependabot
* Bump actions/setup-python from 2.2.2 to 2.3.0 (114) dependabot
* Bump actions/cache from 2.1.6 to 2.1.7 (115) dependabot
* Bump actions/checkout from 2.3.5 to 2.4.0 (110) dependabot
Links

Update matplotlib from 2.2.5 to 3.9.3.

Changelog

3.9.3

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

This release contains several bug-fixes and adjustments:

- Fix `axline` with extremely small slopes
- Fix `axline` with non-linear axis scales
- Fix `minimumSizeHint` with Qt backend
- Fix config directory usage when it's behind a symlink
- Fix draggable legend when blitting is enabled
- Fix high CPU utilization in the `macosx` backend
- Fix multiple hatch `edgecolors` passed to `contourf`
- Improve compatibility with `pytest` 8.2.0

3.9.2

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

This release contains several bug-fixes and adjustments:

- Be more resilient to I/O failures when writing font cache
- Fix nondeterministic behavior with subplot spacing and constrained layout
- Fix sticky edge tolerance relative to data range
- Improve formatting of image values in cases of singular norms

Windows wheels now bundle the MSVC runtime DLL statically to avoid inconsistencies with other wheels and random crashes depending on import order.

3.9.1

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

This release contains several bug-fixes and adjustments:

- Add GitHub artifact attestations for sdist and wheels
- Re-add `matplotlib.cm.get_cmap`; note this function will still be removed at a later date
- Allow duplicate backend entry points
- Fix `Axes` autoscaling of thin bars at large locations
- Fix `Axes` autoscaling with `axhspan` / `axvspan`
- Fix `Axes3D` autoscaling of `Line3DCollection` / `Poly3DCollection`
- Fix `Axes3D` mouse interactivity with non-default roll angle
- Fix box aspect ratios in `Axes3D` with alternate vertical axis
- Fix case handling of backends specified as `module://...`
- Fix crash with TkAgg on Windows with `tk.window_focus: True`
- Fix interactive update of SubFigures
- Fix interactivity when using the IPython console
- Fix pickling of AxesWidgets and SubFigures
- Fix scaling on GTK3Cairo / GTK4Cairo backends
- Fix text wrapping within SubFigures
- Promote `mpltype` Sphinx role to a public extension; note this is only intended for development reasons

3.9.0

Highlights of this release include:

- Plotting and Annotation improvements
- Axes.inset_axes is no longer experimental
- Legend support for Boxplot
- Percent sign in pie labels auto-escaped with usetex=True
- hatch parameter for stackplot
- Add option to plot only one half of violin plot
- axhline and axhspan on polar axes
- Subplot titles can now be automatically aligned
- axisartist can now be used together with standard Formatters
- Toggle minorticks on Axis
- StrMethodFormatter now respects axes.unicode_minus
- Figure, Axes, and Legend Layout
- Subfigures now have controllable zorders
- Getters for xmargin, ymargin and zmargin
- Mathtext improvements
- mathtext documentation improvements
- mathtext spacing corrections
- Widget Improvements
- Check and Radio Button widgets support clearing
- 3D plotting improvements
- Setting 3D axis limits now set the limits exactly
- Other improvements
- New BackendRegistry for plotting backends
- Add widths, heights and angles setter to EllipseCollection
- image.interpolation_stage rcParam
- Arrow patch position is now modifiable
- NonUniformImage now has mouseover support

3.9.0rc2

This is the second release candidate for the meso release 3.9.0.

3.8.4

This is the fourth micro release of the 3.8 series.
 
Highlights of the 3.8.4 release include:
 
- Enable building against numpy 2.0; released wheels are built against numpy 2
- macosx: Clean up single-shot timers correctly
- Add a draw during show for macos backend
- Fix color sequence data for Set2 and Set3
- gtk: Ensure pending draws are done before GTK draw
- Update "Created with" url in hand.svg
- Avoid modifying user input to Axes.bar
- fix quiver3d incorrect arrow colors

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`

3.6.2

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

This release contains several bug-fixes and adjustments:

* Avoid mutating dictionaries passed to `subplots`
* Fix `bbox_inches='tight'` on a figure with constrained layout enabled
* Fix auto-scaling of `ax.hist` density with `histtype='step'`
* Fix compatibility with PySide6 6.4
* Fix evaluating colormaps on non-NumPy arrays
* Fix key reporting in pick events
* Fix thread check on PyPy 3.8
* Handle input to `ax.bar` that is all NaN
* Make rubber band more visible on Tk and Wx backends
* Restore (and warn on) seaborn styles in `style.library`
* Restore `get_renderer` function in deprecated `tight_layout`
* nb/webagg: Fix resize handle on WebKit browsers (e.g., Safari)

3.6.1

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

This release contains several bug-fixes and adjustments:

* A warning is no longer raised when constrained layout explicitly
disabled and tight layout is applied
* Add missing `get_cmap` method to `ColormapRegistry`
* Adding a colorbar on a `ScalarMappable` that is not attached to an
`Axes` is now deprecated instead of raising a hard error
* Fix `barplot` being empty when first element is NaN
* Fix `FigureManager.resize` on GTK4
* Fix `fill_between` compatibility with NumPy 1.24 development version
* Fix `hexbin` with empty arrays and log scaling
* Fix `resize_event` deprecation warnings when creating figure on macOS
* Fix build in mingw
* Fix compatibility with PyCharm's interagg backend
* Fix crash on empty `Text` in PostScript backend
* Fix generic font families in SVG exports
* Fix horizontal colorbars with hatches
* Fix misplaced mathtext using `eqnarray`
* `stackplot` no longer changes the Axes cycler

3.5.3

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

This release contains several bug-fixes and adjustments:

* Fix alignment of over/under symbols
* Fix bugs in colorbars:
 * alpha of extensions
 * `drawedges=True` with extensions
 * handling of `panchor=False`
* Fix builds on Cygwin and IBM i
* Fix contour labels in `SubFigure`s
* Fix cursor output:
  * for `imshow` with all negative values
 * when using `BoundaryNorm`
* Fix interactivity in IPython/Jupyter
* Fix NaN handling in `errorbar`
* Fix NumPy conversion from AstroPy unit arrays
* Fix positional *markerfmt* passed to `stem`
* Fix unpickling:
 * crash loading in a separate process
 * incorrect DPI when HiDPI screens

3.5.2

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

This release contains several bug-fixes and adjustments:

* Add support for Windows on ARM (source-only; no wheels provided yet)
* Add year to concise date formatter when displaying less than 12 months
* Disable `QuadMesh` mouse cursor to avoid severe performance regression in `pcolormesh`
* Delay backend selection to allow choosing one in more cases
* Fix automatic layout bugs in EPS output
* Fix autoscaling of `scatter` plots
* Fix clearing of subfigures
* Fix colorbar exponents, inversion of extensions, and use on inset axes
* Fix compatibility with various NumPy-like classes (e.g., Pandas, xarray, etc.)
* Fix constrained layout bugs with mixed subgrids
* Fix `errorbar` with dashes
* Fix errors in conversion to GTK4 and Qt6
* Fix figure options accidentally re-ordering data
* Fix keyboard focus of TkAgg backend
* Fix manual selection of contour labels
* Fix path effects on text with whitespace
* Fix `quiver` in subfigures
* Fix `RangeSlider.set_val` displaying incorrectly
* Fix regressions in collection data limits
* Fix `stairs` with no edgecolor
* Fix some leaks in Tk backends
* Fix tight layout DPI confusion
* Fix tool button customizability and some tool manager bugs
* Only set Tk HiDPI scaling-on-map for Windows systems
* Partially allow TTC font collection files by selecting the first font

3.5.1

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

This release contains several critical bug-fixes:

* fix installation issues when setting a default backend
* fix `add_lines` on horizontal colorbars
* fix `streamplot` with start points on right or top edge
* fix colorbars with boundaries or `NoNorm`
* fix colorbars with negative contours
* fix colorbars with tight layout
* fix setting Axis label alignment to center
* fix subfigure tight bounding box
* fix subplot parameter window on macosx backend
* fix unit handling in `Collections.set_offsets`
* fix unyt integration in `errorbar`
* re-display date offset in `ConciseDataFormatter` after zoom
* reduce `do_3d_projection` deprecation warnings in external artists

3.4.3

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

This release contains several critical bug-fixes:

* Clarify deprecation of `Axes.figbox`
* Disable `MultiCursor` widget on `Axes` subplots which it is not tracking
* Don't simplify path in `LineCollection.get_segments`
* Fix DPI in subfigures, affecting tick spacing, and scatter marker size
* Fix broken EPS output when using Type 42 STIX fonts
* Fix change in tick behaviour when calling `Axes.clear`
* Fix class docstrings for `Norm`s created from `Scale`s
* Fix compatibility with NumPy 1.21.0
* Fix crash on broken TrueType fonts
* Fix incorrect hits from `Path.intersects_path`
* Fix leak if affine_transform is passed invalid vertices
* Fix legends of `stackplot` with `edgecolors='face'`
* Fix plot directive when building in parallel
* Fix `supxlabel` and `supylabel` behaviour in constrained layout
* Fix tests with latest Inkscape and Ghostscript
* Improve `DateFormatter` styling for month names when `usetex=True`
* Re-disable autoscaling after interactive zoom
* Work around bug in Pillow 8.3.0

3.4.2

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

This release contains several critical bug-fixes:

* Generate wheels usable on older PyPy7.3.{0,1}
* Fix compatibility with Python 3.10
* Add `subplot_mosaic` Axes in the order the user gave them to us
* Correctly handle 'none' *facecolors* in `do_3d_projection`
* Ensure that Matplotlib is importable even if there's no HOME
* Fix `CenteredNorm` with *halfrange*
* Fix `bar_label` for bars with NaN values
* Fix clip paths when zoomed such that they are outside the figure
* Fix creation of `RangeSlider` with *valinit*
* Fix handling of "d" glyph in backend_ps, fixing EPS output
* Fix handling of datetime coordinates in `pcolormesh` with Pandas
* Fix processing of some `errorbar` arguments
* Fix removal of shared polar Axes
* Fix resetting grid visibility
* Fix subfigure indexing error and tight bbox
* Fix textbox cursor color
* Fix TkAgg event loop error on window close
* Ignore errors for sip with no setapi (Qt4Agg import errors)

3.4.1

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

This release contains several critical bug-fixes:

* fix errorbar when specifying fillstyle
* fix Inkscape cleanup at exit on Windows for tests
* fix legends of colour-mapped scatter plots
* fix positioning of annotation fancy arrows
* fix size and color rendering for 3D scatter plots
* fix suptitle manual positioning when using constrained layout
* respect antialiasing settings in cairo backends as well

3.4.0

Highlights of this release include:

- Figure and Axes creation / management
 - New subfigure functionality
 - Single-line string notation for `subplot_mosaic`
 - Changes to behavior of Axes creation methods (`gca`, `add_axes`, `add_subplot`)
 - `add_subplot`/`add_axes` gained an *axes_class* parameter
 - Subplot and subplot2grid can now work with constrained layout
- Plotting methods
 - `axline` supports transform parameter
 - New automatic labeling for bar charts
 - A list of hatches can be specified to `bar` and `barh`
 - Setting `BarContainer` orientation
 - Contour plots now default to using `ScalarFormatter`
 - `Axes.errorbar` cycles non-color properties correctly
 - `errorbar` *errorevery* parameter matches *markevery*
 - `hexbin` supports data reference for *C* parameter
 - Support callable for formatting of Sankey labels
 - `Axes.spines` access shortcuts
 - New `stairs` method and `StepPatch` artist
 - Added *orientation* parameter for stem plots
 - Angles on Bracket arrow styles
 - `TickedStroke` patheffect
- Colors and colormaps
 - Collection color specification and mapping
 - Transparency (alpha) can be set as an array in collections
 - pcolormesh has improved transparency handling by enabling snapping
 - IPython representations for Colormap objects
 - `Colormap.set_extremes` and `Colormap.with_extremes`
 - Get under/over/bad colors of Colormap objects
 - New `cm.unregister_cmap` function
 - New `CenteredNorm` for symmetrical data around a center
 - New `FuncNorm` for arbitrary normalizations
 - GridSpec-based colorbars can now be positioned above or to the left of the main axes
- Titles, ticks, and labels
 - supxlabel and supylabel
 - Shared-axes `subplots` tick label visibility is now correct for top or left labels
 - An iterable object with labels can be passed to `Axes.plot`
- Fonts and Text
 - Text transform can rotate text direction
 - `matplotlib.mathtext` now supports *overset* and *underset* LaTeX symbols
 - *math_fontfamily* parameter to change `Text` font family
 - `TextArea`/`AnchoredText` support *horizontalalignment*
 - PDF supports URLs on Text artists
- rcParams improvements
 - New rcParams for dates: set converter and whether to use interval_multiples
 - Date formatters now respect *usetex* rcParam
 - Setting *image.cmap* to a Colormap
 - Tick and tick label colors can be set independently using rcParams
- 3D Axes improvements
 - Errorbar method in 3D Axes
 - Stem plots in 3D Axes
 - 3D Collection properties are now modifiable
 - Panning in 3D Axes
- Interactive tool improvements
 - New `RangeSlider` widget
 - Sliders can now snap to arbitrary values
 - Pausing and Resuming Animations
- Sphinx extensions
 - `plot_directive` *caption* option
- Backend-specific improvements
 - Consecutive rasterized draws now merged
 - Support raw/rgba frame format in `FFMpegFileWriter`
 - nbAgg/WebAgg support middle-click and double-click
 - nbAgg support binary communication
 - Indexed color for PNG images in PDF files when possible
 - Improved font subsettings in PDF/PS
 - Kerning added to strings in PDFs
 - Fully-fractional HiDPI in QtAgg
 - wxAgg supports fullscreen toggle

3.4.0rc3

This is the third release candidate for Matplotlib 3.4.0.

3.4.0rc2

This is the second release candidate for Matplotlib 3.4.0.

3.4.0rc1

This is the first release candidate for Matplotlib 3.4.0.

3.3.4

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

This release contains several critical bug-fixes:

* Fix WebAgg initialization.
* Fix parsing `QT_API` setting with mixed case.
* Fix build with link-time optimization disabled in environment.
* Fix test compatibility with NumPy 1.20.
* Fix test compatibility with pytest 6.2.

3.3.3

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

This release contains several critical bug-fixes:

* Fix calls to `Axis.grid` with argument `visible=True`.
* Fix fully masked `imshow`.
* Fix inconsistent color mapping in scatter for 3D plots.
* Fix notebook/nbAgg figures when used with ipywidgets in the same cell.
* Fix notebook/nbAgg/WebAgg on older (e.g., Firefox ESR) browsers.
* Fix pcolormesh with `datetime` coordinates.
* Fix performance regression with `datetime`s.
* Fix singular ticks with small log ranges.
* Fix timers/animations on wx and notebook backends.
* Remove certifi as a hard runtime dependency.

3.3.2

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

This release contains several critical bug-fixes:

* fix `Axis` scale on twinned `Axes`
* fix auto-close of `Figure`s in nbagg
* fix automatic title placement if `Axes` is off the `Figure`
* fix autoranging of log scales with barstacked histogram
* fix extra redraws when using `Button` or `TextBox` widgets
* fix imshow with `LogNorm` and large vmin/vmax ranges
* fix plotting Pandas `DataFrame` with string `MultiIndex`
* fix `scatter` with `marker=''`
* fix `scatter3d` color/linewidth re-projection
* fix state of mode buttons in TkAgg backends
* include license files in built distribution
* reduce Visual C++ runtime requirements on Windows

3.3.1

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

This release contains several critical bug-fixes:

* fix docstring import issues when running Python with optimization
* fix `hist` with categorical data, such as with Pandas
* fix install on BSD systems
* fix nbagg compatibility with Chrome 84+
* fix ordering of scatter marker size in 3D plots
* fix performance regression when plotting `Path`s
* fix reading from URL in `imread`
* fix several regressions with new date epoch handling
* fix some bad constrained and tight layout interactions with colorbars
* fix use of customized toolbars in TkAgg and WXAgg backends

3.3.0

Highlights of this release include:

- Provisional API for composing semantic axes layouts from text or nested lists
- New Axes.sharex, Axes.sharey methods
- Turbo colormap
- colors.BoundaryNorm supports extend keyword argument
- Text color for legend labels
- Pcolor and Pcolormesh now accept shading='nearest' and 'auto'
- Allow tick formatters to be set with str or function inputs
- New Axes.axline method
- Dates use a modern epoch
- Improved font weight detection
- Axes3D no longer distorts the 3D plot to match the 2D aspect ratio
- More consistent toolbar behavior across backends
- Toolbar icons are now styled for dark themes
- Cursor text now uses a number of significant digits matching pointing precision
- Functions to compute a Path's size
- savefig() gained a backend keyword argument
- Saving SVG now supports adding metadata
- Saving PDF metadata via PGF now consistent with PDF backend
- NbAgg and WebAgg no longer use jQuery & jQuery UI

For the full details please see the [What's New](https://matplotlib.org/3.3.0/users/whats_new.html) and [API changes](https://matplotlib.org/3.3.0/api/api_changes.html) in the documentation.

3.2.2

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

This release contains several critical bug-fixes:

- support fractional HiDPI scaling with Qt backends
- support new Python and fix syntax errors in legacy Python
- support new Qt 5 and fix support for Qt 4
- fix animation writer fallback
- fix figure resizing
- fix handling of large arcs
- fix issues with tight layout
- fix saving figures after closing windows or under certain size conditions
- fix scatter when specifying a single color
- fix several memory leaks
- fix unexpected autoscaling behavior
- fix various issues with usetex
- various minor bug and documentation fixes

3.2.1

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

This release contains several critical bug-fixes:

- fix `Quiver.set_UVC` calls with scalar inputs
- fix `bezier.get_parallels` failure from floating point rounding errors
- fix markers specified as tuples (polygons, stars, or asterisks)
- fix saving PNGs to file objects in some places
- fix saving figures using the nbAgg/notebook backend
- fix saving with tight layout using the PGF backend
- fix setting custom datapath in rcParams (note: it is still deprecated)
- fix various issues running setup.py in non-CI environments
- fix xpdf distiller
- various minor bug and documentation fixes

3.2.0rc1

This is the first release candidate from Matplotlib 3.2

3.1.1

The first bug-fix release of the 3.1 series

* Locator.nonsingular return order API change

Lots of backports of various bug fixes.
Links

Update msgpack from 1.0.2 to 1.1.0.

Changelog

1.1.0

=====

Release Date: 2024-09-10

* use ``PyLong_*`` instead of ``PyInt_*`` for compatibility with
future Cython. (620)

1.1.0rc2

========

Release Date: 2024-08-19

* Update Cython to 3.0.11 for better Python 3.13 support.
* Update cibuildwheel to 2.20.0 to build Python 3.13 wheels.

1.1.0rc1

========

Release Date: 2024-05-07

* Update Cython to 3.0.10 to reduce C warnings and future support for Python 3.13.
* Stop using C++ mode in Cython to reduce compile error on some compilers.
* ``Packer()`` has ``buf_size`` option to specify initial size of
internal buffer to reduce reallocation.
* The default internal buffer size of ``Packer()`` is reduced from
1MiB to 256KiB to optimize for common use cases. Use ``buf_size``
if you are packing large data.
* ``Timestamp.to_datetime()`` and ``Timestamp.from_datetime()`` become
more accurate by avoiding floating point calculations. (591)
* The Cython code for ``Unpacker`` has been slightly rewritten for maintainability.
* The fallback implementation of ``Packer()`` and ``Unpacker()`` now uses keyword-only
arguments to improve compatibility with the Cython implementation.

1.0.8

=====

Release Date: 2024-03-01

* Update Cython to 3.0.8. This fixes memory leak when iterating
``Unpacker`` object on Python 3.12.
* Do not include C/Cython files in binary wheels.

1.0.7

=====

Release Date: 2023-09-28

* Fix build error of extension module on Windows. (567)
* ``setup.py`` doesn't skip build error of extension module. (568)

1.0.6

=====

Release Date: 2023-09-21

.. note::
v1.0.6 Wheels for Windows don't contain extension module.
Please upgrade to v1.0.7 or newer.

* Add Python 3.12 wheels (517)
* Remove Python 2.7, 3.6, and 3.7 support

1.0.5

=====

Release Date: 2023-03-08

* Use ``__BYTE_ORDER__`` instead of ``__BYTE_ORDER`` for portability. (513, 514)
* Add Python 3.11 wheels (517)
* fallback: Fix packing multidimensional memoryview (527)

1.0.4

=====

Release Date: 2022-06-03

* Support Python 3.11 (beta).
* Don't define `__*_ENDIAN__` macro on Unix. by methane in https://github.com/msgpack/msgpack-python/pull/495
* Use PyFloat_Pack8() on Python 3.11a7 by vstinner in https://github.com/msgpack/msgpack-python/pull/499
* Fix Unpacker max_buffer_length handling by methane in https://github.com/msgpack/msgpack-python/pull/506

1.0.3

=====

Release Date: 2021-11-24 JST

* Fix Docstring (459)
* Fix error formatting (463)
* Improve error message about strict_map_key (485)
Links

Update numpy from 1.21.2 to 2.2.0.

Changelog

2.2.0

The NumPy 2.2.0 release is a quick release that brings us back into sync
with the usual twice yearly release cycle. There have been an number of
small cleanups, as well as work bringing the new StringDType to
completion and improving support for free threaded Python. Highlights
are:

-   New functions `matvec` and `vecmat`, see below.
-   Many improved annotations.
-   Improved support for the new StringDType.
-   Improved support for free threaded Python
-   Fixes for f2py

This release supports Python versions 3.10-3.13.

Deprecations

-   `_add_newdoc_ufunc` is now deprecated. `ufunc.__doc__ = newdoc`
 should be used instead.

 ([gh-27735](https://github.com/numpy/numpy/pull/27735))

Expired deprecations

-   `bool(np.array([]))` and other empty arrays will now raise an error.
 Use `arr.size > 0` instead to check whether an array has no
 elements.

 ([gh-27160](https://github.com/numpy/numpy/pull/27160))

Compatibility notes

-   `numpy.cov` now properly transposes single-row (2d array) design matrices
 when `rowvar=False`. Previously, single-row design matrices would return a
 scalar in this scenario, which is not correct, so this is a behavior change
 and an array of the appropriate shape will now be returned.

 ([gh-27661](https://github.com/numpy/numpy/pull/27661))

New Features

-   New functions for matrix-vector and vector-matrix products

 Two new generalized ufuncs were defined:

 -   `numpy.matvec` - matrix-vector product, treating the
     arguments as stacks of matrices and column vectors,
     respectively.
 -   `numpy.vecmat` - vector-matrix product, treating the
     arguments as stacks of column vectors and matrices,
     respectively. For complex vectors, the conjugate is taken.

 These add to the existing `numpy.matmul` as well as to
 `numpy.vecdot`, which was added in numpy 2.0.

 Note that `numpy.matmul` never takes a complex conjugate, also not when its
 left input is a vector, while both `numpy.vecdot` and `numpy.vecmat` do
 take the conjugate for complex vectors on the left-hand side (which are
 taken to be the ones that are transposed, following the physics
 convention).

 ([gh-25675](https://github.com/numpy/numpy/pull/25675))

-   `np.complexfloating[T, T]` can now also be written as
 `np.complexfloating[T]`

 ([gh-27420](https://github.com/numpy/numpy/pull/27420))

-   UFuncs now support `__dict__` attribute and allow overriding
 `__doc__` (either directly or via `ufunc.__dict__["__doc__"]`).
 `__dict__` can be used to also override other properties, such as
 `__module__` or `__qualname__`.

 ([gh-27735](https://github.com/numpy/numpy/pull/27735))

-   The \"nbit\" type parameter of `np.number` and its subtypes now
 defaults to `typing.Any`. This way, type-checkers will infer
 annotations such as `x: np.floating` as `x: np.floating[Any]`, even
 in strict mode.

 ([gh-27736](https://github.com/numpy/numpy/pull/27736))

Improvements

-   The `datetime64` and `timedelta64` hashes now correctly match the
 Pythons builtin `datetime` and `timedelta` ones. The hashes now
 evaluated equal even for equal values with different time units.

 ([gh-14622](https://github.com/numpy/numpy/pull/14622))

-   Fixed a number of issues around promotion for string ufuncs with
 StringDType arguments. Mixing StringDType and the fixed-width DTypes
 using the string ufuncs should now generate much more uniform
 results.

 ([gh-27636](https://github.com/numpy/numpy/pull/27636))

-   Improved support for empty `memmap`. Previously an empty `memmap` would
 fail unless a non-zero `offset` was set.  Now a zero-size `memmap` is
 supported even if `offset=0`. To achieve this, if a `memmap` is mapped to
 an empty file that file is padded with a single byte.

 ([gh-27723](https://github.com/numpy/numpy/pull/27723))

-   `f2py` handles multiple modules and exposes variables again.  A regression
 has been fixed which allows F2PY users to expose variables to Python in
 modules with only assignments, and also fixes situations where multiple
 modules are present within a single source file.

 ([gh-27695](https://github.com/numpy/numpy/pull/27695))

Performance improvements and changes

-   NumPy now uses fast-on-failure attribute lookups for protocols. This
 can greatly reduce overheads of function calls or array creation
 especially with custom Python objects. The largest improvements will
 be seen on Python 3.12 or newer.

 ([gh-27119](https://github.com/numpy/numpy/pull/27119))

-   OpenBLAS on x86_64 and i686 is built with fewer kernels. Based on
 benchmarking, there are 5 clusters of performance around these
 kernels: `PRESCOTT NEHALEM SANDYBRIDGE HASWELL SKYLAKEX`.

-   OpenBLAS on windows is linked without quadmath, simplifying
 licensing

-   Due to a regression in OpenBLAS on windows, the performance
 improvements when using multiple threads for OpenBLAS 0.3.26 were
 reverted.

 ([gh-27147](https://github.com/numpy/numpy/pull/27147))

-   NumPy now indicates hugepages also for large `np.zeros` allocations
 on linux. Thus should generally improve performance.

 ([gh-27808](https://github.com/numpy/numpy/pull/27808))

Changes

-   `numpy.fix` now won\'t perform casting to a floating
 data-type for integer and boolean data-type input arrays.

 ([gh-26766](https://github.com/numpy/numpy/pull/26766))

-   The type annotations of `numpy.float64` and `numpy.complex128` now reflect
 that they are also subtypes of the built-in `float` and `complex` types,
 respectively. This update prevents static type-checkers from reporting
 errors in cases such as:

  python
 x: float = numpy.float64(6.28)   valid
 z: complex = numpy.complex128(-1j)   valid
 

 ([gh-27334](https://github.com/numpy/numpy/pull/27334))

-   The `repr` of arrays large enough to be summarized (i.e., where
 elements are replaced with `...`) now includes the `shape` of the
 array, similar to what already was the case for arrays with zero
 size and non-obvious shape. With this change, the shape is always
 given when it cannot be inferred from the values. Note that while
 written as `shape=...`, this argument cannot actually be passed in
 to the `np.array` constructor. If you encounter problems, e.g., due
 to failing doctests, you can use the print option `legacy=2.1` to
 get the old behaviour.

 ([gh-27482](https://github.com/numpy/numpy/pull/27482))

-   Calling `__array_wrap__` directly on NumPy arrays or scalars now
 does the right thing when `return_scalar` is passed (Added in NumPy
 2). It is further safe now to call the scalar `__array_wrap__` on a
 non-scalar result.

 ([gh-27807](https://github.com/numpy/numpy/pull/27807))

-   Bump the musllinux CI image and wheels to 1_2 from 1_1. This is because
 1_1 is [end of life](https://github.com/pypa/manylinux/issues/1629).

 ([gh-27088](https://github.com/numpy/numpy/pull/27088))

-   NEP 50 promotion state option removed

 The NEP 50 promotion state settings are now removed. They were always meant as
 temporary means for testing. A warning will be given if the environment
 variable is set to anything but `NPY_PROMOTION_STATE=weak` while
 `_set_promotion_state` and `_get_promotion_state` are removed. In case code
 used `_no_nep50_warning`, a `contextlib.nullcontext` could be used to replace
 it when not available.

 ([gh-27156](https://github.com/numpy/numpy/pull/27156))

Checksums

MD5

 83746dfc1b7774a6677a69c705b83afe  numpy-2.2.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
 e69c45cf5ea08fdf2a5527190a7d6549  numpy-2.2.0rc1-cp310-cp310-macosx_11_0_arm64.whl
 d4f8048977139cb229875c201f605369  numpy-2.2.0rc1-cp310-cp310-macosx_14_0_arm64.whl
 8710578b7f4ceef7f73b6d234ad3a82a  numpy-2.2.0rc1-cp310-cp310-macosx_14_0_x86_64.whl
 899d1f24d8e5570695a024908d100174  numpy-2.2.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 cb768ee568bed2e4f55d47f43c655bc2  numpy-2.2.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 5a40726db153ca1984598323cc59eb9b  numpy-2.2.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl
 450e5e05bdc5551c0a4df2a8d7f09925  numpy-2.2.0rc1-cp310-cp310-musllinux_1_2_x86_64.whl
 1c34c86b0abaa5d2a75677044a7fca07  numpy-2.2.0rc1-cp310-cp310-win32.whl
 d679ad13f3892325fd4542931ee74852  numpy-2.2.0rc1-cp310-cp310-win_amd64.whl
 a7a8cf5fa2e3d4bd0131ad48c0215f50  numpy-2.2.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
 aa6c629290d8b05b44fbbf805fb39dbe  numpy-2.2.0rc1-cp311-cp311-macosx_11_0_arm64.whl
 a04fe8ac96a5226686ec4190db8511d6  numpy-2.2.0rc1-cp311-cp311-macosx_14_0_arm64.whl
 50aedb2a570a7867e860d98eb816bec4  numpy-2.2.0rc1-cp311-cp311-macosx_14_0_x86_64.whl
 cd034c5179ee4cc5669ae36be0deb6ab  numpy-2.2.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 67e3336cdcdcf72cd07978a465e61ebd  numpy-2.2.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 45456522fc3996937f1b1ad8bd7f85b2  numpy-2.2.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl
 244dcedc05e96c843853738bc2d37bdb  numpy-2.2.0rc1-cp311-cp311-musllinux_1_2_x86_64.whl
 da24dd620b6509740a1d8aebe4d1306c  numpy-2.2.0rc1-cp311-cp311-win32.whl
 472e5f997dc437b8115ba4ef70a6a266  numpy-2.2.0rc1-cp311-cp311-win_amd64.whl
 6e4ec4f92f8b0768d679419360098a89  numpy-2.2.0rc1-cp312-cp312-macosx_10_13_x86_64.whl
 e15a1756fbe98aa61cb8d98de1d516fc  numpy-2.2.0rc1-cp312-cp312-macosx_11_0_arm64.whl
 6c58bba6f453ad22a651f6f0f6416899  numpy-2.2.0rc1-cp312-cp312-macosx_14_0_arm64.whl
 1a00dd2343f8ec48350b39f72e2c4fa1  numpy-2.2.0rc1-cp312-cp312-macosx_14_0_x86_64.whl
 cbe9b6d14530bdfb75ef61f4328f6b9e  numpy-2.2.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 a4f14055b4cfafab7035f35e61c6cebb  numpy-2.2.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 8c3c80295b92ae839fcb1fc2ab2edf0e  numpy-2.2.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl
 1a5aac9894d1959e1cbbcf58e3aa98d1  numpy-2.2.0rc1-cp312-cp312-musllinux_1_2_x86_64.whl
 03577c58315ae4b28c3111be0af0c18a  numpy-2.2.0rc1-cp312-cp312-win32.whl
 c8ed06acb7e1b885081e682a391524d8  numpy-2.2.0rc1-cp312-cp312-win_amd64.whl
 53955ed28cb43f004ccd9f2f1e07b0d4  numpy-2.2.0rc1-cp313-cp313-macosx_10_13_x86_64.whl
 dffe0e20843d5e331358206b535c47f7  numpy-2.2.0rc1-cp313-cp313-macosx_11_0_arm64.whl
 1f22dc1bc3dd3bf645a35a8c58e07ac3  numpy-2.2.0rc1-cp313-cp313-macosx_14_0_arm64.whl
 57bb0a9d61444162269751eb861bef75  numpy-2.2.0rc1-cp313-cp313-macosx_14_0_x86_64.whl
 b38fd53f8f162a833b89e32b52d6f0b5  numpy-2.2.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 f8975385402dfa988efe0121adcb3b83  numpy-2.2.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 8b739c89e3c67210467ac0855623da47  numpy-2.2.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl
 902e1f704a187a85f02f71877ed69baf  numpy-2.2.0rc1-cp313-cp313-musllinux_1_2_x86_64.whl
 fc33a9a4c895b2463672d01e75431a8f  numpy-2.2.0rc1-cp313-cp313-win32.whl
 f57eb3377cf0acf5ce165034e5d3d061  numpy-2.2.0rc1-cp313-cp313-win_amd64.whl
 4dff6567391c376daf27f2a144a4142d  numpy-2.2.0rc1-cp313-cp313t-macosx_10_13_x86_64.whl
 5195eeac3d355592ec97db04cea7fb43  numpy-2.2.0rc1-cp313-cp313t-macosx_11_0_arm64.whl
 9a5e6fb707b1bc448d6f5eb226757581  numpy-2.2.0rc1-cp313-cp313t-macosx_14_0_arm64.whl
 455ef245987926bb966565de0f68d00f  numpy-2.2.0rc1-cp313-cp313t-macosx_14_0_x86_64.whl
 f10882cf7238a03896903b337bce2b05  numpy-2.2.0rc1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 8889da4b211ca3edba34518306115a81  numpy-2.2.0rc1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 1d29f0a150c39b500b4f0b1e4c625e9b  numpy-2.2.0rc1-cp313-cp313t-musllinux_1_2_aarch64.whl
 dcf499ab9d350e3414368a106c714256  numpy-2.2.0rc1-cp313-cp313t-musllinux_1_2_x86_64.whl
 af48c02a9130ad93e93a55ebf87b5c78  numpy-2.2.0rc1-cp313-cp313t-win32.whl
 290c12deaff6df2e54569563a8f1316a  numpy-2.2.0rc1-cp313-cp313t-win_amd64.whl
 fce62da0e31ae09237cf241c77e54498  numpy-2.2.0rc1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
 85acaaaa495d92bc52631a6a0654fd8e  numpy-2.2.0rc1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
 cb0482e5c60d706b9b0e9ce8dac9d8a6  numpy-2.2.0rc1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 67390891e461b1983aadab51bc96a78b  numpy-2.2.0rc1-pp310-pypy310_pp73-win_amd64.whl
 4836fdb3009f043287f011b5f6d18208  numpy-2.2.0rc1.tar.gz

SHA256

 acd4f4e9f8c3c04c9a695333d4f475ec2f7a577342b469b411f7ffb2a2888fdc  numpy-2.2.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
 8c3cd769a38a363fe21077ad137ee43be639464e5f257821a4cc4d4e2016deea  numpy-2.2.0rc1-cp310-cp310-macosx_11_0_arm64.whl
 72fa15a5f801faf598e6633a6efcb5661085f509f8f6631a0c2c86be06631b78  numpy-2.2.0rc1-cp310-cp310-macosx_14_0_arm64.whl
 44d55304a7397d6e89707af99ea8e980a101a7ff01dd768aaaca16b2312c799b  numpy-2.2.0rc1-cp310-cp310-macosx_14_0_x86_64.whl
 8a25595d5951ad46bec827dfee09328b8da041fc3f7f13f63880274ed4ec215e  numpy-2.2.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 c335bd4e3395b8209a011b97e5f9876092fb2dc283933d39620a30c1fa82dfab  numpy-2.2.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 5ac124ab756ad56a14cdfcdc69cc220befbfb1162fdf3ca4f6eb1a0ace634c56  numpy-2.2.0rc1-c

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