6.0 -- 2022-11-17
- Users can now mark messages as unread.
- Added support for viewing read receipts, along with settings
allowing both organizations and individual users to disable them.
- Added new compose box button to navigate to the conversation being
composed to, when that is different from the current view.
- Added a scroll-to-bottom button, analogous to the
that appears only when scrolling using the mouse.
- Added support for up to 2 custom profile fields being highlighted in
a user's profile summary popover, and added support for a new
Pronouns custom field type designed to take advantage of
it. Redesigned the custom profile fields administrative UI.
- Redesigned the left sidebar to better organize pinned and inactive
streams, highlight topics where the user was mentioned, and better
advertise streams that the current user can subscribe to.
- Redesigned the private messages experience in the left sidebar to
make browsing conversations more ergonomic, with a similar usage
pattern to browsing the topics within a stream.
- Improved "Recent topics" and renamed it to "Recent conversations"
with the addition of including private messages in the view. The
timestamp links now go to the latest message in the topic, arrow key
navigation was improved, topics containing unread mentions are now
highlighted, as well as many other bug fixes or subtle improvements.
- Messages containing 3 or fewer emoji reactions now display the names
of reacting users alongside the emoji. This eliminates the need to
mouse over emoji reactions to find out who reacted in the vast
majority of cases.
- Replaced the previous "Unavailable" status with a "Go invisible" feature
that is more useful and intuitive.
- The right sidebar now displays user status messages by default, with
an optional compact design available.
- The public access option was enhanced to
skip the login page by default, support switching themes and
languages, and add many other UI improvements.
- Incoming webhook integrations now support filtering which classes of events
are sent into Zulip; this can be invaluable when the third-party service
doesn't support configuring which events to send to Zulip.
- Added support for Ubuntu 22.04.
- Removed support for Debian 10 and PostgreSQL 10 due to their
approaching end-of-life upstream.
- New integrations: Azure DevOps, RhodeCode, wekan.
Full feature changelog
- Redesigned the message actions popover to be better organized.
- Redesigned moving messages to have a cleaner, more consistent UI that is no
longer combined with the message editing UI. One can now choose to send
automated notices when moving messages within a stream, not only between
- Redesigned full user profiles to have a cleaner look and also
display user IDs, which can be important when using the API. Users
can now administer bot stream subscriptions from the bot's full
- Redesigned the gear menu to display basic details about the Zulip
organization, server, and its version.
- Redesigned several organization settings pages to have more
- Redesigned the footer for self-hosted Zulip servers. The footer now has just a
few key links, rather than being almost identical to the footer for the
- Redesigned the 500 error pages for self-hosted Zulip servers to be
clearer and link to the Zulip server troubleshooting guide.
- Redesigned the interface for configuring message editing and
deletion permissions to be easier to understand.
- Added support for emoji added in unicode versions since 2017, which
had previously been unavailable in Zulip. Users using the deprecated
"Google blobs" emoji set are automatically migrated to the modern
"Google" emoji set. The "Google blobs" emoji set remains available
for users who prefer it, with any new emoji that were added to the
Unicode standard since 2017 displayed in the modern "Google" style.
- Added support for changing the role of bots in the UI; previously,
this was only possible via the API.
- Added confirmation modals for various destructive actions, such as
- Added new summary statistics on the organization analytics
page. Fixed several bugs with the display of analytics graphs.
- Added support for administrators sending a final email to a user as
part of deactivating their Zulip account.
- Added API endpoint to get a single stream by ID.
- Added beta support for user groups to have subgroups, and for some
permissions settings to be managed using user groups. Over the
coming releases, we plan to migrate all Zulip permissions settings
to be based on this more flexible groups-based system. We currently
expect this migration to be fully backwards-compatible.
- Added a new compliance export management command.
- Zulip's automated emails use the
to reduce auto-responder replies.
- Changed various icons to be more intuitive. The bell-based icon for
muted topics has been replaced by a more standard muted speaker icon.
- Reworked how a new user's language is set to prefer their browser's
configured language over the organization's configured
language. This organization-level setting has been renamed to
"Language for automated messages and invitation emails" to reflect
what it actually does following this change.
- Organized the Drafts panel to prioritize drafts matching the current
- Added an automated notification to the "stream events" topic when
changing a stream's privacy settings.
- Added support for conveniently overriding the default rate-limiting rules.
- Improved the search typeahead to show profile pictures for users.
- Improved typeahead matching algorithm for stream/user/emoji names
containing multiple spaces and other corner cases.
- Improved the help center, including better display of keyboard
shortcuts, mobile documentation for common workflows and many polish
- Improved API documentation, including a new page on roles and
permissions, an audit to correct missing Changes entries, and
new documentation for several previously undocumented endpoints.
- Improved Python static type-checking to make use of Django stubs for
mypy, fixing many minor bugs in the process.
- Improved RealmAuditLog to cover several previously unauditable changes.
- Improved the experience for users who have not logged in for a long
time, and receive an email or push notification about a private
message or personal mention. These users are now automatically soft
reactivated at the time of the notification, for a smoother
experience when they log in.
- Improved the Tornado server-to-client push system's sharding system
to support realm regular expressions and experimental support for
splitting a single realm across multiple push server processes.
- Improved user deactivation modal to provide details about bots and
invitations that will be disabled.
- Improve matching algorithm for left sidebar stream filtering.
- Improved several integrations, including CircleCI, Grafana, Harbor,
NewRelic, and the Slack compatible incoming webhook. Git webhooks
now use a consistent algorithm for choosing shortened commit IDs to
- Improved mention typeahead and rendering for cases where mention
syntax appears next to symbols.
- Improved browser window titles used by the app to be clearer.
- Improved the language in message notification emails explaining
why the notification was sent.
- Improved interface for accessing stream email addresses.
- Reordered the organization settings panels to be more intuitive.
- Increased timeout for processing slow requests from 20s to 60s.
- Removed the "user list in left sidebar in narrow windows" setting.
- Removed limits that prevented replying to Zulip email notifications multiple
times or, several days after receiving them.
- Fixed numerous bugs and performance issues with the Rocket.Chat data
import tool. Improved importing emoji from Slack.
- Fixed several bugs where drafts could fail to be saved.
- Fixed a bug where copy-paste would incorrectly copy an entire message.
- Fixed the app's main loading page to not suggest reloading until
several seconds have passed.
- Fixed multiple bugs that could cause the web app to flood the server
with requests after the computer wakes up from suspend.
- Fixed a bug where public streams imported from other chat systems
could incorrectly be configured as public streams without shared
history, a configuration not otherwise possible in Zulip.
- Fixed several subtle bugs involving editing custom profile field
- Fixed several bugs involving compose box keyboard shortcuts.
- Fixed dozens of settings UI interaction design bugs.
- Fixed subtle caching bugs in the URL preview system.
- Fixed several rare race conditions in the server implementation.
- Fixed many CSS corner cases issues involving content overflowing containers.
- Fixed entering an emoji in the mobile web app using an emoji
- Fixed Enter being processed incorrectly when inputting a character
into Zulip phonetically via an IME composing session.
- Fixed several subtle bugs with confirmation links.
- Fixed a subtle performance issue for full-text search for uncommon words.
- Fixed the estimator for the size of public data exports.
- Fixed "mark all as read" requiring a browser reload.
- Major improvements to our documentation for setting up the development
environment and for joining the project as a new contributor.
- Replaced several Python linters with Ruff, an incredibly fast
Python linter written in Rust.
- Upgraded many third-party dependencies including Django 4.1, and
substantially modernized the Python codebase.
Upgrade notes for 6.0
- Installations using [docker-zulip][docker-zulip] will need to upgrade
Postgres before upgrading to Zulip
6.0, because the previous default of Postgres 10 is no longer
supported by this release.
- Installations using the AzureAD authentication backend will need to
/etc/zulip/zulip-secrets.confafter upgrading. The
azure_oauth2_secretsecret was renamed to
social_auth_azuread_oauth2_secret, to match our other external
- This release contains an expensive migration,
0419_backfill_message_realm, which adds data to a new
column in the message table. Expect it to run for 10-15 minutes per
million messages in the database. The new column is not yet used in
this release, so this migration can be run in the background for
installations hoping to avoid extended downtime.
- Custom profile fields with "Pronouns" in their name and the "short
text" field type were converted to the new "Pronouns" field type.
Nov. 17, 2022, 7:47 p.m.
Zulip Server 6.0
Register or login to:
- 🔍View and search all Zulip releases.
- 🛠️Create and share lists to track your tools.
- 🚨Setup notifications for major, security, feature or patch updates.
- 🚀Much more coming soon!