Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions COMPATIBILITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down
34 changes: 34 additions & 0 deletions docs/releases.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion netbox_custom_objects/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -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"
Expand Down