Skip to content

Releases: jsenecal/netbox-rir-manager

v0.4.0

Choose a tag to compare

@jsenecal jsenecal released this 18 Jun 19:34

Changed

  • ARIN backend: migrated to pyregrws 1.0.0 (pydantic v2). _safe_serialize now serializes pyregrws models via model_dump() instead of the deprecated v1 .dict(). Dependency pin raised to pyregrws>=1.0.0b6,<2.

Fixed

  • ARIN backend: under a warnings-as-errors context, the deprecated .dict() call raised PydanticDeprecatedSince20, which the broad except in _safe_serialize swallowed -- silently collapsing every org/poc/net/customer payload to an empty dict. Serializing via model_dump() removes the deprecated path.

Note: this release depends on the pyregrws 1.0.0 beta (1.0.0b6).

v0.3.2

v0.3.2 Pre-release
Pre-release

Choose a tag to compare

@jsenecal jsenecal released this 28 Apr 14:21

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).
  • Makefile with 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-title workflows enforcing conventional-commits release notes.
  • commit-msg pre-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 .venv activation via GITHUB_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; explicit format config.
  • README trimmed; full Dev Container guide and detailed dev workflow moved into the docs site.

Fixed

  • release-drafter.yml autolabeler 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

Choose a tag to compare

@jsenecal jsenecal released this 18 Feb 18:58

Changes

  • style: apply ruff format to all source files, fixing CI formatting check

v0.3.0

Choose a tag to compare

@jsenecal jsenecal released this 17 Feb 21:17

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 active status (deprecated, reserved, etc.), not just on deletion
  • RIRAddress site → ForeignKey migration — multiple addresses per site (one per location), with new location OneToOneField, unique constraints, and get_for_site() helper
  • Addresses nav item — RIR Addresses now listed in the plugin navigation menu

Fixes

  • Deduplicate geocoding results and fix hx-target for modal UX
  • Use vMAJOR.MINOR.PATCH bumpver pattern for correct tag prefix
  • Use get_or_create in sync jobs to respect unique address constraints

v0.2.0

Choose a tag to compare

@jsenecal jsenecal released this 17 Feb 03:45

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/ to addresses/
  • Inline address fields removed from RIROrganization, RIRContact, and RIRCustomer models (now via address FK)