Zulip 5.0: Threaded open-source team chat
We’re excited to announce the release of Zulip Server 5.0, containing hundreds of new features and bug fixes!
Zulip is an open-source team collaboration tool with unique topic-based threading that is ideal for both live and asynchronous conversations. Fortune 500 companies, leading open-source projects, and thousands of other organizations use Zulip every day. Zulip’s 100% open-source software is available as a managed cloud service or a self-hosted solution.
Zulip Server 5.0 is a major release, with over 7000 new commits merged across the project since last May’s 4.0. Notable new features include status emoji, marking topics as resolved, improved management of streams and permissions, and much more!
A total of 157 people contributed commits to Zulip since the 4.0 release, bringing the project to over a thousand code contributors. Zulip has by far the most active open-source development community of any team chat software, with 75 people who’ve contributed 100+ commits.
Huge thanks to everyone who’s contributed to Zulip over the last few months, whether by writing code and documentation, reporting issues, translating, supporting us financially, participating in discussions in the Zulip development community, or just suggesting ideas! We could not do this without the hundreds of people giving back to the Zulip community.
“Zulip’s threading model makes it so much easier to manage my team.”
— Gaute Lund, co-founder and owner of iDrift AS [customer story]
Today marks a release of the Zulip server and web application. We’d like to share important news and updates for the project as a whole since last year’s 4.0 release:
Zulip for Education. We have seen more and more educators using Zulip as the communication hub for their classes. Zulip’s threading model makes it a great fit for posting lecture notes and announcements, answering students’ questions, and coordinating with teaching staff all in one place. In response to interest from educators, we have launched a dedicated Zulip for Education offering!
“Zulip has the best user experience of all the chat apps I’ve tried. With the discussion organized by topic within each stream, Zulip is the only app that makes hundreds of conversations manageable.”
— Tobias Lasser, lecturer at the Technical University of Munich Department of Informatics [customer story]
Customer stories. Stories from our customers are a huge source of inspiration for us. Over the last few months, we have published stories of how Zulip is being used for business (iDrift AS company), education (Technical University of Munich and University of California San Diego), research (Lean theorem prover community), and open source (Rust language community, Asciidoctor community).
“Rust development would not be moving at the pace that it has been without Zulip.”
— Rust Language team co-lead Josh Triplett [customer story]
Reviews. An excellent review of Zulip was published in The Register, and Zulip was covered in a VentureBeat article about open-source Slack alternatives.
“Zulip is everything Slack is, but it’s smarter and more powerful.”
— Zulip review in The Register
Apps. The Zulip client apps have been a major priority for the project.
- The Zulip mobile apps for iOS and
Android have made numerous improvements
for a better user experience and a fuller set of Zulip features:
- Better control over when messages get marked as read, including a new setting to never mark messages as read when you view them.
- Complete rework of Android notifications to be more informative and easier to read (1, 2), along with a distinct Zulip sound.
- New support for muted users, polls, and other Zulip features.
- Hundreds of fixed bugs and other improvements.
- The upcoming Zulip Terminal release adds auto-complete for message recipients and topic links, a handy shortcut for reacting to messages, automatic syntax highlighting for code blocks, and more!
- The Zulip mobile apps for iOS and Android have made numerous improvements for a better user experience and a fuller set of Zulip features:
Community and mentorship. Our community is fully committed to helping bring up the next generation of open-source contributors. 2021 was the 6th consecutive year that Zulip participated in Google Summer of Code. Our eighteen GSoC 2021 participants wrote over 1500 commits that have been merged into Zulip’s main branch, and we’re looking forward to welcoming the next cohort of GSoC and Outreachy participants this summer.
“It has been the best summer I’ve ever had! I’m thankful to my mentors, my peers, Zulip, and Google for providing me an opportunity of getting involved in the community! You have helped and supported me to become a better software developer and a passionate open-source contributor.”
— Sarthak Garg, Google Summer of Code 2021 participant
Sponsorships. We proudly sponsor free Zulip Cloud Standard hosting for 700 open-source projects, non-profits, education, and academic research groups. All eligible organizations are encouraged to join the program!
Learning about Zulip
We have been hard at work making it easier to learn about Zulip’s features and unique advantages. Whether you are on the market for a new chat tool, just getting started with Zulip, or an experienced user aiming to fine-tune your workflows, we’ve got you covered.
Read about it. We have a bundle of landing pages describing the features of Zulip that are most relevant for different types of organizations, such as businesses, event organizers, and open-source projects. These are a great reference for anyone considering adopting Zulip, and offer useful tips even for experienced users and organization administrators.
Check it out. With Zulip’s public access feature (in beta), you can browse conversations in our development community to see Zulip in action without creating an account! See for yourself how topics organize dozens of parallel conversations in streams like #design or #feedback.
Self-hosted or in the cloud — you decide. Zulip Cloud hosting offers a professionally run, reliable service that’s fully supported without having to commit your staff’s time. When you self-host, you get the same 100% open-source software as our paid Zulip Cloud Standard customers, with full control over your mission-critical communication platform.
Walk-throughs. Our revamped collection of user guides now offers detailed walk-throughs for getting started with Zulip, setting up your organization, and setting up or using Zulip for a class, among others.
New messaging features
The resolve topic feature allows marking topics as ✔ completed. Resolving topics is a lightweight way to manage a variety of workflows, including support interactions, answering questions, and investigating issues.
The compose box was redesigned with a cleaner look and many improvements to the editing experience. New compose features include:
- New formatting buttons for bold, italics and links.
- A handy button for inserting global times into your message.
- For longer messages, the compose box can be expanded to take up the full screen.
Users can now set a status emoji alongside their status message, making it easy for others to see what they are up to. Status emoji are shown in the sidebars, message feed, and compose box. Animated emoji animate only on hover.
Sharing Zulip conversations
- Zulip makes it convenient to link to a conversation or a message in context from an issue tracker, forum, email or anywhere else. Permanent message links now redirect to the right place even when the message has been moved to a new stream or topic.
- Many open communities want to minimize friction for viewing public conversations in their collaboration tools. With the beta release of the public access option, organizations can set Zulip streams to be viewable by anyone on the Internet without creating an account. Keep an eye out for an announcement of the public release in the coming weeks!
- Timestamps in Zulip messages now offer a handy way to get a permanent link to a message in its conversation thread.
Settings and permissions
- Personal and organization settings have been reorganized to make it easier to find what you’re looking for. For example, personal privacy settings are now grouped under a new “Account & privacy” tab.
- Zulip 5.0 offers increased permissions flexibility. The ability to manage aspects of the organization such as user groups and custom emoji can now be assigned to administrators, moderators, full members, or all members of the organization. Stream creation permissions are controlled separately for private, public, and web-public streams.
- The settings for each stream have been organized into separate tabs for general settings, personal settings, and stream subscribers for easier navigation.
- With a complete redesign of the stream creation menu, it’s easier than ever to add users to the stream you are making. You can add users one at a time or as a group, copy the list of members from another stream, or add everyone in your organization with the click of a button.
- The addition of Streams and User groups tabs to the full user profile makes it convenient to review a user’s subscriptions. Administrators can unsubscribe a user from streams directly from their profile, or click Manage this user to make other changes.
- Organization administrators can now configure default personal preference settings for new users joining the organization. For example, you can change the default theme and emoji set, or turn on stream message notifications in a small organization, among many other options.
- Zulip 5.0 adds support for invitations with configurable expiration, including links that never expire. Deactivating a user now automatically disables all the invitations they have sent.
User experience improvements
This release includes hundreds of other improvements to the Zulip UI, both large and small. A few highlights:
- Images in messages are now displayed in a convenient grid layout, with up to 20 image previews per message.
- The full-screen image viewer has been overhauled, with friendlier pan/zoom functionality and easier-to-understand labels.
- Modals and tooltips have been redesigned to be easier to use, consistent, and visually clean.
- OpenID Connect joins SAML, LDAP, Google, GitHub, Azure Active Directory, and more as a supported Single Sign-On provider.
- SAML authentication now supports syncing custom profile fields. Additionally, SAML authentication now supports automatic account creation and IdP-initiated logout.
- SCIM joins LDAP as a supported protocol for synchronizing Zulip accounts with an external user database.
- Ubuntu Bionic is no longer supported in this release, due to Ubuntu upstream no longer providing security support for important packages. See our OS upgrade documentation for how to correctly upgrade a Zulip server to a new version of the host operating system.
- Zulip servers can now be installed on the ARM systems (including Mac M1 chips).
Our community translators have been hard at work keeping up with the product as it evolves. This release features new or much more complete translations for Portuguese (Portugal), Sinhala and Welsh, bringing the project to a total of 23 languages with translations that cover the majority of non-error strings.
Moving to Zulip
- We have improved support for migrating from other chat tools to Zulip by adding a data import tool for organizations that are migrating from Rocket.Chat.
- Importing Mattermost chat history into Zulip now supports importing uploaded files.
We highly recommend upgrading to Zulip Server 5.0 to take advantage of the hundreds of improvements in this release. If you’re using Zulip Cloud, you already have the new version, as we constantly upgrade it with improvements as they become ready.
We work hard to ensure that upgrades are smooth; you can upgrade by following the straightforward upgrade instructions. The upgrade notes section of the changelog details changes you’ll want to understand before upgrading.
Many installations have already upgraded to release candidates, so we feel very confident in this release. But if you need help, best-effort support is available on chat.zulip.org. You can also purchase commercial support from the Zulip core team.
We have a lot of exciting features coming down the pipeline, including:
- A major web app UI redesign project, which began in January. Our goal is to give Zulip a clean, contemporary feel, while preserving all the thoughtful usability details that our users love. Drop by our development community to sneak a peek at where we’re headed, and offer feedback!
- Changing how permissions work in Zulip to be built on fully custom, hierarchically organized user groups. This will make Zulip’s permissions system flexible enough to implement just about any organizational policy.
- A more limited variant of our guest role, designed especially for organizations that would like to invite external customers to Zulip.
- The “mark as unread” feature will make it easy to get back to Zulip messages that require a follow-up, both on web and on mobile.
Zulip 4.0 was released in May 2021. While we consistently backport important bug fixes, users of self-hosted installations running the 4.x series have thus been missing out on hundreds of other improvements made in the last 10 months.
There’s no technical reason for major Zulip server releases to be so infrequent.
Zulip Cloud runs on the
main Zulip branch, and is updated at least weekly
without significant regressions. Zulip’s engineering discipline is such that we
happily support self-hosted installations that upgrade to
main (which they
often do to get the latest features).
One of our focus areas for the coming weeks will thus be adjusting our release management practices in order to support more frequent major releases. This way, self-hosting users will be able to benefit from Zulip’s rapid pace of improvement without undue delay.
I’d like to take this opportunity to advertise a few opportunities to contribute to Zulip:
- We would really appreciate five minutes of your time to fill out this survey to let us know how you use Zulip, and what changes you would like to see!
- Join the development community where we design Zulip. We love feedback! Many of our best features grew out of conversations with users who stopped by to chat.
- Join us for a paid summer program through Google Summer of Code (open to anyone new to open source — not just students anymore!) or Outreachy.
- Tell us how your company or community uses Zulip! User stories help us prioritize our feature roadmap, and we love working with users to share their stories. Contact us at email@example.com.
- Support Zulip on GitHub Sponsors, Patreon, or Open Collective. Read our blog posts explaining our values-driven approach, long term focus, and why we will not be creating a Zulip cryptocurrency or NFT platform.
- Follow us on Twitter or join our low-traffic announcement mailing list.
- We’re hiring for full-time and part-time roles in engineering, marketing, and technical writing! See our jobs page for details and how to get in touch.
Thanks again to the amazing global Zulip development community for making this possible!
—Tim Abbott, Zulip founder and lead developer
What follows is a summary of the commits contributed to Zulip during the 5.0 release cycle.
$ ./tools/total-contributions 4.0 5.0 973 Chris Bobbe 837 Greg Price 768 Anders Kaseorg 498 Tim Abbott 456 Sahil Batra 435 Alex Vandiver 319 Steve Howell 288 Aman Agrawal 204 Mateusz Mandera 129 neiljp (Neil Pilgrim) 123 Abhijeet Prasad Bodas 120 Zixuan James Li 107 Eeshan Garg 95 Alya Abbott 95 Lauryn Menard 90 Wesley Aptekar-Cassels 89 Purushottam Tiwari (m-e-l-u-h-a-n) 88 Ganesh Pawar 88 Priyank Patel 80 Hari Prashant Bhimaraju 78 Yash RE 78 Zeeshan Equbal 76 Vishnu KS 76 Akash Dhiman 75 Akshat Dalton 71 Suyash Vardhan Mathur 56 Ezio-Sarthak 55 Aryan Shridhar 55 Rein Zustand (rht) 54 Riken Shah 50 Dinesh Ch 50 Sai Rohitth Chiluka 42 Gaurav Pandey 29 Austin Riba 29 Priyansh Garg 20 Jai soni 18 Priyam Seth 13 Yogesh Sirsat 12 Sayam Samal 10 AEsping 10 Adam Birds 10 Guillaume Grossetie 9 Ashwat Kumar Singh (NerdyLucifer) 9 Gilbert Bishop-White 8 BIKI DAS 8 N-Shar-ma 8 Palash Raghuwanshi 8 Shlok Patel 6 Hemanth V. Alluri 6 Julia Bichler 6 Puneeth Chaganti 5 Hashir Sarwar 5 Nikhil Maske 5 Rishabh Maheshwari (Rishabh-792) 5 Somesh Ranjan 5 Dishti-Oberai 4 AnushaNathRoy 4 Damian Parrino 4 Manan Rathi 4 Pradyumna Sinha 4 Rohitt Vashishtha 4 Sumanth V Rao 4 nooblag 4 strifel 3 Jonny Tran 3 Kevin Scott 3 My-Name-Is-Nabil 3 Parth 3 isakhagg 3 Alaa Abdelfattah 3 Nitish Kumar 3 Kaustubh Nair 3 mounilKshah 2 Adam Benesh (AdamVB) 2 Alex Dehnert 2 Andrew McAfee 2 Erik Tews 2 Johan Ehinger 2 Kartik Srivastava 2 Lorenzo Milesi 2 Mr.mad 2 RISHABH SIDANA 2 Shelly 2 anurastogiji 2 byshen-dev 2 ditsuke 2 Evy Kassirer 2 manavdesai27 2 seiwailai 2 Shaurya Jain 2 SilentCruzer 2 srdeotarse 1 Abhishek Reddypalle 1 Aini-Alem Robertson 1 Allen Cao 1 Ankur 1 AnshVM 1 Arch0125 1 Archit Hadge 1 Aryaman 1 Carlos Bederian 1 Christalee 1 Damián Parrino 1 Emilio López 1 EmmalineLake 1 Iam-VM 1 Joe Eli McIlvain 1 Jordan Rob Byamugisha 1 Junchen Liu 1 Kartik Soneji 1 Kerry Jackson 1 Ketan1502 1 Lefteris Kyriazanos 1 Matt Keller 1 Morgan Njaw 1 Nipunn Koorapati 1 Pankaj Patil 1 Philipp Seßner 1 Raghav Luthra 1 Rahul Gurung 1 Robert Imschweiler 1 S-Abhishek 1 SantamRC 1 Sean Yuan 1 Shantanu 1 Sharif Naas 1 Shubh Gupta 1 Siddharth Asthana 1 Simmo Saan 1 Soumyajyoti Dey 1 Swati Bhageria 1 alguimo 1 ericluoliu 1 iampranavdhar 1 kraktus 1 odunybrad 1 optimm 1 prashantpaidi 1 ryanreh99 1 shanukun 1 slefforge 1 tushar912 1 Divyanshu Agrawal 1 Jumeb 1 lennart 1 somena1 1 Gus Hahn-Powell 1 Jens Willmer 1 Maarten de Waard 1 LoopThrough-i-j 1 anehls93 1 Elijah Froment 1 Fredrik Ekre 1 Preet Mishra 1 kingjuno 1 Gabriel Scherer Commit range 4.0..5.0 corresponds to 2021-05-13 to 2022-03-29 4411 commits from zulip/zulip: 4.0..5.0 1984 commits from zulip/zulip-mobile: 5fd977ae9830..a3dcf787bee2 407 commits from zulip/zulip-terminal: d0307feeb58a..b1189d89f04b 105 commits from zulip/zulip-desktop: 9f76fb295e4f..27576c95e6e6 81 commits from zulip/python-zulip-api: dda9e0a63851..d26416a1e79f 63 commits from zulip/zulipbot: a68d0db8731d..e104f2a336b4 26 commits from zulip/docker-zulip: 39c7a94be5f1..5ca15b51c783 25 commits from zulip/zulip-archive: 01f6144f81f4..7c772a65b1dd 16 commits from zulip/github-actions-zulip: 0ac0e68c644a..f8e411e710f5 2 commits from zulip/zulint: 6cc46d239067..80a613cca5ec 1 commits from zulip/zulip-zapier: 3affd9174d3d..0ce51159b47d Excluded 18 commits authored by bots. 7103 total commits by 156 contributors between 4.0 and 5.0.
Note: This section was edited on 2022-11-16 to include 42 commits that were incorrectly not counted in the original version.