Prism is a lightweight, robust syntax highlighting library for formatting source code with readable styles. It is useful for adding syntax highlighting to web pages and for extending or contributing new language definitions and themes (see prismjs.com and prism-themes).
Project status
- Maintenance status: The PrismJS/prism repository appears actively maintained in the near term, with an upstream GitHub push on 2026-09-08 (two days before today), though the provided versioned updates show long gaps between tagged versions.
- Update cadence (as evidenced by tags): After v1.30.0 (2025-03-10), the next tagged updates shown are much older (v1.29.0 in 2022, v1.28.0 in 2022, etc.), indicating infrequent published version updates despite recent upstream activity.
AI summary generated
Recent updates
v1.30.0
v1.30.0 primarily tightens Prism's detection of `document.currentScript` so it only returns a value when it is an actual `<script>` element. The release notes mention this explicitly, but the diff also includes website and repository/development tooling changes.
v1.29.0
v1.29.0 is a Prism release that adds many new syntax components (multiple new languages) and updates several existing language definitions and plugins. The release notes provided are essentially empty (only the version header), so most of what changed is not verifiably documented there.
v1.28.0
Release v1.28.0 is mostly a Prism components update, adding many new language grammars and updating existing ones. However, the provided release notes contain no change details, while the code diff shows substantial updates to component definitions and at least one tooling script (benchmarks).
v1.27.0
v1.27.0 adds a new Prism component for the UO Razor Script language, extends Scala highlighting with string interpolation support, and updates the Command Line plugin documentation for output handling and line continuation. Several existing language grammars also changed token definitions (including token alias/type renames). Prism core now throws a hard error when `highlight()` is invoked without a grammar, which can break callers that previously passed missing/undefined grammars.
BreakingFeaturesv1.26.0
Prism v1.26.0 contains a large set of changes across language definitions and the Prism website/build assets (HTML/CSS/JS), plus some CI configuration updates. The provided release notes are effectively empty, so most user-visible and developer-relevant behavior changes are only discoverable by inspecting the code diff (not release documentation).
v1.25.0
The provided release notes for v1.25.0 contain no detailed change log entries beyond the version label. The actual code diff shows a large update dominated by new Prism language components, plus some build/tooling additions (benchmark suite) and a few grammar and metadata changes.
v1.24.1
v1.24.1 includes a Markdown fix intended to make code block highlighting work correctly in NodeJS, and a CSS selector tweak for the Prism Toolbar so styles apply to the correct nested elements. The provided GitHub release notes are essentially empty, so most of the concrete behavior changes are only visible in the actual code diff.
Breakingv1.24.0
Release v1.24.0 has essentially no release-note content in the provided release notes. The actual diff shows a large update that primarily adds many new Prism language components, updates language metadata and a variety of component grammars, and also updates contributor tooling (lint config, CI matrix, and docs).
Featuresv1.23.0
v1.23.0 appears to be a Prism component release focused on adding new language components and improving syntax highlighting behavior via updated regular expressions. The provided release notes themselves contain no specific change list, so the actual impact must be inferred from the code diff.
BreakingFeaturesv1.22.0
The GitHub release notes for v1.22.0 contain no detailed information beyond the version label. The actual code changes are substantial, with many new language components added and several existing language grammars and component metadata updated.