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 thevibegram/dedupesubpath.polling.offsetCommitwith the newprocessedmode for retrying failed updates before advancing polling offsets.TelegramClientOptions.maxResponseBytesfor JSON, text, buffer, and file download response size limits.- A production security preset helper in the official
@vibegram/securityplugin. - 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
vibegramrelease 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 thectx.replyWithRichMessage()shortcut, plus the full type family (RichMessage,InputRichMessage,RichText,RichBlock, and all 25RichText*/ 21RichBlock*element types). - Bot API 10.1 — Join Request Queries:
bot.answerChatJoinRequestQuery()andbot.sendChatJoinRequestWebApp(), with new fieldsUser.supports_join_request_queries,ChatFullInfo.guard_bot, andChatJoinRequest.query_id. - Bot API 10.1 — Polls:
LinkandInputMediaLinktypes (link media for poll options). Markup.escapeHTML(),Markup.escapeMarkdownV2(), andMarkup.escapeMarkdown()helpers for safely interpolating untrusted text into formatted messages.- Optional atomic
increment()method onRateLimitStorefor 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, andscheduleInterval()skips overlapping runs. - Multipart: control characters are stripped from multipart field names to prevent header injection.
- LRU eviction:
MemoryCacheandMemorySessionStorenow 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, andfollow-redirectsdependency 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
vibegrampackage. - Added the public
vibegram/codexsubpath forcodex(),codexProvider(), manual auth JSON helpers, memory store types, and provider helpers. - Kept publishing on the normal
vibegramrelease flow instead of publishing a separate@vibegram/codexpackage.
Usage
import { codex, codexProvider } from 'vibegram/codex';2.1.0
Released on 2026-04-29.
Highlights
- Added the experimental
@vibegram/codexpackage for connecting VibeGram bots to ChatGPT/Codex sessions. - Added
ctx.codexhelpers for prompts, provider status, model listing, conversation reset, usage tracking, and per-user personality instructions. - Added built-in
/codexcommands for help, status, models, explicit prompts, resets, and personality management. - Added English and Indonesian Codex docs with server-first secret setup,
auth.jsonhandling, local smoke-test steps, provider options, troubleshooting, and security guidance. - Updated
axiosto1.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.telegramas 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_textcoverage forInlineKeyboardButton. - Added GitHub issue templates.
- Updated repository and release metadata.
Full History
The full changelog includes every historical release note, validation detail, and compatibility note: