Releases: Witiko/markdown
3.0.0
Development:
- Add support for TeX-like rich paragraphs. (#30, #306, matrix.org)
Fixes:
- Reset current heading level at the end of a markdown document. (1261e6f)
- Fix out-of-memory issues with CommonMark implementation. (#308, #318, 28650b8)
- Fix
rawAttribute
option being enabled in Lua by default. (92c9ac2) - Make our implementation of attributes compatible with jgm/pandoc. (jgm#68, #304, #343, contributed by @Omikhleia)
Documentation:
- Fix the link to @xvrabcov's talk at TUG 2022 in
README.md
. (166c450) - Add a link to @writersglen's talk at TUG 2022 to
README.md
. (f3efcb9) - Document setting up catcodes in Lua. (#329, #342)
Unit Tests:
- Batch unit tests to improve speed. (#245, #316, 8bfd0b3, #317, #319..#325, #327, #328, e3b3169, #331, #332, #334, 0a230fa, 90cc428, 3be0013, dbe1808, a010881)
- Use self-hosted GitHub runners for tests to improve speed. (#326, #330, #331, a9948a8, 68b6216, contributed by @TeXhackse, matrix.org)
Continuous Integration:
- In draft pull requests, do not build documentation or examples and do not run pkgcheck. (#337, #338, 189bb15)
- Push temporary Docker images to GitHub Packages. (#340, #341, d15ae88, 7e42e84)
For a full list of changes between versions 2.23.0 and 3.0.0, see also the release notes for versions 3.0.0-alpha and 3.0.0-alpha.2.
3.0.0-alpha.2
Development:
Default Renderer Prototypes:
Documentation:
- Add a link to TUG 2023 slides and video to the README. (ce6047b, adb69e2)
Unit Tests:
3.0.0-alpha
Development:
- Comply with CommonMark 0.30. (contributed by @lostenderman, #29, #210, #212, #226)
- Add a demo of using the Markdown package in OpTeX. (contributed by @olsak, #215, 109c1b5, #292)
- Add
singletonCache
Lua option. (#226)
Documentation:
- Add @lostenderman's thesis to
README.md
. (#226, 8a4536e)
Default Renderer Prototypes:
- Do not force line breaks after headings in LaTeX. (df8562c)
Deprecation:
Fixes:
- Allow references in fenced divs. (#307, jgm#69)
- Prevent
eagerCache=false
from causing undefined behavior and make it the new default. (#129)
2.23.0
Development:
- Add support of bulk redefinition of token renderers and token renderer prototypes in the
\markdownSetup
LaTeX command using wildcards. (#232, #287)
Fixes:
- Drop support for ConTeXt Mark II, since the MkII files are no longer installed in TeX Live 2023, see the article by Hans Hagen. (#281, #282)
- Remove extra space after inline elements with attributes. (#288)
- Make our implementation of attributes compatible with jgm/pandoc. (#279, #297, f7c701b)
Documentation:
- Add a link to a preprint from TUGboat 44(1) to
README.md
. (#234, a4d9fbf) - Separate example files for pdfLaTeX, XeLaTeX, LuaLaTeX, and TeX4ht. (daccaa8)
Docker:
- Add TeX Live 2022 historical image. (#285, #295)
- Add support for TeX Live 2023. (contributed by @gucci-on-fleek, #281, #282)
Refactoring:
- Use
\prg_new_conditional:Nnn
to define\@@_if_option:n
. (#289)
Libraries:
- Make tinyyaml a standalone CTAN package. (contributed by @zepinglee, #218, #294)
Default Renderer Prototypes:
2.22.0
Development:
- Add support for TeX math surrounded by backslash-escaped parens and brackets. (contributed by @lostenderman, #61, #235, #236, #270)
- Add support for attributes on links, images, fenced code, and inline code spans. (jgm#36, jgm#43, #50, #123, #256, #280, matrix.org)
- Add
import
LaTeX option. (#107, #286)
Documentation:
Refactoring:
Deprecation:
- Deprecate
theme
LaTeX option in favor of the newimport
LaTeX option. (#107, #285)
2.21.0
Development:
- Add renderers that represent the sections implied by headings. (#258, #264)
- Add support for slicing fenced divs. (#229, #266)
- Add support for TeX math surrounded by dollar signs. (contributed by @lostenderman, #61, #216, #267)
Fixes:
- Use MathML to render math in the user manual. (#261, #262)
- Properly normalize link references according to CommonMark. (lostenderman#56, #265)
- Fail gracefully when CLI receives unknown options. (eddcb18)
Documentation:
- Rename
writer->encode_*()
methods to clarify their purpose. (lostenderman#101, #271, #272)
Deprecation:
2.20.0
Development:
- Add support for line blocks. (contributed by @Omikhleia and @lostenderman, jgm#41, #209, #248)
- Add support for attributes on fenced code blocks. (contributed by @Omikhleia, jgm#36, #123, #211)
Documentation:
- Add @drehak's thesis to
README.md
. (204a18c, aec9b44, cda53fb) - Update examples for options
bracketedSpans
andfencedDivs
. (499c65a, 532cdb8)
Fixes:
- Map U+0000 and U+FFFD to new replacement character renderer. (lostenderman#34, #247, #250)
- Map non-breaking space to
writer->nbsp
in strings. (lostenderman#99, #247, #249) - Fix input normalization and move it from Lua CLI and plain TeX layers directly to the
convert()
Lua method. (#246, #253) - Allow fenced div closing tag to break out of a blockquote. (contributed by @Omikhleia, jgm#60, jgm#61, #230, #259)
Default Renderer Prototypes:
- Use
paralist
LaTeX package to define default renderer prototypes for fancy lists whenfancyList
Lua option is enabled. (#241) - Insert
\unskip
after default raw inline renderer prototype. (ca2047e) - Make
\*group_begin:
and\*group_end:
the default renderer prototypes for attribute contexts. (#243) - In LaTeX and ConTeXt, use just first word of infostring to determine fence code block language. (#244)
Unit Tests:
- Do not fold tabs and spaces into a single space token. (lostenderman#107, #242)
- Do not escape URIs in test outputs. (lostenderman#8, #260, 291e388)
Speed Improvements:
- Only make backticks special when
codeSpans
orfencedCode
are enabled. (#239) - Use fast unit testing in continuous integration. (#231, #255)
Continuous Integration:
- Fix ownership of repository before running Docker image. (#240)
2.19.0
Development:
Fixes:
- Fix incorrect category codes in plain TeX renderer prototype definitions. (f156f05)
- Allow backticks in tilde code block infostrings. (#214, #219, #221)
Refactoring:
- Sort Lua options, token renderers, and built-in syntax extensions. (#208)
Documentation:
- Add article High-Level Languages for TeX (in Czech) from CSTUG Bulletin 1–4/2022 to
README.md
. (authored by @Witiko, a2bbdea)
Continuous Integration:
- Make latexmk treat warnings as errors. (#228)
2.18.0
Development:
- Accept snake_case variants of options in addition to camelCase variants in
\markdownSetup
and Lua CLI. Accept snake_case and caseless variants of options in\setupmarkdown
. (#193, #194, #195, #196, #197, #198) - Rename renderers, renderer prototypes and options based on the semantics of elements: (#187, #201)
- Rename the
horizontalRule
andfootnote
renderers and renderer prototypes tothematicBreak
andnote
. - Rename the
footnotes
andinlineFootnotes
options tonotes
andinlineNotes
. - Rename the
HorizontalRule
rule toThematicBreak
and incrementgrammar_version
to2
.
This change is not backwards-compatible with thegrammar_version
of1
.
- Rename the
- Add
\markdownEscape
macro that inputs a TeX document in the middle of a markdown document fragment. (1478f7b) - Add support for raw attributes. (#173, #202)
Fixes:
- Fix missing support for forward slashes in
\markdownSetup{jekyllDataRenderers = {...}}
keys. (#199, #200) - Fix the
plain
LaTeX option not preventing changes to renderer prototypes. (013abbb)
Continuous Integration:
- Check user manual with MarkdownLint. (#203)
Contributed Software:
Deprecation:
2.17.1
Fixes:
- Add
debugExtensions
anddebugExtensionsFileName
Lua options for debugging user-defined syntax extensions. (#191, #192)
Documentation:
- Move
contentBlocksLanguageMap
option to the file and directory names section of the technical documentation. (dd564f2)