Skip to content

Releases: gramiojs/format

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 16 Jun 19:20
14f5fbc

Bumps @gramio/types to ^10.1.0.

it to sendRichMessage without a hard dependency.

dialect. RichString carries a global brand symbol so @gramio/contexts routes

reuse @gramio/format inline helpers and lower to the Bot API 10.1 rich-markdown

details, media, collage/slideshow, footnote, math, taskList, thinking, …) that

feat(rich): Rich Messages authoring (@gramio/format/rich)Add the /rich entry: `rich`` tag + block helpers (heading, list, table,
Full Changelog: v0.8.0...v0.9.0

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 08 May 17:16
0f3c887

and removes stray "GramIO format" submodule entry.

Bumps @gramio/types to 9.6.1, biome/marked/prettier/bun-types/typescript,

explanation_media/media in sendChecklist and per-option media captions.

chore: bump deps and regenerate mutator for Bot API 10.0Adds sendLivePhoto, answerGuestQuery, plus formattable handling for

chore: bump version to 0.8.0

deprecated baseUrl handling. Drop tsconfig baseUrl since nothing uses it.

was rolled back because it surfaced unrelated test/middleware errors via

explanation_media/media on poll params, per-option media). TypeScript 6

fix(deps): bump @gramio/types to ^10.0.0, pin typescript to ^5.9.3Mutator regen needed Bot API 10.0 types (sendLivePhoto, answerGuestQuery,
Full Changelog: v0.7.0...v0.8.0

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 10 Apr 21:52
4947a20

@gramio/schema-parser < 1.1.0; upstream fix lives in schema-parser@1.1.0.

A small post-load fallback patches InputTextMessageContent.message_text for

and editMessageChecklist. Also bumps @gramio/types to 9.6.0.

including sendMessageDraft, sendPaidMedia, sendPoll.description, sendChecklist,

Regenerated src/mutator.ts for Telegram Bot API 9.6 — now covers 32 methods

input_message_content.message_text narrows cleanly across union variants.

paths. The emitted code uses an isFormattableString helper so nested

two shapes: direct mutation for non-array paths, .map() + spread for array

union/optional path segments, collects transforms, dedupes them, then renders

getCustomSchema(). The generator walks method parameters recursively, tracking

feat(mutator): rewrite generator on @gramio/schema-parser, bump to 0.7.0Replaces the old tg-bot-api/custom.min.json pipeline with @gramio/schema-parser's

chore: bump @gramio/schema-parser to 1.1.0 and drop InputTextMessageContent workaround

docs: document gh-based publish workflow and status monitoring in CLAUDE.md
Full Changelog: v0.6.1...v0.7.0

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 09 Apr 12:05
7616551

full 98-test suite (markdown + html + index) stays green.

  • All 44 existing markdownToFormattable tests still pass, and the

    including the original LLM-style enumerated answer repro.

  • 8 new regression cases in the "block separators" describe block,

Tests:

logic, so it's removed.

The previous workaroundForHeading is a strict subset of this

paragraph+blockquote, paragraph+code, heading+anything, etc.

the current block's trailing newlines. Covers paragraph+list,

token isn't already a space, emit a synthetic space carrying

normalizeBlockSeparators. For each non-space block whose next

Fix: generalise the previous heading-only workaround into

markdownToFormattable.

assistant reply render wrong in Telegram bots that use

which LLM-generated text almost never has — making every enumerated

Only happened when the source had no blank line between blocks,

"Agenda:- one\n- two" ← wrong

an empty separator glued adjacent blocks together:

drops that trailing whitespace, so joining top-level tokens with

processToken reads the structured tokens/text fields and

list raw="- one\n- two"

paragraph raw="Agenda:\n" (trailing \n = 1)

For example, "Agenda:\n- one\n- two" parses to:

fix(markdown): preserve newlines between adjacent block tokensMarked stores a block's trailing newlines on its own raw field.

chore: bump version to 0.6.1
Full Changelog: v0.6.0...v0.6.1

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 15 Mar 01:28
0d47e8e

each Telegram API call.

middleware that decomposes FormattableString values into text + entities before

feat: add formatMiddleware for wrappergram middleware chainExports formatMiddleware from @gramio/format/middleware — a ready-to-use

0.5.0

Merge branch 'master' of https://github.com/gramiojs/format

0.6.0
Full Changelog: v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 01 Mar 11:12

chore: bump version to 0.5.0 and add CLAUDE.md developer guide
Full Changelog: v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 26 Feb 10:48
bcfbd35

feat: add overload for join() to accept FormattableString arrays directly

feat: add htmlToFormattable function with node-html-parser support

docs: comprehensive README rewrite with installation, API reference, and examples

chore: bump version to 0.4.0

refactor: use Symbol.hasInstance for FormattableString type checks
Full Changelog: v0.3.4...v0.4.0

v0.3.4

Choose a tag to compare

@github-actions github-actions released this 21 Oct 11:15
5f62cbc

feat: threat falsy values as empty string
Full Changelog: v0.3.3...v0.3.4

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 12 Jul 00:05
ee7bb57

chore: many bumps and and update to 9.1

Full Changelog: v0.3.2...v0.3.3

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 29 May 19:19
1882538

fix: markdownToFormattable wrong list convert

Full Changelog: v0.3.1...v0.3.2