Skip to content

Releases: iPmartNetwork/BirdX

2.5.3-rc4

Choose a tag to compare

@iPmartNetwork iPmartNetwork released this 25 May 22:05

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.ban events.
  • 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 by effectiveMaxTotalSize referencing 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

Choose a tag to compare

@iPmartNetwork iPmartNetwork released this 25 May 11:09

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

Choose a tag to compare

@iPmartNetwork iPmartNetwork released this 20 May 06:02
c08bac0

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-keys for 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 useE2ee hook 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

Choose a tag to compare

@iPmartNetwork iPmartNetwork released this 19 May 23:03

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_KEY mismatch between App.jsx and chatPageConstants.js.
  • Fixed socket.io missing from server/package.json dependencies (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_KEY and OPEN_CHAT_ID_KEY constants to use birdx- 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

Choose a tag to compare

@iPmartNetwork iPmartNetwork released this 18 May 19:17
7e49fbc

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

Choose a tag to compare

@iPmartNetwork iPmartNetwork released this 18 May 09:48
5072a67

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 lang and dir handling 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

Choose a tag to compare

@iPmartNetwork iPmartNetwork released this 09 May 19:37
2bf7988

Added

  • Started the call experience upgrade with persistent call history foundations.
  • Added database migration 028-call-logs for call logs and call participants.
  • Added GET /api/chats/:chatId/calls for 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

Choose a tag to compare

@iPmartNetwork iPmartNetwork released this 09 May 18:26
e35f3e1

Added

  • Added owner-controlled group/channel role management from the chat profile member list.
  • Added owner, admin, moderator, and member role 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

Choose a tag to compare

@iPmartNetwork iPmartNetwork released this 09 May 13:14
f031117

Added

  • Added owner-controlled group/channel role management from the chat profile member list.
  • Added owner, admin, moderator, and member role 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

Choose a tag to compare

@iPmartNetwork iPmartNetwork released this 09 May 10:55
c70fab3

Added

  • Added owner-controlled group/channel role management from the chat profile member list.
  • Added owner, admin, moderator, and member role 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.