فهرست منبع

Release v4.7.4

Jeremy Stretch 1 روز پیش
والد
کامیت
9b9844bdbc
43فایلهای تغییر یافته به همراه3944 افزوده شده و 3775 حذف شده
  1. 2 6
      base_requirements.txt
  2. 182 86
      contrib/openapi.json
  3. 1 1
      docs/development/building-the-package.md
  4. 48 0
      docs/release-notes/version-4.7.md
  5. 2 2
      mkdocs.yml
  6. 0 0
      netbox/project-static/dist/netbox.js
  7. 0 0
      netbox/project-static/dist/netbox.js.map
  8. 3 12
      netbox/project-static/package.json
  9. 22 49
      netbox/project-static/yarn.lock
  10. 2 2
      netbox/release.yaml
  11. BIN
      netbox/translations/cs/LC_MESSAGES/django.mo
  12. 230 226
      netbox/translations/cs/LC_MESSAGES/django.po
  13. BIN
      netbox/translations/da/LC_MESSAGES/django.mo
  14. 230 226
      netbox/translations/da/LC_MESSAGES/django.po
  15. BIN
      netbox/translations/de/LC_MESSAGES/django.mo
  16. 232 228
      netbox/translations/de/LC_MESSAGES/django.po
  17. BIN
      netbox/translations/es/LC_MESSAGES/django.mo
  18. 230 226
      netbox/translations/es/LC_MESSAGES/django.po
  19. BIN
      netbox/translations/fr/LC_MESSAGES/django.mo
  20. 230 226
      netbox/translations/fr/LC_MESSAGES/django.po
  21. BIN
      netbox/translations/it/LC_MESSAGES/django.mo
  22. 230 226
      netbox/translations/it/LC_MESSAGES/django.po
  23. BIN
      netbox/translations/ja/LC_MESSAGES/django.mo
  24. 231 226
      netbox/translations/ja/LC_MESSAGES/django.po
  25. BIN
      netbox/translations/ko/LC_MESSAGES/django.mo
  26. 230 226
      netbox/translations/ko/LC_MESSAGES/django.po
  27. BIN
      netbox/translations/lv/LC_MESSAGES/django.mo
  28. 230 226
      netbox/translations/lv/LC_MESSAGES/django.po
  29. BIN
      netbox/translations/nl/LC_MESSAGES/django.mo
  30. 230 226
      netbox/translations/nl/LC_MESSAGES/django.po
  31. BIN
      netbox/translations/pl/LC_MESSAGES/django.mo
  32. 230 226
      netbox/translations/pl/LC_MESSAGES/django.po
  33. BIN
      netbox/translations/pt/LC_MESSAGES/django.mo
  34. 230 226
      netbox/translations/pt/LC_MESSAGES/django.po
  35. BIN
      netbox/translations/ru/LC_MESSAGES/django.mo
  36. 233 228
      netbox/translations/ru/LC_MESSAGES/django.po
  37. BIN
      netbox/translations/tr/LC_MESSAGES/django.mo
  38. 230 226
      netbox/translations/tr/LC_MESSAGES/django.po
  39. BIN
      netbox/translations/uk/LC_MESSAGES/django.mo
  40. 230 226
      netbox/translations/uk/LC_MESSAGES/django.po
  41. BIN
      netbox/translations/zh/LC_MESSAGES/django.mo
  42. 219 215
      netbox/translations/zh/LC_MESSAGES/django.po
  43. 7 8
      requirements.txt

+ 2 - 6
base_requirements.txt

@@ -27,7 +27,7 @@ django-htmx
 # NestedGroupModel base remains MPTT-backed for plugins still using it. Also
 # NestedGroupModel base remains MPTT-backed for plugins still using it. Also
 # required by historical migrations that pre-date the switch to PostgreSQL ltree.
 # required by historical migrations that pre-date the switch to PostgreSQL ltree.
 # NetBox core runtime uses netbox.models.ltree.LtreeModel instead.
 # NetBox core runtime uses netbox.models.ltree.LtreeModel instead.
-django-mptt
+django-mptt==0.18.0
 
 
 # Context managers for PostgreSQL advisory locks (successor to django-pglocks)
 # Context managers for PostgreSQL advisory locks (successor to django-pglocks)
 # https://github.com/Xof/django-pgware
 # https://github.com/Xof/django-pgware
@@ -103,10 +103,6 @@ Markdown
 # https://github.com/mkdocs/mkdocs
 # https://github.com/mkdocs/mkdocs
 mkdocs<2.0
 mkdocs<2.0
 
 
-# MkDocs Material theme (for documentation build)
-# https://squidfunk.github.io/mkdocs-material/changelog/
-mkdocs-material
-
 # Introspection for embedded code
 # Introspection for embedded code
 # https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md
 # https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md
 mkdocstrings
 mkdocstrings
@@ -162,7 +158,7 @@ social-auth-app-django<7.0.0
 social-auth-core<6.0.0
 social-auth-core<6.0.0
 
 
 # Image thumbnail generation
 # Image thumbnail generation
-# https://github.com/jazzband/sorl-thumbnail/blob/master/CHANGES.rst
+# https://github.com/mariocesar/sorl-thumbnail/blob/main/CHANGES.rst
 sorl-thumbnail
 sorl-thumbnail
 
 
 # Strawberry GraphQL
 # Strawberry GraphQL

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 182 - 86
contrib/openapi.json


+ 1 - 1
docs/development/building-the-package.md

@@ -14,7 +14,7 @@ Install the minimum local build tooling (all three are also included in the `dev
 python -m pip install --upgrade build packaging twine
 python -m pip install --upgrade build packaging twine
 ```
 ```
 
 
-Building also requires a freshly rendered copy of the documentation site (see [Building](#building) below). The documentation toolchain, including `zensical`, `mkdocs`, `mkdocs-material`, `mkdocstrings`, and `mkdocstrings-python`, is pinned in `requirements.txt` rather than the `dev` group because it is also needed outside packaging, such as documentation previews and CI's `docs` job.
+Building also requires a freshly rendered copy of the documentation site (see [Building](#building) below). The documentation toolchain, including `zensical`, `mkdocs`, `mkdocstrings`, and `mkdocstrings-python`, is pinned in `requirements.txt` rather than the `dev` group because it is also needed outside packaging, such as documentation previews and CI's `docs` job.
 
 
 ## Building
 ## Building
 
 

+ 48 - 0
docs/release-notes/version-4.7.md

@@ -1,5 +1,53 @@
 # NetBox v4.7
 # NetBox v4.7
 
 
+## v4.7.4 (2026-10-27)
+
+!!! warning "Image Thumbnails on Remote Storage"
+    This release upgrades the sorl-thumbnail dependency to v13.4.0, which fixes how cached image thumbnails resolve their storage backend. If your `STORAGES` configuration defines `OPTIONS` for a `BACKEND` path which re-exports a class defined elsewhere (for example, `storages.backends.s3boto3.S3Boto3Storage`, which is an alias of `storages.backends.s3.S3Storage`), run `manage.py thumbnail clear` once after upgrading. This purges sorl-thumbnail's record of previously generated thumbnails, which may reference the storage backend without its configured options. No image files are deleted.
+
+!!! warning "GraphQL Circuit Status Values"
+    The GraphQL enum for circuit and virtual circuit status is now exposed correctly as `CircuitStatusEnum`, and its values carry the `STATUS_` prefix used by other status enums. Queries which filter on unprefixed values (e.g. `{exact: ACTIVE}`) must be updated to use the prefixed form (e.g. `{exact: STATUS_ACTIVE}`). See [#23469](https://github.com/netbox-community/netbox/issues/23469) for details.
+
+### Enhancements
+
+* [#23031](https://github.com/netbox-community/netbox/issues/23031) - Add 8C1P, 12C1P, and 24C1P trunk cable profiles
+* [#23238](https://github.com/netbox-community/netbox/issues/23238) - Support the `__empty` lookup for boolean custom field filters
+* [#23365](https://github.com/netbox-community/netbox/issues/23365) - Add a copy-to-clipboard button for site addresses
+* [#23463](https://github.com/netbox-community/netbox/issues/23463) - Include the IDs of the associated change log records (`object_change_ids`) in event data and webhook payloads
+
+### Performance Improvements
+
+* [#23076](https://github.com/netbox-community/netbox/issues/23076) - Avoid reloading deferred columns for each object when resolving the `display` field via GraphQL
+* [#23259](https://github.com/netbox-community/netbox/issues/23259) - Coalesce search cache updates rather than enqueuing a background job for each change
+* [#23286](https://github.com/netbox-community/netbox/issues/23286) - Count the IP addresses and FHRP group assignments of device and VM interfaces in REST API responses without loading the related objects
+* [#23355](https://github.com/netbox-community/netbox/issues/23355) - Prefetch the objects referenced by object custom fields when rendering REST API lists
+* [#23371](https://github.com/netbox-community/netbox/issues/23371) - Avoid deep-copying cached config context data when serializing REST and GraphQL API responses
+
+### Bug Fixes
+
+* [#22359](https://github.com/netbox-community/netbox/issues/22359) - Apply the `query_params` of a custom script `ObjectVar` to its object selector
+* [#22714](https://github.com/netbox-community/netbox/issues/22714) - Recover the schedules of system jobs (e.g. housekeeping) lost from the task queue, such as after restoring a database backup
+* [#22883](https://github.com/netbox-community/netbox/issues/22883) - Retain existing terminations when editing a cable with multiple devices on one end, and identify the device of each termination
+* [#23212](https://github.com/netbox-community/netbox/issues/23212) - Prevent the removal of a virtual chassis member whose interfaces form a LAG with another member
+* [#23235](https://github.com/netbox-community/netbox/issues/23235) - Restrict the jobs listed under an object's or script's jobs tab to those the user is permitted to view
+* [#23329](https://github.com/netbox-community/netbox/issues/23329) - Prevent a search within the object selector from reloading the parent form
+* [#23364](https://github.com/netbox-community/netbox/issues/23364) - Restrict the most recent job reported by the scripts REST API endpoint to jobs the user is permitted to view
+* [#23372](https://github.com/netbox-community/netbox/issues/23372) - Fix exception when listing bookmarks, journal entries, and other objects assigned to objects which have no REST API serializer
+* [#23375](https://github.com/netbox-community/netbox/issues/23375) - Resolve the deprecated `finalize` environment parameter for export and config templates only from the template's saved record
+* [#23422](https://github.com/netbox-community/netbox/issues/23422) - Fix exception when assigning a service or service template to an object custom field via the REST API
+* [#23423](https://github.com/netbox-community/netbox/issues/23423) - Represent 64-bit integer fields (such as object IDs) as `BigInt` in the GraphQL API
+* [#23424](https://github.com/netbox-community/netbox/issues/23424) - Declare object IDs as 64-bit integers in the OpenAPI schema
+* [#23425](https://github.com/netbox-community/netbox/issues/23425) - Fix "integer out of range" error when tagging an object with an ID greater than 2,147,483,647
+* [#23445](https://github.com/netbox-community/netbox/issues/23445) - Prevent concurrent REST API updates to an object from overwriting each other's changes
+* [#23448](https://github.com/netbox-community/netbox/issues/23448) - Fix the GraphQL `config_context` field when selected within an inline or named fragment
+* [#23464](https://github.com/netbox-community/netbox/issues/23464) - Apply data source synchronizations atomically, so that a failed sync leaves the previously synchronized files unchanged
+* [#23467](https://github.com/netbox-community/netbox/issues/23467) - Enforce view permissions on parent devices and virtual machines when creating components in bulk
+* [#23469](https://github.com/netbox-community/netbox/issues/23469) - Expose the GraphQL circuit status enum as `CircuitStatusEnum`, with values prefixed by `STATUS_` (consistent with other status enums)
+* [#23473](https://github.com/netbox-community/netbox/issues/23473) - Enable filtering circuits, circuit terminations, virtual circuits, and virtual circuit terminations by provider network name
+* [#23484](https://github.com/netbox-community/netbox/issues/23484) - Pre-populate the location when adding a non-racked device from a location's view
+
+---
+
 ## v4.7.3 (2026-10-13)
 ## v4.7.3 (2026-10-13)
 
 
 ### Enhancements
 ### Enhancements

+ 2 - 2
mkdocs.yml

@@ -54,8 +54,8 @@ markdown_extensions:
     - footnotes
     - footnotes
     - md_in_html
     - md_in_html
     - pymdownx.emoji:
     - pymdownx.emoji:
-        emoji_index: !!python/name:material.extensions.emoji.twemoji
-        emoji_generator: !!python/name:material.extensions.emoji.to_svg
+        emoji_index: !!python/name:zensical.extensions.emoji.twemoji
+        emoji_generator: !!python/name:zensical.extensions.emoji.to_svg
     - pymdownx.superfences:
     - pymdownx.superfences:
         custom_fences:
         custom_fences:
           - name: mermaid
           - name: mermaid

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
netbox/project-static/dist/netbox.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
netbox/project-static/dist/netbox.js.map


+ 3 - 12
netbox/project-static/package.json

@@ -24,14 +24,13 @@
   },
   },
   "dependencies": {
   "dependencies": {
     "@mdi/font": "7.4.47",
     "@mdi/font": "7.4.47",
+    "@popperjs/core": "2.11.8",
     "@tabler/core": "1.4.0",
     "@tabler/core": "1.4.0",
     "bootstrap": "5.3.8",
     "bootstrap": "5.3.8",
     "clipboard": "2.0.11",
     "clipboard": "2.0.11",
     "flatpickr": "4.6.13",
     "flatpickr": "4.6.13",
     "gridstack": "14.0.0",
     "gridstack": "14.0.0",
-    "htmx.org": "2.0.10",
-    "markdown-it": "^15.0.1",
-    "picomatch": "4.0.7",
+    "htmx.org": "2.0.11",
     "query-string": "9.5.1",
     "query-string": "9.5.1",
     "sass": "1.104.1",
     "sass": "1.104.1",
     "tom-select": "2.6.2",
     "tom-select": "2.6.2",
@@ -55,16 +54,8 @@
     "eslint-plugin-import": "^2.32.0",
     "eslint-plugin-import": "^2.32.0",
     "eslint-plugin-prettier": "^5.5.6",
     "eslint-plugin-prettier": "^5.5.6",
     "globals": "^17.11.0",
     "globals": "^17.11.0",
-    "prettier": "^3.9.6",
+    "prettier": "^3.9.10",
     "typescript": "^5.9.3"
     "typescript": "^5.9.3"
   },
   },
-  "resolutions": {
-    "@types/bootstrap/**/@popperjs/core": "^2.11.6",
-    "eslint/**/minimatch": "^3.1.3",
-    "eslint-plugin-import/**/minimatch": "^3.1.3",
-    "**/markdown-it": "^14.2.0",
-    "micromatch/picomatch": "2.3.2",
-    "tinyglobby/picomatch": "4.0.4"
-  },
   "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
   "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
 }
 }

+ 22 - 49
netbox/project-static/yarn.lock

@@ -543,7 +543,7 @@
   resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.3.6.tgz#3569708bd4be4d8870ba32bf1c456dac81600d97"
   resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.3.6.tgz#3569708bd4be4d8870ba32bf1c456dac81600d97"
   integrity sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==
   integrity sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==
 
 
-"@popperjs/core@^2.11.6", "@popperjs/core@^2.11.8", "@popperjs/core@^2.9.2":
+"@popperjs/core@2.11.8", "@popperjs/core@^2.11.8", "@popperjs/core@^2.9.2":
   version "2.11.8"
   version "2.11.8"
   resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f"
   resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f"
   integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==
   integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==
@@ -1178,11 +1178,6 @@ argparse@^2.0.1:
   resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
   resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
   integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
   integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
 
 
-argparse@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/argparse/-/argparse-3.0.1.tgz#328ad1798f5ab5558a13fb33d1cb3bb072b5c0f8"
-  integrity sha512-nM4mHF/KM1v59ZNKX7zfusQz5wUAxR511YG8Vo6TyiV4aqhu++rbJW4v04xsWhpSsHFj66flT8P7znVpyO20xQ==
-
 aria-hidden@^1.2.3, aria-hidden@^1.2.4:
 aria-hidden@^1.2.3, aria-hidden@^1.2.4:
   version "1.2.6"
   version "1.2.6"
   resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.6.tgz#73051c9b088114c795b1ea414e9c0fff874ffc1a"
   resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.6.tgz#73051c9b088114c795b1ea414e9c0fff874ffc1a"
@@ -1591,16 +1586,11 @@ dunder-proto@^1.0.0, dunder-proto@^1.0.1:
     es-errors "^1.3.0"
     es-errors "^1.3.0"
     gopd "^1.2.0"
     gopd "^1.2.0"
 
 
-entities@^4.4.0:
+entities@^4.5.0:
   version "4.5.0"
   version "4.5.0"
   resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
   resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
   integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
   integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
 
 
-entities@^8.0.0:
-  version "8.0.0"
-  resolved "https://registry.yarnpkg.com/entities/-/entities-8.0.0.tgz#c1df5fe3602429747fa233d0dd26f142f0ce4743"
-  integrity sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==
-
 es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2:
 es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2:
   version "1.23.3"
   version "1.23.3"
   resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz"
   resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz"
@@ -2359,10 +2349,10 @@ hookified@^2.1.1:
   resolved "https://registry.yarnpkg.com/hookified/-/hookified-2.2.0.tgz#1d024ac1668973dd5bcc4a96ab9ccdb7639ef8d4"
   resolved "https://registry.yarnpkg.com/hookified/-/hookified-2.2.0.tgz#1d024ac1668973dd5bcc4a96ab9ccdb7639ef8d4"
   integrity sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==
   integrity sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==
 
 
-htmx.org@2.0.10:
-  version "2.0.10"
-  resolved "https://registry.yarnpkg.com/htmx.org/-/htmx.org-2.0.10.tgz#62442b0e2952a885ae2e50a7654b8b20d0981134"
-  integrity sha512-kdeJe7ZVwaS6QMz/ebBIVtZdpwen6L0OQ5GOhPV9MKBb196TCZeZu4yA7ZIQsaLKv7EpXz+So7KSXNuHXhj7Cw==
+htmx.org@2.0.11:
+  version "2.0.11"
+  resolved "https://registry.yarnpkg.com/htmx.org/-/htmx.org-2.0.11.tgz#a85363c4c5af94cd634df04c4b83d06dd0e91aa7"
+  integrity sha512-Thx/WtpeOQqSrqBCw/A1cwGJGg4UrVa3+sW0GmrM3p4gJgO89ecH4qtbnyzDDWFvBTqjnIMCgELTNt636dtamA==
 
 
 ignore@^5.2.0:
 ignore@^5.2.0:
   version "5.3.2"
   version "5.3.2"
@@ -2769,20 +2759,13 @@ levn@^0.4.1:
     prelude-ls "^1.2.1"
     prelude-ls "^1.2.1"
     type-check "~0.4.0"
     type-check "~0.4.0"
 
 
-linkify-it@^5.0.1:
+linkify-it@^5.0.2:
   version "5.0.2"
   version "5.0.2"
   resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-5.0.2.tgz#d3be0a693af3da9df3883f1e346a0e97461a8c19"
   resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-5.0.2.tgz#d3be0a693af3da9df3883f1e346a0e97461a8c19"
   integrity sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==
   integrity sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==
   dependencies:
   dependencies:
     uc.micro "^2.0.0"
     uc.micro "^2.0.0"
 
 
-linkify-it@^6.0.0:
-  version "6.1.0"
-  resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-6.1.0.tgz#cd750d70fe9295eb7169e632ee67a4ff43e7f62d"
-  integrity sha512-wJ/TwpSDTLepCrQoYWYIExIKg5Zchex2Nn5yk2mFnB+6PtdkHtyLx742md9csRjjOnGkKIS/RrbY7l8D6gT9Vw==
-  dependencies:
-    uc.micro "^3.0.0"
-
 locate-path@^6.0.0:
 locate-path@^6.0.0:
   version "6.0.0"
   version "6.0.0"
   resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
   resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
@@ -2797,14 +2780,14 @@ loose-envify@^1.1.0:
   dependencies:
   dependencies:
     js-tokens "^3.0.0 || ^4.0.0"
     js-tokens "^3.0.0 || ^4.0.0"
 
 
-markdown-it@^14.1.0, markdown-it@^14.2.0, markdown-it@^15.0.1:
-  version "14.2.0"
-  resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.2.0.tgz#06d48d9035e77d5b1c85adb315482fc8240289ef"
-  integrity sha512-1TGiQiJVRQ3NPmZH6sx5Cfnmg6GQm9jvC1ch4TK511NjSJvjzKLzn5pPfZRNZkRPZP0HqCioSndqH8v2nRaWVQ==
+markdown-it@^14.1.0:
+  version "14.3.3"
+  resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.3.3.tgz#15e6e145d20b1499a7b323bb14e21062690132d8"
+  integrity sha512-L//tDAkjTjJCU6pBUSBTgs3Kg4InVaZuUZog/b6V12UKhcDQ7S78877ibbCanRExwPuYP1CZD7Gd2dxSy1GXRg==
   dependencies:
   dependencies:
     argparse "^2.0.1"
     argparse "^2.0.1"
-    entities "^4.4.0"
-    linkify-it "^5.0.1"
+    entities "^4.5.0"
+    linkify-it "^5.0.2"
     mdurl "^2.0.0"
     mdurl "^2.0.0"
     punycode.js "^2.3.1"
     punycode.js "^2.3.1"
     uc.micro "^2.1.0"
     uc.micro "^2.1.0"
@@ -2814,7 +2797,7 @@ math-intrinsics@^1.1.0:
   resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz"
   resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz"
   integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
   integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
 
 
-mdurl@^2.0.0, mdurl@^2.1.0:
+mdurl@^2.0.0:
   version "2.1.0"
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.1.0.tgz#d711d3f7bce7f22c487c91be78545f356fa96573"
   resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.1.0.tgz#d711d3f7bce7f22c487c91be78545f356fa96573"
   integrity sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==
   integrity sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==
@@ -2832,14 +2815,14 @@ micromatch@^4.0.5:
     braces "^3.0.3"
     braces "^3.0.3"
     picomatch "^2.3.1"
     picomatch "^2.3.1"
 
 
-minimatch@^10.2.2:
+minimatch@^10.2.2, minimatch@^10.2.4, minimatch@^10.2.5:
   version "10.2.6"
   version "10.2.6"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.6.tgz#fd956bbe0b77241e9f15ac5dccb1c638060968ef"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.6.tgz#fd956bbe0b77241e9f15ac5dccb1c638060968ef"
   integrity sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==
   integrity sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==
   dependencies:
   dependencies:
     brace-expansion "^5.0.8"
     brace-expansion "^5.0.8"
 
 
-minimatch@^10.2.4, minimatch@^10.2.5, minimatch@^3.1.2, minimatch@^3.1.3, minimatch@^3.1.5:
+minimatch@^3.1.2, minimatch@^3.1.5:
   version "3.1.5"
   version "3.1.5"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e"
   integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==
   integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==
@@ -3011,17 +2994,12 @@ path-parse@^1.0.7:
   resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
   resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
   integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
   integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
 
 
-picomatch@2.3.2, picomatch@^2.3.1:
+picomatch@^2.3.1:
   version "2.3.2"
   version "2.3.2"
   resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.2.tgz#5a942915e26b372dc0f0e6753149a16e6b1c5601"
   resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.2.tgz#5a942915e26b372dc0f0e6753149a16e6b1c5601"
   integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==
   integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==
 
 
-picomatch@4.0.4, picomatch@^4.0.3:
-  version "4.0.4"
-  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.4.tgz#fd6f5e00a143086e074dffe4c924b8fb293b0589"
-  integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==
-
-picomatch@4.0.7, picomatch@^4.0.4:
+picomatch@^4.0.3, picomatch@^4.0.4:
   version "4.0.7"
   version "4.0.7"
   resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.7.tgz#6313360034ccb36b3dc61ecbdff78121f90fe21f"
   resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.7.tgz#6313360034ccb36b3dc61ecbdff78121f90fe21f"
   integrity sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==
   integrity sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==
@@ -3043,10 +3021,10 @@ prettier-linter-helpers@^1.0.1:
   dependencies:
   dependencies:
     fast-diff "^1.1.2"
     fast-diff "^1.1.2"
 
 
-prettier@^3.9.6:
-  version "3.9.6"
-  resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.9.6.tgz#b3ea5146515d40fc53f18aa63f74dfab1e10dbf6"
-  integrity sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==
+prettier@^3.9.10:
+  version "3.9.10"
+  resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.9.10.tgz#ac378e432f1a7381518f2e080816bbaefa38d585"
+  integrity sha512-skGHTH1Yb9QvaTC4hWnRTzEYtCpApF0UMBPz+t/0ZPzP8ihefo/btKd+QA7pUE0fEwA1SbS/NmhyEcstdXOIdA==
 
 
 punycode.js@^2.3.1:
 punycode.js@^2.3.1:
   version "2.3.1"
   version "2.3.1"
@@ -3697,11 +3675,6 @@ uc.micro@^2.0.0, uc.micro@^2.1.0:
   resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee"
   resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee"
   integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==
   integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==
 
 
-uc.micro@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-3.0.0.tgz#64d6cb0bfe2a558ce0ec7c8c0dc88a02d898f506"
-  integrity sha512-U3PppEkleoTnIfi8BozMx3yju3qc/L6SwqWo2Sw+54PX+PX0q9I+r1Um5HCmqD7n9VDX5/v3vQH/AjA6deDdtw==
-
 unbox-primitive@^1.0.2:
 unbox-primitive@^1.0.2:
   version "1.0.2"
   version "1.0.2"
   resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz"
   resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz"

+ 2 - 2
netbox/release.yaml

@@ -1,3 +1,3 @@
-version: "4.7.3"
+version: "4.7.4"
 edition: "Community"
 edition: "Community"
-published: "2026-10-13"
+published: "2026-10-27"

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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 230 - 226
netbox/translations/cs/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 230 - 226
netbox/translations/da/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 232 - 228
netbox/translations/de/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 230 - 226
netbox/translations/es/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 230 - 226
netbox/translations/fr/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 230 - 226
netbox/translations/it/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 231 - 226
netbox/translations/ja/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 230 - 226
netbox/translations/ko/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 230 - 226
netbox/translations/lv/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 230 - 226
netbox/translations/nl/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 230 - 226
netbox/translations/pl/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 230 - 226
netbox/translations/pt/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 233 - 228
netbox/translations/ru/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 230 - 226
netbox/translations/tr/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 230 - 226
netbox/translations/uk/LC_MESSAGES/django.po


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


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 219 - 215
netbox/translations/zh/LC_MESSAGES/django.po


+ 7 - 8
requirements.txt

@@ -21,14 +21,13 @@ feedparser==6.0.14
 gunicorn==26.2.0
 gunicorn==26.2.0
 Jinja2==3.1.6
 Jinja2==3.1.6
 jsonschema==4.26.0
 jsonschema==4.26.0
-Markdown==3.11
+Markdown==3.11.2
 mkdocs==1.6.1
 mkdocs==1.6.1
-mkdocs-material==9.7.7
-mkdocstrings==1.0.7
-mkdocstrings-python==2.0.9
+mkdocstrings==1.0.8
+mkdocstrings-python==2.0.10
 netaddr==1.3.0
 netaddr==1.3.0
 nh3==0.3.7
 nh3==0.3.7
-Pillow==12.3.0
+Pillow==13.0.0
 psycopg[c,pool]==3.3.6
 psycopg[c,pool]==3.3.6
 pymdown-extensions==12.1
 pymdown-extensions==12.1
 PyYAML==6.0.3
 PyYAML==6.0.3
@@ -37,10 +36,10 @@ requests==2.34.2
 rq==2.12.0
 rq==2.12.0
 social-auth-app-django==6.1.0
 social-auth-app-django==6.1.0
 social-auth-core==5.2.0
 social-auth-core==5.2.0
-sorl-thumbnail==13.1.0
-strawberry-graphql==0.334.2
+sorl-thumbnail==13.4.0
+strawberry-graphql==0.338.0
 strawberry-graphql-django==0.93.0
 strawberry-graphql-django==0.93.0
 svgwrite==1.4.3
 svgwrite==1.4.3
 tablib==3.10.0
 tablib==3.10.0
 tzdata==2026.5
 tzdata==2026.5
-zensical==0.0.69
+zensical==0.0.73

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است