github-actions
5bf516c63d
Update source translation strings
CodeQL / Analyze (actions) (push) Failing after 35s
CodeQL / Analyze (javascript-typescript) (push) Failing after 28s
CodeQL / Analyze (python) (push) Failing after 33s
2026-02-12 05:28:54 +00:00
Aditya Sharma
7df062d590
Fixes #21358 : Prevent exception when sorting by Token column ( #21391 )
...
CI / build (20.x, 3.12) (push) Failing after 12s
CI / build (20.x, 3.13) (push) Failing after 12s
CI / build (20.x, 3.14) (push) Failing after 11s
CodeQL / Analyze (actions) (push) Failing after 1m8s
CodeQL / Analyze (javascript-typescript) (push) Failing after 1m17s
CodeQL / Analyze (python) (push) Failing after 1m19s
Mark the `token` TemplateColumn as non-orderable since it maps to a
Python property rather than a database field, causing a FieldError
when django-tables2 attempts to sort by it.
Add a regression test for TokenTable following the existing pattern
in circuits and vpn test suites.
2026-02-12 00:21:49 +01:00
Aditya Sharma
4b22be03a0
Fixes #21354 : Fix Swagger-UI generating wrong URLs when BASE_PATH is set ( #21392 )
2026-02-11 11:35:13 -08:00
Dylan Lucci
24769ce127
Closes #21266 : Add installed device table columns to DeviceBay table ( #21348 )
...
CI / build (20.x, 3.12) (push) Failing after 16s
CI / build (20.x, 3.13) (push) Failing after 21s
CI / build (20.x, 3.14) (push) Failing after 30s
CodeQL / Analyze (actions) (push) Failing after 33s
CodeQL / Analyze (javascript-typescript) (push) Failing after 33s
CodeQL / Analyze (python) (push) Failing after 29s
Expose additional properties of the device installed in each bay as
configurable table columns.
- Rename `role` → `installed_role`
- Rename `device_type` → `installed_device_type`
- Add `installed_description`, `installed_serial`, and
`installed_asset_tag` columns to `DeviceBayTable`
---------
Co-authored-by: Martin Hauser <mhauser@netboxlabs.com >
2026-02-11 13:55:37 +01:00
github-actions
164e9db98d
Update source translation strings
CodeQL / Analyze (actions) (push) Failing after 33s
CodeQL / Analyze (javascript-typescript) (push) Failing after 37s
CodeQL / Analyze (python) (push) Failing after 39s
2026-02-11 05:29:43 +00:00
Martin Hauser
23f1c86e9c
Closes #20211 : Use thumbnails for ImageAttachment hover previews to improve page load performance ( #21386 )
CI / build (20.x, 3.12) (push) Failing after 13s
CI / build (20.x, 3.13) (push) Failing after 10s
CI / build (20.x, 3.14) (push) Failing after 10s
CodeQL / Analyze (actions) (push) Failing after 42s
CodeQL / Analyze (javascript-typescript) (push) Failing after 53s
CodeQL / Analyze (python) (push) Failing after 49s
2026-02-10 11:01:33 -06:00
Martin Hauser
02ffdd9d5d
Closes #21268 : Add Device Type details panel to Device view ( #21368 )
2026-02-10 10:37:35 -06:00
Martin Hauser
5013297326
feat(virtualization): Refactor VirtualMachine view to UI layout
...
Migrate the VirtualMachine detail view to SimpleLayout with standardized
panels for attributes, clusters, and resources. Modularize templates
to improve maintainability and reuse.
Fixes #21337
2026-02-10 10:22:18 -05:00
github-actions
584e0a9b8c
Update source translation strings
CodeQL / Analyze (actions) (push) Failing after 29s
CodeQL / Analyze (javascript-typescript) (push) Failing after 39s
CodeQL / Analyze (python) (push) Failing after 45s
2026-02-10 05:29:34 +00:00
Martin Hauser
3ac9d0b8bf
Closes #20981 : Enhance JSON rendering for Custom Validators and Protection Rules in Config Revision View ( #21376 )
...
CI / build (20.x, 3.12) (push) Failing after 18s
CI / build (20.x, 3.13) (push) Failing after 17s
CI / build (20.x, 3.14) (push) Failing after 13s
CodeQL / Analyze (actions) (push) Failing after 29s
CodeQL / Analyze (javascript-typescript) (push) Failing after 37s
CodeQL / Analyze (python) (push) Failing after 38s
* feat(config): Add extra context to ConfigRevisionView
Introduces `get_extra_context` method for `ConfigRevisionView` to
format JSON-based attributes like `CUSTOM_VALIDATORS`,
`DEFAULT_USER_PREFERENCES`, and `PROTECTION_RULES`.
This ensures clearer rendering of configuration data in the UI.
Fixes #20981
* Reduce padding on JSON blocks
---------
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com >
2026-02-09 09:48:39 -05:00
github-actions
b387ea5f58
Update source translation strings
CodeQL / Analyze (actions) (push) Failing after 54s
CodeQL / Analyze (javascript-typescript) (push) Failing after 1m1s
CodeQL / Analyze (python) (push) Failing after 59s
2026-02-06 05:22:42 +00:00
bctiemann
ba9f6bf359
Fixes : #19129 - Richer display of MAC addresses in InterfaceTable when multiple MACs are present ( #21270 )
...
CI / build (20.x, 3.13) (push) Failing after 15s
CI / build (20.x, 3.12) (push) Failing after 17s
CI / build (20.x, 3.14) (push) Failing after 27s
CodeQL / Analyze (actions) (push) Failing after 30s
CodeQL / Analyze (javascript-typescript) (push) Failing after 25s
CodeQL / Analyze (python) (push) Failing after 25s
* Richer display of MAC addresses in InterfaceTable when multiple MACs are present
* Fix docstring
* Fix docstring
* Use mac_address_display in interface detail page
* Ensure "-" null placeholder still shows up on detail page
* Also include vminterface.html
* Simplify Multiple MAC addresses with additional selectable column for tables in list view and detail view
* Use ManyToManyColumn
2026-02-05 11:16:31 -05:00
Martin Hauser
ee6cbdcefe
Fixes #21320 : Prevent Rack validation errors when site or optional fields are missing during import ( #21321 )
CI / build (20.x, 3.12) (push) Failing after 18s
CI / build (20.x, 3.13) (push) Failing after 14s
CI / build (20.x, 3.14) (push) Failing after 12s
CodeQL / Analyze (actions) (push) Failing after 24s
CodeQL / Analyze (javascript-typescript) (push) Failing after 30s
CodeQL / Analyze (python) (push) Failing after 27s
2026-02-03 09:32:07 -06:00
bctiemann
de1c5120dd
Merge pull request #21346 from netbox-community/release-v4.5.2
...
CI / build (20.x, 3.13) (push) Failing after 14s
CI / build (20.x, 3.12) (push) Failing after 16s
CI / build (20.x, 3.14) (push) Failing after 18s
CodeQL / Analyze (actions) (push) Failing after 32s
CodeQL / Analyze (javascript-typescript) (push) Failing after 25s
CodeQL / Analyze (python) (push) Failing after 25s
Release v4.5.2
v4.5.2
2026-02-03 08:42:21 -05:00
Jeremy Stretch
87d2e02c85
Release v4.5.2
2026-02-03 08:09:14 -05:00
github-actions
cbbc4f74b8
Update source translation strings
CodeQL / Analyze (actions) (push) Failing after 30s
CodeQL / Analyze (javascript-typescript) (push) Failing after 28s
CodeQL / Analyze (python) (push) Failing after 27s
2026-02-03 05:22:13 +00:00
Martin Hauser
be5bd74d4e
feat(ipam): Add parent object fields for Services
...
CI / build (20.x, 3.12) (push) Failing after 13s
CI / build (20.x, 3.13) (push) Failing after 9s
CI / build (20.x, 3.14) (push) Failing after 9s
CodeQL / Analyze (actions) (push) Failing after 31s
CodeQL / Analyze (python) (push) Failing after 36s
CodeQL / Analyze (javascript-typescript) (push) Failing after 40s
Include `parent_object_type` and `parent_object_id` in `clone_fields`
for services. This improves cloning behavior for models using parent
object references, ensuring more accurate data duplication.
Fixes #21168
2026-02-02 16:05:09 -05:00
Jason Novinger
cf12bb5bf5
Fixes #20902 : Avoid conflict when Git URL contains embedded username ( #21252 )
CI / build (20.x, 3.12) (push) Failing after 14s
CI / build (20.x, 3.13) (push) Failing after 17s
CI / build (20.x, 3.14) (push) Failing after 15s
CodeQL / Analyze (actions) (push) Failing after 37s
CodeQL / Analyze (javascript-typescript) (push) Failing after 38s
CodeQL / Analyze (python) (push) Failing after 36s
2026-02-02 11:16:32 -08:00
Jeremy Stretch
c060eef1d8
Closes #21300 : Cache model-specific custom field lookups for the duration of a request ( #21334 )
2026-02-02 10:58:12 -08:00
bctiemann
96f0debe6e
Merge pull request #21328 from netbox-community/21327-ContentTypeField-caching
...
Closes #21327 : Leverage `get_by_natural_key()` to resolve ContentTypes
2026-02-02 13:46:04 -05:00
Martin Hauser
b26c7f34cd
feat(models): Handle GFK attributes in CloningMixin
...
Extend the CloningMixin to inject GenericForeignKey (GFK) attributes
when both content type and ID fields are present. Improves support for
models using GFK fields during cloning operations.
Fixes #21201
2026-02-02 13:02:32 -05:00
bctiemann
d6428c6aa4
Merge pull request #21314 from marsteel/21233-UI-Add-horizontal-padding-to-Release-info-section
...
Fixes #21233 : UI Add horizontal padding to Release info section in Navigation menu
2026-02-02 11:17:30 -05:00
github-actions
e3eca98897
Update source translation strings
CodeQL / Analyze (actions) (push) Failing after 31s
CodeQL / Analyze (javascript-typescript) (push) Failing after 46s
CodeQL / Analyze (python) (push) Failing after 49s
2026-01-31 05:14:50 +00:00
Jeremy Stretch
cdc735fe41
Closes #21302 : Avoid redundant uniqueness checks in REST API serializers
CI / build (20.x, 3.12) (push) Failing after 13s
CI / build (20.x, 3.13) (push) Failing after 13s
CI / build (20.x, 3.14) (push) Failing after 24s
CodeQL / Analyze (actions) (push) Failing after 33s
CodeQL / Analyze (javascript-typescript) (push) Failing after 45s
CodeQL / Analyze (python) (push) Failing after 40s
2026-01-30 19:36:42 -05:00
Jeremy Stretch
aa4a9da955
Closes #21303 : Cache serialized post-change data on object ( #21325 )
...
* Closes #21303 : Cache serialized post-change data on object
* Set to_objectchange.alters_data
* Restructure logic for determining post-change snapshot
2026-01-30 14:49:12 -05:00
Jeremy Stretch
5c6fc2fb6f
Closes #21110 : Support for cursor-based pagination in GraphQL API ( #21322 )
2026-01-30 11:45:35 -08:00
Jeremy Stretch
ad29cb2d66
Closes #21263 : Prefetch related objects after creating/updating objects via REST API ( #21329 )
...
* Closes #21263 : Prefetch related objects after creating/updating objects via REST API
* Add comment re: ordering by PK
2026-01-30 14:13:05 -05:00
Aditya Sharma
bec5ecf6a9
Closes #21209 : Accept case-insensitive model names in configuration ( #21275 )
...
CI / build (20.x, 3.12) (push) Failing after 9s
CI / build (20.x, 3.13) (push) Failing after 8s
CI / build (20.x, 3.14) (push) Failing after 8s
CodeQL / Analyze (actions) (push) Failing after 25s
CodeQL / Analyze (javascript-typescript) (push) Failing after 35s
CodeQL / Analyze (python) (push) Failing after 37s
NetBox now accepts case-insensitive model identifiers in configuration, allowing
both lowercase (e.g. "dcim.site") and PascalCase (e.g. "dcim.Site") for
DEFAULT_DASHBOARD, CUSTOM_VALIDATORS, and PROTECTION_RULES.
This makes model name handling consistent with FIELD_CHOICES.
- Add a shared case-insensitive config lookup helper (get_config_value_ci())
- Use the helper in extras/signals.py and core/signals.py
- Update FIELD_CHOICES ChoiceSetMeta to support case-insensitive replace/extend
(only compute extend choices if no replacement is defined)
- Add unit tests for get_config_value_ci()
- Add integration tests for case-insensitive FIELD_CHOICES replacement/extension
- Update documentation examples to use PascalCase consistently
2026-01-30 13:48:38 +01:00
github-actions
c98f55dbd2
Update source translation strings
CodeQL / Analyze (actions) (push) Failing after 32s
CodeQL / Analyze (javascript-typescript) (push) Failing after 50s
CodeQL / Analyze (python) (push) Failing after 52s
2026-01-30 05:18:59 +00:00
Jeremy Stretch
dfe20532a1
Closes #21327 : Leverage get_by_natural_key() to resolve ContentTypes
2026-01-29 19:46:22 -05:00
Martin Hauser
359179fd4a
fix(dcim): Add port mapping creation for module install ( #21308 )
CI / build (20.x, 3.12) (push) Failing after 17s
CI / build (20.x, 3.13) (push) Failing after 19s
CI / build (20.x, 3.14) (push) Failing after 16s
CodeQL / Analyze (actions) (push) Failing after 6m50s
CodeQL / Analyze (javascript-typescript) (push) Failing after 7m4s
CodeQL / Analyze (python) (push) Failing after 7m2s
2026-01-29 14:37:57 -08:00
Arthur Hanson
c44e8606f7
21129 Store queue_name in Job so correctly deleted in RQ ( #21309 )
...
* Add queue name to Job
* Add queue name to serializer, filterset, detail view
* fix job queue delete
* fix job queue delete
* review feedback
2026-01-29 15:29:33 -05:00
github-actions
8e620ef325
Update source translation strings
CodeQL / Analyze (actions) (push) Failing after 18s
CodeQL / Analyze (javascript-typescript) (push) Failing after 17s
CodeQL / Analyze (python) (push) Failing after 18s
2026-01-29 05:17:01 +00:00
Jeremy Stretch
1526e437f1
Closes #21244 : Introduce ability to omit specific fields from REST API responses ( #21312 )
...
CI / build (20.x, 3.12) (push) Failing after 14s
CI / build (20.x, 3.13) (push) Failing after 10s
CI / build (20.x, 3.14) (push) Failing after 11s
CodeQL / Analyze (actions) (push) Failing after 21s
CodeQL / Analyze (javascript-typescript) (push) Failing after 17s
CodeQL / Analyze (python) (push) Failing after 17s
Introduce support for omitting specific serializer fields via an
`omit` parameter, acting as the inverse of `fields`.
Wire it through the API viewset and queryset optimization helpers
so omitted fields don’t trigger unnecessary annotations/prefetches,
and document the new behavior.
2026-01-28 22:06:46 +01:00
Martin Hauser
0b507eb207
fix(ipam): Include scope params in Prefix creation links
...
CI / build (20.x, 3.12) (push) Failing after 11s
CI / build (20.x, 3.13) (push) Failing after 11s
CI / build (20.x, 3.14) (push) Failing after 12s
CodeQL / Analyze (actions) (push) Failing after 7m12s
CodeQL / Analyze (javascript-typescript) (push) Failing after 18s
CodeQL / Analyze (python) (push) Failing after 28s
Update prefix creation URLs to pass `scope_type` and `scope` (replacing
the legacy `site` query parameter) for both the Child Prefixes
"Add Prefix" button and in-table available-prefix links.
Scope parameters are only rendered when a scope is defined, so
unscoped prefixes remain unchanged.
Fixes #21262
2026-01-28 15:19:44 -05:00
Elliott Balsley
5a36e79215
Fixes #20977 : Apply defaults for missing script variables ( #21295 )
...
CI / build (20.x, 3.12) (push) Has been cancelled
CI / build (20.x, 3.13) (push) Has been cancelled
CI / build (20.x, 3.14) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Ensure script variables fall back to their defined defaults when a value is not
submitted (e.g. via "Run again" or other minimal POSTs).
- Populate omitted script variables with their initial/default values before
validation and job enqueueing
- Treat falsy defaults (e.g. False/0) as valid defaults
- Add a test asserting defaults are included in enqueued job data
- Remove the redundant default from ScriptValidationErrorTest
2026-01-28 15:35:33 +01:00
Martin Hauser
2a0f26623b
Fixes #21254 : Fix release check failure when stale latest_release cache can't be unpickled ( #21282 )
...
* fix(misc): Handle cache unpickling failure in release check
Guard `cache.get('latest_release')` during release checks to prevent a
500 when stale cached data can't be unpickled after dependency upgrades.
On failure, log at debug level and delete the affected cache key.
Fixes #21254
* Correct comment
---------
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com >
2026-01-28 09:28:20 -05:00
MA Gang
43ae52089f
Add padding to release info div
...
Add padding to release info div in layout.html
2026-01-28 14:29:38 +01:00
github-actions
1a603981b2
Update source translation strings
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
2026-01-28 05:07:33 +00:00
Aditya Sharma
245495b2fe
Closes #21228 : Add image attachments support to RackType model ( #21276 )
CI / build (20.x, 3.12) (push) Has been cancelled
CI / build (20.x, 3.13) (push) Has been cancelled
CI / build (20.x, 3.14) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
2026-01-27 09:36:11 -08:00
bctiemann
8d3eb69055
Merge pull request #21264 from netbox-community/19869-provide-information-about-lag-targets-in-lag-members-section
...
CI / build (20.x, 3.12) (push) Has been cancelled
CI / build (20.x, 3.13) (push) Has been cancelled
CI / build (20.x, 3.14) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Fixes #19869 : Display peer connections for LAG member interfaces
2026-01-27 10:23:14 -05:00
bctiemann
7e3b60f194
Merge pull request #21299 from netbox-community/20172-ability-to-query-for-cabled-interfaces-via-graphql
...
Closes #20172 : Add `cabled` filter for DCIM interfaces in GraphQL
2026-01-27 10:13:27 -05:00
bctiemann
5338c842b8
Merge pull request #21289 from llamafilm/20052-loglevel
...
Fixes #20052 : improve logging for faulty scripts
2026-01-27 10:10:17 -05:00
bctiemann
9186b0edaa
Merge pull request #21281 from netbox-community/21176-remove-iprange-checkboxes
...
Fixes #21176 : Remove checkboxes from IP ranges in mixed-type tables
2026-01-27 10:08:37 -05:00
bctiemann
d883be9e56
Merge pull request #21246 from adionit7/21150-docs-config-menu-path
...
Fixes #21150 : Correct Dynamic Configuration menu path in documentation
2026-01-27 08:43:52 -05:00
bctiemann
6fc7fa6c64
Merge pull request #21220 from netbox-community/15801-vlan-overview-device-interfaces-list-with-connection-link
...
Closes #15801 : Add link peer and connection columns to `VLANDeviceTable`
2026-01-27 08:35:33 -05:00
Martin Hauser
3a33df0e43
feat(forms): Add Owner Group support to Filter Forms
...
Introduces support for `owner_group` in various filter forms, improving
ownership granularity.
Updates DynamicModel fields to handle relationships
between `owner_group` and `owner` effectively.
Fixes #21081
2026-01-27 08:34:42 -05:00
github-actions
433f46746e
Update source translation strings
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
2026-01-27 05:07:09 +00:00
Jeremy Stretch
8f5f91fcfe
Closes #21259 : Cache ObjectType results for the duration of a request ( #21287 )
CI / build (20.x, 3.12) (push) Has been cancelled
CI / build (20.x, 3.13) (push) Has been cancelled
CI / build (20.x, 3.14) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
2026-01-26 15:07:13 -08:00
Martin Hauser
1a2175127e
Fixes #21202 : Avoid clearing scope on clone ( #21265 )
2026-01-26 16:14:36 -06:00