Major releases, Release announcements

Zulip 1.9: Open-source team chat

Tim Abbott 7 min read

We’re excited to announce the release of Zulip Server 1.9, containing hundreds of new features and bug fixes. Especially relevant for users migrating from the recently discontinued HipChat is our new HipChat data import tool.

Zulip is the world’s most productive team chat software, an alternative to Slack, HipChat, Mattermost and IRC. Zulip’s unique topic-based threading combines the immediacy of chat with the asynchronous efficiency of email-style threading, and is 100% free and open source software.

Zulip 1.9 is a huge release, with 3300 new commits since April’s 1.8. A total of 88 people contributed commits to this release, bringing the Zulip server project to 436 distinct code contributors. With 32 people who’ve contributed 100+ commits to Zulip (and 55 people who’ve contributed 40+ commits), Zulip has the most active open-source development community of any team chat software, by a wide margin.

Huge thanks to everyone who’s contributed to Zulip over the last few months, whether by writing code and docs, reporting issues, testing changes, translating, posting feedback on chat.zulip.org, 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, but lots of exciting work has happened outside the server codebase, too. Key highlights:

  • Zulip continues to become more popular. We’ve been on the front page of Hacker News twice [1, 2] since Zulip 1.8 was released, and Zulip Cloud has doubled its active users in that time.
  • The Zulip apps for Android and iOS have seen intense development with 15 different people contributing 1228 new commits, including major stability improvements and new features in every area of the app.
  • Zulip now has an official (beta) terminal client (zulip-terminal). This is a great area for new contributors to get involved.
  • Zulip now has an IRC bridge powered by matrix.org, and tools to migrate from Slack, HipChat, and Gitter.
  • For a long time, users have been installing from an unofficial docker image, docker-zulip, created by Alexander Trost. We’ve now adopted the docker-zulip project and are in the process of making it production-ready.
  • Zulip had an excellent Google Summer of Code, with 10 students completing their projects (several of which are detailed in the “release highlights” below). Highlights include a gathering of 24 core members of the project in Kerala, India for a week-long summit and sprint.
  • We’ve added documentation on Zulip’s security practices, moderating open organizations on Zulip, and why we believe topic-based threaded chat is the future.

Release highlights

Describing all the improvements in a Zulip release has been an impossible task for our last few releases, and this one is no different. Below are just a few highlights.

Backend

  • Support for Ubuntu bionic and Debian stretch (our first non-Ubuntu platform!). We expect to deprecate support for installing a new Zulip server on Ubuntu Trusty in the coming months, in preparation for Trusty’s end-of-life in April 2019.
  • New data import tools for HipChat and Gitter. The Slack importer is now out of beta.
  • Zulip’s Python process startup time is about 30% faster. As a part of this effort, we made upstream contributions to reduce import time for django-bitfield, libthumbor, and pika.

New settings

  • You can now configure custom (organization-specific) fields for user profiles; Zulip can now serve as your organization’s employee directory.
  • Zulip now supports using Google Hangouts instead of Jitsi as the video chat provider.
  • Users can now configure email and mobile push notifications for all messages in a stream (useful for low-traffic streams/organizations), not just for messages mentioning them.
  • New stream settings control whether private stream subscribers can access history from before they joined, and allow configuring streams to only allow administrators to post.
  • Zulip now has experimental support for guest users (intended for use cases like contractors who the organization only wants to have access to a few streams).

Other

  • New native integrations for Ansible Tower, Appveyor, Clubhouse, Netlify, and Zabbix; Zulip now has over 100 native integrations (in addition to hundreds more available via Zapier and IFTTT).
  • New translations for Ukrainian, Portuguese, Indonesian, Dutch, and Finnish. Zulip now has complete or nearly-complete translations for German, Spanish, French, Portuguese, Russian, Ukrainian, Czech, Finnish, and Turkish. Partial translations for Chinese, Dutch, Korean, Polish, Japanese, and Indonesian cover the majority of the total strings in the project.

See the detailed changelog for dozens of other notable improvements, including new features, performance optimizations, and bug fixes. If you administer a Zulip server, we encourage you to read at least the list of added features at the top, since there are a number of useful new settings introduced in this release that you may want to take advantage of.

Upgrading

We highly recommend upgrading, since Zulip has made major improvements in the months since the last major release. You can upgrade as usual by following the upgrade instructions. For installations hoping to minimize downtime, see the “Upgrade notes” section of the changelog for some expensive migrations you can run before starting the upgrade.

Many installations have already upgraded to release candidates without issue, 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.

Community

I’d like to take this opportunity to advertise a few opportunities to contribute back to Zulip:

  • Join the chat.zulip.org developer community, where we deploy the latest experimental features and design improvements. We love feedback from the Zulip user community, and have a few streams especially for that purpose.
  • Translating! We’d love to get a few more languages to 100%, and contributors to edit existing translations are also very welcome. See our translating guide for information on how to get involved.
  • Follow us on Twitter or join our low-traffic announcement mailing list!

Thanks again to the amazing global Zulip development community for making this possible! What follows is a summary of the code contributors to this server release, sorted by number of commits.

-Tim Abbott, lead developer

   tabbott@zaset:~/zulip$ git shortlog -ns
   726	Tim Abbott
   427	Steve Howell
   264	Rishi Gupta
   229	Vishnu Ks
   148	Shubham Dhama
   139	Aditya Bansal
   118	Yashashvi Dave
   109	Shubham Padia
   107	Eeshan Garg
   103	Rhea Parekh
   102	Yago González
    80	Anders Kaseorg
    67	Cynthia Lin
    67	Joshua Pan
    61	Lyla Fischer
    55	Akash Nimare
    47	Harshit Bansal
    46	Rohitt Vashishtha
    44	Priyank Patel
    39	Greg Price
    37	Max Nussenbaum
    28	Marco Burstein
    21	Umair Khan
    20	Armaan Ahluwalia
    15	Sampriti Panda
    14	RobbieClarken
    14	Robert Hönig
    13	Jack Zhang
    12	neiljp (Neil Pilgrim)
    10	Anupam Dagar
    10	Pragati Agrawal
     9	jkiely
     8	Raymond Akornor
     7	Roman Godov
     6	Baron Chandler
     5	Abhigyan Khaund
     5	Aman Agrawal
     5	Aman Ghebreweldi
     4	Abhilash Verma
     4	Michael J. Sullivan
     4	Preston Hansen
     4	Puneeth Chaganti
     4	Sarah Stringer
     3	Zachary Jackson
     3	Aastha Gupta
     3	Adam Birds
     3	Shayan Toqraee
     3	Utkarsh Patil
     3	novokrest
     2	Jason Michalski
     2	Kevin Lin
     2	Lenny Jagielski
     2	Luis Silva
     2	Nikhil Kumar Mishra
     2	Scott Lee
     2	Tarun Kumar
     2	dipu989
     2	gooca
     2	xificurC
     1	Aaditya Arora
     1	Aditya Ramesh
     1	Alena Volkova
     1	Angelika Serwa
     1	Callum Fraser
     1	Darshan Markandaiah
     1	Emilio Schadt
     1	Felix Yan
     1	Hendy Irawan
     1	Joshua Schmidlkofer
     1	Kunal Gupta
     1	Kurian Benoy
     1	MaTaM673
     1	Natalie Totonchy
     1	Robert Hencke
     1	Robert Spier
     1	Roger Souza
     1	Shikhar Vaish
     1	Sivakar Sithamparanathan
     1	Sujeet Kausallya Gholap
     1	Vishwesh Jainkuniya
     1	guaca
     1	jeaye
     1	ruchit2801
     1	sameerchoubey
     1	vaibhav
     1	zegervdv
     1	zhoufeng1989