From dbca150c37e995d1bc40c6ab3c03656dc9bc24ce Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 1 Oct 2026 02:00:16 +0000 Subject: [PATCH] Release packages --- .changeset/inline-source-parsers.md | 5 -- .changeset/markdown-one.md | 5 -- CHANGELOG.md | 10 ++++ package.json | 2 +- skills/_artifacts/domain_map.yaml | 48 +++++++++---------- skills/_artifacts/skill_tree.yaml | 4 +- skills/custom-extensions/SKILL.md | 2 +- skills/docs-features/SKILL.md | 2 +- skills/octane-rendering/SKILL.md | 2 +- skills/production-pipelines/SKILL.md | 4 +- skills/react-rendering/SKILL.md | 2 +- skills/render-markdown/SKILL.md | 2 +- .../references/ast-and-options.md | 2 +- 13 files changed, 45 insertions(+), 45 deletions(-) delete mode 100644 .changeset/inline-source-parsers.md delete mode 100644 .changeset/markdown-one.md diff --git a/.changeset/inline-source-parsers.md b/.changeset/inline-source-parsers.md deleted file mode 100644 index 305a3ef..0000000 --- a/.changeset/inline-source-parsers.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@tanstack/markdown": minor ---- - -Add opt-in source-level inline parsers to Markdown extensions. Declare starting characters and return a standard inline node with an explicit consumed length, before built-in formatting changes the source. Preserve escape and code precedence, expose link-label context, and share parser budgets with nested parsing. diff --git a/.changeset/markdown-one.md b/.changeset/markdown-one.md deleted file mode 100644 index 5b82390..0000000 --- a/.changeset/markdown-one.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@tanstack/markdown": major ---- - -Release the documented Markdown parser, HTML/React/Octane renderers, AST and extension APIs as version 1.0. Define the compatibility and trusted-content contracts, validate installed package entry points, and gate releases on supported server and browser rendering tests. Include the optional source-level inline parser contract for custom syntax without changing default parsing. Existing 0.0.16 calls require no migration. diff --git a/CHANGELOG.md b/CHANGELOG.md index 00cec73..bfbb21c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # @tanstack/markdown +## 1.0.0 + +### Major Changes + +- 7cd68d4: Release the documented Markdown parser, HTML/React/Octane renderers, AST and extension APIs as version 1.0. Define the compatibility and trusted-content contracts, validate installed package entry points, and gate releases on supported server and browser rendering tests. Include the optional source-level inline parser contract for custom syntax without changing default parsing. Existing 0.0.16 calls require no migration. + +### Minor Changes + +- 771ab04: Add opt-in source-level inline parsers to Markdown extensions. Declare starting characters and return a standard inline node with an explicit consumed length, before built-in formatting changes the source. Preserve escape and code precedence, expose link-label context, and share parser budgets with nested parsing. + ## 0.0.16 ### Patch Changes diff --git a/package.json b/package.json index 2fa28ae..720669f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/markdown", - "version": "0.0.16", + "version": "1.0.0", "type": "module", "description": "A tiny, fast, deterministic Markdown renderer for blogs and documentation.", "license": "MIT", diff --git a/skills/_artifacts/domain_map.yaml b/skills/_artifacts/domain_map.yaml index ad6462f..0e69c60 100644 --- a/skills/_artifacts/domain_map.yaml +++ b/skills/_artifacts/domain_map.yaml @@ -1,13 +1,13 @@ # Generated by skill-domain-discovery # Library: @tanstack/markdown -# Version: 0.0.16 +# Version: 1.0.0 # Date: 2026-07-22 # Status: reviewed status: reviewed library: name: '@tanstack/markdown' - version: '0.0.16' + version: '1.0.0' repository: 'https://github.com/TanStack/markdown' description: 'A synchronous Markdown parser and renderer for controlled blog and documentation content.' primary_framework: 'framework-agnostic' @@ -54,7 +54,7 @@ skills: source: 'docs/core-concepts/syntax-profile.md' priority: 'HIGH' status: 'active' - version_context: 'Intentional product boundary in 0.0.16.' + version_context: 'Intentional product boundary in 1.0.0.' skills: ['render-markdown', 'production-pipelines'] - mistake: 'Reparsing unchanged content on every render' mechanism: 'String inputs are parsed by complete-document renderers, while a cached MarkdownDocument skips repeated parsing.' @@ -68,7 +68,7 @@ skills: source: 'docs/core-concepts/document-model.md' priority: 'MEDIUM' status: 'active' - version_context: 'Current API behavior in 0.0.16.' + version_context: 'Current API behavior in 1.0.0.' skills: ['render-markdown', 'production-pipelines'] - mistake: 'Applying parser options after parsing' mechanism: 'Parse-only options do not retroactively change a pre-parsed AST.' @@ -81,7 +81,7 @@ skills: source: 'docs/reference/html.md' priority: 'HIGH' status: 'active' - version_context: 'Current AST/render split in 0.0.16.' + version_context: 'Current AST/render split in 1.0.0.' - mistake: 'Using parseInline for document definitions' mechanism: 'Standalone inline parsing does not extract document-level reference links or footnote definitions unless parser state is supplied.' wrong_pattern: | @@ -91,7 +91,7 @@ skills: source: 'docs/reference/default-entry.md' priority: 'MEDIUM' status: 'active' - version_context: 'Current parsing contract in 0.0.16.' + version_context: 'Current parsing contract in 1.0.0.' - name: 'Render with React' slug: 'react-rendering' @@ -118,7 +118,7 @@ skills: source: 'docs/guides/react.md' priority: 'HIGH' status: 'active' - version_context: 'React adapter contract in 0.0.16.' + version_context: 'React adapter contract in 1.0.0.' skills: ['react-rendering', 'production-pipelines'] - mistake: 'Mapping AST node names instead of emitted tags' mechanism: 'The components option is keyed by emitted HTML/custom-element tag names such as a or md-tab-panel.' @@ -129,7 +129,7 @@ skills: source: 'docs/guides/react.md' priority: 'HIGH' status: 'active' - version_context: 'Current component map in 0.0.16.' + version_context: 'Current component map in 1.0.0.' - mistake: 'Expecting HTML extension hooks in React output' mechanism: 'MarkdownExtension.renderHtml is HTML-specific; cross-renderer custom output must use ComponentNode and component mappings.' wrong_pattern: | @@ -141,7 +141,7 @@ skills: source: 'docs/guides/extensions.md' priority: 'HIGH' status: 'active' - version_context: 'Renderer-specific extension boundary in 0.0.16.' + version_context: 'Renderer-specific extension boundary in 1.0.0.' skills: ['react-rendering', 'custom-extensions'] - name: 'Render with Octane' @@ -168,7 +168,7 @@ skills: source: 'docs/reference/octane.md' priority: 'HIGH' status: 'active' - version_context: 'Octane adapter contract in 0.0.16.' + version_context: 'Octane adapter contract in 1.0.0.' - mistake: 'Using a React component in the Octane component map' mechanism: 'Octane replacements must be host tag strings or Octane ComponentBody values.' wrong_pattern: | @@ -179,7 +179,7 @@ skills: source: 'docs/guides/octane.md' priority: 'HIGH' status: 'active' - version_context: 'Octane component map in 0.0.16.' + version_context: 'Octane component map in 1.0.0.' - mistake: 'Ignoring Octane static-render return structure' mechanism: 'octane/server static rendering returns an object containing html and css rather than only an HTML string.' wrong_pattern: | @@ -230,7 +230,7 @@ skills: source: 'docs/guides/docs-preset.md' priority: 'HIGH' status: 'active' - version_context: 'Docs preset contract in 0.0.16.' + version_context: 'Docs preset contract in 1.0.0.' - mistake: 'Using unmatched comment component boundaries' mechanism: 'An unmatched block start is consumed as an empty component while its body remains ordinary Markdown.' wrong_pattern: | @@ -245,7 +245,7 @@ skills: source: 'src/extensions/comment-components.ts' priority: 'HIGH' status: 'active' - version_context: 'Current block parser behavior in 0.0.16.' + version_context: 'Current block parser behavior in 1.0.0.' - mistake: 'Feeding a tab transform the wrong content shape' mechanism: 'Each tab variant returns the original node when its expected headings, code files, package lines, or supported bundlers are absent.' wrong_pattern: | @@ -261,7 +261,7 @@ skills: source: 'docs/guides/docs-preset.md' priority: 'MEDIUM' status: 'active' - version_context: 'Current docs transforms in 0.0.16.' + version_context: 'Current docs transforms in 1.0.0.' - mistake: 'Assuming code metadata highlights code by itself' mechanism: 'Fence metadata is parsed into the AST, but tokenization and themes require an external highlighter.' wrong_pattern: | @@ -272,7 +272,7 @@ skills: source: 'docs/core-concepts/syntax-profile.md' priority: 'MEDIUM' status: 'active' - version_context: 'Intentional core/optional boundary in 0.0.16.' + version_context: 'Intentional core/optional boundary in 1.0.0.' skills: ['docs-features', 'production-pipelines'] - name: 'Write Custom Extensions' @@ -304,7 +304,7 @@ skills: source: 'docs/guides/extensions.md' priority: 'HIGH' status: 'active' - version_context: 'Block extension contract in 0.0.16.' + version_context: 'Block extension contract in 1.0.0.' - mistake: 'Ordering a general parser before a specific parser' mechanism: 'Extensions run in array order, so an earlier broad parser can prevent a later parser from seeing its syntax.' wrong_pattern: | @@ -314,7 +314,7 @@ skills: source: 'docs/guides/extensions.md' priority: 'HIGH' status: 'active' - version_context: 'Current ordered extension lifecycle in 0.0.16.' + version_context: 'Current ordered extension lifecycle in 1.0.0.' - mistake: 'Using HTML hooks for cross-framework custom nodes' mechanism: 'renderHtml hooks do not run in React or Octane; ComponentNode plus adapter component maps is the portable path.' wrong_pattern: | @@ -332,7 +332,7 @@ skills: source: 'docs/guides/extensions.md' priority: 'HIGH' status: 'active' - version_context: 'Renderer extension boundary in 0.0.16.' + version_context: 'Renderer extension boundary in 1.0.0.' skills: ['custom-extensions', 'react-rendering', 'octane-rendering'] - mistake: 'Changing the extension set between parse and render' mechanism: 'Document transforms are embedded in the AST, while HTML render hooks still require the active extension at render time.' @@ -345,7 +345,7 @@ skills: source: 'docs/guides/extensions.md' priority: 'MEDIUM' status: 'active' - version_context: 'Current parse/render extension split in 0.0.16.' + version_context: 'Current parse/render extension split in 1.0.0.' - name: 'Ship a Production Content Pipeline' slug: 'production-pipelines' @@ -373,7 +373,7 @@ skills: source: 'docs/core-concepts/security.md' priority: 'CRITICAL' status: 'active' - version_context: 'Security boundary in 0.0.16.' + version_context: 'Security boundary in 1.0.0.' skills: ['production-pipelines', 'react-rendering', 'octane-rendering'] - mistake: 'Returning a complete pre/code tree from a highlighter' mechanism: 'The callback output becomes the trusted contents of the renderer-owned code element.' @@ -386,7 +386,7 @@ skills: source: 'docs/guides/syntax-highlighting.md' priority: 'HIGH' status: 'active' - version_context: 'CodeHighlighter contract in 0.0.16.' + version_context: 'CodeHighlighter contract in 1.0.0.' - mistake: 'Trusting arbitrary highlighter output' mechanism: 'Highlighter output is inserted without escaping in HTML, React, and Octane renderers.' wrong_pattern: | @@ -396,7 +396,7 @@ skills: source: 'docs/core-concepts/security.md' priority: 'CRITICAL' status: 'active' - version_context: 'Trusted callback boundary in 0.0.16.' + version_context: 'Trusted callback boundary in 1.0.0.' - mistake: 'Bundling optional highlighting into the client path' mechanism: 'Language grammars and themes can outweigh Markdown parsing; highlighting should stay build-time or server-side when possible.' wrong_pattern: | @@ -408,7 +408,7 @@ skills: source: 'docs/guides/performance.md' priority: 'MEDIUM' status: 'active' - version_context: 'Intentional dependency boundary in 0.0.16.' + version_context: 'Intentional dependency boundary in 1.0.0.' - mistake: 'Treating safe defaults as a complete sanitizer' mechanism: 'Dangerous protocols and raw HTML are constrained, but application-specific outbound links, images, and final HTML policies remain external.' wrong_pattern: | @@ -419,7 +419,7 @@ skills: source: 'docs/core-concepts/security.md' priority: 'CRITICAL' status: 'active' - version_context: 'Documented security limit in 0.0.16.' + version_context: 'Documented security limit in 1.0.0.' tensions: - name: 'Compatibility breadth versus bundle budget' diff --git a/skills/_artifacts/skill_tree.yaml b/skills/_artifacts/skill_tree.yaml index c4ec074..4e9cd6b 100644 --- a/skills/_artifacts/skill_tree.yaml +++ b/skills/_artifacts/skill_tree.yaml @@ -1,11 +1,11 @@ # Generated by skill-tree-generator # Library: @tanstack/markdown -# Version: 0.0.16 +# Version: 1.0.0 # Date: 2026-07-22 library: name: '@tanstack/markdown' - version: '0.0.16' + version: '1.0.0' repository: 'https://github.com/TanStack/markdown' description: 'A synchronous Markdown parser and renderer for controlled blog and documentation content.' generated_from: diff --git a/skills/custom-extensions/SKILL.md b/skills/custom-extensions/SKILL.md index 1214928..6f44fa2 100644 --- a/skills/custom-extensions/SKILL.md +++ b/skills/custom-extensions/SKILL.md @@ -7,7 +7,7 @@ description: > metadata: type: core library: '@tanstack/markdown' - library_version: '0.0.16' + library_version: '1.0.0' requires: - 'render-markdown' sources: diff --git a/skills/docs-features/SKILL.md b/skills/docs-features/SKILL.md index 810e6b2..059a9ce 100644 --- a/skills/docs-features/SKILL.md +++ b/skills/docs-features/SKILL.md @@ -9,7 +9,7 @@ description: > metadata: type: core library: '@tanstack/markdown' - library_version: '0.0.16' + library_version: '1.0.0' requires: - 'render-markdown' sources: diff --git a/skills/octane-rendering/SKILL.md b/skills/octane-rendering/SKILL.md index e652e4d..5e2b1ab 100644 --- a/skills/octane-rendering/SKILL.md +++ b/skills/octane-rendering/SKILL.md @@ -9,7 +9,7 @@ metadata: type: framework library: '@tanstack/markdown' framework: 'octane' - library_version: '0.0.16' + library_version: '1.0.0' requires: - 'render-markdown' sources: diff --git a/skills/production-pipelines/SKILL.md b/skills/production-pipelines/SKILL.md index 8cccc64..463b51b 100644 --- a/skills/production-pipelines/SKILL.md +++ b/skills/production-pipelines/SKILL.md @@ -8,7 +8,7 @@ description: > metadata: type: lifecycle library: '@tanstack/markdown' - library_version: '0.0.16' + library_version: '1.0.0' requires: - 'render-markdown' sources: @@ -127,7 +127,7 @@ import { parseMarkdown } from '@tanstack/markdown/parser' const cache = new Map() export function renderCachedArticle(key: string, source: string): string { - const cacheKey = `markdown-0.0.16:${key}` + const cacheKey = `markdown-1.0.0:${key}` let document = cache.get(cacheKey) if (!document) { document = parseMarkdown(source, { diff --git a/skills/react-rendering/SKILL.md b/skills/react-rendering/SKILL.md index 7035d30..339f043 100644 --- a/skills/react-rendering/SKILL.md +++ b/skills/react-rendering/SKILL.md @@ -9,7 +9,7 @@ metadata: type: framework library: '@tanstack/markdown' framework: 'react' - library_version: '0.0.16' + library_version: '1.0.0' requires: - 'render-markdown' sources: diff --git a/skills/render-markdown/SKILL.md b/skills/render-markdown/SKILL.md index 3c7495d..60ad700 100644 --- a/skills/render-markdown/SKILL.md +++ b/skills/render-markdown/SKILL.md @@ -9,7 +9,7 @@ description: > metadata: type: core library: '@tanstack/markdown' - library_version: '0.0.16' + library_version: '1.0.0' sources: - 'TanStack/markdown:docs/quick-start.md' - 'TanStack/markdown:docs/core-concepts/document-model.md' diff --git a/skills/render-markdown/references/ast-and-options.md b/skills/render-markdown/references/ast-and-options.md index 7098bca..453690d 100644 --- a/skills/render-markdown/references/ast-and-options.md +++ b/skills/render-markdown/references/ast-and-options.md @@ -1,6 +1,6 @@ # AST and Options Reference -This reference targets `@tanstack/markdown@0.0.16`. Shared public types are +This reference targets `@tanstack/markdown@1.0.0`. Shared public types are exported from `@tanstack/markdown`. ## Entry Points