Skip to content

v0.4.3

Choose a tag to compare

@bonzo81 bonzo81 released this 03 Mar 13:25
· 151 commits to master since this release
ec4faa2

New Features

  • Plugin Permissions
    • The plugin now strictly adheres to Netbox user permissions for the creation or updating of Netbox objects.
    • New plugin-level (view / change) access control. Allow/restrict plugin use with 'view'. Allow/restrict ability to sync data via plugin with 'change'

Please read the permission docs to ensure any regular (non superusers) users have the correct access.

  • VLAN Sync
    • New VLANs tab to sync device VLAN data to Netbox objects with VLAN group selection.
    • Interface sync now includes VLAN data - tagged and untagged

Enhancements

  • Serial Number Matching & Conflict Resolution — Import detects serial
    number matches and guides users through device conflict resolution.
  • Per-User Preferences — Persistent user preferences for import
    toggles and interface name field selection.
  • Device Identity Mismatch Detection — Informational modal on sync
    pages when the device name differs between NetBox and LibreNMS.
  • SNMPv1 Support — SNMPv1 option added to the LibreNMS add-device form.
  • Empty State Cards — Friendly empty states on sync tabs when no data
    is available.
  • Naming Preferences in Validationuse_sysname and strip_domain
    settings are now honoured during import validation, with badge indicators.

Security

  • XSS escaping, input validation, and safety improvements (#225)
  • Open-redirect prevention via HTTP_REFERER validation (#213)
  • VC member validation hardening (#225)

Fixes

  • Fix KeyError for missing non-default server keys in LibreNMSAPI (#220)
  • Fix device name mismatch blocking sync (#230)
  • Restore browser credential saving on SNMP forms (#204)
  • Fix device redirect URL and inaccurate docstrings (#224)
  • Block import when validation issues are present; fix modal titles

Internal / Development

  • Comprehensive CI workflow with GitHub Actions, pytest, ruff (#208, #232)
  • GitHub Actions pinned to commit SHAs with Dependabot (#232)
  • Docstrings added across models, tables, views, forms, and API (#226)
  • Code deduplication and refactoring (#224)
  • DevContainer refactor with proxy/MITM support and diagnostic tooling (#218, #219, #234)

All Changes

  • Remove autocomplete=off from SNMP forms to restore browser credential saving by @bonzo81 in #204
  • Fix/formatting by @bonzo81 in #207
  • Test/ci workflow by @bonzo81 in #208
  • Feature/snmpv1-support by @bonzo81 in #209
  • chore: update copilot instructions with permission and background job patterns by @bonzo81 in #214
  • feat: add two-tier permission system with plugin and object-level access control by @bonzo81 in #213
  • docs: add docstrings to models, tables, views, forms, and API modules by @marcinpsk in #226
  • fix: raise KeyError for missing non-default server keys in LibreNMSAPI by @marcinpsk in #220
  • feat: add empty state cards for sync tabs by @marcinpsk in #223
  • feat: add proxy/MITM support for devcontainer by @marcinpsk in #218
  • feat: VLAN sync — Device VLAN sync with VLAN group selection and Interface sync VLAN data by @bonzo81 in #229
  • Fix: sync view mismatch by @marcinpsk in #230
  • fix: security hardening — XSS escaping, input validation, and safety … by @marcinpsk in #225
  • refactor: devcontainer script improvements and alias consolidation by @marcinpsk in #219
  • feat: per-user preference persistence for import toggles and interfac… by @marcinpsk in #222
  • develop to master release prep by @bonzo81 in #233
  • Fix/ci workflow by @marcinpsk in #232
  • refactor: code deduplication and minor bug fixes by @marcinpsk in #224
  • fix: devcontainer script hardening and cleanup by @marcinpsk in #234
  • feat: serial number matching and device conflict resolution by @marcinpsk in #227

New Contributors

Big thanks to @marcinpsk for considerable contributions