From bb8fa390cfb04a4c7f926a595a429fcbee4331d3 Mon Sep 17 00:00:00 2001 From: Anton Bubna-Litic Date: Fri, 31 Oct 2025 15:55:25 -0400 Subject: [PATCH] chore(release): 1.0.0 --- CHANGELOG.md | 41 +++++++++++++++++++++++++++++++ pyproject.toml | 2 +- src/netbox_mcp_server/__init__.py | 4 +-- uv.lock | 2 +- 4 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..e5be7f5 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,41 @@ +# CHANGELOG + +## v1.0.0 (2025-10-31) + +### 🚨 BREAKING CHANGES + +**Simpler installation and execution.** The server now uses a standard Python package layout with a dedicated command. You'll need to update your configuration: + +- **Command change**: `uv run server.py` → `uv run netbox-mcp-server` +- **Claude Desktop/Code**: Update `args` to use `netbox-mcp-server` instead of `server.py` +- **Docker**: Rebuild images (CMD updated to use new entry point) + +See [README.md](README.md) for updated configuration examples. + +### What's New + +#### Enhanced Search & Querying + +- **Global search across object types**: New `netbox_search_objects` tool lets you search for devices, sites, IP addresses, and more in a single query +- **Selective field filtering**: Reduce token usage by requesting only the fields you need (e.g., just `name` and `status` instead of complete objects) +- **Smarter pagination**: Control result set sizes with `limit` and `offset` parameters, plus automatic `count`, `next`, and `previous` metadata for navigating large datasets +- **Custom result ordering**: Sort results by any field with the `ordering` parameter (e.g., `-name` for reverse alphabetical, or `['site', '-id']` for multi-field sorting) +- **Better error messages**: Input validation now catches unsupported filter patterns before they reach the NetBox API + +#### Easier Deployment & Configuration + +- **Simple command**: Run with `netbox-mcp-server` instead of `python server.py` +- **Docker support**: Official Dockerfile for containerized deployments +- **Flexible configuration**: Pass settings via environment variables or command-line arguments +- **Configurable logging**: Set `LOG_LEVEL` environment variable to control verbosity (default: INFO) + +#### Security & Reliability + +- **Security update**: Upgraded to FastMCP 2.13 to address security vulnerability +- **Production-ready**: Comprehensive CI/CD pipeline with automated testing against live NetBox instances + +--- + +## v0.1.0 (2025-10-14) + +- Initial Release diff --git a/pyproject.toml b/pyproject.toml index e1e3791..e460aba 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "netbox-mcp-server" -version = "0.1.0" +version = "1.0.0" description = "A read-only MCP server for NetBox" readme = "README.md" requires-python = ">=3.13,<3.14" diff --git a/src/netbox_mcp_server/__init__.py b/src/netbox_mcp_server/__init__.py index 6a277b9..6f9e200 100644 --- a/src/netbox_mcp_server/__init__.py +++ b/src/netbox_mcp_server/__init__.py @@ -1,9 +1,9 @@ """NetBox MCP Server - Read-only MCP server for NetBox infrastructure data.""" -__version__ = "0.1.0" # Auto-managed by semantic-release +__version__ = "1.0.0" # Auto-managed by semantic-release __all__ = ["NetBoxRestClient", "NETBOX_OBJECT_TYPES", "Settings"] +from netbox_mcp_server.config import Settings from netbox_mcp_server.netbox_client import NetBoxRestClient from netbox_mcp_server.netbox_types import NETBOX_OBJECT_TYPES -from netbox_mcp_server.config import Settings diff --git a/uv.lock b/uv.lock index f442efd..8d74850 100644 --- a/uv.lock +++ b/uv.lock @@ -639,7 +639,7 @@ wheels = [ [[package]] name = "netbox-mcp-server" -version = "0.1.0" +version = "1.0.0" source = { editable = "." } dependencies = [ { name = "fastmcp" },