Skip to content

Releases: textlint/textlint

v15.2.2

20 Aug 00:32
ff0799f
Compare
Choose a tag to compare

What's Changed

Bug Fixes

Documentation

  • docs: add filterRules parameter to TextlintKernelDescriptor by @k35o in #1668
  • docs: add GitHub Actions CI/CD integration examples by @azu in #1671
  • docs: fix typos in README by @azu in #1681
  • docs: clarify JSON comment support in configuration files by @azu in #1690

Maintenance

  • chore: Node.js maintenance updates by @azu in #1682

CI

  • chore(deps): update github/codeql-action action to v3.29.3 by @renovate[bot] in #1672
  • chore(deps): update github/codeql-action action to v3.29.5 by @renovate[bot] in #1675
  • chore(deps): update github/codeql-action action to v3.29.7 by @renovate[bot] in #1679
  • chore(deps): update actions/checkout action to v4.3.0 by @renovate[bot] in #1695
  • CI(create-release-pr): remove unneeded --yes by @azu in #1699
  • chore(deps): update github/codeql-action action to v3.29.9 by @renovate[bot] in #1700

Dependency Updates

  • fix(deps): update dependency @modelcontextprotocol/sdk to ^1.16.0 by @renovate[bot] in #1665
  • chore(deps): update dependency eslint-config-prettier to ^10.1.8 by @renovate[bot] in #1666
  • chore(deps): update patch updates (patch) by @renovate[bot] in #1667
  • chore(deps): update eslint to ^8.38.0 (patch) by @renovate[bot] in #1674
  • fix(deps): update patch updates (patch) by @renovate[bot] in #1676
  • chore(deps): update dependency @eslint/js to ^9.32.0 by @renovate[bot] in #1678
  • fix(deps): update react monorepo to ^19.1.1 (patch) by @renovate[bot] in #1677
  • fix(deps): update minor updates (minor) by @renovate[bot] in #1680
  • chore(deps): update dependency lint-staged to ^16.1.4 by @renovate[bot] in #1683
  • chore(deps): remove unused unique-concat dependency by @azu in #1687
  • chore(deps): remove unused mkdirp dependency by @azu in #1688
  • chore(deps): update eslint to ^8.39.0 (minor) by @renovate[bot] in #1691
  • fix(deps): update dependency @modelcontextprotocol/sdk to ^1.17.2 by @renovate[bot] in #1692
  • chore(deps): update dependency lint-staged to ^16.1.5 by @renovate[bot] in #1693
  • chore(deps): update dependency @eslint/js to ^9.33.0 by @renovate[bot] in #1694
  • chore(deps): update eslint to ^8.39.1 (patch) by @renovate[bot] in #1696

Other Changes

New Contributors

Full Changelog: v15.2.1...v15.2.2

v15.2.1

24 Jul 12:26
67a43cd
Compare
Choose a tag to compare

What's Changed

Bug Fixes

  • fix(kernel): add browser compatibility for timing utility by @azu in #1663

Documentation

  • docs: add Claude Code setup instructions to MCP documentation by @azu in #1652

CI

  • chore(deps): update github/codeql-action action to v3.29.2 by @renovate[bot] in #1638
  • chore(deps): update rossjrw/pr-preview-action action to v1.6.2 by @renovate[bot] in #1648

Dependency Updates

  • chore(deps): update dependency lerna to ^8.2.3 by @renovate[bot] in #1637
  • chore(deps): update eslint to ^8.35.1 (patch) by @renovate[bot] in #1639
  • chore(deps): update dependency globals to ^16.3.0 by @renovate[bot] in #1640
  • chore(deps): update dependency @eslint/js to ^9.30.1 by @renovate[bot] in #1641
  • fix(deps): update patch updates (patch) by @renovate[bot] in #1642
  • chore(deps): update dependency @types/node to ^22.16.0 by @renovate[bot] in #1643
  • fix(deps): update dependency @babel/core to ^7.28.0 by @renovate[bot] in #1644
  • fix(deps): update babel monorepo to ^7.28.0 (minor) by @renovate[bot] in #1645
  • fix(deps): update dependency zod to ^3.25.71 by @renovate[bot] in #1646
  • fix(deps): update dependency @modelcontextprotocol/sdk to ^1.15.0 by @renovate[bot] in #1649
  • fix(deps): update dependency zod to ^3.25.73 by @renovate[bot] in #1650
  • fix(deps): update dependency zod to ^3.25.74 by @renovate[bot] in #1651
  • fix(deps): update dependency zod to ^3.25.75 by @renovate[bot] in #1653
  • chore(deps): update eslint to ^8.36.0 (patch) by @renovate[bot] in #1654
  • fix(deps): update dependency zod to ^3.25.76 by @renovate[bot] in #1655
  • chore(deps): update patch updates (patch) by @renovate[bot] in #1656
  • chore(deps): update pnpm to v10.13.1 by @renovate[bot] in #1657
  • fix(deps): update patch updates (patch) by @renovate[bot] in #1658
  • chore(deps): update dependency @eslint/js to ^9.31.0 by @renovate[bot] in #1659
  • chore(deps): update eslint to ^8.37.0 (minor) by @renovate[bot] in #1661
  • chore(deps): update patch updates (patch) by @renovate[bot] in #1662

Other Changes

  • feat(mcp): add debug logging support for MCP server by @azu in #1636

Full Changelog: v15.2.0...v15.2.1

v15.2.0

06 Jul 00:31
fa214af
Compare
Choose a tag to compare

What's Changed

🎉 MCP (Model Context Protocol) Enhancements

New: CLI Flag Support with --mcp
Starting with v15.2.0, you can now combine the --mcp flag with other CLI arguments for enhanced flexibility:

# Use specific config with MCP server
npx textlint --mcp --config .textlintrc.dev.json

# Combine with quiet mode 
npx textlint --mcp --quiet

# Multiple options together
npx textlint --mcp --config .textlintrc.dev.json --quiet --ignore-path .textlintignore.dev

Supported CLI Flags:

  • --config <path>: Custom configuration file
  • --ignore-path <path>: Custom .textlintignore file
  • --quiet: Report errors only
  • --rules-base-directory <path>: Custom node_modules directory

📖 Documentation: https://textlint.org/docs/mcp

Features

  • feat(mcp): support CLI flags with --mcp option by @azu in #1634

Testing

  • refactor(mcp): improve test structure and add configuration options by @azu in #1630
  • test(mcp): add comprehensive tests for createStructuredErrorResponse by @azu in #1633

CI

  • chore(deps): update github/codeql-action action to v3.29.1 by @renovate in #1628

Dependency Updates

Full Changelog: v15.1.1...v15.2.0

v15.1.1

03 Jul 14:51
1b3a571
Compare
Choose a tag to compare

What's Changed

Features

  • feat(mcp): add detailed descriptions to Zod schemas for better API documentation by @azu in #1613

Bug Fixes

  • fix(mcp): allow additional properties in TextlintMessage schema by @azu in #1623

Refactoring

  • refactor(eslint): fix eslint warning by @azu in #1618
  • refactor: fix all ESLint no-explicit-any warnings by @azu in #1620

CI

  • CI(website-preview): fix checkout condition by @azu in #1612

Dependency Updates

  • chore(deps): update pnpm to v10.12.2 by @renovate in #1614
  • chore(deps): update eslint to ^8.35.0 (patch) by @renovate in #1615
  • fix(deps): update dependency @modelcontextprotocol/sdk to ^1.13.1 by @renovate in #1616
  • chore(deps): update patch updates (patch) by @renovate in #1619

Other Changes

Full Changelog: v15.1.0...v15.1.1

v15.1.0

29 Jun 15:09
86a95c9
Compare
Choose a tag to compare

What's Changed

Key Features

This release includes two major improvements to textlint's severity system and configuration handling:

1. New info Severity Level (PR #1610)

We've implemented proper support for the info severity level, which provides more flexible linting for informational messages that are less critical than warnings.

Background: Previously, info had the same value as none (0), causing confusion. Now info has its own distinct value (3) and is properly supported across all formatters.

Use Case: This is particularly useful for AI-assisted writing rules, such as those in textlint-ja/textlint-rule-preset-ai-writing, which provides LLM-oriented rules for guidelines. These rules can be somewhat broad and may produce false positives if used as errors, but when reported as info, they provide more flexible feedback for AI agents and human writers.

Severity Levels:

  • none: 0 - Disabled
  • warning: 1 - Warning (yellow)
  • error: 2 - Error (red)
  • info: 3 - Informational (green)

Example Usage:

{
  "rules": {
    "my-rule": {
      "severity": "info"  // Now properly displays as green "info" 
    }
  }
}

2. Fixed Preset Severity Preservation (PR #1607)

Fixed an issue where preset-defined severity settings were lost when users provided partial rule configuration in their .textlintrc file.

Problem: When using a preset that defined severity levels for rules, those settings were completely lost if users added any custom options for those rules.

Solution: Implemented a clear priority system where user configuration completely overrides preset configuration when provided (no merging), making behavior predictable and consistent.

Related Issues: Fixes #1608, #1606

Features

  • feat: implement info severity level by @azu in #1610

Bug Fixes

  • fix: preserve preset severity settings when user provides true config by @azu in #1607

Documentation

Testing

  • test(config-loader): add user config is true case by @azu in #1609

CI

Dependency Updates

Other Changes

  • Update 2025-06-22-textlint-15.md by @azu in #1592
  • Update 2025-06-22-textlint-15.md by @azu in #1594

New Contributors

Full Changelog: v15.0.1...v15.1.0

v15.0.1

23 Jun 00:20
ee6d113
Compare
Choose a tag to compare

What's Changed

Bug Fixes

  • fix: Remove 'module' field from packages with type=commonjs to fix webpack compatibility by @azu in #1588

Refactoring

Full Changelog: v15.0.0...v15.0.1

v15.0.0

22 Jun 14:23
903bb7a
Compare
Choose a tag to compare

🎉 Release Notes

For detailed information about textlint v15.0.0, including migration guides and new features, see the comprehensive release notes:


What's Changed

Breaking Changes

  • refactor(textlint): use "read-package-up" by @azu in #1572
  • BREAKING CHANGE: remove legacy textlint APIs by @azu in #1574
  • feat: remove deprecated createFormatter function by @azu in #1578
  • feat: update Node.js version requirements to 20.x across all packages by @azu in #1582
  • fix: Make lintFiles respect ignore patterns for absolute file paths (#1412) by @azu in #1583

Features

  • feat(mcp): implement Phase 1 improvements - structured output, outputSchema, and error handling by @azu in #1564

Refactoring

  • refactor: remove unused import & imported multiple times by @noritaka1166 in #1552
  • refactor: rename: change test files from -test.ts to .test.ts by @azu in #1575
  • refactor(test): remove unused import from test file by @azu in #1576

Dependency Updates

Other Changes

  • feat: replace Netlify with pr-preview-action by @azu in #1580
  • CI: add Merge Gatekeeper workflow for pull requests by @azu in #1577

Full Changelog: v14.8.4...v15.0.0

v14.8.4

15 Jun 11:38
2733e1b
Compare
Choose a tag to compare

What's Changed

Refactoring

  • refactor: upgrade to Node.js 22 for CI and development by @azu in #1534
  • refactor: migrate deprecated JTF-style plugin and fix integration-test ESM compatibility by @azu in #1536
  • chore: use pnpm instead of npm by @azu in #1538
  • refactor: migrate test runner from Mocha to Vitest by @azu in #1544
  • Update ESLint to version 9 and include .js files in patterns by @azu in #1546

CI

  • Add pnpm installation step to release job by @azu in #1548
  • CI: add build step before publishing in release workflow by @azu in #1550

Dependency Updates

  • chore(deps): update dependency @types/react to ^18.3.23 by @renovate in #1541
  • fix(deps): update patch updates (patch) by @renovate in #1543

Full Changelog: v14.8.1...v14.8.4

v14.8.3

15 Jun 11:35
dfbba7d
Compare
Choose a tag to compare

fix to release.

v14.8.1

14 Jun 04:30
9e27de1
Compare
Choose a tag to compare

What's Changed

Documentation

  • docs(mcp): add configuration prerequisite and improve setup instructions by @azu in #1526

This PR resolves the issue where AI Agents misunderstand the MCP fixFile and fixText tools, thinking they directly modify files when they actually only return fixed content.

Tool Renaming

  • fixFilegetLintFixedFileContent
  • fixTextgetLintFixedTextContent

Updated Descriptions

  • Changed from "Fix files/text using textlint" to "Get lint-fixed content of files/text using textlint"
  • Emphasizes that these tools return corrected content without modifying original files
  1. Eliminates AI Agent confusion - Clear naming prevents misunderstanding about file modification
  2. Better user experience - AI Agents will be more willing to use these "safe" tools
  3. Maintains backward compatibility - Only affects MCP tool names, not core functionality
  4. Improved documentation - Examples now clearly show content retrieval use cases

Breaking Changes

This is a breaking change for MCP clients that use the old tool names (fixFile, fixText). However, MCP is experimental feature.

Refactoring

CI

  • chore(deps): update github/codeql-action action to v3.28.19 by @renovate in #1528

Dependency Updates

  • fix(deps): update docusaurus monorepo to ^3.8.1 (patch) by @renovate in #1531

Other Changes

  • Rename MCP fix tools to clarify non-destructive behavior by @azu in #1532

Full Changelog: v14.8.0...v14.8.1