Files
2026-05-27 16:11:13 +09:00

290 lines
15 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
Все значимые изменения проекта [MaxTelegramBridgeBot](https://github.com/BEARlogin/max-telegram-bridge-bot).
---
## [v0.3.26] — 2026-05-27
- CI/CD: исправлен deploy — `docker-compose``docker compose` (v2 плагин), добавлен `name:` в compose-файл для совпадения имени проекта с production
## [v0.3.25] — 2026-05-27
- CI/CD: исправлен network — job-контейнеры в `caddy-net` через CONFIG_FILE + runner-config.yaml (actions/checkout@v4 не мог резолвить gitea:3000)
## [v0.3.24] — 2026-05-27
- CI/CD: попытка фикса network (CONFIG_FILE не был выставлен)
## [v0.3.23] — 2026-05-27
- CI/CD: исправлен deploy job — объединён с CI в один job (баг Gitea v1.26.2 с `needs`)
## [v0.3.22] — 2026-05-27
- CI/CD: исправлен deploy job — универсальные Linux-команды, секреты Gitea
## [v0.3.21] — 2026-05-27
- CI/CD: локальный Gitea + act_runner (git.d368.ru)
## [v0.3.20] — 2026-05-13
- Queue expire: notify crosspost owner DM, not the channel
- Веб хуки. Разделение для TG и Max
## [v0.3.19] — 2026-05-08
- Edit messages with media in MAX instead of sending new ones (TG→MAX)
## [v0.3.18] — 2026-05-05
- Forward MAX→TG: relay Link.Message content for repost messages
## [v0.3.17] — 2026-04-30
- Add DISABLE_PREFIX env + default OFF for chats not in pairs
## [v0.3.16] — 2026-04-24
- Fix: video-without-caption TG→MAX rejected as send-message.empty
## [v0.3.15] — 2026-04-24
- Route crosspost error notifications to owner DM, not to the channel
## [v0.3.14] — 2026-04-24
- Preserve links in TG→MAX crossposts; deliver text when video fails
## [v0.3.13] — 2026-04-24
- Add created_at to pairs for pair growth stats
## [v0.3.12] — 2026-04-23
- Simplify upload error hints — user-facing, no config details
## [v0.3.11] — 2026-04-23
- Surface TG→MAX upload errors in chat (not only in log)
- Document /thread_bridge and Part 1 reply routing in README
## [v0.3.10] — 2026-04-23
- Add /thread_bridge: link a single TG forum thread to a separate MAX chat
## [v0.3.9] — 2026-04-23
- Route MAX replies to source TG thread + crosspost/UX fixes
- Default prefix off, clarify admin requirement for TG forum groups
- Treat anonymous admins as admins for /bridge, /thread etc.
## [v0.3.8] — 2026-04-20
- Apply replacements in crosspost forwardTgToMax
## [v0.3.7] — 2026-04-16
- Fix release workflow: pass changelog via file to avoid shell expansion
- Очередь отправки (#34)
- Claude Code Review workflow
- Claude PR Assistant workflow
- Cache-bust favicon in README
- Revert README to plain links with logo and support link
- Redesign README with centered layout, badges and logo
- Add support/donate link to README
## [v0.3.6] — 2026-04-08
- Fix overlapping entities (bold+italic+strike) duplicating text
## [v0.3.5] — 2026-04-08
- Fix formatting in both TG→MAX and MAX→TG directions
## [v0.3.4] — 2026-04-03
- Edit messages with media in MAX instead of sending new ones (TG→MAX)
## [v0.3.3] — 2026-04-03
- **Fix:** Other bots' messages are now forwarded. Previously all bot messages were silently skipped. Now only the bridge bot itself is filtered — messages from any other bot in the group are forwarded normally.
## [v0.3.2] — 2026-04-03 *(текущая локальная версия)*
- **New:** Sync edits toggle — new "✏️ Синк правок" button in crosspost management (both TG and MAX bots). When enabled, edits and deletes sync between linked channels respecting the direction setting. Disabled by default.
## [v0.3.1] — 2026-04-02
- **Fixes:**
- Caption formatting on photo/album crosspost — bold, italic, links and other formatting now preserved when crossposting photos and albums from TG to MAX
- Crosspost direction respected for edits — editing a post in MAX no longer updates the TG post when direction is set to TG→MAX only
- Delete sync disabled for crosspost channels — deleting a post in one channel no longer removes it from the linked channel (only works for regular bridge pairs)
## [v0.3.0] — 2026-04-02
- **Forum topics support:** Messages from MAX are delivered to the correct forum topic in TG groups
- `/thread` command — send it in a topic to route all MAX→TG messages there
- Send `/thread` in General to reset back to default
- Auto-reset when forum topics are disabled on the group
- **TG library migration:** Replaced `go-telegram-bot-api/v5` (2021) with `go-telegram/bot` v1.20.0 (Bot API 9.5)
- New `TGSender` adapter interface — library is fully isolated, easy to swap
- Proper error wrapping with HTTP status codes (403/400/404/429)
- All command responses go to the same topic they were sent from
- Strip @botname from commands in groups
- Auto-migrate TG chat ID when group upgrades to supergroup
## [v0.2.4] — 2026-04-01
- Fix video upload: must upload to CDN even when token is in endpoint
- Fix video download returning 0 bytes: LimitReader overflow
- Add text replacements info to /help in both TG and MAX bots
## [v0.2.3] — 2026-03-29
- Multiple fixes and updates across bridge.go, max.go, telegram.go, format.go, upload.go, queue.go
- Multiple README updates
- Release workflow improvements
## [v0.2.1] — 2026-03-26
- Fix file name lost when forwarding MAX→TG
- Add link to maxtelegrambridge.ru in README
- Update RouterOS.yml
## [v0.2.0] — 2026-03-26
- Add text replacements for crosspost channels
- Add developer section in README
- Add TG_API_URL to README and .env.example
## [v0.1.2] — 2026-03-25
- Fix crosspost channel albums: buffer media groups instead of sending individually
- Fix photo upload: use UploadPhotoFromReader for local TG API
- Fix photo upload for local TG Bot API: download and upload ourselves
- Implement editMessageMedia for MAX→TG media edits
- Fix nil pointer crashes, add video albums, harden ALLOWED_USERS
- Fix multi-image forwarding: send all attachments and group albums
- Add ALLOWED_USERS whitelist to restrict bridge and crosspost setup
- Add configurable log level via LOG_LEVEL env var
- Clarify crosspost instruction: forward to MAX bot DM
- Use HTML parse mode for copyable code blocks in bot messages
- Fix broken crosspost: remove Markdown parsing from bot messages
- Add copyable code blocks and bot links to bridge instructions
- README: update features, add media edit limitation note
- Handle edited messages with media: forward as new message
- Treat 'attachment.not.ready after retries' as permanent error in queue
- Download MAX media to bridge server before sending to TG
- Fix local Bot API file serving: correct URL path + nginx alias
- Support custom TG Bot API server (TG_API_URL env)
- Revert HTTP timeout to 60s — 15s too short for media uploads
- Fix MAX webhook: explicitly subscribe to message_created events
- Remove binary and db backup from repo
- Switch to webhook mode for instant message delivery
- Don't retry permanent errors (403/404) in send queue
- Add retry queue for MAX→TG direction
- Fix nil pointer crash: channel posts have no From field
- Add sticker forwarding MAX→TG
- Auto-create GitHub release on tag push with changelog
- Add GIF (Animation) and Sticker forwarding TG→MAX
- Add user/chat IDs to all log messages for debugging
- Log TG user ID on channel post forward for crosspost
- Track users, dual owner IDs for crosspost (TG + MAX)
- Soft delete for crossposts — track deleted_at and deleted_by
- Filter /crosspost list by owner — show only own links
- Add owner_id to crossposts, restrict management to owner
- Add support link to /start message
- Add retry queue for failed message delivery
- Add CC BY-NC 4.0 license
## [v0.0.16] — 2026-03-25
- Fix photo upload: use UploadPhotoFromReader for local TG API
- Fix photo upload for local TG Bot API: download and upload ourselves
- Implement editMessageMedia for MAX→TG media edits
- Fix nil pointer crashes, add video albums, harden ALLOWED_USERS
- Fix multi-image forwarding: send all attachments and group albums
- Add ALLOWED_USERS whitelist to restrict bridge and crosspost setup
- Add configurable log level via LOG_LEVEL env var
- Clarify crosspost instruction: forward to MAX bot DM
- Use HTML parse mode for copyable code blocks in bot messages
- Fix broken crosspost: remove Markdown parsing from bot messages
- Add copyable code blocks and bot links to bridge instructions
- README: update features, add media edit limitation note
- Handle edited messages with media: forward as new message
- Treat 'attachment.not.ready after retries' as permanent error in queue
- Download MAX media to bridge server before sending to TG
- Fix local Bot API file serving: correct URL path + nginx alias
- Support custom TG Bot API server (TG_API_URL env)
- Revert HTTP timeout to 60s — 15s too short for media uploads
- Fix MAX webhook: explicitly subscribe to message_created events
- Remove binary and db backup from repo
## [v0.0.15] — 2026-03-24
- Implement editMessageMedia for MAX→TG media edits
- Fix nil pointer crashes, add video albums, harden ALLOWED_USERS
- Fix multi-image forwarding: send all attachments and group albums
- Add ALLOWED_USERS whitelist to restrict bridge and crosspost setup
- Add configurable log level via LOG_LEVEL env var
- Clarify crosspost instruction: forward to MAX bot DM
- Use HTML parse mode for copyable code blocks in bot messages
- Fix broken crosspost: remove Markdown parsing from bot messages
- Add copyable code blocks and bot links to bridge instructions
- README: update features, add media edit limitation note
- Handle edited messages with media: forward as new message
- Treat 'attachment.not.ready after retries' as permanent error in queue
- Download MAX media to bridge server before sending to TG
- Fix local Bot API file serving: correct URL path + nginx alias
- Support custom TG Bot API server (TG_API_URL env)
- Revert HTTP timeout to 60s — 15s too short for media uploads
- Fix MAX webhook: explicitly subscribe to message_created events
- Remove binary and db backup from repo
- Switch to webhook mode for instant message delivery
- Don't retry permanent errors (403/404) in send queue
## [v0.0.14] — 2026-03-21
- README: update features, add media edit limitation note
- Handle edited messages with media: forward as new message
- Treat 'attachment.not.ready after retries' as permanent error in queue
- Download MAX media to bridge server before sending to TG
- Fix local Bot API file serving: correct URL path + nginx alias
- Support custom TG Bot API server (TG_API_URL env)
- Revert HTTP timeout to 60s — 15s too short for media uploads
- Fix MAX webhook: explicitly subscribe to message_created events
- Remove binary and db backup from repo
- Switch to webhook mode for instant message delivery
- Don't retry permanent errors (403/404) in send queue
- Add retry queue for MAX→TG direction
- Fix nil pointer crash: channel posts have no From field
- Add sticker forwarding MAX→TG
- Auto-create GitHub release on tag push with changelog
- Add GIF (Animation) and Sticker forwarding TG→MAX
- Add user/chat IDs to all log messages for debugging
- Log TG user ID on channel post forward for crosspost
- Track users, dual owner IDs for crosspost (TG + MAX)
- Soft delete for crossposts — track deleted_at and deleted_by
## [v0.0.13] — 2026-03-20
- Download MAX media to bridge server before sending to TG
- Fix local Bot API file serving: correct URL path + nginx alias
- Support custom TG Bot API server (TG_API_URL env)
- Revert HTTP timeout to 60s — 15s too short for media uploads
- Fix MAX webhook: explicitly subscribe to message_created events
- Remove binary and db backup from repo
- Switch to webhook mode for instant message delivery
- Don't retry permanent errors (403/404) in send queue
- Add retry queue for MAX→TG direction
- Fix nil pointer crash: channel posts have no From field
- Add sticker forwarding MAX→TG
- Auto-create GitHub release on tag push with changelog
- Add GIF (Animation) and Sticker forwarding TG→MAX
- Add user/chat IDs to all log messages for debugging
- Log TG user ID on channel post forward for crosspost
- Track users, dual owner IDs for crosspost (TG + MAX)
- Soft delete for crossposts — track deleted_at and deleted_by
- Filter /crosspost list by owner — show only own links
- Add owner_id to crossposts, restrict management to owner
- Add support link to /start message
---
[v0.3.20]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.20
[v0.3.19]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.19
[v0.3.18]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.18
[v0.3.17]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.17
[v0.3.16]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.16
[v0.3.15]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.15
[v0.3.14]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.14
[v0.3.13]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.13
[v0.3.12]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.12
[v0.3.11]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.11
[v0.3.10]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.10
[v0.3.9]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.9
[v0.3.8]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.8
[v0.3.7]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.7
[v0.3.6]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.6
[v0.3.5]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.5
[v0.3.4]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.4
[v0.3.3]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.3
[v0.3.2]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.2
[v0.3.1]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.1
[v0.3.0]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.3.0
[v0.2.4]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.2.4
[v0.2.3]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.2.3
[v0.2.1]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.2.1
[v0.2.0]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.2.0
[v0.1.2]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.1.2
[v0.0.16]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.0.16
[v0.0.15]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.0.15
[v0.0.14]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.0.14
[v0.0.13]: https://github.com/BEARlogin/max-telegram-bridge-bot/releases/tag/v0.0.13