Releases: jsenecal/netbox-rir-manager
Releases · jsenecal/netbox-rir-manager
Release list
v0.4.0
Changed
- ARIN backend: migrated to pyregrws 1.0.0 (pydantic v2).
_safe_serializenow serializes pyregrws models viamodel_dump()instead of the deprecated v1.dict(). Dependency pin raised topyregrws>=1.0.0b6,<2.
Fixed
- ARIN backend: under a warnings-as-errors context, the deprecated
.dict()call raisedPydanticDeprecatedSince20, which the broadexceptin_safe_serializeswallowed -- silently collapsing every org/poc/net/customer payload to an empty dict. Serializing viamodel_dump()removes the deprecated path.
Note: this release depends on the pyregrws 1.0.0 beta (1.0.0b6).
v0.3.2
First release on the canonical toolkit.
This release is the cumulative result of the Phase 1 toolkit pilot (PR #3, the canonical reference), the post-merge fixes (release-drafter autolabeler config, ASCII-only output rule across all generated artifacts), and the docker-compose revert. No behaviour or plugin-code changes -- everything below is tooling, CI, docs, and release-process.
What changed since v0.3.1
Added
CHANGELOG.md(Keep-a-Changelog).Makefilewith canonical targets (setup,migrate,runserver,nbshell,test,lint,format,fix,rebuild,docs-serve,docs-build).- Zensical docs site under
docs/, auto-deployed to GitHub Pages. release-drafter+pr-titleworkflows enforcing conventional-commits release notes.commit-msgpre-commit stage that rejects AI / Claude attribution lines, plus the canonical hook tracked in.git-template/hooks/commit-msg.- Mend Renovate enabled (
renovate.json).
Changed
- CI matrix expanded to Python 3.12-3.14; dependency installation switched to
uv(with caching); workspace.venvactivation viaGITHUB_PATH; Codecov upload via OIDC (tokenless). - Pre-commit: added
pre-commit-hooks(whitespace, EOF, YAML / TOML, merge-conflict, line-endings) alongside ruff. - Ruff: extended lint selectors with
N,A,C4,DJ,PIE; explicitformatconfig. - README trimmed; full Dev Container guide and detailed dev workflow moved into the docs site.
Fixed
release-drafter.ymlautolabeler syntax (was `title: { prefix: "feat" }`; now a proper regex list per the v6 schema).- ASCII-only output across the toolkit: dropped emojis from `release-drafter` category titles and unicode punctuation from generated docs and commit messages.
See CHANGELOG.md for the full diff.
v0.3.1
v0.3.0
What's New
Features
- HTMX modal for site address geocoding — multi-candidate selection with improved modal UX
- Remove ARIN network on prefix deactivation — ARIN reassignment is now removed when a prefix leaves
activestatus (deprecated, reserved, etc.), not just on deletion - RIRAddress site → ForeignKey migration — multiple addresses per site (one per location), with new
locationOneToOneField, unique constraints, andget_for_site()helper - Addresses nav item — RIR Addresses now listed in the plugin navigation menu
Fixes
- Deduplicate geocoding results and fix
hx-targetfor modal UX - Use
vMAJOR.MINOR.PATCHbumpver pattern for correct tag prefix - Use
get_or_createin sync jobs to respect unique address constraints
v0.2.0
What's New
Features
- RIRCustomer model — persist ARIN customer records from simple reassignments
- RIRAddress refactor — renamed RIRSiteAddress to RIRAddress, centralized address fields across organizations, contacts, and customers via FK with a dynamic selector
- Sync improvements — discover existing ARIN customers during sync, per-prefix sync via mostSpecificNet, changelog entries for all sync operations, job logging with per-aggregate sub-jobs
- Contact filtering and search for RIR contacts
- Bulk operations — per-row sync button, bulk sync action, bulk edit/delete/import for RIR configs
- Geocoding service and ReassignJob with auto-reassign signal
- UI enhancements — sync/reassign buttons, ARIN actions dropdown, site address panel
- net_type field on RIRNetwork, contact address fields, full pydantic dict backend
Fixes
- Handle None values from ARIN ROLE contacts during sync
- Serialize IPv4Address in raw_data
- Resolve NoReverseMatch for RIRConfig jobs URL
- Use formaction pattern and consistent btn-info for sync buttons
Breaking Changes
- RIRSiteAddress renamed to RIRAddress — migration 0014 handles this automatically
- API endpoint changed from
site-addresses/toaddresses/ - Inline address fields removed from RIROrganization, RIRContact, and RIRCustomer models (now via
addressFK)