Changelog History
Page 2
-
v2.1.6 Changes
June 17, 20202.1.6 -- 2020-06-17
- ๐ Fixed use of Python 3.6+ syntax in 2.1.5 release that prevented
installation on Ubuntu Xenial.
- ๐ Fixed use of Python 3.6+ syntax in 2.1.5 release that prevented
-
v2.1.5 Changes
June 17, 20202.1.5 -- 2020-06-16
- CVE-2020-12759: Fix reflected XSS vulnerability in Dropbox webhook.
- CVE-2020-14194: Prevent reverse tabnapping via topic header links.
- ๐ CVE-2020-14215: Fixed use of invitation role data from expired
invitations on signup via external authentication methods. - CVE-2020-14215: Fixed buggy
0198_preregistrationuser_invited_as
๐ database migration from the 2.0.0-rc1 release, which incorrectly added
the administrator role to invitations. - CVE-2020-14215: Added migration to clear the administrator role from
any invitation objects already corrupted by the buggy version of the
0198_preregistrationuser_invited_as
migration. - ๐ Fixed missing quoting of certain attributes in HTML templates.
- ๐ Allow /etc/zulip to be a symlink (for docker-zulip).
- ๐ Disabled access from insecure Zulip Desktop releases below version 5.2.0.
- ๐ Adjusted Slack import documentation to help administrators avoid OOM
kills when doing Slack import on low-RAM systems. - ๐ Fixed a race condition fetching users' personal API keys.
- ๐ Fixed a few bugs with Slack data import.
-
v2.1.4 Changes
April 16, 2020- ๐ Fixed a regression in 2.1.3 that impacted creating the very first
organization via our data import tools. - โ Remove the old
tsearch_extras
postgres extension, which was causing
๐ป an exception restoring backups on fresh Zulip servers that had been
๐ generated on systems that had been upgraded from older Zulip releases. - โ Removed fetching GitHub contributor data from static asset build
โฌ๏ธ process. This makesupgrade-zulip-from-git
much more reliable. - โก๏ธ Updated translation data from Transifex.
- ๐ Support for Ubuntu 16.04 Xenial and Debian 9 Stretch is now deprecated.
- ๐ Fixed a regression in 2.1.3 that impacted creating the very first
-
v2.1.3 Changes
April 01, 20202.1.3 -- 2020-04-01
- CVE-2020-9444: Prevent reverse tabnapping attacks.
- ๐ CVE-2020-9445: Remove unused and insecure modal_link feature.
- CVE-2020-10935: Fix XSS vulnerability in local link rewriting.
- Blocked access from Zulip Desktop versions below 5.0.0. This
behavior can be adjusted by editingDESKTOP_*_VERSION
๐ in/home/zulip/deployments/current/version.py
. - Restructured server initialization to simplify initialization of
๐ณ Docker containers (eliminating common classes of user error). - โ Removed buggy feedback bot (
ENABLE_FEEDBACK
). - Migrated GitHub authentication to use the current encoding.
- ๐ Fixed support for restoring a backup on a different minor release
(in the common case they have the same database schema). - ๐ Fixed restoring backups with memcached authentication enabled.
- ๐ Fixed preview content (preheaders) for many emails.
- ๐ Fixed buggy text in missed-message emails with PM content disabled.
- ๐ Fixed buggy loading spinner in "emoji format" widget.
- ๐ Fixed sorting and filtering users in organization settings.
- ๐ Fixed handling of links to deleted streams.
- ๐ Fixed check-rabbitmq-consumers monitoring.
- ๐ Fixed copy-to-clipboard button for outgoing webhook bots.
- ๐ Fixed logging spam from soft_deactivation cron job.
- ๐ Fixed email integration handling of emails with nested MIME structure.
- ๐ Fixed unicode bugs in incoming email integration.
- ๐ Fixed error handling for Slack data import.
- ๐ Fixed incoming webhook support for AWX 9.x.y.
- ๐ Fixed a couple missing translation tags.
- ๐ Fixed "User groups" settings UI bug for administrators.
- ๐ Fixed data import tool to reset resource limits after importing
๐ data from a free plan organization on zulipchat.com. - ๐ Changed the SAML default signature algorithm to SHA-256, overriding
0๏ธโฃ the SHA-1 default used by python3-saml.
-
v2.1.2 Changes
January 16, 20202.1.2 -- 2020-01-16
- Corrected fix for CVE-2019-19775 (the original fix was affected by
๐ an unfixed security bug in Python's urllib, CVE-2015-2104). - Migrated data for handling replies to missed-message emails from
semi-persistent redis to the fully persistent database. - โ Added authentication for redis and memcached even in configurations
where these are running on localhost, for add hardening against
attacks from malicious processes running on the Zulip server. - ๐ Improved logging for misconfigurations of LDAP authentication.
- ๐ Improved error handling for invalid LDAP configurations.
- ๐ Improved error tracebacks for invalid memcached keys.
- ๐ Fixed support for using LDAP with email address visibility
limited to administrators. - ๐ Fixed styling of complex markup within /me messages.
- ๐ Fixed left sidebar duplicating some group private message threads.
- ๐ Fixed the "Mentions" narrow being unable to mark messages as read.
- ๐ Fixed error handling bug preventing rerunning the installer.
- ๐ Fixed a few minor issues with migrations for upgrading from 2.0.x.
- Corrected fix for CVE-2019-19775 (the original fix was affected by
-
v2.1.1 Changes
December 14, 20192.1.1 -- 2019-12-13
- ๐ Fixed upgrading to 2.1.x with the LDAP integration enabled in a
configuration whereAUTH_LDAP_REVERSE_EMAIL_SEARCH
is newly
required, but is not yet set. - Reimplemented
--postgres-missing-dictionaries
installer option,
๐ used with our new support for a DBaaS managed database. - Improved documentation for
AUTH_LDAP_REVERSE_EMAIL_SEARCH
.
- ๐ Fixed upgrading to 2.1.x with the LDAP integration enabled in a
-
v2.1.0 Changes
December 13, 20192.1.0 -- 2019-12-12
Highlights:
- โ Added support for Debian buster. Removed support for EOL Ubuntu Trusty.
- โ Added support for SAML authentication.
- โ Removed our dependency on
tsearch_extras
, making it possible to
โ run a production Zulip server against any postgres database
(including those where one cannot install extensions, like Amazon RDS). - Significantly improved the email->Zulip gateway, and added nice
๐ setup documentation. It now should be possible to subscribe a
Zulip stream to an email list and have a good experience. - โ Added an option for hiding access to user email addresses from
other users. While counterproductive for most corporate
communities, for open source projects and other volunteer
๐ organizations, this can be a critical anti-spam feature. - โ Added a new setting controlling which unread messages are counted in
the favicon, title, and desktop app. - ๐ Support for showing inline previews of linked webpages has moved
โฌ๏ธ from alpha to beta. See the upgrade notes below for some changes in
๐ง how it is configured. - โ Added support for importing an organization from Mattermost (similar
to existing Slack/HipChat/Gitter import tools). Slack import now
๐ supports importing data only included in corporate exports,
including private messages and shared channels. - โ Added markdown support and typeahead for mentioning topics.
- Email notifications have been completely redesigned with a minimal,
๐ readable style inspired by GitHub's email notifications. - ๐ We merged significant preparatory work for supporting RHEL/CentOS in
โ production. We're now interested in beta testers for this feature. - ๐ Reorganized Zulip's documentation for sysadmins, and added
๐ new documentation on maintaining a fork of Zulip. - โ Added new
streams:public
search operator that searches the public
history of all streams in the organization (even before you joined). - โ Added support for sending email and mobile push notifications for
wildcard mentions (@ALL and @everyone). Previously, they only
๐ง triggered desktop notifications; now, that's configurable.
โฌ๏ธ Upgrade notes:
0๏ธโฃ The defaults for Zulip's now beta inline URL preview setting have changed.
Previously, the server-levelINLINE_URL_EMBED_PREVIEW
setting was
disabled, and organization-level setting was enabled. Now, the
0๏ธโฃ server-level setting is enabled by default, and the organization-level
setting is disabled. As a result, organization administrators can
๐ง configure this feature entirely in the UI. However, servers that had
previously enabled previews of linked websites will lose the setting and
need to re-enable it.We rewrote the Google Authentication backend to use the
python-social-auth
system we use for other third-party
๐ authentication systems. For this release, the old variable names
โก๏ธ still work, but users should update the following setting names in
๐ง their configuration as we will desupport the old names in a future
๐ release:- In
/etc/zulip/zulip-secrets.conf
,google_oauth2_client_secret
is now called withsocial_auth_google_secret
. - In
/etc/zulip/settings.py
,GOOGLE_OAUTH2_CLIENT_ID
should be
replaced withSOCIAL_AUTH_GOOGLE_KEY
. - In
/etc/zulip/settings.py
,GoogleMobileOauth2Backend
should
be replaced with calledGoogleAuthBackend
.
Installations using Zulip's LDAP integration without
LDAP_APPEND_DOMAIN
will need to configure two new settings telling
Zulip how to look up a user in LDAP given their email address:
AUTH_LDAP_REVERSE_EMAIL_SEARCH
andAUTH_LDAP_USERNAME_ATTR
. See
๐ง the LDAP configuration instructions
for details. You can use the usualmanage.py query_ldap
method to
๐ verify whether your configuration is working correctly.๐ The Zulip web and desktop apps have been converted to directly count
all unread messages, replacing an old system that just counted the
(recent) messages fully fetched by the webapp. This one-time
transition may cause some users to notice old messages that were
sent months or years ago "just became unread". What actually
happened is the user never read these messages, and the Zulip webapp
was not displaying that. Generally, the fix is for users to simply
mark those messages as read as usual.Previous versions of Zulip's installer would generate the secrets
local_database_password
andinitial_password_salt
. These
secrets don't do anything, as they only modify behavior of a Zulip
development environment. We recommend deleting those lines from
โฌ๏ธ/etc/zulip/zulip-secrets.conf
when you upgrade to avoid confusion.๐ This release has a particularly expensive database migration,
changing theUserMessage.id
field from anint
to abigint
to
๐ support more than 2 billion message deliveries on a Zulip server.
It runs in 2 phases: A first migration that doesn't require the
server to be down (which took about 4 hours to process the 250M rows
on chat.zulip.org, and a second migration that does require downtime
(which took about 60 seconds for chat.zulip.org). You can check the
number of rows for your server withUserMessage.objects.count()
.We expect that most Zulip servers can happily just use the normal
โฌ๏ธ upgrade process with a few minutes of downtime. Zulip servers with
โฌ๏ธ over 1M messages may want to first upgrade to this commit
โฌ๏ธ usingupgrade-zulip-from-git
, following the instructions to avoid
๐ downtime, and then upgrade to the new release.Full feature changelog:
- โ Added sortable columns to all tables in settings pages.
- โ Added webapp support for self-service public data exports.
- โ Added 'e' keyboard shortcut for editing currently selected message.
- โ Added support for unstarring all starred messages.
- โ Added support for using
|
as an OR operator in sidebar search features. - โ Added direct download links for Android APKs to our /apps page.
- โ Added a responsive design for our /integrations/ pages.
- โ Added typeahead for slash commands.
- โ Added more expansive moderation settings for who can create streams,
edit user groups, or invite other users to join streams. - โ Added new Bitbucket Server, Buildbot, Harbor, Gitea and Redmine integrations.
- โ Added proper open graph tags for linking to a Zulip organization.
- โ Added organization setting to disable users uploading new avatars
๐ (for use with LDAP synchronization). - โ Added support for completely disabling the file upload feature.
- โ Added a new "external account" custom profile field type, making it
convenient to link to profiles on GitHub, Twitter, and other tools. - โ Added support for choosing which email address to use in GitHub auth.
- โ Added a new setting to control whether inactive streams are demoted.
- โ Added webapp support for new desktop app features: inline reply
from notifications, and detecting user presence from OS APIs. - โ Added markdown support for headings, implemented using
# heading
,
๐ and removed several other unnecessary differences from CommonMark. - โ Added local echo when editing messages for a more responsive experience.
- ๐ Changes to global notification settings for stream messages now
affect existing subscriptions where the user had not explicitly
๐ changed the notification settings, as expected. - 0๏ธโฃ The default setting value is now to send mobile push notifications
if the user was recently online. - ๐ Fixed issues with positioning and marking messages as read when
doing a search where some results are unread messages. - The private messages widget shows much deeper history of private
message conversations in a scrollable widget (1K PMs of history). - When there are dozens of unread topics, topic lists in the left
sidebar now show at most 8 topics, with the rest behind "more topics". - ๐ New users now see their most recent 20 messages as unread, to
๐ provide a better onboarding experience. - Redesigned the in-app "keyboard shortcuts" popover to be more usable.
- Redesigned the interactions on several settings pages.
- Significantly improved the visual spacing around bulleted lists,
blockquotes, and code blocks in Zulip's message feed. - Extended buttons to visit links in topics to all URLs, not just
URLs added by a linkifier. - Extended several integrations to cover more events and fix bugs, and
rewrote formatting for dozens of integraitons for cleaner punctuation. - The beta "weekly digest emails" feature is again available as an
๐ง organization-level configuration option, after several improvements. - ๐ป The administrative UI for managing bots now nicely links to the
bot's owner. - Restructured "private messages" widget to have a cleaner design.
- ๐ Significantly improved performance of the backend markdown processor.
- ๐ Significantly improved Help Center documentation of dozens of features.
- Simplified and internationalized some notification bot messages.
- The compose box placeholder now shows users active status.
- Clicking the "EDITED" text on a message now pops message edit history.
- 0๏ธโฃ Adjusted the default streams in new realms to be easier to
understand for new users. - ๐ Improved default nginx TLS settings for stronger security.
- ๐ Improved UI of administrative user management UI.
- ๐ Improved error messages for various classes of invalid searches.
- ๐ Improved styling of both markdown unordered and numbered lists.
- Compose typeahead now autofills stream field if only subscribed to
one stream. - Bot users can now post to announcement-only streams if their owners
๐ can (this preserves the pre-existing security model). - ๐ User full names now must use characters valid in an email from line.
- 0๏ธโฃ Settings pages that normal users cannot modify are now hidden by default.
- The
has:link
,has:attachment
, andhas:image
search keywords
have been redesigned to correctly handle corner cases like links in
code blocks. - Replaced title attributes with nice tooltips in the message feed and
buddy list. - ๐ Fixed incorrect caching settings for the Zulip API, which could result
in browers appearing to display old content or remark messages unread. - ๐ Fixed a bug that prevented sending mobile push notifications when the
๐ user was recently online via the mobile app. - ๐ Fixed buggy handling of LaTeX in quote-and-reply.
- ๐ Fixed buggy rendering of bulleted lists inside blockquotes.
- ๐ Fixed several bugs with CORS in the nginx configuration.
- ๐ Fixed error message for GitHub login attempts with a deactivated account.
- ๐ Fixed email gateway issues with non-latin characters in stream names.
- ๐ Fixed endless re-synchronization of LDAP user avatars (which
๐ could cause user-visible performance issues for desktop/web clients). - ๐ Fixed all known bugs with advanced LDAP data synchronization.
- ๐ Fixed numbered list handling of blank lines between blocks.
- ๐ Fixed performance issues that made users soft-deactivated for over a
year unable to return to the app. - ๐ Fixed missing -X GET/POST parameters in API docs curl examples. The
๐ API documentation for curl examples is now automatically generated
โ with automated tests for the examples to prevent future similar bugs. - ๐ Fixed multi-line /me messages only working for the sender.
- ๐ Fixed password strength meter not updating on paste.
- ๐ Fixed numerous errors and omissions in the API documentation. Added
๐ a test suite comparing the API documentation to the implementation. - ๐ Fixed copy/paste of blocks of messages in Firefox.
- ๐ Fixed problems with exception reporting when memcached is down.
- ๐ Fixed pinned streams being incorrectly displayed as inactive.
- ๐ Fixed password reset page CSS for desktop app.
- ๐ Fixed "more topics" appearing for new streams, where we can be
๐ป confident we already have all the topics cached in the browser. - ๐ Fixed some subtle bugs with event queues and message editing.
- ๐ Fixed real-time sync for reactions and message edits on a message
sent to a private stream with shared history before the current user
joined that stream. - ๐ Fixed several subtle real-time sync issues with "stream settings".
- ๐ Fixed a few subtle markdown processor bugs involving emoji.
- ๐ Fixed several issues where Linkifiers validation was overly restrictive.
- ๐ Fixed several rare/minor UI consistency issues in the left sidebar.
- ๐ Fixed issues involving saving a message edit before file upload completes.
- ๐ Fixed issues with pasting images into the compose box from Safari.
- ๐ Fixed email gateway bot being created with incorrectly cached permissions.
- ๐ Fixed guest users seeing UI widgets they can't use.
- ๐ Fixed several issues with click handlers incorrectly closing compose.
- ๐ Fixed buggy behavior of /me messages not ending with a paragraph.
- ๐ Fixed several major UI issues with the mobile webapp.
- ๐ Fixed HTML styling when copy-pasting content out of Zulip's night theme.
- ๐ Fixed obscure traceback with Virtualenv 16.0.0 unexpectedly installed.
- โ Added a new visual tool for testing webhook integrations.
- Rewrote the Google authentication backend to use python-social-auth,
removing Zulip's original 2013-era SSO authentication backend. - ๐ The
/server_settings
API now advertises supported authentication
methods alongside details on how to render login/registration buttons. - Rewrote HTML/CSS markup for various core components to be more
easily modified. - โ Removed the legacy static asset pipeline; everything now uses webpack.
- ๐ Renamed the system bot Zulip realm to "zulipinternal" (was "zulip").
- Switched our scrollbars to use simplebar, fixing many subtle
scrollbar-related bugs in the process. - Enabled webpack code splitting and deduplication.
- Started migrating our frontend codebase to TypeScript.
-
v2.1.0-rc1 Changes
November 22, 2019๐ Release Zulip server 2.1.0-rc1.
-
v2.0.8 Changes
December 13, 20192.0.8 -- 2019-12-12
- CVE-2019-19775: Close open redirect in thumbnail view.
-
v2.0.7 Changes
November 21, 20192.0.7 -- 2019-11-21
- CVE-2019-18933: Fix insecure account creation via social authentication.
- โ Added backend enforcement of zxcvbn password strength checks.