Repository navigation
Releases: iPmartNetwork/BirdX
Releases · iPmartNetwork/BirdX
Release list
2.5.3-rc4
Full Changelog: 2.5.3-rc3...2.5.3-rc4
v2.5.3-rc4 - 2026-05-26
Added
- Added Advanced Analytics dashboard with user growth, messages per day, hourly activity charts, top users, and top chats.
- Added Message Scheduling — schedule messages to any chat at a specific time with auto-delivery.
- Added Custom Branding settings — app name, colors (with color picker), logo upload, welcome message, footer text.
- Added Webhook integrations — create webhooks with event subscriptions, test, enable/disable, auto-trigger on events.
- Added Bot API with token-based authentication — create bot tokens with granular permissions.
- Added Bot API endpoints:
POST /api/bot/send-message,GET /api/bot/chats,GET /api/bot/chats/:id/messages,GET /api/bot/users. - Added Webhook auto-trigger for
message.new,user.register,user.login,user.banevents. - Added Two-Factor Authentication (2FA/TOTP) for all users — setup via Settings > Security with QR code, backup codes.
- Added 2FA verification step in login flow with support for backup codes.
- Added admin ability to reset user 2FA from the admin panel.
- Added dedicated Broadcast channel (
@broadcast/ 📢 اطلاعیهها) — broadcast messages appear as a channel in chat list.
Fixed
- Fixed critical TDZ crash (
Cannot access 'cs' before initialization) caused byeffectiveMaxTotalSizereferencing itself. - Fixed login handler hanging on errors by wrapping async handler in try/catch.
- Fixed broadcast not delivering to users without Saved Messages.
- Fixed JSX sibling error in DesktopSettingsModal with TwoFactorSettings component.
- Fixed Service Worker stale cache issues with no-cache headers and version guard.
- Bumped service-worker cache version to
v2.5.3-rc4.
Changed
- Broadcast now sends to a dedicated public channel instead of Saved Messages.
- Required channels are pinned at the top of the chat list.
- Admin Panel version label updated to v2.5.3-rc4.
2.5.3-rc3
Full Changelog: 1.0.0...2.5.3-rc3
v2.5.3-rc3 - 2026-05-25
Added
- Added Broadcast messaging from Admin Panel — send messages to all users, online users, or by role (delivered to Saved Messages).
- Added Export Data feature — download users, chats, files, and audit logs in CSV or JSON format.
- Added Bulk Actions for users — multi-select with checkboxes and batch Ban / Unban / Delete.
- Added Bulk Actions for chats — multi-select with checkboxes and batch Delete.
- Added Enhanced User Detail — view recent messages, devices (user agents), and login history from the user detail drawer.
- Added new admin API endpoints:
POST /api/admin/broadcast,GET /api/admin/export/:type,POST /api/admin/bulk/users,POST /api/admin/bulk/chats,GET /api/admin/users/:id/activity. - Added Broadcast and Export tabs to the Admin Panel sidebar navigation.
Changed
- Updated Admin Panel version label to v2.5.3-rc3.
- Bumped client and server package versions to
2.5.3-rc3.
2.5.3-rc2
Full Changelog: 1.0.0...2.5.3-rc2
Added
- Added End-to-End Encryption (E2EE) foundation for DM chats using X3DH key agreement and AES-256-GCM symmetric encryption.
- Added E2EE key generation, upload, and bundle fetch API endpoints (
/api/e2ee/keys/*). - Added database migration
031-e2ee-keysfor identity keys, signed prekeys, one-time prekeys, and session storage. - Added client-side E2EE crypto module with ECDH P-256 key exchange, HKDF key derivation, and AES-256-GCM message encryption.
- Added client-side E2EE key store using a dedicated IndexedDB database (
birdx-e2ee-keys). - Added
useE2eehook for automatic session establishment, message encryption/decryption, and prekey replenishment. - Added green lock indicator in the chat header when E2EE is active between both DM participants.
- Added automatic E2EE message decryption for incoming messages via SSE events.
Changed
- Messages in E2EE-enabled DM chats are encrypted client-side before sending; the server only stores ciphertext.
- Bumped service-worker cache version to
v2.5.3-rc2.
2.5.3rc1
v2.5.3-rc1 - 2026-05-20
Added
- Added draggable minimized call card so users can reposition the floating call widget by touch or mouse drag.
Fixed
- Fixed API rate limiter not being applied in production due to incorrect middleware ordering (registered after routes instead of before).
- Fixed channel posting permissions to allow owner, admin, and moderator roles to send messages, matching the documented behavior from v2.4.2.
- Fixed message reactions not appearing in real-time for other chat participants without a page refresh..
- Fixed push notification click not opening the correct chat due to
OPEN_CHAT_ID_KEYmismatch betweenApp.jsxandchatPageConstants.js. - Fixed
socket.iomissing fromserver/package.jsondependencies (was only in root).
Changed
- Added Socket.IO session authentication middleware so only authenticated users can connect to the call signaling service.
- Restricted Socket.IO CORS to same-origin in production mode for improved security.
- Updated
NOTIFICATIONS_ENABLED_KEYandOPEN_CHAT_ID_KEYconstants to usebirdx-prefix. - Bumped app, server, client, service-worker cache, and documentation versions to
2.5.3-rc1.
Full Changelog: 1.0.0...2.5.3rc1
2.5.2
Full Changelog: 2.5.1...2.5.2
Added
- Added minimized call mode with a wider floating call card.
- Added compact video-call controls for microphone, camera, camera switching, device selection, reconnect, and desktop screen sharing.
- Added automatic video-call control hiding after 3 seconds with tap or click to reveal.
- Added connection quality feedback for active calls.
Changed
- Refined video-call toolbar styling and hid screen sharing on mobile.
- Improved active-call cleanup and recovery for camera, screen share, and ICE reconnect handling.
- Bumped app, server, client, service-worker cache, and documentation versions to
2.5.2.
2.5.1
Full Changelog: 2.5.0...2.5.1
Added
- Added the first multilingual interface foundation with English and Persian language support.
- Added a Language settings panel that persists the selected language on each device.
- Added global
langanddirhandling so Persian switches the app shell into RTL layout.
Changed
- Localized the Settings, Data, Language, Notifications, and About surfaces as the first translated UI pass.
- Bumped app, server, client, service-worker cache, and documentation versions to
2.5.1.
2.5.0
Added
- Started the call experience upgrade with persistent call history foundations.
- Added database migration
028-call-logsfor call logs and call participants. - Added
GET /api/chats/:chatId/callsfor per-chat call history. - Added a Call history section to chat profiles.
Changed
- Voice-call socket events now record started, accepted, rejected, ended, and disconnect-timeout call outcomes.
2.4.2
Added
- Added owner-controlled group/channel role management from the chat profile member list.
- Added
owner,admin,moderator, andmemberrole selection for group/channel members. - Added a call resume signal and server-side disconnect grace period so brief mobile screen-lock or background reconnects do not immediately end active calls.
- Added best-effort Screen Wake Lock support while a voice call is active.
Changed
- Channel posting permissions now include group/channel owners, admins, and moderators.
- Voice calls now try to reacquire wake lock and replay remote audio after page focus, pageshow, or visibility changes.
Fixed
- Fixed a white-screen crash risk when opening group/channel chats with incomplete or non-array member payloads after the role-management UI was added.
- Fixed stale cached chat payloads by normalizing chat IDs, member lists, and member roles before rendering group/channel conversations.
- Fixed group/channel edit opening by loading the edit modal with the main chat page instead of a separate lazy chunk, and added a local modal error boundary so editor failures do not blank the whole app.
- Fixed group/channel profile opening by loading the profile modal with the main chat page instead of a separate lazy chunk, preventing a stale modal chunk from blanking the app when tapping a group/channel name.
- Hardened the group/channel edit click handler and modal props so stale or partially migrated chat state cannot crash the chat page while opening the editor.
- Rebuilt the production client bundle and bumped the service-worker cache version so deployed/PWA clients stop serving the older broken group/channel editor assets.
- Reduced cases where mobile voice calls immediately end when the browser socket briefly disconnects.
2.4.1rc1: Fix stale cached chat payloads in group/channel chats
Added
- Added owner-controlled group/channel role management from the chat profile member list.
- Added
owner,admin,moderator, andmemberrole selection for group/channel members. - Added a call resume signal and server-side disconnect grace period so brief mobile screen-lock or background reconnects do not immediately end active calls.
- Added best-effort Screen Wake Lock support while a voice call is active.
Changed
- Channel posting permissions now include group/channel owners, admins, and moderators.
- Voice calls now try to reacquire wake lock and replay remote audio after page focus, pageshow, or visibility changes.
Fixed
- Fixed a white-screen crash risk when opening group/channel chats with incomplete or non-array member payloads after the role-management UI was added.
- Fixed stale cached chat payloads by normalizing chat IDs, member lists, and member roles before rendering group/channel conversations.
- Fixed group/channel edit opening by loading the edit modal with the main chat page instead of a separate lazy chunk, and added a local modal error boundary so editor failures do not blank the whole app.
- Fixed group/channel profile opening by loading the profile modal with the main chat page instead of a separate lazy chunk, preventing a stale modal chunk from blanking the app when tapping a group/channel name.
- Hardened the group/channel edit click handler and modal props so stale or partially migrated chat state cannot crash the chat page while opening the editor.
- Rebuilt the production client bundle and bumped the service-worker cache version so deployed/PWA clients stop serving the older broken group/channel editor assets.
- Reduced cases where mobile voice calls immediately end when the browser socket briefly disconnects.
2.4.1
Added
- Added owner-controlled group/channel role management from the chat profile member list.
- Added
owner,admin,moderator, andmemberrole selection for group/channel members. - Added a call resume signal and server-side disconnect grace period so brief mobile screen-lock or background reconnects do not immediately end active calls.
- Added best-effort Screen Wake Lock support while a voice call is active.
Changed
- Channel posting permissions now include group/channel owners, admins, and moderators.
- Voice calls now try to reacquire wake lock and replay remote audio after page focus, pageshow, or visibility changes.
Fixed
- Reduced cases where mobile voice calls immediately end when the browser socket briefly disconnects.