What’s new in v0.10.0
- Version alignment across the Westyx Nexus SDK suite.
What’s new in v0.9.0
aws_iamWIF provider (AWS IAM Caller Identity) - authenticates non-EKS AWS compute (ECS/Fargate, Lambda, plain EC2) that has IAM credentials but no OIDC token. The SDK SigV4-signs an STSGetCallerIdentityrequest (never sent to AWS) and posts it to/v1/auth/token-exchange; Nexus replays it against a pinned STS endpoint to prove your IAM role. The signedX-Nexus-Server-IDis your service’s own endpoint host - a captured request is valid for that one service only, and there is nothing to configure. See Workload identity.- Azure Workload Identity (AKS) - the
azureprovider now prefers the projected federated token file ($AZURE_FEDERATED_TOKEN_FILE) before falling back to IMDS; auto-detection probes the file too. - Probe-based auto-detection - auto-detect now stats the Kubernetes / AWS-IRSA / Azure token files and live-probes the GCP and Azure metadata servers (~1 s timeout), instead of keying on environment variables absent on real cloud nodes.
- Security hardening -
NexusClient.create()rejects plain-http endpoints (loopback excepted); the Azure IMDS path refuses the generic default audience (must beapi://<client-id>); expired WIF sessions refresh on write paths too (fail-closed).
What’s new in v0.8.0
getConfig()return type fix -getConfig()now returnsunknown(wasstring | undefined). Config values from the backend are JSON-typed (numbers, booleans, objects, arrays). Use type narrowing or anascast where you need a specific type.getAllConfigs()return type fix - return type changed fromRecord<string, string>toRecord<string, unknown>.- OpenFeature provider - new
@westyx-nexus/openfeature-provider-nodejssub-package wrappingNexusClientas an OpenFeature Server SDK provider. See OpenFeature.
What’s new in v0.5.1
- Security improvements - exception messages contain only status codes;
file-type secret paths are fully hashed. - Node.js 22+ required -
engines.nodeset to>=22(Node 18 and 20 are EOL). - Enhanced observability - background sync activity and WIF session refresh events are now surfaced via the optional
config.loggeror Node.jsprocess.emitWarning. NexusConfig.logger- optional logger interface for SDK diagnostic output.- CI - test stage runs on merge requests; publish is restricted to
main-branch tags.
What’s new in v0.5.0
- Write API -
setSecret(key, value),deleteSecret(key),deleteSecretVersion(key, version)for programmatic secret management. secret keys only; public keys getNexusPublicKeyErrorimmediately without a network call. NexusRateLimitedError- new typed error thrown on HTTP 429 from write endpoints.
What’s new in v0.4.0
- Path prefix change - all API calls now target
/v1/(was/api/v1/). Update proxy/firewall rules if you filter on URL paths. NexusQuarantinedError- new typed error thrown by_doSyncwhen the backend returns429with a quarantine body. The background sync guard respectsexpiresAtautomatically.NexusAbAddonNotAvailableError- new typed error thrown byevaluateABon HTTP 403 (AB Testing add-on not active for this project).StreamObserver.onQuarantined- new optional callback fired when the SSE stream receives a quarantine429; the stream sleeps untilexpiresAtand reconnects automatically without counting towardMAX_FAILURES.ConfigEntry.is_publicremoved - the field is no longer part of the sync response shape.
What’s new in v0.3.1
Retry-After-aware SSE 429 handling - when the server returns429 Too Many Requestson/v1/streamwith a parseableRetry-Afterheader, the stream now sleeps the indicated delay (clamped to[5 s, 5 min]) and reconnects automatically. The Retry-After delay does not count towardMAX_FAILURES.
Highlights
- Node.js 18+ - single package, zero external dependencies (stdlib only)
- Thread-safe TTL cache with atomic snapshot replacement and ETag/304 support
- Background refresh - request handlers are never blocked on cache expiry
- SSE live updates - propagates remote changes within milliseconds; falls back to TTL polling after 3 transport errors
- File-type secrets - automatic temp-file management for PEM certs, JSON keys, etc.
- Typed error hierarchy -
NexusErrorbase + 12 subclasses forinstanceofchecks - Workload Identity Federation (v0.2.0) - Kubernetes / AWS IRSA / GCP / Azure auto-detection; bearer JWT auth; AWS IAM (
aws_iam) for ECS/Fargate/Lambda/plain-EC2 (v0.9.0) - Stream observer hooks (v0.2.0) - structured callbacks for SSE lifecycle events
