Jelajahi Sumber

Merge pull request #21562 from netbox-community/release-v4.5.4

Release v4.5.4
bctiemann 23 jam lalu
induk
melakukan
983ba4fda8
42 mengubah file dengan 5463 tambahan dan 5406 penghapusan
  1. 1 1
      .github/ISSUE_TEMPLATE/01-feature_request.yaml
  2. 1 1
      .github/ISSUE_TEMPLATE/02-bug_report.yaml
  3. 1 1
      .github/ISSUE_TEMPLATE/03-performance.yaml
  4. 4 0
      base_requirements.txt
  5. 2 0
      contrib/generated_schema.json
  6. 151 107
      contrib/openapi.json
  7. 29 0
      docs/release-notes/version-4.5.md
  8. 4 4
      netbox/project-static/package.json
  9. 116 79
      netbox/project-static/yarn.lock
  10. 2 2
      netbox/release.yaml
  11. TEMPAT SAMPAH
      netbox/translations/cs/LC_MESSAGES/django.mo
  12. 343 347
      netbox/translations/cs/LC_MESSAGES/django.po
  13. TEMPAT SAMPAH
      netbox/translations/da/LC_MESSAGES/django.mo
  14. 343 347
      netbox/translations/da/LC_MESSAGES/django.po
  15. TEMPAT SAMPAH
      netbox/translations/de/LC_MESSAGES/django.mo
  16. 343 347
      netbox/translations/de/LC_MESSAGES/django.po
  17. TEMPAT SAMPAH
      netbox/translations/es/LC_MESSAGES/django.mo
  18. 343 347
      netbox/translations/es/LC_MESSAGES/django.po
  19. TEMPAT SAMPAH
      netbox/translations/fr/LC_MESSAGES/django.mo
  20. 343 347
      netbox/translations/fr/LC_MESSAGES/django.po
  21. TEMPAT SAMPAH
      netbox/translations/it/LC_MESSAGES/django.mo
  22. 343 347
      netbox/translations/it/LC_MESSAGES/django.po
  23. TEMPAT SAMPAH
      netbox/translations/ja/LC_MESSAGES/django.mo
  24. 342 346
      netbox/translations/ja/LC_MESSAGES/django.po
  25. TEMPAT SAMPAH
      netbox/translations/lv/LC_MESSAGES/django.mo
  26. 343 347
      netbox/translations/lv/LC_MESSAGES/django.po
  27. TEMPAT SAMPAH
      netbox/translations/nl/LC_MESSAGES/django.mo
  28. 343 347
      netbox/translations/nl/LC_MESSAGES/django.po
  29. TEMPAT SAMPAH
      netbox/translations/pl/LC_MESSAGES/django.mo
  30. 343 347
      netbox/translations/pl/LC_MESSAGES/django.po
  31. TEMPAT SAMPAH
      netbox/translations/pt/LC_MESSAGES/django.mo
  32. 343 347
      netbox/translations/pt/LC_MESSAGES/django.po
  33. TEMPAT SAMPAH
      netbox/translations/ru/LC_MESSAGES/django.mo
  34. 343 347
      netbox/translations/ru/LC_MESSAGES/django.po
  35. TEMPAT SAMPAH
      netbox/translations/tr/LC_MESSAGES/django.mo
  36. 343 347
      netbox/translations/tr/LC_MESSAGES/django.po
  37. TEMPAT SAMPAH
      netbox/translations/uk/LC_MESSAGES/django.mo
  38. 343 347
      netbox/translations/uk/LC_MESSAGES/django.po
  39. TEMPAT SAMPAH
      netbox/translations/zh/LC_MESSAGES/django.mo
  40. 343 347
      netbox/translations/zh/LC_MESSAGES/django.po
  41. 1 1
      pyproject.toml
  42. 7 6
      requirements.txt

+ 1 - 1
.github/ISSUE_TEMPLATE/01-feature_request.yaml

@@ -15,7 +15,7 @@ body:
     attributes:
     attributes:
       label: NetBox version
       label: NetBox version
       description: What version of NetBox are you currently running?
       description: What version of NetBox are you currently running?
-      placeholder: v4.5.3
+      placeholder: v4.5.4
     validations:
     validations:
       required: true
       required: true
   - type: dropdown
   - type: dropdown

+ 1 - 1
.github/ISSUE_TEMPLATE/02-bug_report.yaml

@@ -27,7 +27,7 @@ body:
     attributes:
     attributes:
       label: NetBox Version
       label: NetBox Version
       description: What version of NetBox are you currently running?
       description: What version of NetBox are you currently running?
-      placeholder: v4.5.3
+      placeholder: v4.5.4
     validations:
     validations:
       required: true
       required: true
   - type: dropdown
   - type: dropdown

+ 1 - 1
.github/ISSUE_TEMPLATE/03-performance.yaml

@@ -8,7 +8,7 @@ body:
     attributes:
     attributes:
       label: NetBox Version
       label: NetBox Version
       description: What version of NetBox are you currently running?
       description: What version of NetBox are you currently running?
-      placeholder: v4.5.3
+      placeholder: v4.5.4
     validations:
     validations:
       required: true
       required: true
   - type: dropdown
   - type: dropdown

+ 4 - 0
base_requirements.txt

@@ -98,6 +98,10 @@ jsonschema
 # https://python-markdown.github.io/changelog/
 # https://python-markdown.github.io/changelog/
 Markdown
 Markdown
 
 
+# MkDocs
+# https://github.com/mkdocs/mkdocs/releases
+mkdocs<2.0
+
 # MkDocs Material theme (for documentation build)
 # MkDocs Material theme (for documentation build)
 # https://squidfunk.github.io/mkdocs-material/changelog/
 # https://squidfunk.github.io/mkdocs-material/changelog/
 mkdocs-material
 mkdocs-material

+ 2 - 0
contrib/generated_schema.json

@@ -349,6 +349,7 @@
                         "5gbase-t",
                         "5gbase-t",
                         "10gbase-br-d",
                         "10gbase-br-d",
                         "10gbase-br-u",
                         "10gbase-br-u",
+                        "10gbase-cu",
                         "10gbase-cx4",
                         "10gbase-cx4",
                         "10gbase-er",
                         "10gbase-er",
                         "10gbase-lr",
                         "10gbase-lr",
@@ -367,6 +368,7 @@
                         "40gbase-fr4",
                         "40gbase-fr4",
                         "40gbase-lr4",
                         "40gbase-lr4",
                         "40gbase-sr4",
                         "40gbase-sr4",
+                        "40gbase-sr4-bd",
                         "50gbase-cr",
                         "50gbase-cr",
                         "50gbase-er",
                         "50gbase-er",
                         "50gbase-fr",
                         "50gbase-fr",

File diff ditekan karena terlalu besar
+ 151 - 107
contrib/openapi.json


+ 29 - 0
docs/release-notes/version-4.5.md

@@ -1,5 +1,34 @@
 # NetBox v4.5
 # NetBox v4.5
 
 
+## v4.5.4 (2026-03-03)
+
+### Enhancements
+
+* [#21369](https://github.com/netbox-community/netbox/issues/21369) - Support lazy-loading of image attachments
+* [#21385](https://github.com/netbox-community/netbox/issues/21385) - Add contact assignment support for virtual circuits
+* [#21394](https://github.com/netbox-community/netbox/issues/21394) - Add 10GBASE-CU and 40GBASE-SR4 BiDi interface types
+* [#21477](https://github.com/netbox-community/netbox/issues/21477) - Extend GraphQL API filters for cables
+
+### Performance Improvements
+
+* [#21456](https://github.com/netbox-community/netbox/issues/21456) - Improve performance of config context resolution via GraphQL API
+* [#21459](https://github.com/netbox-community/netbox/issues/21459) - Avoid prefetching data for hidden table columns
+
+### Bug Fixes
+
+* [#20490](https://github.com/netbox-community/netbox/issues/20490) - Restrict visibility of scripts in list view to users with view permission
+* [#20911](https://github.com/netbox-community/netbox/issues/20911) - Sort module bay options alphabetically when installing a module
+* [#21347](https://github.com/netbox-community/netbox/issues/21347) - The allocation of IPv6 addresses from a non-pool prefix should start at one, not zero
+* [#21429](https://github.com/netbox-community/netbox/issues/21429) - Termination type should persist when employing "create & add another" workflow for cables
+* [#21478](https://github.com/netbox-community/netbox/issues/21478) - Fix GraphQL union type resolution for connected console ports
+* [#21481](https://github.com/netbox-community/netbox/issues/21481) - Fix display of facility ID on rack view
+* [#21518](https://github.com/netbox-community/netbox/issues/21518) - Fix decimal custom field displaying as unset when value is zero
+* [#21524](https://github.com/netbox-community/netbox/issues/21524) - Avoid `IndexError` exception when encountering stale cable paths
+* [#21527](https://github.com/netbox-community/netbox/issues/21527) - Fix display of primary IP address with associated NAT IP on device view
+* [#21550](https://github.com/netbox-community/netbox/issues/21550) - Ensure pre-change snapshots are recorded for related objects
+
+---
+
 ## v4.5.3 (2026-02-17)
 ## v4.5.3 (2026-02-17)
 
 
 ### Enhancements
 ### Enhancements

+ 4 - 4
netbox/project-static/package.json

@@ -38,13 +38,13 @@
   },
   },
   "devDependencies": {
   "devDependencies": {
     "@eslint/compat": "^2.0.2",
     "@eslint/compat": "^2.0.2",
-    "@eslint/eslintrc": "^3.3.3",
+    "@eslint/eslintrc": "^3.3.4",
     "@eslint/js": "^9.39.2",
     "@eslint/js": "^9.39.2",
     "@types/bootstrap": "5.2.10",
     "@types/bootstrap": "5.2.10",
     "@types/cookie": "^1.0.0",
     "@types/cookie": "^1.0.0",
     "@types/node": "^24.10.1",
     "@types/node": "^24.10.1",
-    "@typescript-eslint/eslint-plugin": "^8.56.0",
-    "@typescript-eslint/parser": "^8.56.0",
+    "@typescript-eslint/eslint-plugin": "^8.56.1",
+    "@typescript-eslint/parser": "^8.56.1",
     "esbuild": "^0.27.3",
     "esbuild": "^0.27.3",
     "esbuild-sass-plugin": "^3.6.0",
     "esbuild-sass-plugin": "^3.6.0",
     "eslint": "^9.39.2",
     "eslint": "^9.39.2",
@@ -52,7 +52,7 @@
     "eslint-import-resolver-typescript": "^4.4.4",
     "eslint-import-resolver-typescript": "^4.4.4",
     "eslint-plugin-import": "^2.32.0",
     "eslint-plugin-import": "^2.32.0",
     "eslint-plugin-prettier": "^5.5.5",
     "eslint-plugin-prettier": "^5.5.5",
-    "globals": "^17.3.0",
+    "globals": "^17.4.0",
     "prettier": "^3.8.1",
     "prettier": "^3.8.1",
     "typescript": "^5.9.3"
     "typescript": "^5.9.3"
   },
   },

+ 116 - 79
netbox/project-static/yarn.lock

@@ -210,7 +210,7 @@
   dependencies:
   dependencies:
     "@types/json-schema" "^7.0.15"
     "@types/json-schema" "^7.0.15"
 
 
-"@eslint/eslintrc@^3.3.1", "@eslint/eslintrc@^3.3.3":
+"@eslint/eslintrc@^3.3.1":
   version "3.3.3"
   version "3.3.3"
   resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz"
   resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz"
   integrity sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==
   integrity sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==
@@ -225,6 +225,21 @@
     minimatch "^3.1.2"
     minimatch "^3.1.2"
     strip-json-comments "^3.1.1"
     strip-json-comments "^3.1.1"
 
 
+"@eslint/eslintrc@^3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.4.tgz#e402b1920f7c1f5a15342caa432b1348cacbb641"
+  integrity sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==
+  dependencies:
+    ajv "^6.14.0"
+    debug "^4.3.2"
+    espree "^10.0.1"
+    globals "^14.0.0"
+    ignore "^5.2.0"
+    import-fresh "^3.2.1"
+    js-yaml "^4.1.1"
+    minimatch "^3.1.3"
+    strip-json-comments "^3.1.1"
+
 "@eslint/js@9.39.2", "@eslint/js@^9.39.2":
 "@eslint/js@9.39.2", "@eslint/js@^9.39.2":
   version "9.39.2"
   version "9.39.2"
   resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.39.2.tgz#2d4b8ec4c3ea13c1b3748e0c97ecd766bdd80599"
   resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.39.2.tgz#2d4b8ec4c3ea13c1b3748e0c97ecd766bdd80599"
@@ -935,100 +950,100 @@
   dependencies:
   dependencies:
     "@types/estree" "*"
     "@types/estree" "*"
 
 
-"@typescript-eslint/eslint-plugin@^8.56.0":
-  version "8.56.0"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.0.tgz#5aec3db807a6b8437ea5d5ebf7bd16b4119aba8d"
-  integrity sha512-lRyPDLzNCuae71A3t9NEINBiTn7swyOhvUj3MyUOxb8x6g6vPEFoOU+ZRmGMusNC3X3YMhqMIX7i8ShqhT74Pw==
+"@typescript-eslint/eslint-plugin@^8.56.1":
+  version "8.56.1"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.1.tgz#b1ce606d87221daec571e293009675992f0aae76"
+  integrity sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==
   dependencies:
   dependencies:
     "@eslint-community/regexpp" "^4.12.2"
     "@eslint-community/regexpp" "^4.12.2"
-    "@typescript-eslint/scope-manager" "8.56.0"
-    "@typescript-eslint/type-utils" "8.56.0"
-    "@typescript-eslint/utils" "8.56.0"
-    "@typescript-eslint/visitor-keys" "8.56.0"
+    "@typescript-eslint/scope-manager" "8.56.1"
+    "@typescript-eslint/type-utils" "8.56.1"
+    "@typescript-eslint/utils" "8.56.1"
+    "@typescript-eslint/visitor-keys" "8.56.1"
     ignore "^7.0.5"
     ignore "^7.0.5"
     natural-compare "^1.4.0"
     natural-compare "^1.4.0"
     ts-api-utils "^2.4.0"
     ts-api-utils "^2.4.0"
 
 
-"@typescript-eslint/parser@^8.56.0":
-  version "8.56.0"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.56.0.tgz#8ecff1678b8b1a742d29c446ccf5eeea7f971d72"
-  integrity sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg==
+"@typescript-eslint/parser@^8.56.1":
+  version "8.56.1"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.56.1.tgz#21d13b3d456ffb08614c1d68bb9a4f8d9237cdc7"
+  integrity sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==
   dependencies:
   dependencies:
-    "@typescript-eslint/scope-manager" "8.56.0"
-    "@typescript-eslint/types" "8.56.0"
-    "@typescript-eslint/typescript-estree" "8.56.0"
-    "@typescript-eslint/visitor-keys" "8.56.0"
+    "@typescript-eslint/scope-manager" "8.56.1"
+    "@typescript-eslint/types" "8.56.1"
+    "@typescript-eslint/typescript-estree" "8.56.1"
+    "@typescript-eslint/visitor-keys" "8.56.1"
     debug "^4.4.3"
     debug "^4.4.3"
 
 
-"@typescript-eslint/project-service@8.56.0":
-  version "8.56.0"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.56.0.tgz#bb8562fecd8f7922e676fc6a1189c20dd7991d73"
-  integrity sha512-M3rnyL1vIQOMeWxTWIW096/TtVP+8W3p/XnaFflhmcFp+U4zlxUxWj4XwNs6HbDeTtN4yun0GNTTDBw/SvufKg==
+"@typescript-eslint/project-service@8.56.1":
+  version "8.56.1"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.56.1.tgz#65c8d645f028b927bfc4928593b54e2ecd809244"
+  integrity sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==
   dependencies:
   dependencies:
-    "@typescript-eslint/tsconfig-utils" "^8.56.0"
-    "@typescript-eslint/types" "^8.56.0"
+    "@typescript-eslint/tsconfig-utils" "^8.56.1"
+    "@typescript-eslint/types" "^8.56.1"
     debug "^4.4.3"
     debug "^4.4.3"
 
 
-"@typescript-eslint/scope-manager@8.56.0":
-  version "8.56.0"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.56.0.tgz#604030a4c6433df3728effdd441d47f45a86edb4"
-  integrity sha512-7UiO/XwMHquH+ZzfVCfUNkIXlp/yQjjnlYUyYz7pfvlK3/EyyN6BK+emDmGNyQLBtLGaYrTAI6KOw8tFucWL2w==
+"@typescript-eslint/scope-manager@8.56.1":
+  version "8.56.1"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz#254df93b5789a871351335dd23e20bc164060f24"
+  integrity sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==
   dependencies:
   dependencies:
-    "@typescript-eslint/types" "8.56.0"
-    "@typescript-eslint/visitor-keys" "8.56.0"
+    "@typescript-eslint/types" "8.56.1"
+    "@typescript-eslint/visitor-keys" "8.56.1"
 
 
-"@typescript-eslint/tsconfig-utils@8.56.0", "@typescript-eslint/tsconfig-utils@^8.56.0":
-  version "8.56.0"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.0.tgz#2538ce83cbc376e685487960cbb24b65fe2abc4e"
-  integrity sha512-bSJoIIt4o3lKXD3xmDh9chZcjCz5Lk8xS7Rxn+6l5/pKrDpkCwtQNQQwZ2qRPk7TkUYhrq3WPIHXOXlbXP0itg==
+"@typescript-eslint/tsconfig-utils@8.56.1", "@typescript-eslint/tsconfig-utils@^8.56.1":
+  version "8.56.1"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz#1afa830b0fada5865ddcabdc993b790114a879b7"
+  integrity sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==
 
 
-"@typescript-eslint/type-utils@8.56.0":
-  version "8.56.0"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.56.0.tgz#72b4edc1fc73988998f1632b3ec99c2a66eaac6e"
-  integrity sha512-qX2L3HWOU2nuDs6GzglBeuFXviDODreS58tLY/BALPC7iu3Fa+J7EOTwnX9PdNBxUI7Uh0ntP0YWGnxCkXzmfA==
+"@typescript-eslint/type-utils@8.56.1":
+  version "8.56.1"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.56.1.tgz#7a6c4fabf225d674644931e004302cbbdd2f2e24"
+  integrity sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==
   dependencies:
   dependencies:
-    "@typescript-eslint/types" "8.56.0"
-    "@typescript-eslint/typescript-estree" "8.56.0"
-    "@typescript-eslint/utils" "8.56.0"
+    "@typescript-eslint/types" "8.56.1"
+    "@typescript-eslint/typescript-estree" "8.56.1"
+    "@typescript-eslint/utils" "8.56.1"
     debug "^4.4.3"
     debug "^4.4.3"
     ts-api-utils "^2.4.0"
     ts-api-utils "^2.4.0"
 
 
-"@typescript-eslint/types@8.56.0", "@typescript-eslint/types@^8.56.0":
-  version "8.56.0"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.56.0.tgz#a2444011b9a98ca13d70411d2cbfed5443b3526a"
-  integrity sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ==
+"@typescript-eslint/types@8.56.1", "@typescript-eslint/types@^8.56.1":
+  version "8.56.1"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.56.1.tgz#975e5942bf54895291337c91b9191f6eb0632ab9"
+  integrity sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==
 
 
-"@typescript-eslint/typescript-estree@8.56.0":
-  version "8.56.0"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.0.tgz#fadbc74c14c5bac947db04980ff58bb178701c2e"
-  integrity sha512-ex1nTUMWrseMltXUHmR2GAQ4d+WjkZCT4f+4bVsps8QEdh0vlBsaCokKTPlnqBFqqGaxilDNJG7b8dolW2m43Q==
+"@typescript-eslint/typescript-estree@8.56.1":
+  version "8.56.1"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz#3b9e57d8129a860c50864c42188f761bdef3eab0"
+  integrity sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==
   dependencies:
   dependencies:
-    "@typescript-eslint/project-service" "8.56.0"
-    "@typescript-eslint/tsconfig-utils" "8.56.0"
-    "@typescript-eslint/types" "8.56.0"
-    "@typescript-eslint/visitor-keys" "8.56.0"
+    "@typescript-eslint/project-service" "8.56.1"
+    "@typescript-eslint/tsconfig-utils" "8.56.1"
+    "@typescript-eslint/types" "8.56.1"
+    "@typescript-eslint/visitor-keys" "8.56.1"
     debug "^4.4.3"
     debug "^4.4.3"
-    minimatch "^9.0.5"
+    minimatch "^10.2.2"
     semver "^7.7.3"
     semver "^7.7.3"
     tinyglobby "^0.2.15"
     tinyglobby "^0.2.15"
     ts-api-utils "^2.4.0"
     ts-api-utils "^2.4.0"
 
 
-"@typescript-eslint/utils@8.56.0":
-  version "8.56.0"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.56.0.tgz#063ce6f702ec603de1b83ee795ed5e877d6f7841"
-  integrity sha512-RZ3Qsmi2nFGsS+n+kjLAYDPVlrzf7UhTffrDIKr+h2yzAlYP/y5ZulU0yeDEPItos2Ph46JAL5P/On3pe7kDIQ==
+"@typescript-eslint/utils@8.56.1":
+  version "8.56.1"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.56.1.tgz#5a86acaf9f1b4c4a85a42effb217f73059f6deb7"
+  integrity sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==
   dependencies:
   dependencies:
     "@eslint-community/eslint-utils" "^4.9.1"
     "@eslint-community/eslint-utils" "^4.9.1"
-    "@typescript-eslint/scope-manager" "8.56.0"
-    "@typescript-eslint/types" "8.56.0"
-    "@typescript-eslint/typescript-estree" "8.56.0"
+    "@typescript-eslint/scope-manager" "8.56.1"
+    "@typescript-eslint/types" "8.56.1"
+    "@typescript-eslint/typescript-estree" "8.56.1"
 
 
-"@typescript-eslint/visitor-keys@8.56.0":
-  version "8.56.0"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.0.tgz#7d6592ab001827d3ce052155edf7ecad19688d7d"
-  integrity sha512-q+SL+b+05Ud6LbEE35qe4A99P+htKTKVbyiNEe45eCbJFyh/HVK9QXwlrbz+Q4L8SOW4roxSVwXYj4DMBT7Ieg==
+"@typescript-eslint/visitor-keys@8.56.1":
+  version "8.56.1"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz#50e03475c33a42d123dc99e63acf1841c0231f87"
+  integrity sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==
   dependencies:
   dependencies:
-    "@typescript-eslint/types" "8.56.0"
+    "@typescript-eslint/types" "8.56.1"
     eslint-visitor-keys "^5.0.0"
     eslint-visitor-keys "^5.0.0"
 
 
 "@unrs/resolver-binding-android-arm-eabi@1.11.1":
 "@unrs/resolver-binding-android-arm-eabi@1.11.1":
@@ -1148,6 +1163,16 @@ ajv@^6.12.4:
     json-schema-traverse "^0.4.1"
     json-schema-traverse "^0.4.1"
     uri-js "^4.2.2"
     uri-js "^4.2.2"
 
 
+ajv@^6.14.0:
+  version "6.14.0"
+  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.14.0.tgz#fd067713e228210636ebb08c60bd3765d6dbe73a"
+  integrity sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==
+  dependencies:
+    fast-deep-equal "^3.1.1"
+    fast-json-stable-stringify "^2.0.0"
+    json-schema-traverse "^0.4.1"
+    uri-js "^4.2.2"
+
 ansi-styles@^4.1.0:
 ansi-styles@^4.1.0:
   version "4.3.0"
   version "4.3.0"
   resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
   resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
@@ -1274,6 +1299,11 @@ balanced-match@^1.0.0:
   resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
   resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
   integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
   integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
 
 
+balanced-match@^4.0.2:
+  version "4.0.4"
+  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.4.tgz#bfb10662feed8196a2c62e7c68e17720c274179a"
+  integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==
+
 bootstrap@5.3.7:
 bootstrap@5.3.7:
   version "5.3.7"
   version "5.3.7"
   resolved "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.7.tgz"
   resolved "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.7.tgz"
@@ -1292,12 +1322,12 @@ brace-expansion@^1.1.7:
     balanced-match "^1.0.0"
     balanced-match "^1.0.0"
     concat-map "0.0.1"
     concat-map "0.0.1"
 
 
-brace-expansion@^2.0.1:
-  version "2.0.2"
-  resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz"
-  integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==
+brace-expansion@^5.0.2:
+  version "5.0.4"
+  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.4.tgz#614daaecd0a688f660bbbc909a8748c3d80d4336"
+  integrity sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==
   dependencies:
   dependencies:
-    balanced-match "^1.0.0"
+    balanced-match "^4.0.2"
 
 
 braces@^3.0.3:
 braces@^3.0.3:
   version "3.0.3"
   version "3.0.3"
@@ -2189,10 +2219,10 @@ globals@^14.0.0:
   resolved "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz"
   resolved "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz"
   integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==
   integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==
 
 
-globals@^17.3.0:
-  version "17.3.0"
-  resolved "https://registry.yarnpkg.com/globals/-/globals-17.3.0.tgz#8b96544c2fa91afada02747cc9731c002a96f3b9"
-  integrity sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==
+globals@^17.4.0:
+  version "17.4.0"
+  resolved "https://registry.yarnpkg.com/globals/-/globals-17.4.0.tgz#33d7d297ed1536b388a0e2f4bcd0ff19c8ff91b5"
+  integrity sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==
 
 
 globalthis@^1.0.3, globalthis@^1.0.4:
 globalthis@^1.0.3, globalthis@^1.0.4:
   version "1.0.4"
   version "1.0.4"
@@ -2784,6 +2814,13 @@ micromatch@^4.0.5:
     braces "^3.0.3"
     braces "^3.0.3"
     picomatch "^2.3.1"
     picomatch "^2.3.1"
 
 
+minimatch@^10.2.2:
+  version "10.2.4"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.4.tgz#465b3accbd0218b8281f5301e27cedc697f96fde"
+  integrity sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==
+  dependencies:
+    brace-expansion "^5.0.2"
+
 minimatch@^3.1.2:
 minimatch@^3.1.2:
   version "3.1.2"
   version "3.1.2"
   resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
   resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
@@ -2791,12 +2828,12 @@ minimatch@^3.1.2:
   dependencies:
   dependencies:
     brace-expansion "^1.1.7"
     brace-expansion "^1.1.7"
 
 
-minimatch@^9.0.5:
-  version "9.0.5"
-  resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz"
-  integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
+minimatch@^3.1.3:
+  version "3.1.5"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e"
+  integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==
   dependencies:
   dependencies:
-    brace-expansion "^2.0.1"
+    brace-expansion "^1.1.7"
 
 
 minimist@^1.2.0, minimist@^1.2.6:
 minimist@^1.2.0, minimist@^1.2.6:
   version "1.2.8"
   version "1.2.8"

+ 2 - 2
netbox/release.yaml

@@ -1,3 +1,3 @@
-version: "4.5.3"
+version: "4.5.4"
 edition: "Community"
 edition: "Community"
-published: "2026-02-17"
+published: "2026-03-03"

TEMPAT SAMPAH
netbox/translations/cs/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 343 - 347
netbox/translations/cs/LC_MESSAGES/django.po


TEMPAT SAMPAH
netbox/translations/da/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 343 - 347
netbox/translations/da/LC_MESSAGES/django.po


TEMPAT SAMPAH
netbox/translations/de/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 343 - 347
netbox/translations/de/LC_MESSAGES/django.po


TEMPAT SAMPAH
netbox/translations/es/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 343 - 347
netbox/translations/es/LC_MESSAGES/django.po


TEMPAT SAMPAH
netbox/translations/fr/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 343 - 347
netbox/translations/fr/LC_MESSAGES/django.po


TEMPAT SAMPAH
netbox/translations/it/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 343 - 347
netbox/translations/it/LC_MESSAGES/django.po


TEMPAT SAMPAH
netbox/translations/ja/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 342 - 346
netbox/translations/ja/LC_MESSAGES/django.po


TEMPAT SAMPAH
netbox/translations/lv/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 343 - 347
netbox/translations/lv/LC_MESSAGES/django.po


TEMPAT SAMPAH
netbox/translations/nl/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 343 - 347
netbox/translations/nl/LC_MESSAGES/django.po


TEMPAT SAMPAH
netbox/translations/pl/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 343 - 347
netbox/translations/pl/LC_MESSAGES/django.po


TEMPAT SAMPAH
netbox/translations/pt/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 343 - 347
netbox/translations/pt/LC_MESSAGES/django.po


TEMPAT SAMPAH
netbox/translations/ru/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 343 - 347
netbox/translations/ru/LC_MESSAGES/django.po


TEMPAT SAMPAH
netbox/translations/tr/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 343 - 347
netbox/translations/tr/LC_MESSAGES/django.po


TEMPAT SAMPAH
netbox/translations/uk/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 343 - 347
netbox/translations/uk/LC_MESSAGES/django.po


TEMPAT SAMPAH
netbox/translations/zh/LC_MESSAGES/django.mo


File diff ditekan karena terlalu besar
+ 343 - 347
netbox/translations/zh/LC_MESSAGES/django.po


+ 1 - 1
pyproject.toml

@@ -3,7 +3,7 @@
 
 
 [project]
 [project]
 name = "netbox"
 name = "netbox"
-version = "4.5.3"
+version = "4.5.4"
 requires-python = ">=3.12"
 requires-python = ">=3.12"
 description = "The premier source of truth powering network automation."
 description = "The premier source of truth powering network automation."
 readme = "README.md"
 readme = "README.md"

+ 7 - 6
requirements.txt

@@ -17,22 +17,23 @@ django-taggit==6.1.0
 django-timezone-field==7.2.1
 django-timezone-field==7.2.1
 djangorestframework==3.16.1
 djangorestframework==3.16.1
 drf-spectacular==0.29.0
 drf-spectacular==0.29.0
-drf-spectacular-sidecar==2026.1.1
+drf-spectacular-sidecar==2026.3.1
 feedparser==6.0.12
 feedparser==6.0.12
-gunicorn==25.0.3
+gunicorn==25.1.0
 Jinja2==3.1.6
 Jinja2==3.1.6
 jsonschema==4.26.0
 jsonschema==4.26.0
 Markdown==3.10.2
 Markdown==3.10.2
-mkdocs-material==9.7.1
+mkdocs==1.6.1
+mkdocs-material==9.7.3
 mkdocstrings==1.0.3
 mkdocstrings==1.0.3
-mkdocstrings-python==2.0.2
+mkdocstrings-python==2.0.3
 netaddr==1.3.0
 netaddr==1.3.0
 nh3==0.3.3
 nh3==0.3.3
 Pillow==12.1.1
 Pillow==12.1.1
-psycopg[c,pool]==3.3.2
+psycopg[c,pool]==3.3.3
 PyYAML==6.0.3
 PyYAML==6.0.3
 requests==2.32.5
 requests==2.32.5
-rq==2.6.1
+rq==2.7.0
 social-auth-app-django==5.7.0
 social-auth-app-django==5.7.0
 social-auth-core==4.8.5
 social-auth-core==4.8.5
 sorl-thumbnail==13.0.0
 sorl-thumbnail==13.0.0

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini