Jeremy Stretch
ccff9c4d19
speed.html should reference value for port_speed
2026-04-03 09:40:42 -04:00
Jeremy Stretch
dd88673100
Clean up AddObject
2026-04-03 09:37:17 -04:00
Jeremy Stretch
bab4861103
PluginContentPanel should not call should_render()
2026-04-03 09:31:38 -04:00
Jeremy Stretch
8b5420f2af
Remove beta warning
2026-04-02 16:00:49 -04:00
Jeremy Stretch
3ac7d8f117
Add tests for object attrs
2026-04-02 15:44:29 -04:00
Jeremy Stretch
9c2292048b
Replace candidate template panels with ObjectAttributesPanel subclasses
2026-04-02 15:26:51 -04:00
Jeremy Stretch
b94136c121
Clean up object attrs
2026-04-02 14:45:26 -04:00
Jeremy Stretch
5b4c8d47be
Fix typos
2026-04-02 12:58:52 -04:00
Jeremy Stretch
a8e2e50447
Yet more cleanup
2026-04-02 12:54:14 -04:00
Jeremy Stretch
7042844930
Pass the value returned by get_context() to should_render()
2026-04-02 12:09:24 -04:00
Jeremy Stretch
33a3632792
Misc cleanup
2026-04-02 11:59:15 -04:00
Jeremy Stretch
e5553e1949
Introduce should_render() method on Panel class
2026-04-02 11:30:23 -04:00
Jeremy Stretch
468dd84027
Handle panel title when object is not available
2026-04-02 11:15:08 -04:00
Jeremy Stretch
aeef559c0b
Catch exceptions raised when rendering embedded plugin content
2026-04-02 11:08:04 -04:00
Jeremy Stretch
b91dc1243b
Avoid setting mutable panel actions
2026-04-02 10:49:17 -04:00
Jeremy Stretch
5929c7cf1e
CopyContent does not need to override render()
2026-04-02 10:38:53 -04:00
Jeremy Stretch
cb983c6308
Panel.render() should pass the request to render_to_string()
2026-04-02 10:28:35 -04:00
Jeremy Stretch
1ccab930ef
Enable specifying column grid width
2026-04-02 10:10:35 -04:00
Jeremy Stretch
68bc97c24c
Misc cleanup for layouts
2026-04-02 10:01:05 -04:00
Jeremy Stretch
bd45f6e4d1
Replace all instantiations of Panel with TemplatePanel
2026-04-02 09:31:03 -04:00
Jeremy Stretch
faf8554d2c
Introduce CircuitTerminationPanel to replace generic panel
2026-04-01 17:15:05 -04:00
Jeremy Stretch
623ab55d5b
Include permissions in TemplatedAttr context
2026-04-01 16:48:19 -04:00
Jeremy Stretch
c9073aca3c
Misc cleanup
2026-04-01 15:49:55 -04:00
Jeremy Stretch
b62c5e1ac4
Merge branch 'main' into feature
2026-04-01 13:22:52 -04:00
bctiemann
1277bb6138
Merge pull request #21806 from netbox-community/21771-rest-api-add-remove-tags
...
Closes #21771 : Add `add_tags` & `remove_tags` fields for taggable objects
2026-04-01 13:02:19 -04:00
Fabi
e98e5e11a7
Fixes #21784 : Fix AttributeError when an AnonymousUser tries to sort a table ( #21817 )
2026-04-01 18:36:21 +02:00
Johannes Rueschel
3ce2bf75b4
Fixes #21533 : Fix missing family/mask_length in API when creating IP-related objects ( #21546 )
2026-04-01 11:25:00 -05:00
Martin Hauser
b1af9a7218
fix(dcim): Use hasattr check for virtual_circuit_termination ( #21811 )
...
Replace direct attribute access with hasattr() to prevent AttributeError
when the virtual_circuit_termination relation doesn't exist on the
object.
Fixes #21808
2026-04-01 18:06:18 +02:00
Artem Kotik
b73f7f7d00
Fixes #21655 : Fix duplicate SQL queries on serializing custom fields ( #21750 )
...
Co-authored-by: Jason Novinger <jnovinger@gmail.com >
Co-authored-by: Artem Kotik <artem.i.kotik@ringcentral.com >
2026-04-01 09:52:38 -05:00
Martin Hauser
9492b55f4b
fix(dcim): Fix Virtual Chassis Member add action context
...
Fix context variable references in VirtualChassMembersPanel add action
to use 'virtual_chassis' instead of 'object'. Add safe checks for
master_id existence to prevent errors when master is not set.
Fixes #21810
2026-04-01 08:59:39 -04:00
github-actions
2563122352
Update source translation strings
2026-04-01 05:39:05 +00:00
Martin Hauser
0455e14c29
docs(plugins): Use @register_search in plugin search docs
...
Align the plugin search example with the recommended registration
pattern used in the general search documentation and NetBox core.
Replace the legacy `indexes = [...]` example with decorator-based
registration to make the preferred approach clearer for plugin authors.
2026-03-31 16:55:27 -04:00
Jeremy Stretch
76c02d5aa9
Raise a validation error if the same tag is present in both add_tags and remove_tags
2026-03-31 16:44:37 -04:00
Jeremy Stretch
8bc691099c
Raise a validation error if remove_tags is specified when creating an object
2026-03-31 16:38:15 -04:00
Jeremy Stretch
95011821bb
Closes #21771 : Add add_tags & remove_tags fields for taggable objects
2026-03-31 16:02:32 -04:00
bctiemann
b8b12f3f90
#20923 - Convert extras to new declarative UI layout ( #21765 )
2026-03-31 20:28:16 +02:00
Jeremy Stretch
e5b9e5a279
Closes #19025 : Add schema validation for JSON custom fields ( #21746 )
2026-03-31 12:41:49 -05:00
Jeremy Stretch
05059f4a86
Release v4.5.6
v4.5.6
2026-03-31 12:43:26 -04:00
Martin Hauser
2389feea6b
feat(virtualization): Add Virtual Machine Type model
...
Introduce `VirtualMachineType` to classify virtual machines and apply
default platform, vCPU, and memory values when creating a VM.
This adds the new model and its relationship to `VirtualMachine`, and
wires it through forms, filtersets, tables, views, the REST API,
GraphQL, navigation, search, documentation, and tests.
Explicit values set on a virtual machine continue to take precedence,
and changes to a type do not retroactively update existing VMs.
2026-03-31 09:10:02 -04:00
Martin Hauser
e4e4c1c56d
feat(dcim): Add 50G, 800G, and 1.6T interface speed options ( #21796 )
...
Adds support for 50 Gbps, 800 Gbps, and 1.6 Tbps interface speeds to
the InterfaceSpeedChoices to cover newer high-speed networking hardware.
2026-03-31 14:33:23 +02:00
Martin Hauser
c99d8481b2
refactor(ui): Improve object change diff styling and layout
...
Update change data diff styling with CSS custom properties, better color
contrast, and consistent borders. Replace btn-group with card-actions
for navigation buttons and improve spacing.
2026-03-31 08:26:01 -04:00
Martin Hauser
0923a3dec8
fix(tables): Disable ordering on non-orderable accessor columns
...
Mark provider, member, and action_object columns as non-orderable since
they use complex accessors that cannot be sorted. Add regression tests
to verify all orderable columns render without exceptions.
Fixes table rendering errors when attempting to sort columns with
multi-level field accessors that don't support database ordering.
2026-03-31 08:18:36 -04:00
Martin Hauser
80b9c25674
feat(dcim): Add 2.5GE SFP interface type ( #21794 )
...
Add the `SFP (2.5GE)` interface type for devices with dedicated 2.5G SFP
slots that do not fit the existing SFP or SFP+ options.
2026-03-31 14:09:44 +02:00
github-actions
6d13bc8b96
Update source translation strings
2026-03-31 05:31:31 +00:00
Jeremy Stretch
ee17e83da6
Update CLAUDE.md ( #21777 )
2026-03-30 16:33:10 -05:00
Jeremy Stretch
5ab9608e38
Revert "Fixes #21747 : Skip search caching when encountering an invalid schema during migrations ( #21748 )" ( #21787 )
...
This reverts commit 296b89ae02 .
2026-03-30 23:31:41 +02:00
Martin Hauser
c7504628bd
feat(dcim): Add changelog message support to bulk component creation ( #21769 )
...
Add ChangelogMessageMixin to DeviceBulkAddComponentForm and capture
changelog_message during bulk component creation. Ensure message is
applied to each created component instance. Add test coverage for
changelog message propagation.
2026-03-30 08:42:05 -07:00
bctiemann
e54ed87863
Merge pull request #21778 from netbox-community/21763-m2m-form-fields
...
Fixes #21763 : Replace M2M selection field with separate add/remove fields
2026-03-30 11:23:36 -04:00
Jeremy Stretch
55daf4c52f
Add/fix tests
2026-03-30 10:02:38 -04:00
Jeremy Stretch
a45e8571da
Revert changes to ASNForm
2026-03-30 09:29:08 -04:00