This changelog is derived from the Git history. The repository does not use version tags, so entries are grouped by year and month and focus on high-level features, paper milestones, and large implementation changes.
- Added
MANUAL.mdas the source for the up-to-date user's guide, generatedMANUAL.htmlandMANUAL.pdf, and changed GitHub Pages deployment to publish the manual as the project website. - Trimmed
README.mddown to a project overview and links to the generated manual instead of duplicating detailed framework documentation. - Added a
renderfilter for manual examples that show Markdown source next to the rendered output without relying on the older side-by-side test tool. - Added
::: wordingsupport for automatic paragraph-number handling in proposed wording, including nested bullet and decimal lists, pinned numbers, and suppressed numbering. - Added automatic paragraph-number expansion for explicit
.pnumspans inside::: wording, such as[#]{.pnum}and nested forms like[#.#]{.pnum}. - Added self-links for paragraph numbers and changed target highlighting to emphasize the referenced paragraph content instead of only the marginal paragraph number.
- Added automatic note and example numbering within
::: wording, including pinned numbers, unnumbered notes/examples, and independent note/example counters. - Added paragraph suffix stable references such as
[stable.name]/1, and improved stable-name data generation throughsrefs.jsonandsrefs.defs. - Added
number-srefsmetadata to control whether section numbers are shown by default for stable-name references. - Simplified stable-name reference rendering so numbered stable references
include their section title directly instead of requiring a separate
.titleoption. - Added explicit embedded-Markdown opt-in and delimiter customization for code elements while preserving default embedded-Markdown behavior for configured code languages.
- Restored
diffas one of the default embedded-Markdown code classes. - Factored formatting filters so generated fragments are processed more consistently with top-level documents.
- Switched generated HTML math rendering from MathJax to MathML.
- Refreshed C++ syntax highlighting around an upstream KDE syntax definition, a smaller WG21-specific syntax patch, and YAML-provided highlighting CSS and LaTeX macros.
- Fixed LaTeX output for PDF metadata, title and table-of-contents link targets, and inline highlighted code inside strikeout, underline, and mark spans.
- Improved build behavior by avoiding unnecessary virtual-environment rebuilds
during
make updateand writing generated reference files through temporary outputs before replacing existing files. - Improved downstream Makefile integration by splitting paper Markdown inputs
from framework auxiliary Markdown inputs, restoring the public
DEPSaggregate, and making framework source dependencies explicit. - Upgraded the framework to Pandoc 3.9.0.2 and Panflute 2.3.1, including refreshed default HTML and LaTeX templates.
- Updated WG21-specific template patches so they apply cleanly on top of the Pandoc 3.9.0.2 defaults with a smaller set of local changes.
- Adjusted CSL and citation-title handling for Pandoc 3.x while preserving WG21-style reference rendering.
- Moved static WG21 HTML overrides into a separate
wg21.cssfile, leaving template-driven color rules inwg21.html. - Fixed generated table styling for Pandoc 3.x HTML output, including the document information table in the title block.
- Improved comparison-table rendering by preserving explicit Markdown table widths where needed and making comparison tables span the full width in HTML.
- Disabled raw HTML parsing for Markdown input so C++-style angle brackets are not silently treated as HTML tags, and changed browser page titles to use plain text rather than Markdown serialization.
- Fixed LaTeX output for highlighted inline code in comparison-table captions.
- Removed older local workarounds that are no longer needed with Pandoc 3.x and its bundled syntax-highlighting CSS.
- Hardened dependency and generated-data setup so failed Pandoc, Python, reference, and annex downloads do not leave partial targets behind.
- Added interactive HTML controls for generated papers, including toggles for syntax highlighting and deleted wording.
- Added GitHub Pages deployment support and tooling for publishing side-by-side rendered test output.
- Expanded proposed-wording support with substitution syntax, written as
[old text](new text){.sub}, and improved HTML rendering for insertions, deletions, and inline code. - Continued expanding the rendering test document.
- Added paragraph-level stable-reference links such as
[stable.name#1]{.sref}. - Reworked embedded Markdown processing so code annotations are handled before syntax highlighting.
- Added
$...$shorthand for italicized embedded Markdown in code, equivalent to@_..._@. - Refactored code-element processing for better performance and cleaner rendering behavior.
- Improved mobile rendering behavior for generated HTML.
- Extended embedded Markdown support beyond C++ and diff code to additional languages such as NASM and Rust.
- Added automatic cross-reference text for links to document sections, using
empty links such as
[](#section-id). - Added support for inserting referenced paper titles through citation syntax
such as
[@P1240R2]{.title}. - Added initial project website content for GitHub Pages.
- Expanded user-facing documentation for references, examples, notes, embedded Markdown, and installation.
- Extended stable-name references to support names without paragraph numbers,
such as
[stable.name]{.sref}and[stable.name]{.unnumbered .sref}. - Added draft-note support with
::: draftnoteblocks and.draftnotespans. - Made dependency tracking more extensible for projects with additional Python requirements.
- Changed citation rendering so paper references link directly to the cited documents.
- Improved bibliography and no-reference handling for generated output.
- Changed inline code defaults so C++ papers get C++ highlighting without additional markup.
- Added MathJax support for generated papers.
- Split paper sources out of this repository into
mpark/wg21-papers. - Repositioned this repository as the reusable framework for writing WG21 papers.
- Upgraded the framework to a newer Pandoc baseline.
- Improved HTML generation and added convenience targets for building all HTML, LaTeX, or PDF outputs.
- Added licensing for the reusable framework portion of the repository.
- Improved generated-document readability on mobile devices.
- Started work on the next pattern matching paper revision,
D1371R4.
- Reworked framework dependencies around a local Pandoc installation for more stable builds.
- Reorganized reference and bibliography data around CSL JSON.
- Updated templates and build support for newer Pandoc behavior.
- Added published
P1371R2andP1371R3artifacts.
- Finalized
P1371R3with major design updates for pattern matching andinspect.
- Added
D2211R0, "Exhaustiveness Checking for Pattern Matching". - Continued design work on expression-only
inspectand pattern matching examples.
- Added a new
P1371R3revision.
- Improved generated HTML metadata.
- Improved generated-output dependency handling.
- Created and finalized
P1371R2, including major updates to pattern syntax,letbehavior, andinspectsemantics. - Added stable-name reference support.
- Added nested embedded Markdown for code blocks and inline code.
- Moved the build system to Pandoc defaults files and made source, output, dependency, bibliography, and highlighting behavior more configurable.
- Renamed Tony Table support to comparison-table support, using
::: cmptableblocks. - Added audience rendering to generated title headers.
- Improved generated-output setup and documented additional platform requirements.
- Documented Unicode support for code blocks.
- Expanded the framework into a richer WG21 paper generator with HTML, LaTeX, citations, references, syntax highlighting, paragraph numbers, and Makefile integration.
- Added automatic reference linking and stable-reference date support.
- Added embedded Markdown parsing inside code blocks and inline code.
- Added custom C++ syntax highlighting and WG21-themed highlighting output.
- Added comparison-table support with
::: cmptableblocks and early rendering tests. - Finalized
P1371R1after substantial pattern matching design work.
- Added automatic reference-link support.
- Added paragraph-number markup and C++ draft-inspired HTML styling.
- Expanded formatting documentation.
- Forked pattern matching work toward
P1371R1.
- Restructured generation around a
generatedoutput directory. - Added LaTeX build support and updated Pandoc templates.
- Added reusable paper markup for examples, notes, editorial notes, strikeout,
underline, and local metadata overrides, using classes such as
.example,.note, and.ednote.
- Added documentation and examples for papers generated with the framework.
- Added
D1469R1with wording.
- Added
P1469R0. - Developed and finalized
P1371R0, including design discussion, expression-pattern disambiguation, refutability, wildcard syntax, and examples. - Migrated paper sources back to Markdown and added early HTML-generation support.
- Added support for richer paper metadata such as multiple audiences and email addresses.
- Continued refining pattern matching examples and syntax.
- Heavily revised
D1260R1with major pattern matching features including binding patterns, expressioninspect, dereference patterns, designated extractors, expression-pattern pinning, and polymorphic handling. - Added San Diego meeting material for pattern matching.
- Added Tony Table support and label-based citations.
- Added document-diff markup for additions and removals, using
.addand.rmclasses. - Renamed the pattern matching draft to
D1371R0.
- Developed pattern matching into
P1260R0and startedD1260R1. - Added support for intermediate LaTeX generation.
- Improved paragraph-number handling.
- Published
P0655R1.
- Added and finalized
D0655R1. - Continued early pattern matching work.
- Began the repository's pattern matching paper work.
- Replaced the shell-based PDF generation script with a Makefile.
- Added the first Markdown-based paper infrastructure.
- Converted
N3887to Markdown. - Started and developed
D0655R0, later renamed toP0655R0. - Added early framework support for syntax highlighting and proposed wording diffs.
- Moved generated PDFs into a dedicated directory.
- Refreshed generated PDF artifacts.
- Added revisioned
P0080R0sources. - Added the
N3887PDF and unpublishedD0080R1draft.
- Refined
P0080wording and examples for variant-related behavior.
- Added and finalized the initial
P0080R0paper submission.
- Updated repository metadata and documentation.
- Created the repository.
- Added the "Consistent Metafunction Aliases" paper, later assigned paper
number
N3887.