Releases: JuanjoPM-Developer/BridgeMost
BridgeMost v2.2.7
BridgeMost v2.2.7
Runtime resilience and publication reconciliation release.
Highlights
- Honors the configured Telegram polling timeout instead of falling back to the library default.
- Hardens Telegram update filtering for owner/private-DM handling.
- Adds fallback delivery in clean mode if placeholder edit/streaming fails.
- Debounces transient Mattermost validation failures while preserving immediate alerts for permanent credential failures.
- Makes logging startup resilient when the file handler cannot be opened.
- Makes Mattermost
upload_file()defensive for non-OK responses, non-JSON bodies and request exceptions. - Reconciles the local Gitea v2.2.6 line with the v2.2.7 hardening line.
Verification
pytest -qpassed.compileall -q src testspassed.- Published tag
v2.2.7points to commitc7693326e868977c4320385288385e9ef4069663.
v2.2.5 — Telegram Clean Mode
Suppress internal tool/progress noise in Telegram and improve placeholder-to-final-response UX.
v2.2.4 — Preserve Hermes Slash Commands
Keep Hermes slash commands flowing through Telegram while moving bridge-local commands into the /bridge namespace.
v2.2.3 — Degraded DM Bridge Startup Fix
Prevent a failing dm_bridge relay from tumbling the whole BridgeMost service during startup.
v2.2.2 — Edit Debounce for Streaming Bots
Fix edit debounce for streaming bots / flood control in Hermes-style output.
v2.2.1 — Deduplicate Relay Fix
Fixed
- Duplicate relay — main relay now skips DM channels owned by DM bridges
- All WS handlers (post, edit, delete, typing) filter bridged channels
- Prevents messages from being relayed by both the relay bot and the DM bridge bot
- Event loop crash — wrapped
asyncio.gatherin async function for Python 3.13 compatibility
v2.2.0 — DM Bridge Mode
DM Bridge Mode
New feature: give each Mattermost bot its own dedicated Telegram bot for direct 1:1 DM bridging.
Added
- DM Bridge mode — dedicated TG bot per MM bot, direct 1:1 bridging
- New
dm_bridges:config section (optional; inherits user mappings) DmBridgeRelayclass — one instance per DM bridge entry- Each relay polls its own TG bot token (separate adapter)
- Bidirectional: TG DM → MM DM, MM bot response → TG DM
- Full parity: media, edits, deletes, reactions, voice-to-text, typing
- Per-relay SQLite store (
dm_<name>.db)
- Health endpoint includes
dm_bridgesstats array - 76/76 tests passing (5 new)
Changed
- Version bumped to 2.2.0
- Startup log includes DM bridge count
v2.1.1 — Audit & Cleanup
Audit & Cleanup
- README: Google Chat status updated (Planned → v2.1.0 ✅)
- README: multi-platform description, complete changelog table
- CHANGELOG.md: added all missing versions (v0.9.8 through v2.1.0)
- .gitignore: added .pytest_cache/, cleaned sections
- Service example: updated description for multi-platform
- Removed: stale dist/ builds, empty docs/ dir, credentials from Gitea remote URL
71 tests passing · 3,382 lines Python · 17 source files
v2.1.0 — Google Chat Adapter
🎉 First multi-platform release!
BridgeMost now supports Google Chat alongside Telegram.
Google Chat Adapter
- Service Account with domain-wide delegation (ghost mode)
- Posts as the real Workspace user — nobody knows it is a bridge
- Space message polling, edit, delete, emoji reactions
/bot/bots/statuscommands- Auto-detect adapter from config sections
Setup
- Create a GCP Service Account with Chat API + domain-wide delegation
- Download the JSON key file
- Add
googlechat:section to config.yaml (see config.example.yaml) - Run — BridgeMost auto-detects the adapter
No credentials ever leave your server. The JSON key file is read locally.
Requirements for Google Chat
- Google Workspace (not personal Gmail)
- Admin-enabled domain-wide delegation
- Google Chat API enabled in GCP project
Full docs in README.md.
v2.0.2 — Multi-Platform README
README fully rewritten for v2.0 adapter architecture.
- Title reflects multi-platform support
- Adapter table: Telegram ✅, Google Chat/Slack/Matrix 🔜
- Architecture diagram shows plugin layers
- "Writing a Custom Adapter" guide with BaseAdapter example
- GitHub description + 10 topics updated
- pyproject keywords expanded