Commit Graph

114 Commits

Author SHA1 Message Date
Jeremy Stretch abccf4e036
Release v4.7.1 (#23179) 2026-09-15 14:35:13 -04:00
Jeremy Stretch 5f06007e4c Release v4.7.0 2026-09-02 14:40:04 -04:00
Jeremy Stretch 56693d62ae Merge branch 'main' into feature
# Conflicts:
#	contrib/openapi.json
#	netbox/core/forms/filtersets.py
#	netbox/core/tests/test_openapi_schema.py
#	netbox/dcim/forms/mixins.py
#	netbox/extras/events.py
#	netbox/ipam/forms/bulk_edit.py
#	netbox/ipam/forms/model_forms.py
#	netbox/ipam/models/services.py
#	netbox/ipam/tests/test_forms.py
#	netbox/ipam/tests/test_models.py
#	netbox/ipam/tests/test_views.py
#	netbox/netbox/jobs.py
#	netbox/project-static/dist/netbox.js
#	netbox/project-static/dist/netbox.js.map
#	netbox/release.yaml
#	requirements.txt
2026-09-01 16:46:44 -04:00
Jeremy Stretch 560da79ea1 Release v4.6.10 2026-09-01 15:07:36 -04:00
Jeremy Stretch 4d8c0bf80c
Fix omission of Service protocol field from the OpenAPI request schema (#23085) 2026-09-01 08:32:00 -07:00
Jeremy Stretch aa1d49d0f5 Release v4.7.0-beta2 2026-08-26 15:29:15 -04:00
Jeremy Stretch c89a544eac Merge branch 'main' into feature 2026-08-25 12:34:17 -04:00
Jeremy Stretch f8b00e9aae Release v4.6.9 2026-08-25 11:02:20 -04:00
Jeremy Stretch 9c163ba2dd Release v4.7.0-beta1 2026-08-17 13:34:29 -04:00
Jeremy Stretch f12fe46486 Merge branch 'main' into feature
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 10:26:52 -04:00
Jeremy Stretch 3db98de783 Release v4.6.8 2026-08-11 09:37:13 -04:00
Brian Tiemann fde10cbf22 Merge branch 'feature' into 22896-merge-main-into-feature
Resolves all conflicts between main and feature for #22896. Notable
resolutions:

- dcim/signals.py, dcim/tests/test_signals.py: main's cache_presave_scope_fields
  / sync_cached_scope_fields addition is fully superseded by feature's
  PostgreSQL-trigger-based denormalization (confirmed via feature's own
  migration docstrings); dropped in favor of feature's existing approach.
  Both files now match feature's originals exactly.

- netbox/tables/columns.py: combined main's generic get_ordering_annotation()
  protocol with feature's nulls_first-aware order() override. These two
  mechanisms cannot both apply to the same column (django-tables2 negates an
  entire order_by tuple uniformly on direction toggle, so a fixed nulls_first
  placement and multi-column sort composition are mutually exclusive for one
  column) -- preserved nulls_first (existing, wired through forms/API/GraphQL)
  and removed main's two composition-only tests for CustomFieldColumn. See the
  comment on CustomFieldColumn.order() for full reasoning.

- extras/customfields.py, extras/graphql/mixins.py: combined main's
  request-cache optimization and has_key-scoped batch updates with feature's
  resolve_selection_value() (shared select-field label resolution between
  REST and GraphQL).

- extras/events.py, extras/event_rules.py: main's "Honor Script defaults when
  triggered by Event Rules" (#22852) fix was written against the old inline
  action-type dispatch, which feature had already replaced with a pluggable
  action-provider registry (#22770). Re-applied the same two-line fix
  (notifications/job_timeout) inside ScriptAction.enqueue() in event_rules.py
  instead.

- utilities/jinja2.py: fixed a config-attribute name mismatch the raw merge
  would have introduced (main's JINJA2_FILTERS vs feature's renamed
  JINJA_FILTERS) by updating the shared _jinja2_filters() helper.

- ipam/migrations/: renumbered main's 0094_ipaddress_host_index to 0096 and
  added a merge migration, since main and feature had each independently
  added a migration numbered 0094.

- dcim/tests/query_counts.json: regenerated via UPDATE_QUERY_COUNTS=1 against
  the merged codebase rather than hand-merging counts.

Verified: manage.py check clean, full migration graph applies cleanly from
scratch, ruff clean, and full test suites pass for dcim, ipam, netbox, extras,
circuits, vpn, wireless, tenancy, virtualization, core, users, and account
(fresh databases, no state carried over between runs).
2026-08-10 16:13:01 -04:00
Jeremy Stretch a1fc744556 Release v4.6.7 2026-07-30 16:36:25 -04:00
Jeremy Stretch d2df19790f Merge branch 'main' into feature
# Conflicts:
#	contrib/openapi.json
#	docs/release-notes/version-4.6.md
#	netbox/dcim/choices.py
#	netbox/dcim/forms/mixins.py
#	netbox/dcim/models/device_component_templates.py
#	netbox/dcim/models/device_components.py
#	netbox/extras/dashboard/widgets.py
#	netbox/extras/graphql/types.py
#	netbox/extras/models/configs.py
#	netbox/extras/tests/test_templatetags.py
#	netbox/ipam/choices.py
#	netbox/ipam/forms/model_forms.py
#	netbox/netbox/configuration_example.py
#	netbox/netbox/filtersets.py
#	netbox/netbox/tests/test_api.py
#	netbox/netbox/tests/test_scaffold.py
#	netbox/netbox/tests/test_tables.py
#	netbox/project-static/dist/netbox.js
#	netbox/project-static/dist/netbox.js.map
#	netbox/project-static/package.json
#	netbox/project-static/yarn.lock
#	netbox/release.yaml
#	netbox/translations/cs/LC_MESSAGES/django.mo
#	netbox/translations/cs/LC_MESSAGES/django.po
#	netbox/translations/da/LC_MESSAGES/django.mo
#	netbox/translations/da/LC_MESSAGES/django.po
#	netbox/translations/de/LC_MESSAGES/django.mo
#	netbox/translations/de/LC_MESSAGES/django.po
#	netbox/translations/en/LC_MESSAGES/django.po
#	netbox/translations/es/LC_MESSAGES/django.mo
#	netbox/translations/es/LC_MESSAGES/django.po
#	netbox/translations/fr/LC_MESSAGES/django.mo
#	netbox/translations/fr/LC_MESSAGES/django.po
#	netbox/translations/it/LC_MESSAGES/django.mo
#	netbox/translations/it/LC_MESSAGES/django.po
#	netbox/translations/ja/LC_MESSAGES/django.mo
#	netbox/translations/ja/LC_MESSAGES/django.po
#	netbox/translations/ko/LC_MESSAGES/django.mo
#	netbox/translations/ko/LC_MESSAGES/django.po
#	netbox/translations/lv/LC_MESSAGES/django.mo
#	netbox/translations/lv/LC_MESSAGES/django.po
#	netbox/translations/nl/LC_MESSAGES/django.mo
#	netbox/translations/nl/LC_MESSAGES/django.po
#	netbox/translations/pl/LC_MESSAGES/django.mo
#	netbox/translations/pl/LC_MESSAGES/django.po
#	netbox/translations/pt/LC_MESSAGES/django.mo
#	netbox/translations/pt/LC_MESSAGES/django.po
#	netbox/translations/ru/LC_MESSAGES/django.mo
#	netbox/translations/ru/LC_MESSAGES/django.po
#	netbox/translations/tr/LC_MESSAGES/django.mo
#	netbox/translations/tr/LC_MESSAGES/django.po
#	netbox/translations/uk/LC_MESSAGES/django.mo
#	netbox/translations/uk/LC_MESSAGES/django.po
#	netbox/translations/zh/LC_MESSAGES/django.mo
#	netbox/translations/zh/LC_MESSAGES/django.po
#	netbox/utilities/jinja2.py
#	netbox/utilities/tests/test_filters.py
#	requirements.txt
2026-07-28 14:24:24 -04:00
Jeremy Stretch fb8c455ba6 Release v4.6.6 2026-07-28 13:25:44 -04:00
Jeremy Stretch e50683fee9 Merge main into feature 2026-07-21 09:09:58 -04:00
Jeremy Stretch ebee3578b9 Release v4.6.5 2026-07-14 08:45:54 -04:00
Martin Hauser 48ecc712bc
Closes #22603: Add experimental Python packaging support for NetBox (#22605)
Add initial Python package support for NetBox, including wheel and sdist
builds, generated package metadata, and Test PyPI publishing for maintainer
validation.

Add package-aware CLI support, `netbox setup` scaffolding for instance-local
files, and centralized wheel-vs-checkout path handling while preserving the
existing source/archive install layout.

Bundle pre-rendered embedded documentation in the wheel, and extend CI to
verify dependency pins, wheel metadata, artifact contents, CLI behavior, sdist
rebuilds, and smoke-test upgrades.
2026-07-13 16:28:04 +02:00
Ciro Iriarte 945634724b
Closes #18828: Add MDC fiber connector to the list of available port types 2026-07-03 19:57:00 -04:00
Jeremy Stretch 3d73b2a166 Release NetBox v4.6.4 2026-06-30 11:23:11 -04:00
Jeremy Stretch 0c26f973ff Release v4.6.3 2026-06-16 11:59:12 -04:00
Jeremy Stretch 742f4b4330 Release v4.6.2 2026-06-02 10:11:34 -04:00
Jeremy Stretch 64d3b114bc Release v4.6.1 2026-05-19 11:16:49 -04:00
Jeremy Stretch 00791344e6 Release v4.6.0 2026-05-05 08:55:05 -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 2026-05-04 12:48:34 -04:00
Jeremy Stretch da2d19c932 Release 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) 2026-04-28 09:45:20 -04:00
Jeremy Stretch 539448683c
Release v4.6.0-beta1 (#21910)
* Draft v4.6 release notes

* Revert django-tables2 upgrade

* Correct release notes

* Release v4.6.0-beta1

* Fix typo
2026-04-14 10:09:06 -04:00
Jeremy Stretch 75e1b86613
Release v4.5.8 (#21903)
* Release v4.5.8
* Limit django-tables2 to <v2.9
2026-04-14 08:39:16 -04:00
Jeremy Stretch d0651f6474
Release v4.5.7 (#21838) 2026-04-03 12:24:24 -04:00
Jeremy Stretch 05059f4a86 Release v4.5.6 2026-03-31 12:43:26 -04:00
Jeremy Stretch 2b7049c39c
Release v4.5.5 (#21672)
* Release v4.5.5

* Pin django-rq to <4.0
2026-03-17 14:58:14 -04:00
Jeremy Stretch 54462595a6 Release v4.5.4 2026-03-03 12:46:15 -05:00
Jeremy Stretch c029782cf5 Release v4.5.3 2026-02-17 10:37:44 -05:00
Jeremy Stretch 87d2e02c85 Release v4.5.2 2026-02-03 08:09:14 -05:00
Jeremy Stretch 47d4ae29c1 Release v4.5.1 2026-01-20 14:44:04 -05:00
Jeremy Stretch 6f2ba5c75c Merge branch 'main' into feature 2026-01-06 13:05:07 -05:00
Jeremy Stretch fa8a9ef9de Release v4.4.10 2026-01-06 12:30:03 -05:00
Jeremy Stretch 7c63d001b1 Release v4.4.9 2025-12-23 12:02:30 -05:00
Jeremy Stretch 44e731a40a
Release v4.5.0-beta1 2025-12-16 13:48:45 -05:00
Jeremy Stretch 97d0a16fd4 Merge branch 'main' into feature 2025-12-09 11:50:37 -05:00
Jeremy Stretch 970f2bd4ed Release v4.4.8 2025-12-09 11:28:36 -05:00
Jeremy Stretch afba5b2791 Merge branch 'main' into feature 2025-11-25 15:25:53 -05:00
Jeremy Stretch adad3745ae Release v4.4.7 2025-11-25 14:37:06 -05:00
Jason Novinger 82171fce7a
Fixes #20638: Document bulk create support in OpenAPI schema (#20777)
* Fixes #20638: Document bulk create support in OpenAPI schema

POST operations on NetBoxModelViewSet endpoints accept both single
objects and arrays, but the schema only documented single objects.
This prevented API client generators from producing correct code.

Add explicit bulk_create_enabled flag to NetBoxModelViewSet and
update schema generation to emit oneOf for these endpoints.

* Address PR feedback

- Removed brittle serializer marking mechanism in favor of direct checks
  on behavior.
- Attempted to introduce a bulk_create action and then route to it on
  POST in NetBoxRouter, but ran in to several obstacles including
  breaking HTTP status code reporting in the schema. Opted to simply

* Remove unused bulk_create_enabled attr

Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>

---------

Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
2025-11-24 09:33:39 -05:00
Jeremy Stretch a4365be0a3 Merge branch 'main' into feature 2025-11-12 08:08:32 -05:00
Jeremy Stretch 4961b0d334 Release v4.4.6 2025-11-11 09:58:09 -05:00
bctiemann bcffc383bf
Closes: #17936 - GFK serializer field (#20706)
* Establish GFKSerializerField and replace get_* methods in circuits.py

* Set read_only=True

* Apply GFKSerializerField to all matching SerializerMethodFields

* Use GFKSerializerField for ObjectChangeSerializer.changed_object and EventRuleSerializer.action_object
2025-11-04 10:01:22 -05:00