Back to Explore

shikijs/shiki

GitHub
2 updates · last 90 days1 watchersOpen source

Last release: 2 weeks ago

Shiki is a syntax highlighter for code, described as “beautiful yet powerful” and based on TextMate grammar. It is useful if you want accurate, high-quality syntax highlighting for Markdown or other text that follows supported grammar rules.

Project status

  • Active maintenance is strongly suggested, with a recent upstream push on 2026-06-02 and tagged updates in 2026 (v4.1.0 on 2026-05-19, v4.0.2 on 2026-03-09, v4.0.1 on 2026-03-02).
  • The apparent update cadence is fairly frequent, roughly 1 to 2 months between minor version lines (March 2 to March 9, then March 9 to May 19), indicating an actively evolving project rather than maintenance mode.

AI summary generated Today

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v4.1.0

    2 weeks ago

    v4.1.0 is described as a small bug fix related to the twoslash integration, specifically forwarding `tsModule` to `createTwoslasher`. The provided code diff, however, shows a much larger set of internal refactors across multiple packages (core, primitive, colorized-brackets, rechype, monaco, cli, and CI), with behavior-preserving changes in many places.

  • v4.0.2

    2 months ago

    v4.0.2 is a small release focused on fixing ANSI highlighting when multiple themes are provided. The code changes refactor how tokenization is executed across themes (by threading the base tokenization function), and update tests/snapshots to cover the multi-theme ANSI case. It also includes a minor change to the bundled language display name for nextflow-groovy.

  • v4.0.1

    3 months ago

    Release v4.0.1 is labeled as a bug fix focused on fixing TypeScript declaration (dts) bundling. The actual diff also includes a theme metadata change for the bundled horizon-bright theme and several build/tooling dependency bumps.

  • v4.0.0

    3 months ago

    v4.0.0 drops Node v18 support and introduces new packages (a leaner @shikijs/primitive and @shikijs/markdown-exit). The code diff shows a major internal refactor where @shikijs/shiki core largely delegates low-level highlighting and tokenization to @shikijs/primitive, with several exports and function signatures changed accordingly.

    BreakingFeatures
  • v3.23.0

    3 months ago

    v3.23.0 adds CLI enhancements (stdin support and new listing commands) and expands transformer capabilities to support rendering leading whitespace and the `[!code info]` notation. The diff also shows improvements around case normalization for CLI language/extension detection and updates to the bundled languages/themes catalogs.

    Features
  • v3.22.0

    4 months ago

    v3.22.0 updates Shiki grammar and theme bundles. The code diff shows it also expands the set of built-in bundled languages (including new language IDs and aliases) and adds additional built-in themes, along with internal test snapshot updates and dependency/tooling bumps.

    BreakingFeatures
  • v3.21.0

    4 months ago

    Shiki v3.21.0 introduces changes around grammar handling and improves `codeToHast` so HAST data and properties are preserved in the generated output. It also includes a VitePress Twoslash fix for scroll blocking on mobile viewports.

    Features
  • v3.20.0

    5 months ago

    v3.20.0 adds an `@shikijs/cli` `--format` option to output HTML (defaulting to ANSI). It also improves robustness in `rehype` lazy language loading, and fixes a `vitepress-twoslash` popper recomputation timing issue, while shaving redundant work in the core tokenization pipeline.

    Features
  • v3.19.0

    6 months ago

    Shiki v3.19.0 adds `rootStyle: false` support for disabling root `<pre>` styling, introduces new `classActiveCode` options for notation transformers, and ships a new `transformerRemoveComments`. It also extends Twoslash's transformer filtering with an extra `context` argument and includes several targeted bug fixes across core, registry dependency checks, and Monaco color mapping.

    Features
  • v3.18.0

    6 months ago

    Shiki v3.18.0 adds a new `zeroIndexed` option to the `transformerMetaHighlight` transformer, and fixes token merging offset handling in `mergeWhitespaceTokens`. It also improves `langAlias` behavior so aliases can resolve to special languages (for example, aliases mapping to `ansi`).

    Features