netbox/netbox/netbox
Martin Hauser f64bf0b217 fix(models): Normalize update_fields to prevent iterable consumption
Introduces normalize_update_fields() utility to materialize one-shot
iterables like generators into frozensets, preventing bugs in save()
overrides that perform membership tests. Fixes channelization cascades,
module moves, and ltree parent tracking when using generator
expressions.

Fixes #23074
2026-08-31 13:50:59 -04:00
..
api Merge branch 'main' into feature 2026-08-25 12:34:17 -04:00
authentication Merge main into feature 2026-07-21 09:09:58 -04:00
config Fixes #22889: Render Config Revision banner fields in monospace (#22907) 2026-08-18 15:30:45 +02:00
forms fix(forms): Correct nullable_fields in bulk edit forms 2026-08-25 09:06:31 -04:00
graphql #22592: Pre-release QA (#22920) 2026-08-14 11:09:53 -05:00
models fix(models): Normalize update_fields to prevent iterable consumption 2026-08-31 13:50:59 -04:00
navigation Closes #22447: Add Cooling infrastructure modeling (#22517) 2026-08-04 10:23:50 -04:00
plugins #22592: Pre-release QA (#22920) 2026-08-14 11:09:53 -05:00
search Closes #22909: Tolerate an undefined column in the deferred search flush (#22910) 2026-08-12 13:23:51 -05:00
tables Merge branch 'feature' into 22896-merge-main-into-feature 2026-08-10 16:13:01 -04:00
tests Fixes #23042: Submit SSO login requests via POST (#23050) 2026-08-27 17:52:08 +02:00
ui Closes #22447: Add Cooling infrastructure modeling (#22517) 2026-08-04 10:23:50 -04:00
views Merge branch 'main' into feature 2026-08-25 12:34:17 -04:00
__init__.py
…
__main__.py Merge main into feature 2026-07-21 09:09:58 -04:00
choices.py Closes #22447: Add Cooling infrastructure modeling (#22517) 2026-08-04 10:23:50 -04:00
cli.py Merge main into feature 2026-07-21 09:09:58 -04:00
configuration_example.py #22486: Pre-release QA (#22862) 2026-08-05 22:54:08 +02:00
configuration_testing.py #22592: Pre-release QA (#22920) 2026-08-14 11:09:53 -05:00
constants.py Fixes #23010: Defer bulk changes to object data when adding/removing a custom field (#23011) 2026-08-26 10:51:59 -07:00
context.py Closes #21259: Cache ObjectType results for the duration of a request (#21287) 2026-01-26 15:07:13 -08:00
context_managers.py Fixes #22923: Fix post-exception cleanup under event_tracking() (#22926) 2026-08-13 19:56:23 +02:00
context_processors.py Remove the `models` key from the application registry (closes #21891) 2026-05-07 08:51:46 -04:00
data_backends.py
…
event_rules.py Closes #22770: Allow plugins to register Event Rule action handlers (#22793) 2026-07-31 16:28:01 -04:00
events.py Closes #21712: Support description annotations for static choice form fields 2026-07-02 13:46:43 -04:00
filtersets.py Closes #22790: Enforce SavedFilter visibility when applied via filter/filter_id (#22791) 2026-07-28 10:51:14 +02:00
jobs.py Closes #22571: Migrate from django-pglocks to django-pgware (#22635) 2026-07-08 10:19:05 -05:00
metrics.py Fixes #21407: Enable I (isort) and stabilize import ordering (#21458) 2026-02-18 10:41:51 -06:00
middleware.py Fixes #22501: Fix GraphQL API exceptions falling back to HTML error responses (#22552) 2026-06-29 03:45:30 -05:00
monkey.py Fixes #20585: Fix AttributeError exception for conditionless single-field UniqueConstraints (#20590) 2025-10-15 12:51:33 -05:00
object_actions.py chore(ruff): Enable RET rules and add explicit fallbacks 2026-02-18 16:49:36 -05:00
preferences.py Closes #21712: Support description annotations for static choice form fields 2026-07-02 13:46:43 -04:00
registry.py Closes #22770: Allow plugins to register Event Rule action handlers (#22793) 2026-07-31 16:28:01 -04:00
scaffold.py Merge main into feature 2026-07-21 09:09:58 -04:00
settings.py Merge branch 'main' into feature 2026-08-17 10:26:52 -04:00
settings_utils.py Merge branch 'feature' into 22896-merge-main-into-feature 2026-08-10 16:13:01 -04:00
signals.py Fixes #21407: Enable I (isort) and stabilize import ordering (#21458) 2026-02-18 10:41:51 -06:00
urls.py Fixes #21407: Enable I (isort) and stabilize import ordering (#21458) 2026-02-18 10:41:51 -06:00
utils.py Closes #21712: Support description annotations for static choice form fields 2026-07-02 13:46:43 -04:00
wsgi.py
…