Zulip 8.0: Threaded open-source team chat
We’re excited to announce the release of Zulip Server 8.0, containing hundreds of new features and bug fixes!
Zulip is an open-source team chat application designed to help people collaborate to solve any challenge. With conversations organized by topic, Zulip is ideal for both live and asynchronous communication. 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 cloud service or a self-hosted solution.
Zulip Server 8.0 is a major release, with over 4,700 new commits merged across the project since the 7.0 release in May. Notable new features include a new inbox view, being able to follow topics of interest, many design improvements, and much more! A total of 116 people contributed commits to Zulip since the 7.0 release, bringing the project to over 1,250 code contributors. Zulip is remarkable for its number of major contributors, with 87 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.
Project highlights
Today marks a release of the Zulip server and web application. We’d also like to share important news and updates for the project as a whole since the 7.0 release in May:
New plans for Zulip customers
Today, we are announcing new Business and Community plans for Zulip’s self-hosted customers. Starting today, new self-hosted customers will no longer get unlimited free access to Zulip’s Mobile Push Notification Service. Organizations with more than 10 users will need to sign up for a plan in order to access the service. For current users of the service, unlimited free access will end on February 15, 2024.
Learn more about the plans, why we are making this change, and what it means for self-hosted Zulip organizations in today’s blog post. As always, we remain fully committed to Zulip’s 100% open-source model. Organizations that do not require technical support or services from us can freely install and use a complete version of Zulip.
For Zulip Cloud customers, there are no changes to the Zulip Cloud Free and Zulip Cloud Standard plans. The features of the Zulip Cloud Plus plan, previously available only by contacting sales@zulip.com, are now listed on the Zulip Cloud plans and pricing page.
Apps
We’ve been hard at work on the next-generation Zulip mobile app for Android and iOS, built with Flutter. We’re excited because this means a faster, smoother experience than was possible in the existing Zulip mobile app built on React Native. Using Flutter also gives us much better control to make the app work exactly the way we’d like it to.
In early 2024, we’ll announce on the Zulip blog a beta version that has all of Zulip’s key features, so that you can try it out and see the new smoother experience for yourself. In the months after that, we’ll roll out the new app for everyone as the next version of the official Zulip mobile apps on both iOS and Android.
Meanwhile, we’ve continued to maintain the existing mobile apps, building key features including:
- Support for Zulip Server 8.0 features: followed topics, @topic mentions, inline videos, and more.
- Recording and uploading videos, smoother quote-and-reply, and other improvements.
Zulip Terminal features new since the Zulip Server 7.0 release include support for custom profile fields, an improved algorithm for the n keyboard shortcut for cycling through unread topics, and maintaining position in the topic list when switching views.
Learning about Zulip
- Zulip has a brand new home page. It’s a great starting point for learning what makes Zulip special and sharing it with others.
- Zulip has earned first place in GetApp’s Collaboration Software Category Leaders report. A big thanks to our many users for sharing their experiences with Zulip.
- A number of YouTubers have posted their comparisons of Zulip with other chat platforms in the last few months. We’ve collected them in a playlist for anyone who’s interested.
- We have improved over 100 help center articles, including adding mobile documentation for many common workflows.
- You can now check the status of Zulip Cloud services at https://status.zulip.com.
“The Zulip threading model is fantastic and game-changing, and you are doing your community a disservice if you choose Slack or Discord over Zulip.”
— Juan Nunez-Iglesias, napari project co-founder and scikit-image core developer
Mentorship
Our community is fully committed to helping bring up the next generation of open-source contributors. 2023 was the 8th consecutive year that Zulip participated in Google Summer of Code. Our thirteen GSoC 2023 participants contributed to many of the features described in this post, and we’re excited to welcome the next cohort of GSoC participants next year.
“The power of Zulip lies in its superb community and its people. The willingness of people to help each other is just unmatched.”
— Satyam Bansal, GSoC 2023 participant
Sponsorships
We proudly sponsor free Zulip Cloud Standard hosting for more than 1,000 open-source projects, non-profits, educational institutions, and academic research groups. All eligible organizations are encouraged to join this program, or sign up for the Community plan for self-hosted organizations.
Release highlights
The major features and improvements described below are the tip of the iceberg of all the work that goes into a major Zulip release. We dedicate a lot of attention to the little things that help make Zulip a joy to use, such as fine-tuning common interactions, investigating and fixing hundreds of minor bugs, clarifying the UI and the API, etc. Even if you aren’t looking for new features, each major Zulip Server release offers a significantly better overall experience.
New inbox view
The mobile app home view has long been an inbox, which provides an overview of conversations with unread messages. This release adds an inbox view to the Zulip web app. It’s a convenient home view option for anyone who wants to regularly clear all unread messages in some streams.
Follow topics and mention topics
- You can now follow topics you are interested in. It’s easy to prioritize catching up on followed topics using configurable notifications, filters in the inbox and recent conversations views, and a dedicated keyboard shortcut. With the default settings, you will automatically follow the topics you start or get mentioned in.
- You can now mention everyone who has previously participated in a topic with an @topic mention. This lets you get the attention of just those who have already engaged in the conversation, without disturbing other subscribers to the stream.
Redesign
We are working hard on a major project to redesign the Zulip web app to have a clean, modern look, while preserving and enhancing Zulip’s highly efficient interaction design. Key changes in this release include:
-
A redesigned top navigation bar, with an easier to find search, and access to a new personal settings menu and a new help menu. The personal settings menu makes it convenient to manage your status, profile, and other preferences.
-
Users now have more control over how unread message counters are displayed in the left sidebar. To reduce distraction, unread messages are by default indicated by a simple dot in muted streams, with a counter revealed on hover.
-
The global views navigation section at the top of the left sidebar can now be collapsed, leaving more room for direct messages and streams.
Improved experience for composing messages
-
We have added compose box buttons to make it easier to format your message:
- Convert selected text to numbered or bulleted lists. Also, numbers and bullets are now inserted automatically when you add a new line.
- Format text as code, LaTeX, a quote, or a spoiler. Appropriate inline or block formatting is applied automatically depending on whether a whole line or part of a line is selected.
-
To minimize distraction, formatting buttons are disabled in preview mode. The “Send” button has been redesigned with a simple icon, and rarely accessed options have been moved into a menu.
-
You can now insert a named link simply by selecting the text you want to linkify and pasting a URL.
-
A new poll UI makes it easy to send a poll without worrying about formatting.
-
In organizations that have configured a pronouns custom profile field, pronouns are now shown in @-mention typeahead.
-
The experience of uploading files has been much improved. You can now drag a file anywhere in the Zulip window to upload it, and cancel individual file uploads.
-
In addition to video calls, you can now start a voice call, which defaults to having video disabled for call participants.
-
The Start new conversation button conveniently starts a new topic or direct message thread, depending on context.
-
It is now easy to see whether you are composing to an existing topic or a new one, and to clear the topic field with one click.
-
You can now easily delete many drafts at once, rather than one by one.
-
Zulip now supports emoji from Emoji 15.0, like 🩵 and 🫎.
Improved reading experience
-
In addition to previewing links to YouTube and other video platforms, Zulip now shows previews of uploaded videos directly in the message feed. You can click on a preview to view the full video in Zulip’s lightbox.
-
Zulip now shows typing notifications in streams with 100 or fewer subscribers, in addition to direct messages.
-
To make it easy to jump from a search result into a topic, clicking on a message in search results now takes you directly to that message in the context of its conversation.
-
You can now print the messages in your view. Printouts include just the content you need, without sidebars and buttons. Messages are printed with black text on a white background, regardless of whether you’re using light or dark theme.
-
Conversation views now indicate when you have scheduled a message to be sent to that conversation.
-
The recent conversations view has always displayed a limited number of conversations containing the most recent messages. You can now load more conversations if you need to go back further.
Improved user management
- Administrators can now limit user list access for guests, so that customers, contractors, and others can only see users in their streams and direct messages. You can also configure your organization settings to display “(guest)” after guests’ names.
- The UI for inviting new users has been redesigned to make invitations easier to configure. Also, you can now independently configure permissions for who is allowed to generate invitation links vs. sending invitation emails.
-
Administrators can now manage a user’s account directly from the user’s profile, and subscribe or unsubscribe users from streams via the streams profile tab.
-
There is a brand new UI for creating and managing user groups, which feels just like the stream management UI. The design for managing personal stream subscriptions and notification settings has also been improved.
-
User syncing has been improved. The LDAP integration now supports syncing user groups, and the SCIM integration supports syncing user roles.
Integrations
- A new wizard for creating incoming webhook URLs greatly simplifies the process of configuring an incoming webhook.
- Users can now mute a bot, which is convenient when not everyone needs to see frequent notifications from an integration.
- Integrations for CircleCI, Gitea, GitHub, GitLab, and Sentry have been improved.
- You can now conveniently change the order in which linkifiers are processed. Documentation for linkifiers has also been extended with detailed examples and suggested uses.
- You can now delete messages sent by bots that you control as though you had sent the message yourself.
Internationalization
- The organization creation form now asks what default language to use for the organization.
- Our community translators have been hard at work keeping up with the product as it evolves. This release features a total of 24 languages with translations that cover the majority of non-error strings.
Upgrading
We highly recommend upgrading to Zulip Server 8.0 to take advantage of the hundreds of improvements in this release. 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. Commercial support for server upgrades is available for installations that purchase a Business or Enterprise plan. For community support, everyone is welcome to drop by the Zulip development community.
Upgrading to Zulip Server 8.0 makes it more convenient to manage your plan, but you do not have to upgrade your Zulip installation in order to sign up for a plan. The same plans are offered for all Zulip versions.
Zulip Cloud is always up to date with the latest Zulip improvements.
Product roadmap
This release makes significant design improvements in the main views in the Zulip web app, and redesign efforts will continue to be a major priority in the coming months. Everyone is invited to join the conversations in the Zulip development community to offer feedback.
Other major focus areas will be improving the onboarding experience, and shipping brand new mobile apps for iOS and Android.
Release schedule
This release is coming out about six months after the Zulip Server 7.0 release in May. We are targeting a similar or slightly shorter interval for the next major release, which is expected in spring 2024.
Community
I’d like to take this opportunity to advertise a few opportunities to contribute to Zulip:
- Feedback from our users is a key part of how we improve the product and prioritize what features to build. Please come by for a chat in the development community where we design Zulip, and share your thoughts.
- We love working with users to share their stories — contact us at support@zulip.com if you are interested!
- Review Zulip on product comparison websites, such as G2 or Software Advice. Sharing your experience with Zulip (good or bad) helps others decide whether Zulip is the right tool for them.
- Support Zulip financially on GitHub Sponsors, Patreon, or Open Collective.
- Take a look at more ways to help out. :)
Thanks again to the amazing global Zulip development community for making this possible!
—Tim Abbott, Zulip project leader
What follows is a summary of the commits contributed to Zulip during the 8.0 release cycle.
$ ./zulip/tools/total-contributions 7.0 8.0
642 Aman Agrawal
494 Anders Kaseorg
360 Greg Price
337 Karl Stolley
303 Sahil Batra
281 Alex Vandiver
275 Chris Bobbe
229 Lauryn Menard
202 Tim Abbott
176 Prakhar Pratyush
134 Evy Kassirer
126 David Rosa
103 Mateusz Mandera
102 Daniil Fadeev
90 Alya Abbott
89 Lalit Kumar Singh
83 Zixuan James Li
78 Shu Chen
74 Steve Howell
62 Nehal Sharma
57 Sayam Samal
55 Satyam Bansal
49 neiljp (Neil Pilgrim)
34 Palash Baderia
25 Junyao Chen
24 Ujjawal Modi
20 Hardik Dharmani
18 m-e-l-u-h-a-n
17 Hemant Umre
13 Joseph Ho
12 Vishwesh Pillai
10 Vector73
9 Rohan Gudimetla
9 rajveermalviya
7 Julia Bichler
6 Dinesh
6 supascooopa
5 Akarsh Jain
5 Akshat
5 bjorn3
5 ecxtacy
5 lapaz
5 rht
4 Ganesh Pawar
3 Adarsh Tiwari
3 Riken Shah
3 Viktor Illmer
3 Yogesh Sirsat
3 nicmar-8
2 Aryan Bhokare
2 Brijmohan Siyag
2 Danny Su
2 David
2 Eeshan Garg
2 Esther Anierobi
2 Pratik
2 Priyam Seth
2 abdullahm1
2 acolloredo
2 dhruv302003
2 nimish
2 tyler
2 Amy Dyer
2 Daniel Teunis
2 Mounil K. Shah
2 Sashank Ravipati
2 Subhasish-Behera
2 i-ky
2 tison
1 AcKindle3
1 Adrián Oliva
1 Alexander Colloredo-Mansfeld
1 Animesh Biswas
1 Arnold Mwesigye
1 Bhavesh Vasnani
1 BrandonAWong
1 Chandan Yadav
1 Deepayan Mukherjee
1 Divyansh Seth
1 Ishita Gupta
1 Kartik Desai
1 Kunal Sharma
1 Lakshay Mittal
1 M1gue11
1 Matthew Volpe
1 Moazzam Moriani
1 Pedro Madriz
1 Philip Durbin
1 Pratik Chanda
1 Rahul
1 Ryan Song
1 Sahil Singh
1 Samuel
1 Sayyed Arib Hussain
1 Shashank Singh
1 Simon Michalke
1 Sudip Bose
1 Tam Le
1 UBC Student
1 Wladimir Ramos
1 Yash RE
1 arghyadeep10
1 kimry02
1 kraktus
1 n0099
1 retsambew
1 s-bose7
1 tamara
1 xpufx
1 nooblag
1 Mursith
1 Rink
1 Naman Agrawal
1 akshayaj
1 laomuon
1 rsashank
Commit range 7.0..main corresponds to 2023-05-31 to 2023-12-15
3810 commits from zulip/zulip: 7.0..main
119 commits from zulip/zulip-mobile: c979530d6804..a48712a48510
586 commits from zulip/zulip-flutter: 4d6f561dae48..81d8b8ccab90
15 commits from zulip/zulip-desktop: 7fba8cfae92d..47cdd5fa8b3b
9 commits from zulip/docker-zulip: 72828ae07693..d5334ddca5b7
108 commits from zulip/python-zulip-api: 5b2b0617a6c5..ad9b0e62a49d
73 commits from zulip/zulip-terminal: bef2a8fb7e12..585722a206e8
19 commits from zulip/zulint: 80aba3fd88fa..cd3b1e0586b0
8 commits from zulip/zulip-archive: be1c1661ba4a..5ff607209cbd
Excluded 0 commits authored by bots.
4747 total commits by 116 contributors between 7.0 and main.