7.0 -- 2023-05-31
Highlights
- Many significant visual changes as part of Zulip's ongoing redesign
project, including message feed headers, background color, mention
colors, dates and times, compose box banners, icons, and
tooltips. Many further improvements are planned for future releases. - Added support for unmuting a topic in a muted stream, previously the
4th most upvoted GitHub issue. - Redesigned the permissions settings for message editing, topic
editing, and moving topics to have a cleaner model. - New compose box features: Scheduling a message to be sent later, a
nicer stream picker, and the ability to switch between stream and
private messages. - Numerous improvements to the Help Center, including documentation
for how to complete many common tasks in the Zulip mobile apps. - Redesigned the interface and permissions model for moving topics to
be independent from message content editing, providing a cleaner
experience and better configurability. - Renamed "Private messages" to "Direct messages" across the user
interface, including search operators. We expect further API changes
to be integrated gradually over coming releases due to backwards
compatibility considerations. - Added a new personal privacy setting for to what extent the user's
email address should be shared with other users in the organization;
previously this was solely controlled by organization
administrators. This is presented to the user during account
creation, including for users imported from other chat products. - Added support for the upcoming Debian 12 release.
Full feature changelog
- Added full support for using JWT authentication to integrate Zulip
with another application. - Added support for SAML Single-Logout initiated by the Zulip server
(SP-initiated Single Logout). - Added new stream setting controlling which users can remove other
subscribers from the stream. - Added new setting to control when messages are marked as read when
scrolling. - Added notification bot messages when another user adds you to or
removes you from a user group. - Added additional confirmation dialogs for actions deserving caution,
including marking all messages as read, removing the last user from a
private stream, and disabling all notifications for direct messages. - Added support for Postgres 15, and removed support for Postgres 11.
- Added new
z
keyboard shortcut to view a message in context. - Added new
=
keyboard shortcut to upvote an existing emoji reaction. - Changed the
s
keyboard shortcut to be a toggle, replacing the
previous model that required boths
andS
keyboard shortcuts. - Clarified automated notifications when moving and resolving topics.
- New webhook integrations: Rundeck.
- Reworked linkifiers to use URL templates for the URL patterns.
- Improved left sidebar to show more topics within the current stream,
and more private message converations, especially when many are
unread. - Reworked the internals of the main message feed scrollbar, fixing
several longstanding bugs. - Improved many interaction details in the settings subsystem,
including how files are uploaded, hover behaviors, etc. - Improved the logged out experience to suggest logging in to see more
streams in the left sidebar. - Improved many subtle details of compose box autocomplete, file
uploads, and error handling. Browser undo now works more
consistently in the compose box. - Improved subscriber management in stream settings to support sorting
users and seeing their user cards after a click. - Improved previously unspecified behavior when multiple overlapping
linkifiers applied to syntax within a message. - Improved subject lines for email notifications in topics that have
been resolved so that email clients will thread them with the
pre-resolution topic. - Improved how the Slack data import tool handles Slack threads.
- Improved the Slack incoming integration's handling of fancier Slack
syntax. - Improved notification format for most Git integrations.
- Improved onboarding emails with better content and links to guides.
- Improved how uploaded files are served with the S3 file uploads
backend to better support browser caching. - Improved the instructions for data imports from third-party tools to
be much more detailed. - Improved the web application's main loading indicator.
- Improved the visuals of todo and poll widgets.
- Improved the content of onboarding emails.
- Improved default for whether to include the Zulip realm name in
the subject line of email notifications. - Improved rendering format for emoji inside headings.
- Improved performance of rendering message views.
- Improved capabilities of compliance exports, including new CSV format.
- Fixed missing localization for dates/times in the message feed.
- Fixed a subtle issue causing files uploaded via the incoming email
gateway to not be viewable. - Fixed a subtle compose box issue that could cause a message to be
sent twice. - Fixed several subtle bugs involving messages that failed to send.
- Fixed several subtle bugs in message feed loading and rendering.
- Fixed several subtle live-update bugs involving moving messages.
- Fixed several error handling bugs in the message edit UI.
- Fixed an issue where newly created users could get email
notifications for messages from Welcome Bot. - Fixed an issue the management command to garbage-collect uploaded
files that are no longer used in a message was not running in cron. - Fixed noticeable lag when marking messages as unread in the web app.
- Fixed a bug that could cause duplicate mobile push notifications.
- Fixed several error handling issues with the data export process.
- Fixed several subtle issues affecting certain container runtimes.
- Added support for configurable hooks to be run when upgrading the
Zulip server. - Added support for using TLS to secure the RabbitMQ connection.
- The Zulip API now includes a
ignored_parameters_unsupported
field
to help client developers debug when they are attempting to use a
parameter that the Zulip server does not support. - Migrated web application error reporting to use Sentry.
- Significant portions of the original Bootstrap CSS framework have
been deleted. This is an ongoing project. - Converted many JavaScript modules to TypeScript.
- Reorganized the codebase, with new web/, help/, and api_docs/
top-level directories. - Upgraded many third-party dependencies, including to Django 4.2 LTS.
Upgrade notes for 7.0
- When the S3 storage backend is used for
storing file uploads, those contents are now fetched by nginx, cached locally
on the server, and served to clients; this lets clients cache the contents,
and saves them a redirect. However, it may require administrators adjust the
size of the server's cache if they have a large deploy; see the
documentation. - Removed the
application_server.no_serve_uploads
setting in
/etc/zulip/zulip.conf
, as all uploads requests go through Zulip now. - Installations using the previously undocumented JWT authentication
feature will need
to make minor adjustments in the format of JWT requests; see the
documentation for details on the new format. - High volume log files like
server.log
are now by default retained
for 14 days, configured via theaccess_log_retention_days
deployment
option. This
replaces a harder to understand size-based algorithm that was not
easily configurable. - The URL patterns for
linkifiers have
been migrated from a custom format string to RFC 6570 URL
templates. A database migration will automatically migrate existing
linkifiers correctly in the vast majority of cases, but some fancier
linkfiers may require manual adjustment to generate correct URLs
following this upgrade. - PostgreSQL 11 is no longer supported; if you are currently using it, you will
need to upgrade PostgreSQL
before upgrading Zulip. - Installations that deploy Zulip behind a reverse
proxy should make sure the proxy is configured
to set theX-Forwarded-Proto
HTTP header; the documentation has
updated example configuration. - Zulip's Twitter preview integration has been disabled due to Twitter
desupporting the API that it relied on.