This release is a huge milestone for the maintainers of this project. In short: this release has made fundamental changes to the code and how different classes and functions are called. The script itself has been configured to work as a python package, meaning that you can install this package from Pypi for your own environments! After Pypi package installation you can also run the script without calling Python but by using the netbox-zabbix-sync CLI command! All of this is documented over at our https://github.com/TheNetworkGuy/netbox-zabbix-sync/wiki so for new users: feel free to check the installation instructions out! For existing users: do not worry. We have maintained 100% backwards compatibility which is one of the most important
The code quality has improved a lot. Not only at its core but also for testing procedures and the pipeline for any new releases. This ensures code maintainability and less bugs when introducing new features. Speaking of: due to these changes it has become easier to implement new features.
At last: we smashed several bugs and created some new features, introduced a --version field, made the Zabbix host description field adjustable and the script is ready for Netbox v2 token support. Existing users: you might get a warning stating that you are using V1 tokens on a Netbox instance running 4.5 or higher. As the Netbox team recommends: please start using V2 tokens which is a better way for authentication.
AI summary down below:
What's Changed
- 🐛 Enforce tag list order before comparison by @wouterdebruijn in #154
- 🔧 Switched to astral.sh stack for project management, linting and formatting. by @wouterdebruijn in #160
- Fix develop by @TheNetworkGuy in #161
- Fixes code to be compatible with ruff by @TheNetworkGuy in #162
- 🔧 Updated post create command to fully use uv environment by @wouterdebruijn in #163
- 🔧 Specifically ignore assertion in tests instead of entire codebase by @wouterdebruijn in #164
- 💡 Removed old pylint annotations by @wouterdebruijn in #165
- ♻️ Moved project code for Python bundling as preperation of PIP package by @wouterdebruijn in #166
- 🐛 Adjusting reading of config.py behavior to support legacy usage by @wouterdebruijn in #172
- Package code to main by @TheNetworkGuy in #173
Full Changelog: 3.3.0...4.0.0