diff --git a/COMPATIBILITY.md b/COMPATIBILITY.md index d016cb29..10d658c0 100644 --- a/COMPATIBILITY.md +++ b/COMPATIBILITY.md @@ -2,6 +2,7 @@ | Release | Minimum NetBox Version | Maximum NetBox Version | |---------|------------------------|------------------------| +| 0.5.2 | 4.5.2 | 4.6.x | | 0.5.1 | 4.5.2 | 4.6.x | | 0.5.0 | 4.5.2 | 4.6.x | | 0.4.10 | 4.4.0 | 4.5.x | diff --git a/docs/releases.md b/docs/releases.md index fef1e653..f445998e 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -1,5 +1,39 @@ # Releases +## 0.5.2 + +### New Features + +**Polymorphic Reverse Descriptors** + +Polymorphic Object and MultiObject fields now support a `related_name` that exposes a working reverse accessor on the target model instance (e.g. `site.co_instances.all()`). The form bug that hid the `related_name` field when the Polymorphic checkbox was checked has also been fixed. + +- [#385](https://github.com/netboxlabs/netbox-custom-objects/issues/385) / [#522](https://github.com/netboxlabs/netbox-custom-objects/issues/522) - Polymorphic Object and MultiObject fields: `related_name` now wires a working reverse accessor on target model classes; form fix for the field being hidden when Polymorphic is checked + +### Enhancements + +- [#559](https://github.com/netboxlabs/netbox-custom-objects/issues/559) - Add `slug` filter to `CustomObjectTypeFilterSet` so `?slug=` API queries work correctly + +### Bug Fixes + +- [#353](https://github.com/netboxlabs/netbox-custom-objects/issues/353) - `AttributeError` in `__str__` when the primary field was missing from the generated model +- [#369](https://github.com/netboxlabs/netbox-custom-objects/issues/369) - Selection fields displayed the raw stored key instead of the human-readable label +- [#370](https://github.com/netboxlabs/netbox-custom-objects/issues/370) - Lazy serializer registration via module `__getattr__` fixed a `SerializerNotFound` regression; `skip_object_fields` guard prevents incomplete serializers from being cached +- [#371](https://github.com/netboxlabs/netbox-custom-objects/issues/371) - Tags submitted via POST or PATCH were accepted and echoed in the response but never persisted to the database +- [#384](https://github.com/netboxlabs/netbox-custom-objects/issues/384) - `AttributeError` and false-positive cycle detection caused by stale FK references in cross-COT fields after model regeneration +- [#406](https://github.com/netboxlabs/netbox-custom-objects/issues/406) - Bulk import for Object/MultiObject fields targeting models without a `name` field (e.g. `ModuleType`) failed with "invalid accessor field name" +- [#428](https://github.com/netboxlabs/netbox-custom-objects/issues/428) - Startup warnings from NetBox Branching and Django were not suppressed on Python 3.13 due to message-pattern filter limitations; switched to module-origin filters +- [#470](https://github.com/netboxlabs/netbox-custom-objects/issues/470) - `ValueError: must be a "TableNModel" instance` when saving an object with cross-COT FK fields; caused by stale model class references after model regeneration +- [#491](https://github.com/netboxlabs/netbox-custom-objects/issues/491) - Cycle detection in object-field validation failed to traverse polymorphic field edges, allowing circular references that crashed model generation +- [#523](https://github.com/netboxlabs/netbox-custom-objects/issues/523) - Deleting a Custom Object Type that had NetBox custom fields attached raised an error; NetBox CustomField references are now removed before the ObjectType is dropped +- [#529](https://github.com/netboxlabs/netbox-custom-objects/issues/529) - Selection and multi-selection fields backed by a `CustomFieldChoiceSet` with colors rendered as plain text; colored badges are now rendered correctly in both the list table and the detail view +- [#535](https://github.com/netboxlabs/netbox-custom-objects/issues/535) - Deleting a MultiObject field left its through-model registered in Django's app registry, causing cascade-delete errors on subsequent operations +- [#540](https://github.com/netboxlabs/netbox-custom-objects/issues/540) - Clarified Django bootstrap for portable schema export scripts +- [#543](https://github.com/netboxlabs/netbox-custom-objects/issues/543) - Tag filter links in the custom object list view returned 404 +- [#550](https://github.com/netboxlabs/netbox-custom-objects/issues/550) - REST API rejected `null` for optional Object and MultiObject fields (`"This field may not be null."`) + +--- + ## 0.5.1 ### Bug Fixes diff --git a/netbox_custom_objects/__init__.py b/netbox_custom_objects/__init__.py index fda46bc6..371ccdf4 100644 --- a/netbox_custom_objects/__init__.py +++ b/netbox_custom_objects/__init__.py @@ -120,7 +120,7 @@ class CustomObjectsPluginConfig(PluginConfig): name = "netbox_custom_objects" verbose_name = "Custom Objects" description = "A plugin to manage custom objects in NetBox" - version = "0.5.1" + version = "0.5.2" author = 'Netbox Labs' author_email = 'support@netboxlabs.com' base_url = "custom-objects" diff --git a/pyproject.toml b/pyproject.toml index ff7422b5..ce90a69d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "netboxlabs-netbox-custom-objects" -version = "0.5.1" +version = "0.5.2" description = "A plugin to manage custom objects in NetBox" readme = "README.md" requires-python = ">=3.10"