diff --git a/.github/ISSUE_TEMPLATE/01-feature_request.yaml b/.github/ISSUE_TEMPLATE/01-feature_request.yaml index 24497f825..763733c09 100644 --- a/.github/ISSUE_TEMPLATE/01-feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/01-feature_request.yaml @@ -15,7 +15,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v4.3.7 + placeholder: v4.4.0 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/02-bug_report.yaml b/.github/ISSUE_TEMPLATE/02-bug_report.yaml index 153109e31..f25b70b19 100644 --- a/.github/ISSUE_TEMPLATE/02-bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/02-bug_report.yaml @@ -27,7 +27,7 @@ body: attributes: label: NetBox Version description: What version of NetBox are you currently running? - placeholder: v4.3.7 + placeholder: v4.4.0 validations: required: true - type: dropdown diff --git a/base_requirements.txt b/base_requirements.txt index 9bf8680a5..fd20eae09 100644 --- a/base_requirements.txt +++ b/base_requirements.txt @@ -139,7 +139,8 @@ requests # rq # https://github.com/rq/rq/blob/master/CHANGES.md -rq +# RQ v2.5 drops support for Redis < 5.0 +rq==2.4.1 # Django app for social-auth-core # https://github.com/python-social-auth/social-app-django/blob/master/CHANGELOG.md diff --git a/docs/development/release-checklist.md b/docs/development/release-checklist.md index 5478e37e9..3b097cc92 100644 --- a/docs/development/release-checklist.md +++ b/docs/development/release-checklist.md @@ -31,28 +31,14 @@ Close the [release milestone](https://github.com/netbox-community/netbox/milesto Check that a link to the release notes for the new version is present in the navigation menu (defined in `mkdocs.yml`), and that a summary of all major new features has been added to `docs/index.md`. -### Update the Dependency Requirements Matrix - -For every minor release, update the dependency requirements matrix in `docs/installation/upgrading.md` ("All versions") to reflect the supported versions of Python, PostgreSQL, and Redis: - -1. Add a new row with the supported dependency versions. -2. Include a documentation link using the release tag format: `https://github.com/netbox-community/netbox/blob/v4.2.0/docs/installation/index.md` -3. Bold any version changes for clarity. - -**Example Update:** - -```markdown -| NetBox Version | Python min | Python max | PostgreSQL min | Redis min | Documentation | -|:--------------:|:----------:|:----------:|:--------------:|:---------:|:-------------------------------------------------------------------------------------------------:| -| 4.2 | 3.10 | 3.12 | **13** | 4.0 | [Link](https://github.com/netbox-community/netbox/blob/v4.2.0/docs/installation/index.md) | -``` - ### Update System Requirements If a new Django release is adopted or other major dependencies (Python, PostgreSQL, Redis) change: * Update the installation guide (`docs/installation/index.md`) with the new minimum versions. -* Update the upgrade guide (`docs/installation/upgrading.md`) for the current version accordingly. +* Update the upgrade guide (`docs/installation/upgrading.md`) for the current version. + * Update the minimum versions for each dependency. + * Add a new row to the release history table. Bold any version changes for clarity. * Update the minimum PostgreSQL version in the programming error template (`netbox/templates/exceptions/programming_error.html`). * Update the minimum and supported Python versions in the project metadata file (`pyproject.toml`) diff --git a/docs/release-notes/version-4.4.md b/docs/release-notes/version-4.4.md index ac8886cfa..7138c277c 100644 --- a/docs/release-notes/version-4.4.md +++ b/docs/release-notes/version-4.4.md @@ -1,6 +1,6 @@ # NetBox v4.4 -## v4.4.0 (FUTURE) +## v4.4.0 (2025-09-02) ### New Features @@ -39,13 +39,14 @@ A new ConfigContextProfile model has been introduced to support JSON schema vali * [#19945](https://github.com/netbox-community/netbox/issues/19945) - Introduce a new custom script variable to represent decimal values * [#19965](https://github.com/netbox-community/netbox/issues/19965) - Add REST & GraphQL API request counters to the Prometheus metrics exporter * [#20029](https://github.com/netbox-community/netbox/issues/20029) - Include complete representation of object type in webhook payload data -* [#20115](https://github.com/netbox-community/netbox/issues/20115) - Support the use of ArrayColumn for plugin tables ### Plugins * [#18006](https://github.com/netbox-community/netbox/issues/18006) - A Javascript is now triggered when UI is toggled between light and dark mode * [#19735](https://github.com/netbox-community/netbox/issues/19735) - Custom individual and bulk operations can now be registered under individual views using `ObjectAction` * [#20003](https://github.com/netbox-community/netbox/issues/20003) - Enable registration of callbacks to provide supplementary webhook payload data +* [#20115](https://github.com/netbox-community/netbox/issues/20115) - Support the use of ArrayColumn for plugin tables +* [#20129](https://github.com/netbox-community/netbox/issues/20129) - Enable plugins to register custom model features ### Deprecations diff --git a/netbox/release.yaml b/netbox/release.yaml index 05837894c..952df9e5d 100644 --- a/netbox/release.yaml +++ b/netbox/release.yaml @@ -1,4 +1,3 @@ version: "4.4.0" edition: "Community" -published: "2025-08-15" -designation: "beta1" +published: "2025-09-02" diff --git a/netbox/translations/de/LC_MESSAGES/django.mo b/netbox/translations/de/LC_MESSAGES/django.mo index 2ed9cf730..98db3ee53 100644 Binary files a/netbox/translations/de/LC_MESSAGES/django.mo and b/netbox/translations/de/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/de/LC_MESSAGES/django.po b/netbox/translations/de/LC_MESSAGES/django.po index 1726cea36..d91c631b8 100644 --- a/netbox/translations/de/LC_MESSAGES/django.po +++ b/netbox/translations/de/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ # fepilins, 2024 # Steffen, 2024 # haagehan, 2024 -# Robin Reinhardt, 2024 # Niklas, 2025 # Jeremy Stretch, 2025 # chbally, 2025 +# Robin Reinhardt, 2025 # #, fuzzy msgid "" @@ -20,7 +20,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-08-26 05:01+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: chbally, 2025\n" +"Last-Translator: Robin Reinhardt, 2025\n" "Language-Team: German (https://app.transifex.com/netbox-community/teams/178115/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2915,7 +2915,7 @@ msgstr "Älteste Aufgabe" #: netbox/core/tables/tasks.py:42 netbox/templates/core/rq_worker_list.html:39 msgid "Workers" -msgstr "Arbeiter" +msgstr "Workers" #: netbox/core/tables/tasks.py:46 netbox/vpn/tables/tunnels.py:88 msgid "Host" @@ -9333,8 +9333,8 @@ msgstr "" #: netbox/extras/models/customfields.py:405 msgid "Filter must be defined as a dictionary mapping attributes to values." msgstr "" -"Der Filter muss als Wörterbuch definiert werden, das Attributen Werten " -"zuordnet." +"Der Filter muss als Dictionary definiert werden, indem Attribute Werte " +"zuordnet bekommen." #: netbox/extras/models/customfields.py:484 msgid "True" @@ -10110,7 +10110,7 @@ msgstr "Dieses Feld darf nicht leer sein." #: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" -msgstr "Validierungsregeln müssen als Wörterbuch übergeben werden" +msgstr "Validierungsregeln müssen als Dictionary übergeben werden" #: netbox/extras/validators.py:119 #, python-brace-format @@ -10449,7 +10449,7 @@ msgstr "Adressmuster" #: netbox/ipam/forms/bulk_edit.py:53 msgid "Enforce unique space" -msgstr "Erzwingen Sie einzigartigen Speicherplatz" +msgstr "Erzwingen Sie einzigartigen Bereich" #: netbox/ipam/forms/bulk_edit.py:91 msgid "Is private" @@ -12654,7 +12654,7 @@ msgstr "Fehler" #: netbox/netbox/tables/tables.py:59 #, python-brace-format msgid "No {model_name} found" -msgstr "Kein {model_name} gefunden" +msgstr "Keine {model_name} gefunden" #: netbox/netbox/tables/tables.py:283 #: netbox/templates/generic/bulk_import.html:117 @@ -13521,12 +13521,12 @@ msgstr "" #: netbox/templates/core/rq_worker.html:10 msgid "Worker Info" -msgstr "Informationen zum Arbeitnehmer" +msgstr "Informationen zum Worker" #: netbox/templates/core/rq_worker.html:31 #: netbox/templates/core/rq_worker.html:40 msgid "Worker" -msgstr "Arbeiter" +msgstr "Worker" #: netbox/templates/core/rq_worker.html:55 msgid "Queues" @@ -13555,7 +13555,7 @@ msgstr "Sekunden" #: netbox/templates/core/rq_worker_list.html:13 #: netbox/templates/core/rq_worker_list.html:21 msgid "Background Workers" -msgstr "Berufstätige im Hintergrund" +msgstr "Hintergrund-Worker" #: netbox/templates/core/rq_worker_list.html:29 #, python-format @@ -13597,7 +13597,7 @@ msgstr "Nicht verfügbar" #: netbox/templates/core/system.html:66 msgid "RQ workers" -msgstr "RQ-Mitarbeiter" +msgstr "RQ-Worker" #: netbox/templates/core/system.html:69 msgid "default queue" diff --git a/netbox/translations/ru/LC_MESSAGES/django.mo b/netbox/translations/ru/LC_MESSAGES/django.mo index 7fe6316e8..cbabca647 100644 Binary files a/netbox/translations/ru/LC_MESSAGES/django.mo and b/netbox/translations/ru/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/ru/LC_MESSAGES/django.po b/netbox/translations/ru/LC_MESSAGES/django.po index 7ee29739b..7d612db87 100644 --- a/netbox/translations/ru/LC_MESSAGES/django.po +++ b/netbox/translations/ru/LC_MESSAGES/django.po @@ -14,8 +14,9 @@ # Michail Tatarinov, 2025 # dropclient, 2025 # Artem Kotik, 2025 -# Elena Mishina, 2025 # Jeremy Stretch, 2025 +# Alevtina Karashokova, 2025 +# Elena Mishina, 2025 # #, fuzzy msgid "" @@ -24,7 +25,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-08-26 05:01+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2025\n" +"Last-Translator: Elena Mishina, 2025\n" "Language-Team: Russian (https://app.transifex.com/netbox-community/teams/178115/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -3062,7 +3063,7 @@ msgstr "Вывод из эксплуатации" #: netbox/dcim/choices.py:24 msgid "Retired" -msgstr " Вывод из эксплуатации" +msgstr "Работа полностью прекращена" #: netbox/dcim/choices.py:65 msgid "2-post frame" @@ -11487,7 +11488,7 @@ msgstr "Дочерние префиксы" #: netbox/ipam/views.py:623 msgid "Child Ranges" -msgstr "Детские диапазоны" +msgstr "Дочерние диапазоны" #: netbox/ipam/views.py:969 msgid "Related IPs" @@ -11702,7 +11703,7 @@ msgstr "Предпочитать IPv4" #: netbox/netbox/config/parameters.py:77 msgid "Prefer IPv4 addresses over IPv6" -msgstr "Предпочитайте адреса IPv4, а не IPv6" +msgstr "Предпочитать адреса IPv4, а не IPv6" #: netbox/netbox/config/parameters.py:84 msgid "Rack unit height" @@ -12930,7 +12931,7 @@ msgstr "" #: netbox/templates/circuits/circuit_terminations_swap.html:14 msgid "A side" -msgstr "Сторона" +msgstr "Сторона A" #: netbox/templates/circuits/circuit_terminations_swap.html:22 msgid "Z side" @@ -14962,7 +14963,7 @@ msgstr "Инструкции по обновлению" #: netbox/templates/home.html:40 msgid "Unlock Dashboard" -msgstr "Разблокируйте панель управления" +msgstr "Разблокировать панель управления" #: netbox/templates/home.html:49 msgid "Lock Dashboard" @@ -15235,7 +15236,7 @@ msgstr "Обратная маска" #: netbox/templates/ipam/prefix.html:193 msgid "Broadcast Address" -msgstr "Адрес вещания" +msgstr "Широковещательный адрес" #: netbox/templates/ipam/prefix/ip_ranges.html:7 msgid "Add IP Range" @@ -15654,7 +15655,7 @@ msgstr "Туннельная группа" #: netbox/templates/vpn/tunneltermination.html:10 msgid "Tunnel Termination" -msgstr "Окончание Туннеля" +msgstr "Завершение туннеля" #: netbox/templates/vpn/tunneltermination.html:35 #: netbox/vpn/forms/bulk_import.py:107 netbox/vpn/forms/model_forms.py:103 @@ -16253,13 +16254,13 @@ msgstr "" msgid "" "Invalid ranges ({value}). Must be a range of integers in ascending order." msgstr "" -"Неверные диапазоны ({value}). Должен быть диапазон целых чисел в порядке " -"возрастания." +"Недопустимые диапазоны ({value}). Должен быть указан диапазон целых чисел в " +"порядке возрастания." #: netbox/utilities/forms/fields/csv.py:44 #, python-brace-format msgid "Invalid value for a multiple choice field: {value}" -msgstr "Неверное значение для поля с несколькими вариантами ответов: {value}" +msgstr "Недопустимое значение для поля с множественным выбором: {value} " #: netbox/utilities/forms/fields/csv.py:57 #: netbox/utilities/forms/fields/csv.py:78 @@ -16273,7 +16274,7 @@ msgid "" "\"{value}\" is not a unique value for this field; multiple objects were " "found" msgstr "" -"«{value}\"не является уникальным значением для этого поля; найдено несколько" +"«{value}» не является уникальным значением для этого поля; найдено несколько" " объектов" #: netbox/utilities/forms/fields/csv.py:69 @@ -16283,7 +16284,7 @@ msgstr "\"{field_name}\" — неправильное имя поля досту #: netbox/utilities/forms/fields/csv.py:102 msgid "Object type must be specified as \".\"" -msgstr "Тип объекта должен быть указан как».»" +msgstr "Тип объекта должен быть указан как «.»" #: netbox/utilities/forms/fields/csv.py:106 msgid "Invalid object type" @@ -16295,9 +16296,9 @@ msgid "" "within a single range are not supported (example: " "[ge,xe]-0/0/[0-9])." msgstr "" -"Для массового создания поддерживаются алфавитно-цифровые диапазоны. " -"Смешанные регистр и типы в одном диапазоне не поддерживаются (например: " -"[возраст, пол] -0/0/ [0-9])." +"Для массового создания поддерживаются буквенно-цифровые диапазоны. Смешение " +"регистров и типов внутри одного диапазона не поддерживается (например: " +"[ge,xe] -0/0/ [0-9])." #: netbox/utilities/forms/fields/expandable.py:46 msgid "" diff --git a/pyproject.toml b/pyproject.toml index 5e42f0bac..ca437c649 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,14 +3,8 @@ [project] name = "netbox" -version = "4.4.0-beta1" +version = "4.4.0" requires-python = ">=3.10" -authors = [ - { name = "NetBox Community" } -] -maintainers = [ - { name = "NetBox Community" } -] description = "The premier source of truth powering network automation." readme = "README.md" license = "Apache-2.0" @@ -18,8 +12,6 @@ license-files = ["LICENSE.txt"] classifiers = [ "Development Status :: 5 - Production/Stable", "Framework :: Django", - "Intended Audience :: Developers", - "Intended Audience :: System Administrators", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", @@ -28,7 +20,6 @@ classifiers = [ "Programming Language :: Python :: 3.12", ] - [project.urls] Homepage = "https://netboxlabs.com/products/netbox/" Documentation = "https://netboxlabs.com/docs/netbox/"