Jeremy Stretch 5 miesięcy temu
rodzic
commit
319556a747

+ 1 - 1
.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

+ 1 - 1
.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

+ 2 - 1
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

+ 3 - 17
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`)
 

+ 3 - 2
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
 

+ 1 - 2
netbox/release.yaml

@@ -1,4 +1,3 @@
 version: "4.4.0"
 edition: "Community"
-published: "2025-08-15"
-designation: "beta1"
+published: "2025-09-02"

BIN
netbox/translations/de/LC_MESSAGES/django.mo


+ 12 - 12
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"

BIN
netbox/translations/ru/LC_MESSAGES/django.mo


+ 18 - 17
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 \"<app>.<model>\""
-msgstr "Тип объекта должен быть указан как»<app>.<model>»"
+msgstr "Тип объекта должен быть указан как «<app>.<model>»"
 
 #: netbox/utilities/forms/fields/csv.py:106
 msgid "Invalid object type"
@@ -16295,9 +16296,9 @@ msgid ""
 "within a single range are not supported (example: "
 "<code>[ge,xe]-0/0/[0-9]</code>)."
 msgstr ""
-"Для массового создания поддерживаются алфавитно-цифровые диапазоны. "
-"Смешанные регистр и типы в одном диапазоне не поддерживаются (например: "
-"<code>[возраст, пол] -0/0/ [0-9]</code>)."
+"Для массового создания поддерживаются буквенно-цифровые диапазоны. Смешение "
+"регистров и типов внутри одного диапазона не поддерживается (например: "
+"<code>[ge,xe] -0/0/ [0-9]</code>)."
 
 #: netbox/utilities/forms/fields/expandable.py:46
 msgid ""

+ 1 - 10
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/"