15179 Commits

Author SHA1 Message Date
github-actions
30f9d3ed60 Update source translation strings 2026-05-06 05:59:55 +00:00
Martin Hauser
7e9eac5b87 Closes #22093: Run coverage only on a single matrix entry (#22117)
Add explicit CI job names showing the Python and Node versions, with the
coverage job clearly marked in the GitHub Actions UI.

Run coverage only for the designated coverage matrix entry to avoid
redundant coverage collection and reporting across the full test matrix.

Also add the YAML document marker and clean up trailing whitespace.
2026-05-05 19:06:26 +02:00
Martin Hauser
f3c5b00932 Closes #22056: Clean up obsolete .gitignore entries and add comments (#22116) 2026-05-05 11:25:06 -05:00
Martin Hauser
589169f860 chore(ruff): Consolidate tool config into pyproject.toml
Move Ruff configuration from ruff.toml into pyproject.toml and remove
obsolete Black, isort, and Pylint sections.
Consolidates all Python tooling config in a single file following
modern Python packaging standards.

Fixes #22099
2026-05-05 10:54:55 -04:00
Jeremy Stretch
93176be707 Prohibit AI-generated issues (#22101) 2026-05-05 15:29:57 +02:00
Jeremy Stretch
d81c2cb739 Closes #21951: Add convenience scripts for database management (#22113) 2026-05-05 15:28:05 +02:00
Jeremy Stretch
00791344e6 Release v4.6.0 v4.6.0 2026-05-05 08:55:05 -04:00
Jeremy Stretch
1e1548edd1 Merge pull request #22111 from netbox-community/feature
Merge `feature` into `main` ahead of v4.6.0 release
2026-05-05 08:22:18 -04:00
Jeremy Stretch
28a5c7d882 Merge branch 'main' into feature 2026-05-04 13:02:42 -04:00
Jeremy Stretch
b78bd71329 Release v4.5.10 v4.5.10 2026-05-04 12:48:34 -04:00
Martin Hauser
05dcf02dbe fix(dcim): Mark cable_end as nullable in CabledObject Serializer
Use DRF's ChoiceField for `cable_end` to preserve the existing raw
"A"/"B" API output while documenting the allowed values and nullability
in the generated schema.

Fixes #22084
2026-05-04 11:51:25 -04:00
Arthur Hanson
364953edc5 Closes #22034: Fix rack group migration from very old netbox installation (#22063)
* #22034 fix rack group migation from very old netbox installation

* #22034 fix rack group migation from very old netbox installation

* #22034 fix rack group migation from very old netbox installation

* fix after loading old database

* simplify

* fix index name
2026-05-01 14:38:59 -04:00
Jeremy Stretch
8830519da2 Closes #22062: Display API token ID & plaintext one time immediately upon creation (#22064) 2026-05-01 16:04:35 +02:00
Jeremy Stretch
92c5aff713 Closes #22048: Deprecate expand_ipaddress_pattern() (#22051) 2026-04-30 16:50:12 +02:00
Jeremy Stretch
1452d57f38 Closes #22047: Deprecate ExpandableIPAddressField (#22050) 2026-04-30 16:49:39 +02:00
Jeremy Stretch
a1c529ddbf Closes #22046: Deprecate OptionalLimitOffsetPagination (#22049) 2026-04-30 16:49:09 +02:00
github-actions
fe80048374 Update source translation strings 2026-04-30 06:00:05 +00:00
Jeremy Stretch
baa2ff3ade Fixes #22029: Recast empty string values on unique nullable fields as null (#22035) 2026-04-29 15:36:25 -05:00
bctiemann
166b5f9c0c Merge pull request #22037 from netbox-community/22031-add-prefix-to-vlan-field-id-expected-a-number-but-got-none
Fixes #22031: Fix error when adding a Prefix from a VLAN with no Tenant or Site
2026-04-29 13:42:57 -04:00
Jeremy Stretch
1b1989ea98 Clean up Claude workflows (#22038)
* Clean up Claude workflows

* Tweak triage prompt

* Fix permissions
2026-04-29 16:17:01 +02:00
Martin Hauser
d01454c753 fix(ipam): Omit None values from AddObject URL parameters
Update AddObject.get_url() to skip parameters that resolve to None,
preventing invalid query strings.
Adjust VLAN-to-Prefix action to use scope_type/scope instead of site
field.

Fixes #22031
2026-04-29 15:03:52 +02:00
github-actions
385767c41f Update source translation strings 2026-04-29 05:58:57 +00:00
Martin Hauser
7eb66c185b fix(dcim): Require complete cable paths for connected filter (#22022)
Update InterfaceFilterSet to check both is_active and is_complete when
filtering by connected=true. Incomplete pass-through paths (e.g. cabled
front ports without rear port connections) are now correctly excluded.

Fixes regression where active but incomplete cable paths were incorrectly
returned as connected.

Fixes #22005
2026-04-28 11:20:02 -07:00
bctiemann
6a675d7fa7 Merge pull request #22015 from netbox-community/21990-device
#21990 fix deletion of device from Virtual Machines
2026-04-28 13:02:56 -04:00
Jeremy Stretch
b76f313ca4 Permit Claude triage workflow for users without write permission (#22026)
* Permit triage workflow for users without write permission

* Bump claude-code-action to v1.0.108
2026-04-28 18:08:03 +02:00
Jeremy Stretch
da2d19c932 Release v4.6.0-beta2 v4.6.0-beta2 2026-04-28 10:56:59 -04:00
Jeremy Stretch
3ccf4e2d14 Merge branch 'main' into feature 2026-04-28 10:19:36 -04:00
Jeremy Stretch
8fbb6f74d3 Release v4.5.9 (#22024) v4.5.9 2026-04-28 09:45:20 -04:00
Jeremy Stretch
d6fdfec0e5 Remove id-token: write; add github_token 2026-04-28 07:53:45 -04:00
github-actions
1fd241995f Update source translation strings 2026-04-28 05:59:53 +00:00
Martin Hauser
fa2d762f2b Fixes #22002: Enable horizontal scrolling for Context Table Panels (#22009) 2026-04-27 16:40:50 -05:00
Arthur Hanson
55b48149c7 Fixes #21995: Don't copy unique fields when adding another Contact (#22017) 2026-04-27 22:28:03 +02:00
Jeremy Stretch
ff5f64abf8 Restore id-token write permission 2026-04-27 14:10:44 -04:00
Arthur
be86c50204 cleanup 2026-04-27 11:06:03 -07:00
Arthur
e54e70c735 #21990 fix deletion of device from Virtual Machines 2026-04-27 10:48:45 -07:00
Jeremy Stretch
f68645bbad Fix Claude issue triage workflow 2026-04-27 12:34:38 -04:00
Martin Hauser
d413b847ab fix(extras): Validate EventRule action_data is a dict or null
Add validation in EventRule.clean() to ensure action_data is a JSON
object or null. Add runtime guard in event processing to handle legacy
rows with invalid data by logging a warning and using an empty dict.

Fixes #21989
2026-04-27 12:01:49 -04:00
Martin Hauser
aa14e1d322 fix(dcim): Resolve link peers for cable profile connectors
Add `_get_profile_link_peers()` method to handle connector-to-connector
mappings when cables use profiles. Includes regression test for
TRUNK_4C1P profile ensuring correct peer resolution between interfaces
and rear ports.

Fixes #21917
2026-04-27 12:00:03 -04:00
Jeremy Stretch
5abcebb67b Add a GitHub workflow to automate issue triage with Claude (#21998) 2026-04-27 15:40:15 +02:00
Jeremy Stretch
c3c26332ad Fixes #21949: Fix recursive power utilization calculation (#21997) 2026-04-27 14:35:45 +02:00
Martin Hauser
5f802bb18f Closes #19648: Add support for colored Custom Field Choice Set values (#21984)
Fixes #19648
2026-04-24 12:37:32 -05:00
github-actions
2fd6924d26 Update source translation strings 2026-04-24 05:46:33 +00:00
Jeremy Stretch
0563cc4585 Closes #21788: Return CSV export as a streaming response (#21974) 2026-04-23 09:45:15 -07:00
Martin Hauser
b1a810164a fix(dcim): Add color field to FrontPort form
Include the color field in FrontPortForm and commented-out
FrontPortBulkCreateForm field lists to allow editing front port colors
via the UI.

Fixes #21985
2026-04-23 12:09:23 -04:00
Jeremy Stretch
df02abbbdf Merge branch 'main' into feature 2026-04-23 11:10:58 -04:00
Artem Kotik
7941303d4b Closes #21854: Support multi-select object filters in Filter Forms (#21981)
Use `DynamicModelMultipleChoiceField` for `TYPE_OBJECT` in FilterSet forms
so users can select multiple related objects when filtering.
2026-04-23 13:53:39 +02:00
github-actions
e0abfaea63 Update source translation strings 2026-04-23 05:43:53 +00:00
Martin Hauser
c71635510c feat(account): Add sticky bulk actions to account templates (#21987)
Convert bookmarks, notifications, and subscriptions templates to use
the new sticky-actions component with data-driven positioning. Wraps
bulk delete buttons in sticky-actions card for consistent UX.
2026-04-22 22:30:59 +02:00
Jeremy Stretch
789085cc33 Fixes #21975: Prefetch all related data during CSV bulk export (#21976) 2026-04-22 08:56:30 -07:00
github-actions
81d412541c Update source translation strings 2026-04-22 05:41:13 +00:00