Zulip Server 12.0

12.0

Zulip Server 12.0

Added 12
  • End-to-end encrypted mobile push notifications are now generally available and enabled if both server and client are modern
  • Added a new organization setting for media preview size, controlling image and video thumbnail sizes in message content
  • Added support for using Jdenticons for default profile pictures, which are the default for new organizations
  • Linkifiers now support reverse linkification: pasting a URL matching a linkifier pattern auto-converts to its short text form
  • Added a jump-to-date picker in the message feed, accessible by clicking a date separator or the date in the conversation header bar
  • Added support for administrators to bulk-edit most settings for existing users via the Default user settings panel
Changed 7
  • Uploaded images and audio files now use the ![alt text](url) markdown syntax, which does not require a separate link element
  • Redesigned the Recent Conversations view with a new table layout, one-line conversation display, folder filter dropdown, improved column sizing and alignment, and better touchscreen support
  • Redesigned channel-specific settings with a much cleaner view, a dedicated Permissions tab, and support for filtering by folder
  • Emoji-only messages now render the emoji extra large
  • Improved search typeahead with topic suggestions from all subscribed channels and nicer styling for channel/topic pair suggestions
  • Migrated the help center to Starlight, the Astro-based static site generator, adding full-text search and a modernized design
  • Reworked the Zulip Docker container and published the new version as https://ghcr.io/zulip/zulip-server with improved documentation and tests for Docker Compose and Helm deployments

Released 2026-04-27

Highlights
  • End-to-end encrypted mobile push notifications are now generally available and enabled if both server and client are modern.
  • Uploaded images and audio files now use the ![alt text](url) markdown syntax, which does not require a separate link element.
  • Added a new organization setting for media preview size, controlling image and video thumbnail sizes in message content.
  • Added support for using Jdenticons for default profile pictures. Jdenticons render better in both Zulip themes and have less privacy risk than Gravatar, and are the default for new organizations.
  • Redesigned the Recent Conversations view with a new table layout, one-line conversation display, folder filter dropdown, improved column sizing and alignment, and better touchscreen support.
  • Redesigned channel-specific settings, with a much cleaner view and a dedicated "Permissions" tab. The channel settings panel now supports filtering by folder.
  • Emoji-only messages now render the emoji extra large.
  • Linkifiers now support reverse linkification: pasting a URL matching a linkifier pattern auto-converts to its short text form.
  • Added a jump-to-date picker in the message feed, accessible by clicking a date separator or the date in the conversation header bar.
  • Added support for administrators to bulk-edit most settings for existing users via the "Default user settings" panel. Administrators can choose to only edit settings for users who haven't already changed that setting. (Security and privacy settings cannot be edited by administrators).
  • Added Nextcloud Talk, Constructor Groups, and Webex as video call provider options.
  • Added a "Report message" feature, with a configurable private channel for moderators to handle reports.
  • Added demo organizations, which allow testing Zulip without sharing an email address.
  • Improved search typeahead with topic suggestions from all subscribed channels and nicer styling for channel/topic pair suggestions.
  • Added many new default external account types for custom profile fields, made the URL pattern optional, and made external accounts available for matching users in typeahead.
  • Added a beta data import tool for Microsoft Teams.
  • Migrated the help center to Starlight, the Astro-based static site generator, adding full-text search and a modernized design.
  • The Zulip Docker container has been reworked, and the new version published as https://ghcr.io/zulip/zulip-server. This resolves nearly all outstanding issues in the issue tracker, and adds tests and substantially more documentation, for both Docker Compose and Helm deployments. See the upgrade notes for details.
Full feature changelog
  • Added a "frequently used" section to the web app emoji picker.
  • Added a channel-specific setting for who can create topics.
  • Added an organization setting to disable automated messages about channel events (e.g., channel description changes).
  • Added a Roles tab in group settings, detailing the permissions assigned to users with specific roles.
  • Added a mentions: search operator for finding messages that mention a specific user, distinct from has:mention which filters to messages mentioning yourself.
  • Added an icon button in recipient headers to copy the topic link.
  • Added an "unsupported browser" warning for ancient browser versions.
  • Added an is:followed filter for topics in the left sidebar.
  • Added image cropping support for realm logo, realm icon, and user avatar uploads.
  • When deactivating a user, administrators now have convenient options to delete their messages or scrub their profile information.
  • Added distinct "Deleted user" display for accounts that have been permanently deleted (unlike deactivated users, which preserves metadata and is reversible).
  • Added Discord as an authentication option.
  • Added SCIM support for syncing custom profile fields.
  • The SAML integration now supports automatically handling changes in user email addresses, when provided with a unique ID for each user, matching the equivalent LDAP capability added in Zulip 11.0. SAML can now also sync the full_name user attribute on login.
  • The LDAP integration's automatic handling of email-address changes, added in Zulip 11.0, now also applies during periodic sync_ldap_user_data runs, in addition to login.
  • Added a channels:archived search filter.
  • Added support for quoting or forwarding multiple selected messages at once, with the compose box pre-configured based on the selected messages' recipients.
  • Message permalink views now mark messages as read as you scroll, once you have scrolled up past any older unread messages in the conversation (matching other conversation views).
  • Added arrow-key navigation in the zoomed-in topic list and direct messages list.
  • Added a "Channel display options" submenu to the left sidebar three-dot menu.
  • Added typeahead matching for user groups when the query begins with @.
  • Poll and todo widgets now show an edited marker when modified.
  • Channel privacy icons now appear in channel mentions rendered in message content and quoted replies.
  • Added an /llms.txt discovery endpoint, so that LLM-driven agents can find web-public channels on a Zulip server.
  • Redesigned modals across the app.
  • Redesigned the left sidebar's "all topics" view.
  • Redesigned the GIF picker with nice keyboard UI, a resizable popover, and support for multiple GIF search backends, including Giphy, Tenor, and KLIPY.
  • Redesigned how messages by muted users are displayed.
  • Redesigned the bot management settings panel to match the rest of settings, with consolidated "All bots" / "Your bots" tabbed views.
  • Redesigned the data export UI to better explain the consent model.
  • Redesigned user pills to show "deactivated" status with real-time updates, and present purple group pills across the UI with proper bot and deactivated user icons.
  • Redesigned the API documentation, legal policy, integrations catalog, integration documentation, and login/signup pages to match Zulip's modern visual style.
  • Improved the left sidebar to visually separate the DM section from channels and keep the DM header pinned.
  • Improved the left sidebar n key to better handle channels in collapsed or muted folder sections.
  • Added an expand/collapse-all-sections toggle in the left sidebar filter menu.
  • Left sidebar folder headers now have UI for editing the folder.
  • Messages with pending reminders now indicate that state.
  • Improved the scroll-to-bottom button with a blur-on-hover effect.
  • Improved threading of message notification emails with In-Reply-To and References headers.
  • Improved channel and topic filtering with smarter matching.
  • The message edit box is now resizable with a drag handle.
  • Improved Markdown table rendering with cell vertical alignment and better white-space wrapping.
  • Improved settings responsiveness for narrow screens.
  • Improved keyboard navigation in settings UI, the left and right sidebars, and the compose box.
  • DM compose typeahead now omits deactivated users and users you do not have permission to direct message; the compose box is also disabled for invalid DM recipients.
  • Improved typeahead diacritic matching for multi-word queries.
  • Improved reliability of web app reloads on marginal networks by deferring state-data fetching with retry on failure.
  • Improved the language settings picker to sort languages by display name and show each language name in its own script.
  • Improved IPv6 support and error pages for the rate limiting system.
  • Improved notification emails for admin-initiated profile changes (name changes, role changes, custom profile field updates).
  • Improved handling of revoked invitations to preserve objects and record audit log entries.
  • Improved how drafts with an incomplete recipient are displayed.
  • Improved emoji picker load time by ~15x in organizations with a large number of custom emoji.
  • Improved the compose preview to live-update as uploaded image thumbnails become available.
  • Improved the subscribers list loading experience, with clearer spinners and better empty-list handling.
  • Renamed "Joined" to "Created" in bot profiles.
  • The Markdown process now linkifies RFC 2392 mid: URLs, as well as Asana Desktop, Obsidian, Zotero, and Hansoft deep-link URLs.
  • Added a keyboard shortcut (Shift+Y) to open the set-status modal.
  • Added a keyboard shortcut (L) to copy a link to the currently selected message.
  • Added a compose box keyboard shortcut (Ctrl+Shift+C) for formatting text as code.
  • Added a + button for adding DM recipients in the compose box.
  • Added a "new topic" button in the left sidebar all topics view.
  • Added support for opening media in the lightbox from scheduled messages and message edit history.
  • YouTube video links with a timestamp now correctly open to that point in the video in the lightbox.
  • Added inline preview support for .mov video files in message content.
  • Emoji settings UI now warns when overriding a unicode emoji with a custom emoji.
  • Added new webhook integrations for Redmine, dbt Cloud, and n8n. Rewrote the Intercom webhook integration with full support for ticket, conversation, contact, and company events. Documented Zulip's Atolio connector.
  • Added GitLab webhook support for emoji reaction events, design comments, and an option to ignore events from private projects.
  • Added GitHub webhook support for repository_advisory events and silent mentions for linked GitHub profiles.
  • Added emoji indicators for many event types in the GitHub webhook integration, configurable via an include_emoji URL parameter.
  • Added an "Atlassian account ID" custom profile field type, used by the Jira and Bitbucket Cloud webhooks (along with email matching for Jira) to render referenced users as silent mentions.
  • Improved many webhook integrations, including Travis CI (expanded event coverage, cleaner topics and templates), PagerDuty (better v2 topics and content, removed unsupported v1 events), Jira (removed deprecated payloads, better markup in comment events), GitLab (silent mention support for GitLab usernames), and Harbor (cleaner push event templates).
  • Removed several integrations where the service had shut down (Pivotal, Insping, Bitbucket Server, Jira plugin, Hubot, Dark Sky) or no longer supported the original API (Twitter). Marked Codeship integration as legacy.
  • Updated documentation for dozens of integrations, including fixing names for products that had been renamed.
  • Fixed several issues with pasting logic.
  • Fixed several live-update issues with the Recent Conversations view as well as the left sidebar.
  • Fixed topic suggestion display name for general chat.
  • Fixed the user's cursor in the combined feed being lost on reload.
  • Fixed messages deleted via a message retention policy being incorrectly not removed until the web app reloaded.
  • Fixed several issues with the poll and todo widgets.
  • Fixed the emoji name mapping for the :smile: emoji.
  • Fixed various scroll-to-bottom button hiding issues in topic views and non-message views.
  • Fixed several compose box UI bugs for the web and mobile web experience.
  • Fixed the left sidebar not highlighting the DM header when viewing all DMs.
  • Fixed various settings overlay issues on narrow screens.
  • Fixed user profile modal closing when showing channel/group cards.
  • Fixed several bugs involving the back button after moving messages.
  • Fixed several minor issues in digest email rendering.
  • Fixed several minor bugs with keyboard shortcuts, typeahead, and focus management.
  • Fixed several minor issues with text selection in the main views.
  • Fixed name validation to permit 1-character user names (e.g., a single Chinese character). …
View original

Upgraded? How did it go?

Discussion