Changelog¶
All notable changes to Nexus are documented here. This project follows Semantic Versioning.
Unreleased 2026-05-14¶
Added
- Python SDK (
nexus-sdk-python): full-feature-parity Python client —get_token_by_connection_id,resolve_token,request_connection,check_connection. Zero external dependencies. - TypeScript SDK (
@dromos/nexus-sdk): evolved fromnexus-mcp-adapter. MCP token resolution, in-memory caching, authenticated transport, andresolveTokenfor stateless MCP clients. Built todist/, ESM imports hardened. - Go SDK MCP integration:
ResolveTokenendpoint for stateless MCP clients — workspace and provider-scoped token resolution with TTL caching. - Multi-strategy credential support across all three SDKs: handles
oauth2,api_key,basic_auth,aws_sigv4,query_param, andhmac_payloadstrategies without caller-side branching. - Automated release workflow: GitHub Actions CI/CD pipeline, bumped
VERSIONto0.2.3. - Agent auth proposal (
AGENT_AUTH_PROPOSAL.md): full design document for agent identity, OBO sessions, scoped session TTLs, and custom scope enforcement. - SDK documentation: comprehensive reference pages for Go, TypeScript, and Python SDKs including install, method signatures, MCP integration examples, and error handling.
Fixed
- TypeScript SDK:
Bearertoken type normalized to RFC 6750 capitalization (wasbearer). - TypeScript SDK: package entry pointed at compiled
dist/, not.tssource. - Gateway:
resolveroute wired; ESM import errors resolved in adapter. - Adapter/Gateway: token TTL hardened, stdio safety improved, error handling tightened.
- MCP adapter smoke test added against live Gateway.
0.2.0 2026-05-05¶
Added
- Security-as-Code CLI (
nexus-cli): Terraform-styleplan → confirm → applyworkflow for declarative provider management via YAML manifest. PATCH-based reconciliation (no accidental overwrites), concurrent profile fetching with bounded worker pool, field-level diff output with secret masking, fail-fast on unresolved env vars, non-zero exit on partial apply failure. - Audit subsystem (
audit.Service): structured event logging toaudit_eventstable with IP validation, User-Agent capture, andaudit.Loggerinterface for test mocking. Events:provider.created,provider.updated,provider.deleted,connection.created,token.retrieved,token.refresh_fatal. GET /auditendpoint: queryable audit log withevent_type,resource_id,since,until,limit, andoffsetfilters.- Credential redaction:
PATCHaudit payloads redactclient_secretandclient_idbefore writing to the audit log. - Provider
categoryfield:categoryadded to provider profiles with migration. GatewayMetadataResponsepatched to includecategoryin the OpenAPI-generated response. capture-schemaandcapture-credentialendpoints: Gateway proxies for static credential capture flow, enabling API key and basic auth connections without OAuth redirects.
Fixed
- Gateway: manually patched
MetadataResponseto includecategoryfield, avoidingoapi-codegenversion mismatch. - Documentation: all examples standardized to
localhost:8090— internal Azure URLs removed. - OpenAPI:
descriptionandcategoryadded toMetadataResponseandProviderProfileschemas; gateway broker client regenerated.
0.1.5 2026-04-13¶
Changed
- Bridge: replaced
goto Retrywithfor-loop inMaintainGRPCConnection— cleaner control flow, no goto jumps. (@ashioyajotham) - Broker: replaced streaming
json.Encoderwith marshal-then-write pattern — eliminates partial-write race on slow connections. (@ashioyajotham) - Security documentation hardened: shared secrets, key rotation, and deployment guidance expanded.
Fixed
- Broker: handle SQL
NULLvalues for non-OAuth2 provider profiles —api_keyandbasic_authproviders no longer cause null pointer panics in the profile store.
0.1.4 2026-04-01¶
Added
- Broker:
skip_scope_on_authprovider parameter — bypasses strict scope validation on the authorization URL for providers that reject scope in the initial redirect (Salesforce).
0.1.3 2026-04-01¶
Added
- Broker: validate
api_keyandbasic_authcredentials before storing — rejects malformed or empty credentials at capture time rather than at retrieval.
Fixed
- Broker: enforce one token row per connection via upsert — eliminates duplicate token rows on reconnect. (@ashioyajotham)
- Security:
ENCRYPTION_KEYandSTATE_KEYare now required at startup — Broker and Gateway fatal-exit with a clear message if either is absent. (@ashioyajotham) - Tests:
TestMainused for binary lifecycle management; assertions refined. - Gateway:
gofmtformatting applied to main files.
0.1.2 2026-04-01¶
Fixed
- Docker: corrected image names to
nexus-brokerandnexus-gateway— was using incorrect names that brokedocker pulland Compose service references.
0.1.1 2026-04-01¶
Added
- Docker Hub publishing GitHub Actions workflow.
- Gateway:
capture-schemaandcapture-credentialproxy endpoints for static credential flows. (@Abdullahi254) - Open-core refactor: internal packages made public to support the OSS consumption model.
Fixed
- Go module paths updated to
github.com/Prescott-Data/nexus-frameworkthroughout. - Broken database migration corrected.
0.1.0 2026-02-19¶
Initial public release.
Added
- Nexus Broker: OAuth 2.0 and OIDC connection management — token storage (AES-GCM 256-bit at rest), background refresh loop, OIDC discovery with JWKS caching, nonce/id_token verification, Prometheus metrics.
- Nexus Gateway: public-facing API for agents and backends. Versioned at
/v1. gRPC-first communication to Broker with REST fallback. - Nexus Bridge: Go library for embedding in agent processes —
MaintainWebSocketandMaintainGRPCConnectionwith automatic credential injection, token refresh, exponential backoff reconnection, and Prometheus metrics. - Go SDK (
nexus-sdk): zero-dependency HTTP client for the Gateway API. - Provider support: Google (OIDC discovery), Azure AD (common tenant), GitHub, Salesforce, and arbitrary OAuth2 providers with manual endpoint configuration.
- Security guardrails: IP allowlisting (
ALLOWED_CIDRS), allowed return domain validation, API key enforcement. - Docker Compose: single
make upcommand runs Broker, Gateway, PostgreSQL, and Redis. - Bitbucket Pipelines: initial CI/CD configuration.



