Skip to content

Releases: mojoatomic/rdcp

RDCP Conformance CLI v0.1.0

19 Oct 23:42
1ed4671

Choose a tag to compare

Initial release of @rdcp.dev/conformance:\n- rdcp-conformance (discovery + gating)\n- rdcp-conformance-junit (JUnit)\n- rdcp-conformance-badges (badges)\n\nDocs: https://github.com/mojoatomic/rdcp/wiki/Conformance-CLI

v2.2.1 – Apache 2.0 license

30 Sep 16:26
4a44786

Choose a tag to compare

Highlights

  • Convert project license to Apache 2.0 (#101)
  • Update per-package LICENSE files and wiki pointer (#102)
  • Publish patch versions to reflect license change (#103)

Published packages

  • @rdcp.dev/server 2.2.1
  • @rdcp.dev/core 1.0.1
  • @rdcp.dev/client 1.0.1
  • @rdcp.dev/otel-plugin 1.0.1

Notes

  • No functional or API changes; license and metadata only.

v2.2.0

29 Sep 19:46

Choose a tag to compare

What's Changed

  • docs: add context7.json and CONTRIBUTING.md by @mojoatomic in #29
  • docs: remove repo-local wiki, scope Context7 to docs, add Maintainers note by @mojoatomic in #30
  • docs(context7): exclude WARP.md and warp-generic.md by @mojoatomic in #31
  • feat(jwks): inflight dedupe, persisted cache, background refresh by @mojoatomic in #32
  • docs(jwks): cache store patterns and quickstart by @mojoatomic in #33
  • style(jwks): normalize formatting for Prettier/ESLint by @mojoatomic in #34
  • core: extract protocol types to @rdcp.dev/core (PR1) by @mojoatomic in #37
  • docs: JWKS client quickstart (repo) and README links by @mojoatomic in #38
  • docs(core): document @rdcp.dev/core boundaries and usage by @mojoatomic in #39
  • core(constants): export protocol constants from @rdcp.dev/core; refactor server to use them by @mojoatomic in #40
  • core(errors): centralize RDCP error codes and type in @rdcp.dev/core; server re-exports by @mojoatomic in #41
  • core(schemas): centralize RDCP protocol schemas in @rdcp.dev/core; server re-exports; fix 'status' action by @mojoatomic in #42
  • core(fixtures): add protocol fixtures in @rdcp.dev/core; server re-exports; docs by @mojoatomic in #43
  • docs(spec): sync protocol spec with core schemas; add generated error-codes doc by @mojoatomic in #44
  • chore(core/exports): point @rdcp.dev/core exports to built dist (import/types) by @mojoatomic in #45
  • fix(demo/control): emit spec-compliant control response via createControlResponse by @mojoatomic in #46
  • feat(demo): implement toggle; align discovery/status/health responses to core schemas by @mojoatomic in #47
  • qa: upgrade eslint to v9 and @typescript-eslint to v8; add flat config with projectService; keep CI green by @mojoatomic in #48
  • ci: use local ESLint v9 and add error-codes drift check; upgrade otel-plugin dev ESLint to v9 by @mojoatomic in #49
  • docs/pr12 readme core imports by @mojoatomic in #50
  • style: refactor defaulting from || to ?? and re-enable prefer-nullish-coalescing by @mojoatomic in #51
  • ci: add docs links checks (internal on PR, external weekly) by @mojoatomic in #52
  • pkg/pr15 otel plugin tooling by @mojoatomic in #53
  • release/v2.0.1 by @mojoatomic in #54
  • ci: add Node 18/20 matrix and run otel-plugin lint:ci + type-check by @mojoatomic in #60
  • dev/pr18 precommit quality gate by @mojoatomic in #61
  • style(otel-plugin): re-enable Prettier and format plugin sources by @mojoatomic in #62
  • gov: add CODEOWNERS (advisory-only) and PR labeler by @mojoatomic in #63
  • chore: add Dependabot config + build: suppress dts external warning for @rdcp.dev/core by @mojoatomic in #64
  • chore(husky): remove deprecated shim; docs: add Build & Types to CONTRIBUTING by @mojoatomic in #65
  • chore(core): publish readiness (files/types/sideEffects + LICENSE); no code changes by @mojoatomic in #66
  • feat(client): scaffold @rdcp.dev/client (native fetch, typed endpoints, error mapping) by @mojoatomic in #67
  • test(client): add minimal client tests; ci: build client package in matrix by @mojoatomic in #68
  • feat(client): add getHealth() endpoint (full RDCP coverage) + test by @mojoatomic in #69
  • release: [email protected], [email protected], [email protected] (publish prep) by @mojoatomic in #70
  • chore(server): use @rdcp.dev/core ^1.0.0 (post-publish) by @mojoatomic in #71
  • docs: post-publish updates (badges, install, status summary) by @mojoatomic in #72
  • feat(demo): client-first demo scripts and npm commands (#75) by @mojoatomic in #81
  • fix(server): align adapter responses with core schemas; pass client-first e2e by @mojoatomic in #82
  • chore(submodules): add .gitmodules for wiki (.wiki-edit) by @mojoatomic in #83
  • docs: client-first docs + wiki pages; demo benchmark script by @mojoatomic in #86
  • feat(admin-ui): P0 scaffold (headless builder, demo app, discovery.ui RFC) by @mojoatomic in #87
  • admin-ui P0: builder mapping tests + minimal /admin HTML by @mojoatomic in #88
  • test(client-e2e): restore rate-limit and audit tests for client-first suite by @mojoatomic in #89
  • feat(admin-app): add /admin/json raw discovery+status alongside React SPA/spec by @mojoatomic in #90
  • feat(admin-ui-react): scaffold React renderer (components + AdminUIRenderer) by @mojoatomic in #91
  • feat(admin-app): SSR /admin using AdminUIRenderer (React); links to JSON/spec by @mojoatomic in #92
  • test: project-wide Jest/TS mapping + admin app RDCP headers by @mojoatomic in #93
  • feat(admin-ui): actions + polling (WIP) by @mojoatomic in #94
  • feat(admin-app): working admin UI with validation and documentation by @mojoatomic in #95

Full Changelog: v1.2.1...v2.2.0

@rdcp.dev/server v2.1.0

25 Sep 21:58
9d9b6cd

Choose a tag to compare

RDCP server updates to align with the complete RDCP ecosystem.

Highlights

  • Aligns with @rdcp.dev/core ^1.0.0
  • Express/Fastify/Koa adapters; protocol endpoints; auth; rate limiting; audit; JWKS
  • Comprehensive tests and CI stability

Ecosystem
RDCP v1.0/v2.0 delivers a complete runtime control ecosystem: client SDK for control applications, server SDK for target applications, shared protocol definitions, and OpenTelemetry integration - enabling end-to-end operational infrastructure control.

Install

npm i @rdcp.dev/server

Express example

import express from "express"
import { createRDCPMiddleware } from "@rdcp.dev/server"

const app = express()
app.use("/rdcp", createRDCPMiddleware({ /* authenticator + options */ }))
app.listen(3000)

@rdcp.dev/core v1.0.0

25 Sep 21:54
9d9b6cd

Choose a tag to compare

RDCP core (protocol v1.0) is now stable and published.

Highlights

  • Protocol constants, error codes, and Zod schemas for RDCP v1.0
  • Side-effect free ESM/CJS dual builds with types
  • Foundation for all RDCP tooling and adapters

Ecosystem
RDCP v1.0/v2.0 delivers a complete runtime control ecosystem: client SDK for control applications, server SDK for target applications, shared protocol definitions, and OpenTelemetry integration - enabling end-to-end operational infrastructure control.

Install

npm i @rdcp.dev/core
# or: pnpm add @rdcp.dev/core / yarn add @rdcp.dev/core

Basic usage

import { PROTOCOL_VERSION, RDCP_ERROR_CODES, schemas } from "@rdcp.dev/core"
console.log(PROTOCOL_VERSION)

@rdcp.dev/client v1.0.0

25 Sep 21:54
9d9b6cd

Choose a tag to compare

RDCP client SDK is stable and implements all five RDCP endpoints.

Highlights

  • Endpoints: discovery, control, status, health, and .well-known
  • Native fetch (Node 18+), robust error mapping, schema-validated responses
  • ESM/CJS dual builds with types

Ecosystem
RDCP v1.0/v2.0 delivers a complete runtime control ecosystem: client SDK for control applications, server SDK for target applications, shared protocol definitions, and OpenTelemetry integration - enabling end-to-end operational infrastructure control.

Install

npm i @rdcp.dev/client

Quick start

import { createRDCPClient } from "@rdcp.dev/client"

const rdcp = createRDCPClient({ baseUrl: "http://localhost:3000" })
const health = await rdcp.getHealth()
console.log(health.status) // "healthy"

RDCP SDK v2.0.0

22 Sep 23:28

Choose a tag to compare

RDCP SDK v2.0.0

Highlights

  • New OpenTelemetry integration plugin published: @rdcp.dev/otel-plugin v1.0.0
  • RDCP Server v2.0.0
    • Engines: Node.js >= 18 (Node 16 support removed)
    • CI matrix: Node 18, 20, 22
    • Strong JWKS ETag + conditional GET support (If-None-Match -> 304) across adapters
    • Consolidated validation, rate limiting headers, and audit behaviors from 1.x

Breaking changes

  • Drop Node 16 support; engines now >= 18.

New

  • @rdcp.dev/otel-plugin v1.0.0 for OpenTelemetry trace correlation.

Improvements

  • Idempotent, version-aware publish steps in the Release workflow.
  • Build/install flow ensures @rdcp.dev/server is available to the plugin build regardless of registry timing.

Packages

Documentation

Checks

  • CI: Build, lint, type-check, and tests passing on Node 18/20/22.

v1.1.0 — TTL controls (demo), hybrid hardening, docs alignment

19 Sep 22:19
36c0ac7

Choose a tag to compare

v1.1.0 — TTL controls (demo), hybrid hardening, docs alignment

Highlights

  • Demo app: Temporary controls (TTL) for categories with automatic expiry
  • Security: Hardened hybrid authentication (mTLS + JWT) with subject matching and intentional fallback to cert-only when JWT invalid; warnings opt-in via RDCP_WARN_ON_HYBRID_FALLBACK
  • Headers: Strict RDCP header enforcement on /rdcp/v1/* (X-RDCP-Auth-Method, X-RDCP-Client-ID)
  • Rate limiting & audit: Demo app rate-limit for control endpoint and structured RDCP_AUDIT logs
  • Docs: Moved Error Responses, Testing Helpers, and Logging to the wiki; added Release & Tagging Policy; updated Protocol Compliance and report

Security

  • Improved enterprise mTLS validation with environment-driven allowlist and fingerprint checks
  • Hybrid mode rules clarified and tested; default fallback logs at debug level, warning is opt-in

Breaking changes

  • None

Migration notes

  • If you rely on hybrid fallback warnings in development, set RDCP_WARN_ON_HYBRID_FALLBACK='true'
  • Demo TTL controls are available via POST /rdcp/v1/tenants/:tenantId/control with options.temporary and options.duration

Docs

  • wiki/Error-Responses.md — standardized error schema and codes
  • wiki/Testing-Helpers.md — JWT scopes, tenant routes, mTLS simulation, hybrid patterns, TTL examples
  • wiki/Logging.md — logging behavior for hybrid fallback
  • wiki/Release-Policy.md — SemVer, tagging, release notes, retagging policy
  • wiki/Home.md — updated Protocol Compliance, links
  • wiki/Proof-of-Capabilities.md — proof-based test evidence with demo cURL commands

Testing

  • 184 tests across 16 suites passing (adapters, authentication levels, integration, tenant e2e, TTL, rate limit + audit)