---
title: Changelog
description: Release history for Specdiff and Envlock in the Seamline toolkit
url: https://pr-1-8289d63b6330.thally.app/changelog
---

# Changelog

Release history for Specdiff and Envlock in the Seamline toolkit

## Specdiff v0.1.0

**Release date:** September 19, 2026

Initial release of Specdiff, a breaking-change detection tool for JSON Schema and OpenAPI specifications.

### Packages

#### @specdiff/core

The core diff engine with 45 built-in rules covering JSON Schema and OpenAPI breaking changes.

- **Diff engine**: Compare JSON Schema and OpenAPI documents with `diffJsonSchema`, `diffOpenApi`, and auto-detecting `diffDocuments`
- **45 built-in rules**: 24 JSON Schema rules, 21 OpenAPI-specific rules
- **Direction-aware severity**: Rules adjust severity based on request/response context, with 12 rules having context-dependent severity levels
- **Three formatters**: Text (with optional color), Markdown (GitHub-Flavored), and JSON output formats
- **JSON pointer helpers**: RFC 6901 escaping, segment parsing, pointer resolution, and prefix testing
- **`$ref` resolution**: Follow local fragment references with cycle detection and 32-level depth limit
- **Flexible configuration**: Ignore specific rules or paths, override severity, set failure thresholds

#### @specdiff/cli

Command-line interface with three main commands for breaking change analysis and rule introspection.

- **`specdiff <before> <after>`**: Compare two specifications with options for format, fail thresholds, and filtering
- **`specdiff rules`**: List all 45 rules with default severity and descriptions
- **`specdiff explain <code>`**: Get detailed information about any rule and remediation steps
- **JSON/YAML loading**: Automatically detect and parse both formats by extension
- **CI-ready exit codes**: Distinct exit codes for success, threshold exceeded, usage errors, and input errors
- **Color support**: Automatic TTY detection with `--color` and `--no-color` overrides

#### @specdiff/mcp

Model Context Protocol server providing four tools for integration with AI coding agents.

- **`specdiff_compare`**: Run diffs with inline or file-based documents, path resolution safety, and rich error messages
- **`specdiff_explain_rule`**: Look up rule metadata and remediation guidance
- **`specdiff_list_rules`**: Access the complete rules catalogue as JSON
- **`specdiff_format`**: Render diff results in text or markdown format
- **Stdio transport**: Connect to AI agents via stdio with `npx @specdiff/mcp`

### Requirements

- Node.js >=22
- ESM module system only

---

## Envlock v0.1.0

**Release date:** September 17, 2026

Initial release of Envlock, a typed environment contracts library for Node.js applications.

### Packages

#### @envlock/core

Schema builders and validation engine for environment variable contracts.

- **10 field types**: `string`, `number`, `integer`, `boolean`, `port`, `url`, `enum`, `json`, `duration`, `list`
- **Immutable chainable fields**: Build schemas fluently with `.optional()`, `.default()`, `.secret()`, `.describe()`, and `.example()`
- **Validation engine**: `parseEnv` for per-field validation with structured error reporting, `loadEnv` for throw-on-error validation
- **Dotenv support**: `parseDotenv` parser and `formatDotenv` serializer with support for quotes, escapes, comments, and round-trip consistency
- **`.env.example` renderer**: `renderExample` generates documented example files with type info, constraints, and example values
- **Environment diffing**: `diffEnv` function partitions environment state into missing, unknown, and invalid categories
- **Secret redaction**: `redact` function masks secret fields as `"••••••"` everywhere
- **Type inference**: `Infer` type helper maps schemas to validated value types with required and optional properties

#### @envlock/cli

Command-line tool for local development and CI validation.

- **`envlock check`**: Validate environment variables against schema with optional file input and strict mode
- **`envlock example`**: Render or check `.env.example` documentation
- **`envlock diff`**: Compare current environment to schema, reporting missing, unknown, and invalid variables
- **`envlock inspect`**: Display schema metadata (type, required, default, constraints)
- **`envlock init`**: Generate starter `envlock.config.mjs` with common variables
- **Flexible config loading**: Auto-discover `envlock.config.mjs` or `envlock.config.js`, or pass explicit path
- **Structured output**: `--json` flag for programmatic integration
- **CI-ready exit codes**: Distinct codes for success, validation failure, usage errors, and config errors

#### @envlock/mcp

Model Context Protocol server with five tools and a resource template for AI agent integration.

- **`envlock_check`**: Validate environment state against a schema
- **`envlock_inspect`**: Get detailed variable metadata
- **`envlock_render_example`**: Generate `.env.example` text
- **`envlock_diff`**: Compare environment to schema
- **`envlock_explain_issue`**: Get guidance on missing, invalid, or unknown variable issues
- **Schema resource template**: `envlock://schema/{schemaPath}` returns schema metadata as JSON
- **Stdio transport**: Connect via `npx @envlock/mcp`

### Requirements

- Node.js >=22
- ESM module system only