Skip to content

Changelog ​

Release notes for VibeGram. This page highlights the changes most useful for developers using the framework.

For the complete release log, see the repository CHANGELOG.md.

2.5.0 ​

Released on 2026-07-07.

Added ​

  • dedupeUpdates() middleware with memory and custom stores, TTL/max-entry controls, duplicate callbacks, and the vibegram/dedupe subpath.
  • polling.offsetCommit with the new processed mode for retrying failed updates before advancing polling offsets.
  • TelegramClientOptions.maxResponseBytes for JSON, text, buffer, and file download response size limits.
  • A production security preset helper in the official @vibegram/security plugin.
  • Official OpenAI API provider roadmap notes for vibegram/codex.

Changed ​

  • Upgraded Vitest tooling to 3.2.7.
  • Aligned English and Indonesian docs across basics, API, security, state, UI, advanced, and plugin pages.
  • Updated install guidance for the current vibegram release range.

Fixed ​

  • Command routing now ignores commands aimed at other bots, such as /start@OtherBot, and avoids prefix collisions such as /codexbackup.
  • HTTP timeout handling now includes body parsing, with stream cleanup on completion, error, or close.
  • Queue and rate-limit numeric options now validate invalid values early.
  • Documentation examples were corrected for invoices, WebApp validation defaults, I18n overrides, pagination editing, keyboard helpers, and Context command metadata.

Security ​

  • Codex plugin Markdown output now escapes user-controlled values.
  • Response size guards reduce oversized response memory risk.
  • Webhook secret verification, body limits, polling offset tradeoffs, and safe Markdown interpolation are documented more clearly.

2.4.0 ​

Added ​

  • Bot API 10.1 — Rich Messages: bot.sendRichMessage(), bot.sendRichMessageDraft(), and the ctx.replyWithRichMessage() shortcut, plus the full type family (RichMessage, InputRichMessage, RichText, RichBlock, and all 25 RichText* / 21 RichBlock* element types).
  • Bot API 10.1 — Join Request Queries: bot.answerChatJoinRequestQuery() and bot.sendChatJoinRequestWebApp(), with new fields User.supports_join_request_queries, ChatFullInfo.guard_bot, and ChatJoinRequest.query_id.
  • Bot API 10.1 — Polls: Link and InputMediaLink types (link media for poll options).
  • Markup.escapeHTML(), Markup.escapeMarkdownV2(), and Markup.escapeMarkdown() helpers for safely interpolating untrusted text into formatted messages.
  • Optional atomic increment() method on RateLimitStore for race-free rate limiting on shared async stores (e.g. Redis).

Fixed ​

  • Session concurrency: the session() middleware now serializes load/save per key, preventing lost updates when the same user sends messages concurrently.
  • Queue timers: scheduleOnce() no longer orphans a timer when its handler re-schedules the same id, and scheduleInterval() skips overlapping runs.
  • Multipart: control characters are stripped from multipart field names to prevent header injection.
  • LRU eviction: MemoryCache and MemorySessionStore now refresh recency on read, so eviction is genuinely least-recently-used rather than insertion-order.

2.3.0 ​

Released on 2026-06-05.

Added ​

  • Added Bot API 10.0 type coverage for guest messages, live photos, poll media, chat reaction permissions, and managed bot access settings.
  • Added Bot API 10.0 wrappers for guest replies, live photos, reaction cleanup, managed bot access settings, and personal chat message lookup.

Security ​

  • Removed runtime axios, form-data, and follow-redirects dependency exposure by using VibeGram's internal native HTTP transport and multipart serializer.

2.2.1 ​

Released on 2026-05-22.

Highlights ​

  • Bundled the Codex Telegram plugin into the main vibegram package.
  • Added the public vibegram/codex subpath for codex(), codexProvider(), manual auth JSON helpers, memory store types, and provider helpers.
  • Kept publishing on the normal vibegram release flow instead of publishing a separate @vibegram/codex package.

Usage ​

typescript
import { codex, codexProvider } from 'vibegram/codex';

2.1.0 ​

Released on 2026-04-29.

Highlights ​

  • Added the experimental @vibegram/codex package for connecting VibeGram bots to ChatGPT/Codex sessions.
  • Added ctx.codex helpers for prompts, provider status, model listing, conversation reset, usage tracking, and per-user personality instructions.
  • Added built-in /codex commands for help, status, models, explicit prompts, resets, and personality management.
  • Added English and Indonesian Codex docs with server-first secret setup, auth.json handling, local smoke-test steps, provider options, troubleshooting, and security guidance.
  • Updated axios to 1.15.2.

Experimental Codex Plugin ​

The Codex plugin is designed for personal bots, private experiments, and internal tools. It uses a Codex/ChatGPT session token and targets the ChatGPT Codex backend, not the official OpenAI API.

Start here:

Validation ​

  • Codex package typecheck passed.
  • Codex package tests passed.
  • Codex package build passed.
  • VitePress docs build passed.

2.0.0 ​

Released on 2026-04-27.

Highlights ​

  • Introduced breaking type cleanup for forwarded messages, poll extras, and rich chat metadata.
  • Added opt-in Telegram client network retries.
  • Added webhook adapter health checks.
  • Added native graceful webhook launch mode.
  • Added ConversationContext.waitForAny().
  • Added ctx.telegram as a discoverable alias for the scoped Telegram client.
  • Added typed guard() middleware overloads.
  • Added public subpath exports for framework modules.
  • Added broader business, gifts, stories, and monetization method coverage.
  • Rebuilt the VitePress documentation experience with responsive navigation, local search, reusable docs components, and EN/ID content sync.

Migration ​

Review the full changelog before upgrading from 1.x, especially if your bot depends on forwarded-message legacy fields, poll extras, or getChat() return shapes.

1.2.1 ​

Released on 2026-04-25.

Highlights ​

  • Added missing copy_text coverage for InlineKeyboardButton.
  • Added GitHub issue templates.
  • Updated repository and release metadata.

Full History ​

The full changelog includes every historical release note, validation detail, and compatibility note:

Released under the ISC License.