m-hau
f8032f1cd0
Merge 96cdddd3f8
into 5ca2cea016
2025-09-05 22:33:26 +00:00
jetomit
5ca2cea016
Closes #20222 : Enable HttpOnly flag for the CSRF cookie ( #20262 )
CI / build (20.x, 3.10) (push) Waiting to run
CI / build (20.x, 3.11) (push) Waiting to run
CI / build (20.x, 3.12) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
2025-09-05 15:04:02 -07:00
Jason Novinger
026737b62b
Fixes #19851 : Fix WirelessLANImportForm
has no field scope
, improve validation ( #20273 )
2025-09-05 14:59:38 -07:00
Jeremy Stretch
94faf58c27
Closes #19408 : Enable export templates for circuit terminations ( #20251 )
2025-09-05 14:23:07 -07:00
Jeremy Stretch
de499ca686
Fixes #20282 : Fix styling of warning for missing prerequisite objects ( #20283 )
2025-09-05 15:26:11 -05:00
Martin Hauser
f04a2b965f
Fixes #20252 : Remove generic AddObject from ObjectChildrenView ( #20279 )
2025-09-05 15:10:24 -05:00
Jason Novinger
fcb380b5c5
Fixes #20221 : JSON CustomField does not coerce {}
to null
...
CI / build (20.x, 3.10) (push) Waiting to run
CI / build (20.x, 3.11) (push) Waiting to run
CI / build (20.x, 3.12) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
This fix actually fixes this for all valid JSON values that evaluate to
`False` in Python when loaded and cast to bool:
`bool(json.loads(<val>))`.
- `{}`
- `[]`
- `0`
- `False`
This does not change the behavior of `()` or `""` which are both
explicitly cited as "empty" values on `JSONField`.
2025-09-05 15:54:25 -04:00
Martin Hauser
8311f457b5
Fixes #20258 : Correct typographical errors in labels ( #20278 )
2025-09-05 14:07:12 -05:00
Martin Hauser
47e4947ca0
Fixes #20234 : Correct add_button return_url ( #20268 )
2025-09-05 08:01:28 -05:00
Jeremy Stretch
545773e221
Fixes #20227 : Fix paragraph spacing in rendered Markdown content ( #20256 )
2025-09-05 07:05:36 -05:00
github-actions
2ddec1ef48
Update source translation strings
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
2025-09-05 05:03:32 +00:00
Jonathan Ramstedt
309e434064
Fixes #19896 : cf minmax mustbe int ( #20207 )
CI / build (20.x, 3.10) (push) Waiting to run
CI / build (20.x, 3.11) (push) Waiting to run
CI / build (20.x, 3.12) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
2025-09-04 16:10:05 -07:00
Jeremy Stretch
8a1db81111
Closes #20203 : Add a pre-commit check for OpenAPI schema changes ( #20230 )
2025-09-04 16:02:12 -07:00
Martin Hauser
399d51b466
fix(vpn): Update to_field_name
in bulk import form
...
Changes the value of `to_field_name` from `name` to `address` in the
VPN bulk import form. This ensures proper mapping and validation for
IP address selection during the bulk import process.
Closes #20238
2025-09-04 16:42:13 -04:00
Martin Hauser
6135fb8cd7
feat(vpn): Add search index for TunnelGroup
...
Introduces `TunnelGroupIndex` for enabling search functionality on
Tunnel Groups. Includes searchable fields for `name` and `description`
with respective weights and display attributes.
Closes #20237
2025-09-04 16:33:39 -04:00
github-actions
ea50786b5c
Update source translation strings
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Has been cancelled
2025-09-03 05:02:17 +00:00
Jeremy Stretch
d8822c8bca
Merge pull request #20226 from netbox-community/release-v4.4.0
...
CI / build (20.x, 3.10) (push) Has been cancelled
CI / build (20.x, 3.11) (push) Has been cancelled
CI / build (20.x, 3.12) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Has been cancelled
Release v4.4.0
2025-09-02 13:02:45 -04:00
Jeremy Stretch
319556a747
Release v4.4.0
2025-09-02 10:59:57 -04:00
Jeremy Stretch
d433456e2f
Merge branch 'main' into feature
CI / build (20.x, 3.10) (push) Waiting to run
CI / build (20.x, 3.11) (push) Waiting to run
CI / build (20.x, 3.12) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
2025-09-02 10:50:58 -04:00
bctiemann
8f8ca805c4
Merge pull request #20209 from netbox-community/20092-mkdocs-cleanup
...
CI / build (20.x, 3.10) (push) Has been cancelled
CI / build (20.x, 3.11) (push) Has been cancelled
CI / build (20.x, 3.12) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Has been cancelled
Closes #20092 : Clean up `mkdocs` warnings
2025-08-29 17:23:50 -04:00
bctiemann
133918321a
Merge pull request #20208 from netbox-community/20115-arraycolumn-support
...
Closes #20115 : Support the use of ArrayColumn for plugin tables
2025-08-29 17:23:22 -04:00
Jeremy Stretch
6e6c02f98c
Fix invalid link
2025-08-29 13:59:55 -04:00
Jeremy Stretch
44dae99205
Suppress griffe warnings for missing type annotations in docstrings
2025-08-29 13:56:12 -04:00
Jeremy Stretch
57bb7c0a8e
Split mkdocstrings-python into explicit dependency to force updates
2025-08-29 13:51:49 -04:00
Jeremy Stretch
29ea88eb94
Closes #20115 : Support the use of ArrayColumn for plugin tables
2025-08-29 13:42:55 -04:00
Jeremy Stretch
2d339033e2
Fixes #20154 : Restore missing changelog_message field on several forms ( #20189 )
CI / build (20.x, 3.10) (push) Waiting to run
CI / build (20.x, 3.11) (push) Waiting to run
CI / build (20.x, 3.12) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
2025-08-28 11:43:17 -05:00
Jeremy Stretch
08ae139161
Release v4.3.7 ( #20182 )
...
CI / build (20.x, 3.10) (push) Has been cancelled
CI / build (20.x, 3.11) (push) Has been cancelled
CI / build (20.x, 3.12) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Has been cancelled
* Release v4.3.7
* Revert to django-mptt v0.17.0 due to migrations check failure
2025-08-26 13:52:42 -04:00
bctiemann
1c1073e160
Merge pull request #20177 from netbox-community/18916-TomSelect-invalid-styling
...
Fixes #18916 : Fix styling of dynamic dropdowns with invalid selection
2025-08-26 11:47:21 -04:00
github-actions
0870ec6eb8
Update source translation strings
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
2025-08-26 05:02:12 +00:00
Jeremy Stretch
81579b6739
Fixes #18916 : Fix styling of dynamic dropdowns with invalid selection
2025-08-25 15:58:21 -04:00
Martin Hauser
b334931513
fix(dcim): Add status field to PowerOutlet bulk create form
...
CI / build (20.x, 3.10) (push) Waiting to run
CI / build (20.x, 3.11) (push) Waiting to run
CI / build (20.x, 3.12) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
Includes the `status` field in the PowerOutlet bulk create form to allow
configuration during bulk creation.
2025-08-25 14:38:31 -04:00
bctiemann
704f0507e7
Merge pull request #20141 from netbox-community/19970-devicerole-child-counts
...
Fixes #19970 : Report device & VM counts for child device roles on parents
2025-08-25 14:33:42 -04:00
mr1716
122e2d13dd
#20175 Fix Grammatical Error Related To Capitalization
2025-08-25 14:28:35 -04:00
Jeremy Stretch
0c3beec3a2
Fixes #20120 : Cast RQ task args & kwargs to strings for serialization ( #20166 )
CI / build (20.x, 3.10) (push) Waiting to run
CI / build (20.x, 3.11) (push) Waiting to run
CI / build (20.x, 3.12) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
2025-08-25 07:57:35 -05:00
mr1716
758be46a6f
Fixes #20168 : Update error-reporting.md To Make Configuration Consistent ( #20169 )
2025-08-25 07:48:56 -05:00
github-actions
5ac3e79e7b
Update source translation strings
CI / build (20.x, 3.10) (push) Has been cancelled
CI / build (20.x, 3.11) (push) Has been cancelled
CI / build (20.x, 3.12) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Has been cancelled
2025-08-23 05:02:16 +00:00
Jeremy Stretch
7033230388
Fixes #20157 : Overwrite existing user notifications to avoid duplications ( #20167 )
2025-08-22 16:13:24 -07:00
Jeremy Stretch
66140fc017
Closes #18147 : Include device & VM interfaces in VRF related objects ( #20158 )
2025-08-22 16:01:34 -07:00
Jeremy Stretch
d5e49c8cb0
Closes #20122 : Improve text contrast on highlighted changes ( #20161 )
...
CI / build (20.x, 3.10) (push) Waiting to run
CI / build (20.x, 3.11) (push) Waiting to run
CI / build (20.x, 3.12) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
* Closes #20122 : Improve text contrast on highlighted changes
* Fix indentation
2025-08-22 15:34:22 -04:00
Marko Hauptvogel
96cdddd3f8
Add cycle identification
...
Use a depth-first search to identify any cycles, to be able to report
them as such to the user.
2025-08-22 09:53:52 +02:00
Marko Hauptvogel
c158bfa87a
Sort interface templates of device type
...
Use the new hook to re-sort the interface template list. It is only done
when required to preserve the original order and prevent any unneeded
computation. But even when sorting, it tries its best to preserve as the
original order as much as possible.
The sorting is still done before any validation of the individual
elements, so needs to be able to work with invalid/incomplete/malformed
data. The only guarantee is that we get a list (of something).
It builds a simple dependency graph, uses Kahn's algorithm to create a
topological sorting of it, and applies that to the interface template
list.
2025-08-22 09:53:52 +02:00
Marko Hauptvogel
fa7b4d8978
Add prep_related_object_list hook
...
Related objects are saved in the same order as they are defined in the
input by the user. So related objects with a dependency on another need
to be saved after the related object they depend on. Which means that
when required, the order needs to be changed.
The related object lists are not part of the actual form, and the
individual related-object forms only cover the elements themselves. So
while the re-order should be done at the form-level during the clean-
step, there is no form covering the lists to use for that. Plus should
all errors be reported with their original location/index and not with
the fixed/resorted one, because these are not useful and even confusing
for the user. So the sorting should be done as late as possible, ideally
just before the save.
This adds a new `prep_related_object_list` hook, which gets passed each
list of related objects. This should only be used for modifications to
the list (aka order). Any changes to the individual objects should still
be done using the existing `prep_related_object_data` hook.
The passed list is not the plain list, but an enumerated variant. This
is needed to preserve the original index of the elements independently
from the actual (possibly changed) order the list, so any later detected
errors (for example by the elements form validation) can accurately be
reported back to the user.
2025-08-22 09:53:52 +02:00
Marko Hauptvogel
18480668e0
Allow bridge when importing interface templates
...
Adding the field to the InterfaceTemplateImportForm is enough. The two
clean_*_type methods are for properly dynamically restricting what
values can be selected.
2025-08-22 09:53:51 +02:00
Marko Hauptvogel
16e284f03a
Fix hard related object not dict error
...
Elements of the "related objects list" are passed to the
`prep_related_object_data` function before any validation takes place,
with the potential of failing with a hard error. Similar to the "related
objects not list" case explicitly validate the elements general type,
and raise a normal validation error if it isn't a dictionary.
2025-08-22 09:53:51 +02:00
Marko Hauptvogel
bb8f5ee12f
Fix hard related objects not list error
...
The related object fields are not covered by the form, so don't pass
any validation before trying to iterate over them and accessing their
elements. Instead of allowing a hard technical error to be raised,
explicitly check that it is indeed a list, and raise a normal validation
error if not.
2025-08-22 09:53:51 +02:00
github-actions
6b3b4b3193
Update source translation strings
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
2025-08-22 05:02:31 +00:00
Jeremy Stretch
2e809904fa
Fixes #20043 : Prevent rack elevation SVG styling from overflowing to parent page ( #20139 )
CI / build (20.x, 3.10) (push) Waiting to run
CI / build (20.x, 3.11) (push) Waiting to run
CI / build (20.x, 3.12) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Has been cancelled
2025-08-21 09:09:44 -07:00
Jeremy Stretch
8b397f3b42
Fixes #20012 : Fix support for empty
filter for custom fields ( #20072 )
2025-08-21 09:27:01 -05:00
Jeremy Stretch
7bbb04d2d3
Fixes #20137 : Ensure proper model resolution for get_for_model() and get_for_models() ( #20138 )
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Has been cancelled
2025-08-21 09:54:01 -04:00
github-actions
f2b29273d0
Update source translation strings
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
2025-08-21 05:03:51 +00:00