Skip to main content
ESLint Interlace
Plugin: operability

Changelog

Release history and version updates for eslint-plugin-operability

Live from GitHub

This changelog is fetched directly from CHANGELOG.md on GitHub and cached for 2 hours.

Live changelogfrom eslint-plugin-operability/CHANGELOG.md, cached for 2 hours.Edit on GitHub

[3.0.5] - 2026-02-08

3.0.6

Patch Changes

  • #197 ecb8491 Thanks @ofri-peretz! - fix: republish recommended with correctly-namespaced, unscoped rule ids

    eslint-plugin-maintainability@3.0.3 and eslint-plugin-operability@3.0.5 shipped a recommended preset whose rule ids carried a doubled, scoped plugin segment (@interlace/maintainability/maintainability/cognitive-complexity) that no registered plugin key matched. Enabling the preset alongside any other config made ESLint throw at load:

    Could not find plugin "@interlace/maintainability/maintainability".

    (and the equivalent @interlace/operability/operability for operability.)

    The source was already corrected to the bare, unscoped form (maintainability/cognitive-complexity under a maintainability plugin key) but was never republished, so npm still served the broken build. This release ships the corrected build. plugin.meta.name is also fixed to the unscoped eslint-plugin-maintainability (was @interlace/eslint-plugin-maintainability, which drifted from the package name and every other plugin).

    Each plugin is configured on its own — there is no unified config. No rule behaviour changes.

    New regression locks in each plugin's index.test.ts reproduce ESLint's rule-id resolution, pin the plugin name and key as unscoped, and load each recommended preset in a real ESLint instance — failing closed if a scoped or doubly namespaced config could ship again.

Bug Fixes

  • align codecov component IDs with full package names (2831b968)

Documentation

  • fix changelog header format across all packages (c3a15082)

❤️ Thank You

  • Ofri Peretz

[3.0.4] - 2026-02-06

Bug Fixes

  • align codecov component names and update docs components (0a59a86c)

❤️ Thank You

  • Ofri Peretz

[3.0.3] - 2026-02-02

This was a version bump only for eslint-plugin-operability to align it with other projects, there were no code changes.

Changelog

All notable changes to eslint-plugin-operability will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Documentation

  • 📘 Launched new documentation site: eslint.interlace.tools
  • 📝 Achieved 100% documentation parity (both .md and .mdx files)

[3.0.2] - 2026-02-02

This was a version bump only for eslint-plugin-operability to align it with other projects, there were no code changes.

[3.0.1] - 2026-02-02

This was a version bump only for eslint-plugin-operability to align it with other projects, there were no code changes.

[3.0.0] - 2026-02-02

This was a version bump only for eslint-plugin-operability to align it with other projects, there were no code changes.

[1.0.0] - 2026-01-26

Added

  • Initial stable release with 6 production-readiness rules
  • LLM-optimized error messages for AI-assisted development
  • 100% test coverage across all rules
  • ESLint 9 flat config support
  • TypeScript type definitions for all rule options

Rules

RuleDescription💼⚠️
no-console-logDisallow console.log in production code💼⚠️
no-process-exitDisallow process.exit() in library code
no-debug-code-in-productionDetect debugger statements and debug keywords💼
no-verbose-error-messagesPrevent overly detailed error messages (CWE-209)💼⚠️
require-code-minificationDetect patterns that prevent minification
require-data-minimizationDetect excessive data exposure in responses

Presets

  • recommended - Balanced operability checks for production code

Security

  • no-verbose-error-messages prevents information exposure (CWE-209)
  • require-data-minimization enforces data protection principles

Jan 2026 Remediation

  • Converted skeleton documentation to high-fidelity guides
  • Added comprehensive examples for all rules
  • Documented known limitations in docs/KNOWN-LIMITATIONS.md

On this page

No Headings