Brian Tiemann
087a2adb3c
Also include vminterface.html
2026-01-22 22:16:12 -05:00
Brian Tiemann
a145dbc44a
Ensure "-" null placeholder still shows up on detail page
2026-01-22 22:13:12 -05:00
Brian Tiemann
9b1f033c73
Use mac_address_display in interface detail page
2026-01-22 22:08:30 -05:00
Brian Tiemann
60e37e868b
Fix docstring
2026-01-22 22:02:40 -05:00
Brian Tiemann
c1287de970
Fix docstring
2026-01-22 22:00:42 -05:00
Brian Tiemann
3891b2a25f
Richer display of MAC addresses in InterfaceTable when multiple MACs are present
2026-01-22 21:56:33 -05:00
bctiemann
4b4c542dce
Add truncate_middle filter for middle-ellipsis on long filenames ( #21253 )
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-22 09:40:48 -08:00
github-actions
077d9b1129
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-22 05:07:49 +00:00
Aditya Sharma
e81ccb9be6
Fixes #21214 : Clean up AutoSyncRecord when detaching from DataSource ( #21219 )
...
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
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
Lock threads / lock (push) Has been cancelled
Close stale issues/PRs / stale (push) Has been cancelled
Close incomplete issues / stale (push) Has been cancelled
Update translation strings / makemessages (push) Has been cancelled
Co-authored-by: adionit7 <adionit7@users.noreply.github.com >
2026-01-21 16:38:27 -06:00
Jeremy Stretch
bc83d04c8f
Introduce performance issue template ( #21247 )
2026-01-21 16:34:01 -06:00
Matthew Papaleo
339ad455e4
Support for max_length and max_depth standardised for prefix_list, aggreate/prefixes and prefix/prefixes
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-21 10:02:06 -05:00
github-actions
f24376cfab
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-21 05:07:22 +00:00
Jeremy Stretch
47d4ae29c1
Release v4.5.1
CodeQL / Analyze (python) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
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
Lock threads / lock (push) Has been cancelled
Close stale issues/PRs / stale (push) Has been cancelled
Close incomplete issues / stale (push) Has been cancelled
Update translation strings / makemessages (push) Has been cancelled
v4.5.1
2026-01-20 14:44:04 -05:00
bctiemann
8fce672682
Merge pull request #21238 from netbox-community/21160-follow-up-null-option
...
Fixes #21160 : Handle "null" choice selection in widgets
2026-01-20 13:39:54 -05:00
Antoine Keranflec'h
f776b97415
fixes #21139 support api filter for core ( #21192 )
2026-01-20 09:10:27 -08:00
Aditya Sharma
3cc1f30287
Fixes #21213 : Make Tag weight field required in forms ( #21218 )
...
The weight field was explicitly declared with required=False in TagForm
and TagImportForm, allowing empty submissions that would crash with a
database IntegrityError since the column is NOT NULL.
By removing the explicit field override, Django now auto-generates the
form field from the model, which has default=1000 and is required.
Co-authored-by: adionit7 <adionit7@users.noreply.github.com >
2026-01-20 08:50:31 -08:00
Martin Hauser
6d166aa10d
feat(utilities): Handle "null" choice selection in widgets
...
Enhances widget handling by preserving "null" choice values in both
individual and mixed-object selections. Updates tests to validate UI
rendering and ensure compatibility with null sentinel values.
2026-01-20 17:29:48 +01:00
Aditya Sharma
040a2ae9a9
Enable specifying mask length when creating IP addresses via available-ips endpoint ( #21193 )
...
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 (python) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
* Enable specifying mask length when creating IP addresses via available-ips endpoint
Fixes #21144
Allow clients to specify an arbitrary mask length when creating IP addresses
from a parent prefix or range using the 'next available' REST API endpoint.
Changes:
- Updated AvailableIPAddressesView to use PrefixLengthSerializer as write_serializer_class
- Enhanced PrefixLengthSerializer to support both 'prefix' and 'parent' context keys
- Added validation to ensure requested prefix_length >= parent mask_length
- Updated prep_object_data to use requested prefix_length if provided, otherwise fall back to parent mask_length for backwards compatibility
- Updated API schema documentation to reflect PrefixLengthSerializer usage
This enables use cases like creating loopback IP addresses with /32 mask length
from a parent prefix with a shorter mask length.
* Refine available-ips prefix length handling
Keep PrefixLengthSerializer strict for available-prefixes and introduce
AvailableIPRequestSerializer for the available-ips endpoint, where
prefix_length is optional and validated against the parent prefix/range.
* Revert PrefixLengthSerializer to original strict state
PrefixLengthSerializer should remain required and strict for the
available-prefixes endpoint. The optional prefix_length functionality
for available-ips is handled by AvailableIPRequestSerializer.
* Add API test; misc cleanup
---------
Co-authored-by: adionit7 <adionit7@users.noreply.github.com >
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com >
2026-01-20 11:20:02 -05:00
Martin Hauser
39f11f28fb
fix(core): Cache table existence for ObjectType checks
...
Introduces a cached `_table_exists` flag to avoid repeated database
introspection queries for `core_objecttype`.
Improves performance during ObjectType lookups and reduces
redundant query overhead.
Fixes #21231
2026-01-20 11:15:14 -05:00
Jeremy Stretch
62b9025a9e
Fixes #21181 : Handle AuthenticationFailed exception on /media endpoint ( #21224 )
2026-01-20 08:07:18 -08:00
Jeremy Stretch
21091f22e6
Closes #21234 : Add #20966 to the changelog for v4.4.9 ( #21236 )
2026-01-20 09:22:03 -06:00
github-actions
3efa23cf8f
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-20 05:07:49 +00:00
bctiemann
0f62137957
Merge pull request #21199 from netbox-community/21178-change-rack-dimensions-display-to-be-more-consistent
...
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
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
Lock threads / lock (push) Has been cancelled
Close stale issues/PRs / stale (push) Has been cancelled
Close incomplete issues / stale (push) Has been cancelled
Update translation strings / makemessages (push) Has been cancelled
Fixes #21178 : Use localized “millimeters” for rack mounting depth (follow-up)
2026-01-19 14:14:24 -05:00
Martin Hauser
7858ccb712
feat(extras): Add AVIF support for image attachments
...
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
Extends allowed image file formats to include AVIF for better modern
format support. Introduces a constants mapping for image formats to
centralize file type definitions. Updates form widgets and utilities
to leverage the new constants, enabling more flexible and consistent
image handling.
Fixes #21039
2026-01-19 09:56:06 -05:00
Martin Hauser
6b7b38ee0a
fix(users): Refactor object permission query logic
...
Simplifies the `OBJECTPERMISSION_OBJECT_TYPES` definition by adjusting
query filters and introducing new conditions for specific app labels
and models.
Fixes #21051
2026-01-19 09:30:36 -05:00
matthew-242
c8f17e06a2
Add support to filter on cached relations _location, _region, _site and _site_group to ScopedFilterMixin ( #21162 )
2026-01-19 09:09:03 -05:00
Jeremy Stretch
edace6aff4
Fixes #21166 : Fix support for filtering on unsigned 32-bit integer values in GraphQL API ( #21186 )
...
* Fixes #21166 : Fix support for filtering on unsigned 32-bit integer values in GraphQL API
* tunnel_id should also use BigIntegerLookup
2026-01-19 08:54:39 -05:00
github-actions
586bc132b6
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
Lock threads / lock (push) Has been cancelled
Close stale issues/PRs / stale (push) Has been cancelled
Close incomplete issues / stale (push) Has been cancelled
Update translation strings / makemessages (push) Has been cancelled
2026-01-17 05:02:55 +00:00
Arthur Hanson
52a2b934a0
Fixes #21160 : Fix performance issue rendering FilterSet forms w/ large choicesets ( #21200 )
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
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
Lock threads / lock (push) Has been cancelled
Close stale issues/PRs / stale (push) Has been cancelled
Close incomplete issues / stale (push) Has been cancelled
Update translation strings / makemessages (push) Has been cancelled
2026-01-16 16:34:12 -06:00
Martin Hauser
3d1f18d6dd
fix(dcim): Localize mounting depth format string
...
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
Replaces the fixed format string for `mounting_depth` with a localized
version using `gettext_lazy`. This ensures proper translation of the
unit label for internationalization purposes.
Fixes #21178
2026-01-16 19:53:49 +01:00
Micky
3e2a26984f
Fixes #21165 : Changes filterset to show VLAN group instead of site ( #21190 )
2026-01-16 09:24:29 -06:00
adionit7
f5f0c19860
Remove obsolete pre-commit hook script
...
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
The legacy pre-commit hook script was scheduled for removal in NetBox v4.3, as noted in the TODO comment within the file. Users should now use the pre-commit tool instead.
2026-01-16 09:03:08 -05:00
bctiemann
8da9b11ab8
Merge pull request #21154 from netbox-community/21124-moduletype-front-ports
...
Fixes #21124 : Fix rear port selection when creating front ports on a module type
2026-01-16 08:28:39 -05:00
Arthur Hanson
ca67fa9999
Fix #21134 : fix bulk rename ModuleType ( #21180 )
2026-01-16 03:23:28 -06:00
Jeremy Stretch
eff768192e
Fixes #21140 : Ensure default panel attribute labels are translated ( #21153 )
2026-01-16 01:35:35 -06:00
github-actions
1e297d55ee
Update source translation strings
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-16 05:04:49 +00:00
bctiemann
fdb987ef91
Merge pull request #21183 from netbox-community/21178-change-rack-dimensions-display-to-be-more-consistent
...
Fixes #21178 : Add spacing in mounting depth format string
2026-01-15 17:48:39 -05:00
bctiemann
b5a23db43c
Merge pull request #21164 from netbox-community/21118-site
...
fix performance regression for Site save, use bulk_update for cached fields
2026-01-15 17:48:01 -05:00
bctiemann
366b69aff7
Merge pull request #21143 from netbox-community/21050-device-oob-ip-may-become-orphaned
...
Fixes #21050 : Prevent reassignment of OOB IPs
2026-01-15 17:47:00 -05:00
bctiemann
c3e8c5e69c
Merge pull request #21100 from netbox-community/21097-graphql-id-lookups
...
Fixes #21097 : Fix comparison lookups for ID filters in GraphQL API
2026-01-15 17:44:22 -05:00
adionit7
b55f36469d
Update CodeQL Action from v3 to v4
...
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
Lock threads / lock (push) Has been cancelled
Close stale issues/PRs / stale (push) Has been cancelled
Close incomplete issues / stale (push) Has been cancelled
Update translation strings / makemessages (push) Has been cancelled
- Update github/codeql-action/init from @v3 to @v4
- Update github/codeql-action/analyze from @v3 to @v4
Fixes #21156
2026-01-15 16:46:25 -05:00
Martin Hauser
1c46215cd5
feat(extras): Allow updates to data_source and data_file via API
...
Adds support for PATCHing ConfigContext and ConfigContextProfile with
integer IDs for `data_source` and `data_file`.
Adds regression tests to validate assignment and API functionality.
Fixes #20933
2026-01-15 14:37:16 -05:00
Martin Hauser
7fded2fd87
fix(dcim): Add spacing in mounting depth format string
...
Corrects the format string for mounting depth to include a space
between the value and the unit (`mm`) for consistency with other
measurements.
Fixes #21178
2026-01-15 18:52:25 +01:00
Martin Hauser
0ddc5805c4
fix(core): Use gettext_lazy in data.py
...
Replace `gettext()` with `gettext_lazy()` to avoid locale-dependent
model serialization (and false-positive pending migration warnings).
Also make a missing `ValidationError` message translatable and
format-safe.
Fixes #21175
2026-01-15 12:47:05 -05:00
github-actions
c1bbc026e2
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-15 05:05:36 +00:00
Arthur
8cbfe94fba
fix performance regression for Site save, use bulk_update for cached fields
2026-01-14 16:30:40 -08:00
Jason Novinger
434334d927
Fixes #20239 : Prevent shared mutable state in PluginMenuItem and PluginMenuButton ( #21099 )
...
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
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
Lock threads / lock (push) Has been cancelled
Close stale issues/PRs / stale (push) Has been cancelled
Close incomplete issues / stale (push) Has been cancelled
Update translation strings / makemessages (push) Has been cancelled
PluginMenuItem and PluginMenuButton classes used mutable class-level
defaults for `permissions` and `buttons` attributes, causing permission
leakage between instances when these attributes were modified without
explicit parameters.
Changed to initialize these attributes as fresh lists per instance in
__init__ when not explicitly provided, following standard Python pattern
for avoiding mutable default arguments.
2026-01-14 12:50:35 -08:00
Jeremy Stretch
fff99fd3ff
Fixes #21124 : Fix rear port selection when creating front ports on a module type
2026-01-14 09:46:04 -05:00
Jeremy Stretch
6bd083b7ed
Closes #21142 : Enable filtering device components by site/location/rack directly via GraphQL API ( #21145 )
2026-01-14 08:06:55 -06:00
bctiemann
f38faf2e01
Merge pull request #21135 from netbox-community/21102-fix-graphiql-explorer
...
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
Lock threads / lock (push) Has been cancelled
Close stale issues/PRs / stale (push) Has been cancelled
Close incomplete issues / stale (push) Has been cancelled
Update translation strings / makemessages (push) Has been cancelled
Fixes #21102 : Fix GraphiQL explorer UI
2026-01-13 12:33:58 -05:00