uvЩо нового в uv 0.13
Реліз uv 0.13 робить Python 3.15 стандартною стабільною версією, переходить на нативні інтерпретатори на Windows ARM64 та впроваджує низку ламаючих змін.
Реліз від 9 жовтня 2026 · оновлено 8 листопада 2026
Головне
- Python 3.15 став стандартною стабільною версією для автоматичних завантажень
- На Windows ARM64 тепер надається перевага нативним інтерпретаторам замість x86_64
- Враховується директива --require-hashes у підключених constraints-файлах
- Заборонено editable-залежності в підключених файлах обмежень
- Стабілізовано використання tar-codec для обробки tar-архівів за замовчуванням
Коротко
У релізі uv 0.13 стандартною стабільною версією Python стає 3.15, яка тепер обирається за замовчуванням під час завантаження інтерпретаторів без фіксованої версії. Оновлення містить кілька ламаючих змін, спрямованих на коректність обробки залежностей, сумісність із pip та оптимізацію роботи на платформі Windows ARM64. Також оновлено внутрішній формат кешу для прискорення подальшої роботи та додано нові preview-можливості.
Нові можливості
Підтримка версій Python та архітектур
- Python 3.15 за замовчуванням: версію за замовчуванням змінено з 3.14 на 3.15. Команди на зразок
uv python install,uv venvабоuvx pythonзавантажують Python 3.15, якщо у системі немає відповідного інтерпретатора і не вказана інша версія. Доступні CPython 3.15.0, а в наступних мінорних патчах додано версії аж до 3.15.2, CPython 3.16.0a1, оновлення гілок 3.11–3.14 та релізи PyPy 3.11.17 і 3.12.15. - Підтримка Linux SPARC: додано сумісність із платформою Linux SPARC через механізм фолбеку за відсутності клонування файлової системи та детального обліку кешу.
Керування залежностями та проектами
- Хеші для build-залежностей у preview: прапорець
--require-build-hashesдозволяє вимагати перевірку хешів для залежностей збірки, включно з транзитивними. - Підтримка PEP 825 (wheel variants) у preview: за наявності експериментальної опції
wheel-variantsдодано розбір міток варіантів у назвах коліс, читання метаданих індексу, ранжування варіантів згідно зі статичними провайдерами PEP 850 та детекцію можливостей GPU NVIDIA. - Оновлення робочих просторів: утиліта
uv workspace metadataотримала параметр--output-versionдля вибору версії схеми, а також тепер звітує про всі встановлені пакунки, включно з тими, що залишилися поза активним резолвом. - Дедуплікація в uv audit: у preview-режимі утиліта
uv auditвідображає аліаси записів з бази OSV як одну вразливість.
Ламаючі зміни
- Зміна стандартної версії Python: перехід з 3.14 на 3.15 впливає на завантаження, коли версія не зафіксована. Щоб зберегти попередню версію, необхідно явно передавати
--python 3.14(наприклад, уuv venv --python 3.14) або зафіксувати її у проєкті черезuv python pin 3.14. - Врахування
--require-hashesу constraints-файлах: директива--require-hashesу файлах обмежень, підключених через-cіз файлу requirements, більше не ігнорується. Тепер uv вимагає наявності хешів для всіх залежностей у такому середовищі інсталяції, що може призвести до помилок збірки за їх відсутності. - Пріоритет нативного Python на Windows ARM64: білди uv для ARM64 на Windows тепер віддають перевагу нативним інтерпретаторам ARM64 (
aarch64) замість емульованогоx86_64. Повернутися до попередньої поведінки можна за допомогою змінноїUV_PYTHON_ARCH=x86_64, явної назви інтерпретатора (наприклад,cpython-3.14-windows-x86_64) або конфігураціїpython-arch: x86_64вsetup-uv. - Відхилення editable-залежностей у файлах обмежень: рядки з
-eу підключених через-cфайлах constraints тепер завершуються помилкою, як у pip, замість безшумного ігнорування. Такі залежності слід переносити до файлів вимог із-rабо передавати через--editable. - Відмова від патчу distutils для Python 3.10+: файли
_virtualenv.pyта_virtualenv.pthбільше не записуються у нові віртуальні середовища для Python 3.10 і новіших версій, що зменшує накладні витрати на старті. Для Python 3.9 і старіших патч зберігається. Зміна стабілізує попередній preview-прапорецьno-distutils-patch. - Обробка параметрів файлів залежностей як єдиного шляху: значення параметрів
--constraint,--override,--excludeта--build-constraintбільше не розбиваються пробілами при передачі списку в лапках, а сприймаються як один шлях (що дозволяє пробіли у назвах файлів). Для кількох файлів параметр слід повторювати (наприклад,-c a.txt -c b.txt). Змінні середовищаUV_CONSTRAINT,UV_OVERRIDE,UV_EXCLUDEтаUV_BUILD_CONSTRAINTпродовжують приймати розділені пробілами значення. - Використання
tar-codecза замовчуванням: замість бібліотекиastral-tokio-taruv тепер використовуєtar-codecдля розпакування архівів, створення source distributions черезuv_buildта читання метаданих дляuv publish. Новий бекенд застосовує суворішу валідацію і може відхиляти архіви з непідтримуваними розширеннями. Повернути попередню поведінку можна встановленням змінноїUV_LEGACY_TAR_BACKEND=1. - Захист від перезапису в
uv build --clear: заборонено вказувати вихідні каталоги, що містять джерела збірки чи ведуть до них через symlink. Раніше це могло призводити до випадкового видалення проєкту або вихідного коду перед збіркою.
Виправлення та покращення
- Оновлення сертифікатів: оновлено вбудовані кореневі сертифікати через
webpki-root-certs1.0.10 таrustls-webpki0.103.16 із блокуванням скомпрометованих проміжних ключів eMudhra. - Оптимізація кешу та пам'яті: оновлено внутрішній формат кешу uv. Зменшено використання оперативної пам'яті під час резолву великих робочих просторів, складних дерев залежностей із маркерами та при блокуванні великих проєктів.
- Зменшення розміру бінарників: оптимізовано розмір виконуваних файлів uv та коліс
uv-build. - Прискорення парсингу та експорту: прискорено експорт через
uv exportдля графів із додатковими екстра-залежностями (extras), оптимізовано парсинг Simple API, метаданих PyPI та файлів конфігурації TOML. - Коректне очищення та конкурентність: усунуто можливість збою створення оточень і синхронізації при паралельному виконанні
uv cache clean, а також додано захист від видалення сторонніх файлів поруч із каталогами сховища при деінсталяції інструментів і керованого Python. - Безпека облікових даних: попереджено потрапляння логінів та паролів із URL до діагностичних повідомлень чи збережених метаданих.
- Сумісність
uv pip: параметриuv pip checkтаuv pip install --strictтепер ігнорують верхні обмеженняRequires-Pythonаналогічно до процесу резолву.
Огляд підготовлено автоматично за офіційними release notes за допомогою ШІ та перевірено на відповідність джерелу. Точні формулювання дивіться в оригіналі. Як ми працюємо