Changelog
All notable changes to this project will be documented in this file, one entry per release. Format loosely follows Keep a Changelog; entries are kept high-level (what shipped, breaking changes) rather than a full commit-by-commit log — see git history for that.
[5.5.5.0] - 2026-11-04
Changed
- Vendors Lexilla 5.5.5, up from 5.5.0 (#24). See
LexillaHistory for the
full list: mostly lexer fixes, many of them crashes, hangs and
out-of-bounds writes (Baan, C++, DMIS, Perl, Raku, TCMD, TeX, Visual
Prolog, X12), and Unicode 17 character categories. No lexers were added or
removed, and
ILexer5is unchanged. Styling changes worth knowing about: - XML/HTML: only CDATA's contents are
SCE_H_CDATA; theCDATAkeyword isSCE_H_SGML_COMMANDand its punctuationSCE_H_SGML_DEFAULT. - HTML: the extra
!/#/$/:in JSP and ASP tags areSCE_H_ASP; PHP$$variableisSCE_HPHP_VARIABLE. - Markdown: front matter (YAML, TOML or JSON metadata at the file start)
gets three new styles,
SCE_MARKDOWN_FRONT_MARK/_FRONT/_FRONT_KEY. - Progress: typed annotations are
SCE_ABL_TYPEDANNOTATION. - JavaScript (cpp, XML and HTML lexers): a
/only starts a regex literal when another/follows on the same line; the newlexer.cpp.continuation.only.in.stringsproperty limits line continuation to string literals. - The extension no longer exports Lexilla's C entry points (
CreateLexer,GetLexerCount, ...): Lexilla is built withLEXILLA_NO_EXPORT(new in 5.5.2), since only the binding linked beside it calls them. - Built against the Scintilla 5.6.9 interface headers (the Scintilla release
pyside6-scintilla vendors), up from 5.6.3. Only
Scintilla.hchanged: it adds constants (SC_UPDATE_TEXT,SC_UPDATE_LINE_COUNT, the scale technique messages);ILexer5and the fold-level constants are unchanged. - Lists Python 3.15 in the package classifiers; the
cp312-abi3wheel already installed there, and CI now tests it (#26).
[5.5.0.2] - 2026-11-03
Changed (breaking)
- Requires Python 3.12 or later, with a single
cp312-abi3wheel per platform (forward-compatible with later Pythons). The separatecp311wheels are gone: nanobind's stable ABI needs 3.12, and a version-specific 3.11 build doubled the wheel count for one Python version. lexilla 5.5.0.1 remains available for Python 3.11.
Changed
- The project moved from
lexilla-pyinto the scintilla-py monorepo, next to pyside6-scintilla (aspackages/lexilla/). Docs: https://borco.github.io/scintilla-py/lexilla/. - Built against the Scintilla 5.6.3 interface headers (the Scintilla release
pyside6-scintilla vendors), up from 5.5.0.
ILexer5and the fold-level constants are unchanged. - The wheel tests run against the pyside6-scintilla built from the same commit, not the PyPI release.
[5.5.0.1] - 2026-07-14
Changed
- CI: re-enabled
aarch64testing now that pyside6-scintilla ships an aarch64 wheel (#10). - Wheel builds: a version-specific
cp311wheel plus acp312-abi3wheel (forward-compatible with 3.13, 3.14, and beyond without a rebuild) per platform, instead of one wheel per Python version -- 10 wheels per release instead of 20.
No breaking changes.
[5.5.0.0] - 2026-06-27
First published release: CreateLexer/ILexer5 binding (the Lexer class,
plus named/sub-style and ILexer4 introspection) with pre-built wheels for
Linux (x86_64, aarch64), Windows (x86_64), and macOS (arm64, x86_64), Python
3.11-3.14.