v1.0.0
First stable release. Public MCP tool contract is unchanged from 0.9.0
(95 pfSense READ tools + 2 documentation guidance tools, 0
default-reachable WRITE = 97 total) — this release is a product-maturity
and correctness pass, not a capability expansion. See
docs/STABILITY.md
for the version-independent stability promise now made across the
MCP/CLI/config/persisted-state surfaces.
Fixed
serverInfo.versionreported the installedmcpSDK's own version
instead of this package's version in every MCPinitialize
response —FastMCPnever forwards aversion=to the low-level
mcp.server.lowlevel.Serverit constructs internally, so an unset
.versionfell back to themcppackage's ownimportlib.metadata
version. Now set explicitly from one shared resolver.setup write-client-configfailed on a genuinely clean$HOME
with no pre-existing~/.codexdirectory, despite a valid
confirmation token — a missing parent directory is now created
automatically and safely (symlink-safe, ownership-checked,
owner-only permissions).- Setup wizard guidance text lost whitespace at wrap boundaries on
narrow terminals — affected paragraphs rebuilt as continuous strings
wrapped fresh at render time. - TLS certificate verification failures were reported with one
generic message, concealing whether the failure was an untrusted
certificate authority or a certificate valid for a different
hostname/IP than the one connected to. Now distinguishes CA-trust
failure, hostname/IP identity mismatch, and expired/not-yet-valid
certificates using structuredssl.SSLCertVerificationError
evidence — never string-guessing, never suggesting an insecure
bypass. - A successful
read_onlysetup applyended with an unexplained
Doctor ready: False—doctor's checks are exclusively about the
optional hardware-witness ceremony, but were run and reported
unconditionally regardless of the selected anchor. Now posture-aware.
Changed
SECURITY.md's "Supported versions" section, frozen at the
v0.2.x/v0.3.0era, replaced with a version-independent policy.- Corrected two client-integration-guide claims found stale by live
verification against current vendor documentation. Development Statusclassifier updated from4 - Betato
5 - Production/Stable.
Full detail: CHANGELOG.md.