Commit Graph

15013 Commits

Author SHA1 Message Date
Martin Hauser
409d4a8958 Fixes #21966: Fix OpenAPI schema for available-vlans endpoint request body (#21973) 2026-04-20 14:11:47 -05:00
Jeremy Stretch
29ae9f400a Fixes #21906: Return a 404 for REST API writes to endpoints with no trailing slash (#21967) 2026-04-20 10:32:47 -07:00
Arthur Hanson
900f1155af Closes #21866: Include the PostgreSQL database schema within System details (#21901)
Expose the current PostgreSQL schema from the system view and include it
in the exported system data.

Load the Database tab on demand with HTMX so schema introspection only
runs when the panel is opened, while keeping the export path eager.
Use the active PostgreSQL schema instead of assuming `public`, move the
schema helpers into `core.utils`, and tidy the accordion toggle styling.
2026-04-20 18:18:10 +02:00
Jeremy Stretch
a451e12158 Fixes #21955: Revert errant docs addition (#21968) 2026-04-20 17:12:20 +02:00
Ibtissam
a372f78a9e Fixes #21658: Fix OpenAPI schema for available-prefixes endpoint request body (#21956) 2026-04-20 08:46:41 -05:00
Grische
26c6c59797 Fixes #21935: Document MAX_PAGE_SIZE effect on GraphQL (#21940) 2026-04-20 13:01:48 +02:00
github-actions
74dab1fba0 Update source translation strings 2026-04-18 05:30:57 +00:00
Jamie (Bear) Murphy
87b17ff26d Fixes #21711: Added support for filtering and viewing modules by their module type profile (#21900) 2026-04-17 10:34:50 -07:00
Martin Hauser
0d1e9d88a8 fix(dcim): Add comments field to MAC Address form
Include the comments field in MACAddressForm field list to allow editing
MAC Address comments via the UI form.

Fixes #21947
2026-04-17 09:37:56 -04:00
github-actions
3eb89531ad Update source translation strings 2026-04-17 05:42:14 +00:00
Jeremy Stretch
b2af01c400 Update performance issue template (#21946)
* Update performance issue template

* Update .github/ISSUE_TEMPLATE/03-performance.yaml

Co-authored-by: Martin Hauser <mhauser@netboxlabs.com>
2026-04-16 23:13:16 +02:00
Martin Hauser
850d4dd1ad fix(ui): Suppress unauthorized embedded object tables
Add a `should_render()` hook to the `Panel` base class and override it
in `ObjectsTablePanel` to check the requesting user's view permission
for the panel's model. This prevents object detail pages from issuing
HTMX requests for related tables (e.g. locations, devices, image
attachments) that return 403 and disrupt the page.

Fixes #21893

Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
2026-04-16 16:48:15 -04:00
Arthur Hanson
a6cc0b671e #21361 Expand unit tests for ObjectChange and testing asserts (#21905)
* #21361 Expand unit tests for ObjectChange and testing asserts

* cleanup

* review feedback

* review feedback

* cleanup

* cleanup

* cleanup

* cleanup
2026-04-16 16:42:57 -04:00
Jeremy Stretch
4fb9410aa9 Misc updates to the contributing guide (#21944)
* Misc updates to the contributing guide

* Update CONTRIBUTING.md

Co-authored-by: Martin Hauser <mhauser@netboxlabs.com>

---------

Co-authored-by: Martin Hauser <mhauser@netboxlabs.com>
2026-04-16 16:35:33 -04:00
github-actions
885be7106a Update source translation strings 2026-04-16 05:43:12 +00:00
Jeremy Stretch
1af320e0a9 Fixes #21538: Fix annotated count for contacts assigned to multiple contact groups (#21919) 2026-04-15 16:01:19 -05:00
Martin Hauser
c28736e1d6 Fixes #21913: Restore plugin template extension support on declarative-layout detail views (#21928) 2026-04-15 14:29:17 -05:00
Jeremy Stretch
f0fc93d827 Fixes #21683: Fix support for importing port mappings on device/module types (#21921) 2026-04-15 19:45:26 +02:00
Jeremy Stretch
bf9de4721e Closes #20881: get_filterset_for_model() should reference application registry (#21922) 2026-04-15 19:36:33 +02:00
Jeremy Stretch
bce667300a Fixes #21737: Check that uploaded custom scripts are valid Python modules before saving (#21920) 2026-04-15 10:16:58 -07:00
Sergio López
660ca42149 Closes #21875: Allow subclasses of dict for API_TOKEN_PEPPERS 2026-04-14 16:59:49 -04:00
Jeremy Stretch
75e1b86613 Release v4.5.8 (#21903)
* Release v4.5.8
* Limit django-tables2 to <v2.9
v4.5.8
2026-04-14 08:39:16 -04:00
github-actions
e12334c01b Update source translation strings 2026-04-14 05:39:35 +00:00
Jeremy Stretch
5aeb045fb5 Closes #21783: Fix support for bulk import of cables connected to power feeds (#21873) 2026-04-13 12:03:46 -05:00
Martin Hauser
6c12d8b402 Fixes #21869: Remove redundant ScriptModule class synchronization on save (#21899) 2026-04-13 10:53:00 -05:00
Martin Hauser
9b734bac93 chore(ci): Update GitHub Actions to use commit SHA pinning
Bump actions/create-github-app-token from v1 to v3.1.1 and
EndBug/add-and-commit from v9.1.4 to v10.0.0, both pinned to full commit
SHAs for improved supply chain security.

Fixes #21896
2026-04-13 08:04:55 -04:00
Martin Hauser
0f277894b2 chore(ci): Update ruff-action to v4.0.0
Update ruff GitHub Action from v3.6.1 to v4.0.0 and bump ruff version
from 0.15.2 to 0.15.10 for latest linting improvements.

Fixes #21682
2026-04-13 08:03:58 -04:00
github-actions
4ca688de57 Update source translation strings 2026-04-10 05:40:14 +00:00
bctiemann
ed7ebd9d98 Merge pull request #21863 from netbox-community/21801-duplicate-filename-allowed-when-upload-files-using-s3
Fixes #21801: Ensure unique Image Attachment filenames when using S3 storage
2026-04-09 13:47:54 -04:00
Martin Hauser
48037f6fed fix(extras): Reject unknown custom fields (#21861)
Add validation to reject unknown custom field names during API updates.
Ensure model.clean() normalization is preserved in serializers to remove
stale custom field data from both the database and change logs.
Filter stale keys during serialization to prevent lingering references.

Fixes #21529
2026-04-09 08:49:27 -07:00
Ibtissam El alami
0bc05f27f9 Fixes #21704: Add port mappings to DeviceType & ModuleType YAML export (#21859) 2026-04-09 09:41:14 -05:00
Martin Hauser
a93aae12fa Closes #21862: Stabilize ScriptModule tests and reduce CI noise (#21867) 2026-04-09 09:33:55 -05:00
Martin Hauser
cb7e97c7f7 docs(configuration): Expand S3 storage configuration examples
Update STORAGES configuration examples to include all three storage
backends (default, staticfiles, scripts) with complete option sets.
Add region_name to environment variable example and clarify usage for
S3-compatible services.

Fixes #21864
2026-04-09 09:52:07 -04:00
Martin Hauser
e864dc3ae0 fix(extras): Ensure unique Image Attachment names on S3
Make image attachment filename generation use Django's base collision
handling so overwrite-style storage backends behave like local file
storage.

This preserves the original filename for the first upload, adds a
suffix only on collision, and avoids duplicate image paths in object
change records.

Add regression tests for path generation and collision handling.

Fixes #21801
2026-04-08 22:16:36 +02:00
github-actions
dbb871b75a Update source translation strings 2026-04-08 05:32:13 +00:00
Jeremy Stretch
d75583828b Fixes #21835: Remove misleading help text from ColorField (#21852) 2026-04-07 22:50:41 +02:00
Martin Hauser
7ff7c6d17e feat(ui): Add colored rendering for related object attributes
Introduce `colored` parameter to `RelatedObjectAttr`,
`NestedObjectAttr`, and `ObjectListAttr` to render objects as colored
badges when they expose a `color` attribute.
Update badge template tag to support hex colors and optional URLs.
Apply colored rendering to circuit types, device roles, rack roles,
inventory item roles, and VM roles.

Fixes #21430
2026-04-07 16:40:18 -04:00
Jeremy Stretch
296e708e09 Fixes #21814: Correct display of custom script "last run" time (#21853) 2026-04-07 18:11:12 +02:00
Jeremy Stretch
1bbecef77d Fixes #21841: Fix display of the "edit" button for script modules (#21851) 2026-04-07 08:48:40 -07:00
Jeremy Stretch
1ebeb71ad8 Fixes #21845: Remove whitespace from connection values in interface CSV exports (#21850) 2026-04-07 10:38:22 -05:00
Martin Hauser
d6a1cc5558 test(tables): Add reusable StandardTableTestCase
Introduce `TableTestCases.StandardTableTestCase`, a shared base class
for model-backed table smoke tests. It currently discovers sortable
columns from list-view querysets and verifies that each renders without
exceptions in both ascending and descending order.

Add per-table smoke tests across circuits, core, dcim, extras, ipam,
tenancy, users, virtualization, vpn, and wireless apps.

Fixes #21766
2026-04-06 13:53:13 -04:00
github-actions
09f7df0726 Update source translation strings 2026-04-04 05:26:28 +00:00
Martin Hauser
f242f17ce5 Fixes #21542: Increase supported interface speed values above 2.1 Tbps (#21834) 2026-04-03 16:55:11 -05:00
bctiemann
7d71503ea2 Merge pull request #21837 from netbox-community/21795-update-humanize_speed-to-support-decimal-gbpstbps-output
Closes #21795: Improve humanize_speed formatting for decimal Gbps/Tbps values
2026-04-03 13:06:55 -04:00
Jeremy Stretch
d0651f6474 Release v4.5.7 (#21838) v4.5.7 2026-04-03 12:24:24 -04:00
Jeremy Stretch
fecd4e2f97 Closes #21839: Document the RQ configuration parameter 2026-04-03 12:01:15 -04:00
Martin Hauser
e07a5966ae feat(dcim): Support decimal Gbps/Tbps output in humanize_speed
Update the humanize_speed template filter to always use the largest
appropriate unit, even when the result is not a whole number.
Previously, values like 2500000 Kbps rendered as "2500 Mbps" instead of
"2.5 Gbps", and 1600000000 Kbps rendered as "1600 Gbps" instead of
"1.6 Tbps".

Fixes #21795
2026-04-03 15:36:42 +02:00
github-actions
f058ee3d60 Update source translation strings 2026-04-03 05:31:13 +00:00
bctiemann
49ba0dd495 Fix filtering of object-type custom fields when "is empty" is selected (#21829) 2026-04-02 16:17:49 -07:00
Martin Hauser
b4ee2cf447 fix(dcim): Refresh stale CablePath references during serialization (#21815)
Cable edits can delete and recreate CablePath rows while endpoint
instances remain in memory. Deferred event serialization can then
encounter a stale `_path` reference and raise `CablePath.DoesNotExist`.

Refresh stale `_path` references through `PathEndpoint.path` and route
internal callers through that accessor. Update `EventContext` to track
the latest serialization source for coalesced duplicate enqueues, while
eagerly freezing delete-event payloads before row removal.

Also avoid mutating `event_rule.action_data` when merging the event
payload.

Fixes #21498
2026-04-02 15:49:42 -07:00