mirror of
https://github.com/immich-app/immich.git
synced 2026-07-15 21:32:32 +03:00
Open
opened 2026-02-05 16:31:56 +03:00 by OVERLORD
·
0 comments
No Branch/Tag Specified
main
renovate/typescript-projects
fix/web-birthdate-clearing
fix/server-heif-security-limit
fix/live-photo-library-task-joining
custom-app-logo
chore/translations
renovate/machine-learning
chore/security-txt-ghsa
renovate/mobile
refactor/auto-trash-sync
fix/failed-sync-blocks-resume
renovate/pigeon-27.x
renovate/ghcr.io-jdx-mise-2026.x
fix/slideshow-motion
renovate/typescript-7.x
renovate/eslint-plugin-unicorn-71.x
fix/ws-reconnect-battery
renovate/node
chore/pump-flutter
feat/ml-hwaccel-testing
chore/face-cluster-abstraction
feat/workflow-logs
fix/moved-files-not-backed-up
renovate/java-25.x
renovate/@immichui
renovate/node-24.x
renovate/terragrunt-1.x
renovate/opentofu-1.x
renovate/cloudflare-4.x
renovate/java-21.x
renovate/prom-prometheus
fix/ios-extension
feat/server-chunked-uploads
feat/native-core
feat/upload-action
fix-29727
feat/download-tag-action
feat/share-action
refactor/action-secondary-handler
feat/edit-button-action
feat/delete-action
feat/album-actions
chore/deprecate-ios-14
fix/android-cr3-save
fix/library-map-live-bounds-updates
fix/mobile-add-to-album-error
feat/browser-profile-action
feat/cast-slideshow-action
chore/update-maplibre-0.26.2
feat/locked-folder-action
fix/unauthorized-memory-creation
feat/workflow-exif-filter
renovate/eslint-plugin-unicorn-70.x
fix/android-locked-folder-delete
fix/stale-remote-deletion-trash
fix/library-map-loading-flash
feat/context-actions
renovate/grafana-monorepo
fix/mobile-scroll-velocity-placeholders
fix/blank-timeline
renovate/sharp
refactor/action-class
feat/memories-view
refactor/asset-action-filter
feat/undo-archive
feat/archive-action
feat/stack-action
feat/more-favorite-action
feat/restore-action
refactor/feedback-repository
refactor/asset-service-update
refactor/owned-iterator
fix/birthday-picker-locale-order
fix/viewer-double-close-anim
feat/mobile-hls-player
refactor/stack-actions
renovate/permission_handler-12.x
fix/kebab-action-color
feat/workflow-asset-tags
fix/viewer-long-image-aspect
fix/ios-memory-widget-local-date
fix/timeline-drag-select-stops
fix/ios-ethernet-unmetered
fix/featured-photo-thumbnail-cache
feat/yucca-integration
fix/album-timeline-date-ordering
chore/cancel-native-op-on-lifecycle
chore/album-remove-assets
feat/partner-table-permissions
fix/ocr-after-edit
fix/re-enable-pruning
refactor/delete-restore-actions
apk-build-deployment
renovate/pypi-pydantic-settings-vulnerability
edit-photo-stacking
fix/mise-lockfile
fix/android-local-album-date
feat/web-hls-hover
chore/pump-drift
refactor/android-background-worker
refactor/store-cleanup
fix/hash-mismatch
debug/throttle-timeline
refactor/app-metadata
refactor/advanced-settings
refactor/current-user
fix/dedupe-integrity-missing-paths
chore/albums-select
feat/album-assets-event
fix/fdroid-meta
refactor/per-asset-backup-flag
fix/av1-threads
fix/pass-secrets
fix/download-progress-stuck
fix/negative-backup-remainder
feat/map-asset-number
feat/custom-date-range
renovate/pep621-lock-file-maintenance-machine-learning
refactor/session-repository
test-bump-prerelease
fix/handle-unlinking-motion-photos
refactor/cached-key-value-repo
fix/date-range-formatting
fix/map-unresponsive
fix/mobile-album-action-msg
refactor/search-v3/pr-1
chore/v7.23.0-openapi-generator
asset-add-to-album-trigger
refactor/face-editor-decoupling
feat/zoom-aware-face-editing
refactor/adaptive-image-dimensions
fix-face-editor-video-preview
fix-stack-face-tag-selection
fix/face-boxes-edit-panel
workflow-webhook-step
feat/hero_view_transitions
fix/map-sidepanel-queries
feat/dart-openapi-generator
claude/share-quality-5d7Gn
drag-drop-ghost-target
refactor/workflow-page
refactor/mobile-upload
fix-scroll-flicker-2
test/2.7.5-new-sign
update-mise-lock-file
feat/kysely-0.29
feature/load-previews
release-candidate-flow-1
fix/mobile-22522-sqlite-2067
fix/job-lock
release-candidate-flow-3
release-candidate-flow-2
show-in-timeline-toggle
fix/mise-windows
fix/mobile-album-sync-stale-cache
plan-local-image-display
fix/remote-thumbnail-fallback
bugfix/live-photo-stuck
chore/riverpod-update
album-order-per-user
fix/web-timeline-dom-node-retention
chore/svelte-enable-state-referenced-locally
feat/favorite-albums
feat/patch-release-from-branch
fix/oauth-linking
feat/timeline_scroll_buffer
panorama-face-overlay
push-txxyuusptoru
push-zpwsovysllvn
chore/queue-endpoint-migration
fix/remove-from-album
chore/thumbnail-histogram
fix/video-thumbnail-bindthis-regression
fix/scrubber-drag-edge-cases
fix/timeline_layout_row_height
refactor-cancellable-task
uhthomas/fix-mobile-use-timer
uhthomas/fix-mobile-video-controls-key
uhthomas/chore-mobile-search-declarative
owner-role-album-user
feat/livephoto-editing
favorite-albums
uhthomas/fix-mobile-isolate-auth
fix/library-watcher-excludes
chore/library-e2e-to-medium
push-ynllunsvrpxy
fix/dont-delete-offline-library-files
push-zvwwxmvkrspv
push-kywsnvvkwzts
push-xxnxokokzrou
push-voozlrlkxsnu
view-in-timeline-transition
push-uymvmlknxpmx
push-qslzsplnusoz
fix/mobile-video-stall
uhthomas/draft-mobile-image-cache-cancel
push-yquostpqnkxp
feat/vitest-4
claude/offload-icloud-hashing-bI3GZ
midzelis/wip
uhthomas/fix-server-fsync-all
feat/mobile-widget-shared-client
push-lnyuzsutzkqq
push-vqqqxxvkunru
push-wvnmqoswptww
push-nwxlpmyzkyrl
fix/map-webgl-error
fix/mobile-player-fit
feat/panorama-tiles
csp-policy
push-rsywxvptwxuv
refactor/restores-file-interceptor
postgres-socketio
claude/auto-screenshot-web-changes-Y7efI
visual-review/pr-26535
push-lvyturrtwkrq
feat/library-offline-count
fix/mobile-video-aspect-ratio
uhthomas/fix-mobile-search-results
uhthomas/feat-sort-smart-search
uhthomas/chore-mobile-maplibre
uhthomas/mobile-fix-asset-details-album-pop
feat/crawl-wrapper
push-skvzqoozqkpl
feat/edit-filters
feat/pg-queue
refactor/asset-upload
better-project-structure
uhthomas/mobile-feat-asset-viewer-details
fix/ml-rocm-build
feat/asset-file-apis
feature/bottom-buttons-order
sqlite_thumbs
fix-keep-correct-ios-shared-album-asset
push-vpxwmwwxwnvw
fix-migration-width-height
shared-deep-link-handler
feat/thumbnail-native-clients
feat/platform-clients
fix/foreground-cloud-sync
filter-by-person
refactor/sidebar
fix/merged-edited-assets
feat/create-job-with-dto
feat/ios-fastlane-match
match-signing
fix-update-time-update-timeline
feat/modal-routes
feature/mobile-view-asset-owner
feat/system-settings
feature/show-activity-count
feat/location-favorites
feature/rearrange-buttons-2
fix/download-storage-template
chore/originals-in-asset-files
ben/tree-a11y
new-search-filter-ui
refactor/expectSelectedReadonly
refactor/mobile-grdb
feat/mobile-native-local-sync
refactor/timeline_ops
fix/scrubber_end
refactor/virtualsegment
refactor/rename_daymonth_groups
fix-remote-sync-clean-up
debug/cf-chunked-uploads
feat/search-filter-album/web
feat/session-permissions
feat/mobile-dynamic-thumbnails
refactor/extract_photostream
refactor/rename_load_api
refactor/timeline2
refactor/timeline3
feat-no-thumbhash-cache
feat/mobile-hdr-images
feat/beta-background-upload
fix/beta-timeline-memories-setting
fix/failed-uploads-not-removed
feat/groups
drift-map-page
feat/add-to-album-action
track-livephotos
feat/maintenance-worker
refactor/server-side-dedupe
feat/integrity-checks
dev/recognition-eval
lighter_buckets_test
perf/postgres-queue
tmp/demo-snapshot-preview
fix/server-migration-file-extension
rknn-toolkit-lite2
feature/Add-rocm-support-for-machine-learning
chore/async-hash-file
feat/shared-link-view-count
feat/graphql
no-video-player
fix/server-qsv-output-format
chore/server-geodata-tweaks
mobile/native-video-player-no-hero
feat/local-tileserver
feat/ml-armnn-conversion
chore/handle-output_dims
feat/capacitor-mobile-app-poc
feat/server-nvenc-hw-decoding
web/automation-ui
object-storage
ml/tflite
feat/ml-export-cli
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v3.0.0-rc.4
v3.0.0-rc.3
v3.0.0-rc.2
v3.0.0-rc.1
v3.0.0-rc.0
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.1
v2.4.0
v2.3.1
v2.3.0
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.0
v2.0.1
v2.0.0
v1.144.1
v1.144.0
v1.143.1
v1.143.0
v1.142.1
v1.142.0
v1.141.1
v1.141.0
v1.140.1
v1.140.0
v1.139.4
v1.139.3
v1.139.2
v1.139.1
v1.139.0
v1.138.1
v1.138.0
v1.137.3
v1.137.2
v1.137.1
v1.137.0
v1.136.0
v1.135.3
v1.135.2
v1.135.1
v1.135.0
v1.134.0
v1.133.1
v1.133.0
v1.132.3
v1.132.2
v1.132.1
v1.132.0
v1.131.3
v1.131.2
v1.131.1
v1.131.0
v1.130.3
v1.130.2
v1.130.1
v1.130.0
v1.129.0
v1.128.0
v1.127.0
v1.126.1
v1.126.0
v1.125.7
v1.125.6
v1.125.5
v1.125.4
v1.125.3
v1.125.2
v1.125.1
v1.125.0
v1.124.2
v1.124.1
v1.124.0
v1.123.0
v1.122.3
v1.122.2
v1.122.1
v1.122.0
v1.121.0
v1.120.2
v1.120.1
v1.120.0
v1.119.1
v1.119.0
v1.118.2
v1.118.1
v1.118.0
v1.117.0
v1.116.2
v1.116.1
v1.116.0
v1.115.0
v1.114.0
v1.113.1
v1.113.0
v1.112.1
v1.112.0
v1.111.0
v1.110.0
v1.109.2
v1.109.1
v1.109.0
v1.108.0
v1.107.2
v1.107.1
v1.107.0
v1.106.4
v1.106.3
v1.106.2
v1.106.1
v1.106.0
v1.105.1
v1.105.0
v1.104.0
v1.103.1
v1.103.0
v1.102.3
v1.102.2
v1.102.1
v1.102.0
v1.101.0
v1.100.0
v1.99.0
v1.98.2
v1.98.1
v1.98.0
v1.97.0
v1.96.0
v1.95.1
v1.95.0
v1.94.1
v1.94.0
v1.93.3
v1.93.2
v1.93.1
v1.93.0
v1.92.1
v1.92.0
v1.91.4
v1.91.3
v1.91.2
v1.91.1
v1.91.0
v1.90.2
v1.90.1
v1.90.0
v1.89.0
v1.88.2
v1.88.1
v1.88.0
v1.87.0
v1.86.0
v1.85.0
v1.84.0
v1.83.0
v1.82.1
v1.82.0
v1.81.1
v1.81.0
v1.80.0
v1.79.1
v1.79.0
v1.78.1
v1.78.0
v1.77.0
v1.76.1
v1.76.0
v1.75.2
v1.75.1
v1.75.0
v1.74.0
v1.73.0
v1.72.2
v1.72.1
v1.72.0
v1.71.0
v1.70.0
v1.69.0
v1.68.0
v1.67.2
v1.67.1
v1.67.0
v1.66.1
v1.66.0
v1.65.0
v1.64.0
v1.63.2
v1.63.1
v1.63.0
v1.62.1
v1.62.0
v1.61.0
v1.60.0
v1.59.1
v1.59.0
v1.58.0
v1.57.1
v1.57.0
v1.56.2
v1.56.1
v1.56.0
v1.55.1
v1.55.0
v1.54.1
v1.54.0
v1.53.0
v1.52.1
v1.52.0
v1.51.2
v1.51.1
v1.51.0
v1.50.1
v1.50.0
v1.49.0
v1.48.1
v1.48.0
v1.47.3
v1.47.2
v1.47.1
v1.47.0
v1.46.1
v1.46.0
v1.45.0
v1.44.0
v1.43.1
v1.43.0
v1.42.0_65-dev
v1.41.1_64-dev
v1.41.0_64-dev
v1.40.1_63-dev
v1.40.0_63-dev
v1.39.0_61-dev
v1.38.2_60-dev
v1.38.1_60-dev
v1.38.0_60-dev
v1.37.0_58-dev
v1.36.2_56-dev
v1.36.1_55-dev
v1.36.0_55-dev
v1.35.0_54-dev
v1.34.0_53-dev
v1.33.1_52-dev
v1.33.0_52-dev
v1.32.1_51-dev
v1.32.0_50-dev
v1.31.1_49-dev
v1.31.0_49-dev
v1.30.2_48-dev
v1.30.0_46-dev
v1.29.6_45-dev
v1.29.6_44-dev
v1.29.5_44-dev
v1.29.4_44-dev
v1.29.3_43-dev
v1.29.2_43-dev
v1.29.1_43-dev
v1.29.0_42-dev
v1.28.4_41-dev
v1.28.4_42-dev
v1.28.3_41-dev
v1.28.2_40-dev
v1.28.1_39-dev
v1.28.0_38-dev
v1.27.0_37-dev
v1.26.0_36-dev
v1.25.0_35-dev
v1.24.0_34-dev
v1.23.0_33-dev
v1.22.0_32-dev
v1.21.1_31-dev
v1.21.0_31-dev
v1.20.3_30-dev
v1.20.2_30-dev
v1.20.1_30-dev
v1.20.0_30-dev
v1.19.1_29-dev
v1.19.0_29-dev
v1.18.0_27-dev
v1.17.0_25-dev
v1.16.0_23-dev
v1.15.1_21-dev
v1.15.0_21-dev
v1.14.0_21-dev
v1.13.0_20-dev
v1.12.0_18-dev
v1.11.0_17-dev
v1.10.0_15-dev
v1.9.1_14-dev
v1.9.0_13-dev
v1.8.0_12-dev
v1.7.0_11-dev
v1.6.0_10-dev
v1.5.1+9-dev
v1.5.0+8-dev
v1.4.0+7-dev
v1.4.0+6-dev
v1.4.0-dev
v1.3.0-dev
v1.3.1-dev
v0.6-dev
v0.5-dev
v0.4-dev
v0.3-dev
v0.2-dev
first-android-release
Labels
Clear labels
accessibility
changelog:enhancement
changelog:security
changelog:skip
changelog:translation
cli
date-time
dependencies
documentation
external-library
format
good first issue
mobile-beta
mobile-beta
mobile-beta
needs-answer
nice to have
pull-request
sharing
tech-debt
📱mobile
🖥️web
🗄️server
🧠machine-learning
Mirrored from GitHub Pull Request
No Label
pull-request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: immich-app/immich#18058
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/immich-app/immich/pull/25067
Author: @renovate[bot]
Created: 1/6/2026
Status: 🔄 Open
Base:
main← Head:renovate/machine-learning📝 Commits (1)
163ab59chore(deps): update machine-learning📊 Changes
2 files changed (+406 additions, -362 deletions)
View changed files
📝
machine-learning/Dockerfile(+4 -4)📝
machine-learning/uv.lock(+402 -358)📄 Description
This PR contains the following updates:
0.127.1→0.128.00.128.10.34.4→0.36.00.36.12.42.6→2.43.12.43.22.3.4→2.4.12.4.24.11.0.86→4.13.0.904.13.0.923.11.5→3.11.63.11.72.11.7→2.12.52.10.1→2.12.06.2.1→6.3.03.14.1→3.15.10222b79→49b618b917ec0e→04cd278667cf70→aa238503.4.5→3.6.014.1.0→14.3.114.3.20.14.10→0.14.140.15.00.21.4→0.22.26.0.12.20250822→6.0.12.202509152.32.4.20250809→2.32.4.2026010780.9.0.20250822→80.10.0.202601240.35.0→0.40.0Release Notes
fastapi/fastapi (fastapi)
v0.128.0Compare Source
Breaking Changes
pydantic.v1. PR #14609 by @tiangolo.Internal
huggingface/huggingface_hub (huggingface-hub)
v0.36.0: [v0.36.0] Last Stop Before 1.0Compare Source
This is the final minor release before v1.0.0. This release focuses on performance optimizations to
HfFileSystemand adds a newget_organization_overviewAPI endpoint.We'll continue to release security patches as needed, but v0.37 will not happen. The next release will be 1.0.0. We’re also deeply grateful to the entire Hugging Face community for their feedback, bug reports, and suggestions that have shaped this library.
Full Changelog: https://github.com/huggingface/huggingface_hub/compare/v0.35.0...v0.36.0
📁
HfFileSystemMajor optimizations have been implemented in
HfFileSystem:fsinstance. This is particularily useful when streaming datasets in a distributed training environment. Each worker won't have to rebuild their cache anymoreListing files with
.glob()has been greatly optimized:maxdepth: do less/treecalls inglob()by @lhoestq in #3389Minor updates:
🌍
HfApiIt is now possible to get high-level information about an organization, the same way it is already possible to do with users:
🛠️ Small fixes and maintenance
🐛 Bug and typo fixes
sentence_similaritydocstring by @tolgaakar in #3374🏗️ internal
tyquality by @hanouticelina in #3441Community contributions
The following contributors have made changes to the library over the last release. Thank you!
* Add quotes for better shell compatibility (#3369)
* update the
sentence_similaritydocstring (#3374) (#3375)* Use all tools unless explicit allowed_tools (#3397)
* The error message as previously displayed... (#3405)
* Add client support for the organization overview endpoint (#3436)
v0.35.3: [v0.35.3] Fiximage-to-imagetarget size parameter mapping & tiny agents allow tools list bugCompare Source
This release includes two bug fixes:
Full Changelog: https://github.com/huggingface/huggingface_hub/compare/v0.35.2...v0.35.3
v0.35.2: [v0.35.2] Welcoming Z.ai as Inference Providers!Compare Source
Full Changelog: https://github.com/huggingface/huggingface_hub/compare/v0.35.1...v0.35.2
New inference provider! 🔥
Z.ai is now officially an Inference Provider on the Hub. See full documentation here: https://huggingface.co/docs/inference-providers/providers/zai-org.
Misc:
v0.35.1: [v0.35.1] Do not retry on 429 and skip forward ref in strict dataclassCompare Source
strictdataclasses #3376Full Changelog: https://github.com/huggingface/huggingface_hub/compare/v0.35.0...v0.35.1
v0.35.0: [v0.35.0] Announcing Scheduled Jobs: run cron jobs on GPU on the Hugging Face Hub!Compare Source
Scheduled Jobs
In v0.34.0 release, we announced Jobs, a new way to run compute on the Hugging Face Hub. In this new release, we are announcing Scheduled Jobs to run Jobs on a regular basic. Think "cron jobs running on GPU".
This comes with a fully-fledge CLI:
It is now possible to run a command with
uv run:hf jobs uv runby @lhoestq in #3303Some other improvements have been added to the existing Jobs API for a better UX.
And finally, Jobs documentation has been updated with new examples (and some fixes):
CLI updates
In addition to the Scheduled Jobs, some improvements have been added to the
hfCLI.Inference Providers
Welcome Scaleway and PublicAI!
Two new partners have been integrated to Inference Providers: Scaleway and PublicAI! (as part of releases
0.34.5and0.34.6).Image-to-video
Image to video is now supported in the
InferenceClient:Miscellaneous
Header
content-typeis now correctly set when sending an image or audio request (e.g. forimage-to-imagetask). It is inferred either from the filename or the URL provided by the user. If user is directly passing raw bytes, the content-type header has to be set manually.A
.reasoningfield has been added to the Chat Completion output. This is used by some providers to return reasoning tokens separated from the.contentstream of tokens.MCP & tiny-agents updates
tiny-agentsnow handlesAGENTS.mdinstruction file (see https://agents.md/).Tools filtering has already been improved to avoid loading non-relevant tools from an MCP server:
🛠️ Small fixes and maintenance
🐛 Bug and typo fixes
HF_HUB_DISABLE_XETin the environment dump by @hanouticelina in #3290appsas a parameter toHfApi.list_modelsby @anirbanbasu in #3322🏗️ internal
tytype checker by @hanouticelina in #3294tycheck quality by @hanouticelina in #3320is_jsonableif circular reference by @Wauplin in #3348Community contributions
The following contributors have made changes to the library over the last release. Thank you!
appsas a parameter toHfApi.list_models(#3322)v0.34.6: [v0.34.6]: Welcoming PublicAI as Inference Providers!Compare Source
Full Changelog: https://github.com/huggingface/huggingface_hub/compare/v0.34.5...v0.34.6
⚡ New provider: PublicAI
Public AI Inference Utility is a nonprofit, open-source project building products and organizing advocacy to support the work of public AI model builders like the Swiss AI Initiative, AI Singapore, AI Sweden, and the Barcelona Supercomputing Center. Think of a BBC for AI, a public utility for AI, or public libraries for AI.
v0.34.5: [v0.34.5]: Welcoming Scaleway as Inference Providers!Compare Source
Full Changelog: https://github.com/huggingface/huggingface_hub/compare/v0.34.4...v0.34.5
⚡ New provider: Scaleway
Scaleway is a European cloud provider, serving latest LLM models through its Generative APIs alongside a complete cloud ecosystem.
locustio/locust (locust)
v2.43.1Compare Source
Full Changelog
Merged pull requests:
v2.43.0Compare Source
Full Changelog
Closed issues:
Merged pull requests:
numpy/numpy (numpy)
v2.4.1: 2.4.1 (Jan 10, 2026)Compare Source
NumPy 2.4.1 Release Notes
The NumPy 2.4.1 is a patch release that fixes bugs discoved after the
2.4.0 release. In particular, the typo
SeedlessSequenceis preserved toenable wheels using the random Cython API and built against NumPy < 2.4.0
to run without errors.
This release supports Python versions 3.11-3.14
Contributors
A total of 9 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.
Pull requests merged
A total of 15 pull requests were merged for this release.
numpy.select: fixdefaultparameter docstring...numpy.select: allow passing array-likedefault...v2.4.0: 2.4.0 (Dec 20, 2025)Compare Source
NumPy 2.4.0 Release Notes
The NumPy 2.4.0 release continues the work to improve free threaded Python
support, user dtypes implementation, and annotations. There are many expired
deprecations and bug fixes as well.
This release supports Python versions 3.11-3.14
Highlights
Apart from annotations and
same_valuekwarg, the 2.4 highlights are mostlyof interest to downstream developers. They should help in implementing new user
dtypes.
castingkwarg'same_value'for casting by value.PyUFunc_AddLoopsFromSpecfunction that can be used to add user sortloops using the
ArrayMethodAPI.__numpy_dtype__protocol.Deprecations
Setting the
stridesattribute is deprecatedSetting the strides attribute is now deprecated since mutating
an array is unsafe if an array is shared, especially by multiple
threads. As an alternative, you can create a new view (no copy) via:
np.lib.stride_tricks.strided_window_viewif applicable,np.lib.stride_tricks.as_stridedfor the general case,np.ndarrayconstructor (bufferis the original array) for alight-weight version.
(gh-28925)
Positional
outargument tonp.maximum,np.minimumis deprecatedPassing the output array
outpositionally tonumpy.maximumandnumpy.minimumis deprecated. For example,np.maximum(a, b, c)will emita deprecation warning, since
cis treated as the output buffer rather thana third input.
Always pass the output with the keyword form, e.g.
np.maximum(a, b, out=c).This makes intent clear and simplifies type annotations.
(gh-29052)
align=must be passed as boolean tonp.dtype()When creating a new
dtypeaVisibleDeprecationWarningwill be given ifalign=is not a boolean. This is mainly to prevent accidentally passing asubarray align flag where it has no effect, such as
np.dtype("f8", 3)instead of
np.dtype(("f8", 3)). We strongly suggest to always passalign=as a keyword argument.(gh-29301)
Assertion and warning control utilities are deprecated
np.testing.assert_warnsandnp.testing.suppress_warningsaredeprecated. Use
warnings.catch_warnings,warnings.filterwarnings,pytest.warns, orpytest.filterwarningsinstead.(gh-29550)
np.fixis pending deprecationThe
numpy.fixfunction will be deprecated in a future release. It isrecommended to use
numpy.truncinstead, as it provides the samefunctionality of truncating decimal values to their integer parts. Static type
checkers might already report a warning for the use of
numpy.fix.(gh-30168)
in-place modification of
ndarray.shapeis pending deprecationSetting the
ndarray.shapeattribute directly will be deprecated in a futurerelease. Instead of modifying the shape in place, it is recommended to use the
numpy.reshapefunction. Static type checkers might already report awarning for assignments to
ndarray.shape.(gh-30282)
Deprecation of
numpy.lib.user_array.containerThe
numpy.lib.user_array.containerclass is deprecated and will be removedin a future version.
(gh-30284)
Expired deprecations
Removed deprecated
MachArruntime discovery mechanism.(gh-29836)
Raise
TypeErroron attempt to convert array withndim > 0to scalarConversion of an array with
ndim > 0to a scalar was deprecated in NumPy1.25. Now, attempting to do so raises
TypeError. Ensure you extract asingle element from your array before performing this operation.
(gh-29841)
Removed numpy.linalg.linalg and numpy.fft.helper
The following were deprecated in NumPy 2.0 and have been moved to private
modules:
numpy.linalg.linalgUse
numpy.linalginstead.numpy.fft.helperUse
numpy.fftinstead.(gh-29909)
Removed
interpolationparameter from quantile and percentile functionsThe
interpolationparameter was deprecated in NumPy 1.22.0 and has beenremoved from the following functions:
numpy.percentilenumpy.nanpercentilenumpy.quantilenumpy.nanquantileUse the
methodparameter instead.(gh-29973)
Removed
numpy.in1dnumpy.in1dhas been deprecated since NumPy 2.0 and is now removed in favor ofnumpy.isin.(gh-29978)
Removed
numpy.ndindex.ndincr()The
ndindex.ndincr()method has been deprecated since NumPy 1.20 and is nowremoved; use
next(ndindex)instead.(gh-29980)
Removed
fix_importsparameter fromnumpy.saveThe
fix_importsparameter was deprecated in NumPy 2.1.0 and is now removed.This flag has been ignored since NumPy 1.17 and was only needed to support
loading files in Python 2 that were written in Python 3.
(gh-29984)
Removal of four undocumented
ndarray.ctypesmethodsFour undocumented methods of the
ndarray.ctypesobject have been removed:_ctypes.get_data()(use_ctypes.datainstead)_ctypes.get_shape()(use_ctypes.shapeinstead)_ctypes.get_strides()(use_ctypes.stridesinstead)_ctypes.get_as_parameter()(use_ctypes._as_parameter_instead)These methods have been deprecated since NumPy 1.21.
(gh-29986)
Removed
newshapeparameter fromnumpy.reshapeThe
newshapeparameter was deprecated in NumPy 2.1.0 and has beenremoved from
numpy.reshape. Pass it positionally or useshape=on newer NumPy versions.
(gh-29994)
Removal of deprecated functions and arguments
The following long-deprecated APIs have been removed:
numpy.trapz--- deprecated since NumPy 2.0 (2023-08-18). Usenumpy.trapezoidorscipy.integratefunctions instead.dispfunction --- deprecated from 2.0 release and no longer functional. Useyour own printing function instead.
biasandddofarguments innumpy.corrcoef--- these had no effectsince NumPy 1.10.
(gh-29997)
Removed
delimitorparameter fromnumpy.ma.mrecords.fromtextfile()The
delimitorparameter was deprecated in NumPy 1.22.0 and has beenremoved from
numpy.ma.mrecords.fromtextfile(). Usedelimiterinstead.(gh-30021)
numpy.array2stringandnumpy.sumdeprecations finalizedThe following long-deprecated APIs have been removed or converted to errors:
styleparameter has been removed fromnumpy.array2string.This argument had no effect since Numpy 1.14.0. Any arguments following
it, such as
formatterhave now been made keyword-only.np.sum(generator)directly on a generator object now raises aTypeError. This behavior was deprecated in NumPy 1.15.0. Usenp.sum(np.fromiter(generator))or the pythonsumbuiltin instead.(gh-30068)
Compatibility notes
NumPy's C extension modules have begun to use multi-phase initialisation, as
defined by PEP 489. As part of this, a new explicit check has been added that
each such module is only imported once per Python process. This comes with
the side-effect that deleting
numpyfromsys.modulesand re-importingit will now fail with an
ImportError. This has always been unsafe, withunexpected side-effects, though did not previously raise an error.
(gh-29030)
numpy.roundnow always returns a copy. Previously, it returned a viewfor integer inputs for
decimals >= 0and a copy in all other cases.This change brings
roundin line withceil,floorandtrunc.(gh-29137)
Type-checkers will no longer accept calls to
numpy.arangewithstartas a keyword argument. This was done for compatibility withthe Array API standard. At runtime it is still possible to use
numpy.arangewithstartas a keyword argument.(gh-30147)
The Macro NPY_ALIGNMENT_REQUIRED has been removed The macro was defined in
the
npy_cpu.hfile, so might be regarded as semi public. As it turns out,with modern compilers and hardware it is almost always the case that
alignment is required, so numpy no longer uses the macro. It is unlikely
anyone uses it, but you might want to compile with the
-Wundefflag orequivalent to be sure.
(gh-29094)
C API changes
The NPY_SORTKIND enum has been enhanced with new variables
This is of interest if you are using
PyArray_SortorPyArray_ArgSort.We have changed the semantics of the old names in the
NPY_SORTKINDenum andadded new ones. The changes are backward compatible, and no recompilation is
needed. The new names of interest are:
NPY_SORT_DEFAULT-- default sort (same value asNPY_QUICKSORT)NPY_SORT_STABLE-- the sort must be stable (same value asNPY_MERGESORT)NPY_SORT_DESCENDING-- the sort must be descendingThe semantic change is that
NPY_HEAPSORTis mapped toNPY_QUICKSORTwhen used.Note that
NPY_SORT_DESCENDINGis not yet implemented.(gh-29642)
New
NPY_DT_get_constantslot for DType constant retrievalA new slot
NPY_DT_get_constanthas been added to the DType API, allowingdtype implementations to provide constant values such as machine limits and
special values. The slot function has the signature:
It returns 1 on success, 0 if the constant is not available, or -1 on error.
The function is always called with the GIL held and may write to unaligned memory.
Integer constants (marked with the
1 << 16bit) returnnpy_intpvalues,while floating-point constants return values of the dtype's native type.
Implementing this can be used by user DTypes to provide
numpy.finfovalues.(gh-29836)
A new
PyUFunc_AddLoopsFromSpecsconvenience function has been added to the C API.This function allows adding multiple ufunc loops from their specs in one call
using a NULL-terminated array of
PyUFunc_LoopSlotstructs. It allowsregistering sorting and argsorting loops using the new ArrayMethod API.
(gh-29900)
New Features
Let
np.sizeaccept multiple axes.(gh-29240)
Extend
numpy.padto accept a dictionary for thepad_widthargument.(gh-29273)
'same_value'for casting by valueThe
castingkwarg now has a'same_value'option that checks the actualvalues can be round-trip cast without changing value. Currently it is only
implemented in
ndarray.astype. This will raise aValueErrorif any of thevalues in the array would change as a result of the cast, including rounding of
floats or overflowing of ints.
(gh-29129)
StringDTypefill_value support innumpy.ma.MaskedArrayMasked arrays now accept and preserve a Python
stras theirfill_valuewhen using the variable‑width
StringDType(kind'T'), including throughslicing and views. The default is
'N/A'and may be overridden by any validstring. This fixes issue gh‑29421
and was implemented in pull request gh‑29423.
(gh-29423)
ndmaxoption fornumpy.arrayThe
ndmaxoption is now available fornumpy.array.It explicitly limits the maximum number of dimensions created from nested sequences.
This is particularly useful when creating arrays of list-like objects with
dtype=object.By default, NumPy recurses through all nesting levels to create the highest possible
dimensional array, but this behavior may not be desired when the intent is to preserve
nested structures as objects. The
ndmaxparameter provides explicit control overthis recursion depth.
(gh-29569)
Warning emitted when using
wherewithoutoutUfuncs called with a
wheremask and without anoutpositional or kwarg willnow emit a warning. This usage tends to trip up users who expect some value in
output locations where the mask is
False(the ufunc will not touch thoselocations). The warning can be suppressed by using
out=None.(gh-29813)
DType sorting and argsorting supports the ArrayMethod API
User-defined dtypes can now implement custom sorting and argsorting using the
ArrayMethodAPI. This mechanism can be used in place of thePyArray_ArrFuncsslots which may be deprecated in the future.The sorting and argsorting methods are registered by pas
Configuration
📅 Schedule: Branch creation - "before 9am on tuesday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.