Zulip - 6.0

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 End shortcut,
    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
    consistent design.
  • 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
    zulip.com website.
  • 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
    deactivating bots.
  • 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 X-Auto-Response-Suppress header
    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.
  • Extracted several JavaScript modules to share code with the mobile
  • 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
    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
    update /etc/zulip/zulip-secrets.conf after upgrading. The
    azure_oauth2_secret secret was renamed to
    social_auth_azuread_oauth2_secret, to match our other external
    authentication methods.
  • This release contains an expensive migration,
    0419_backfill_message_realm, which adds data to a new realm
    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!
Continue with GitHub
Continue with Google