This is a summary of the work I did for the Zulip server and web application as a part of Google Summer of Code 2025.
Zulip: Open-source team chat with topic-based threading
Zulip combines the immediacy of real-time chat with an email threading model. With Zulip, you can catch up on important conversations while ignoring irrelevant ones.
Why Zulip? - Efficient communication with organized team chat.
- Title: Cluster of priority features focused on channel settings.
- Repository: zulip/zulip
- Mentor: Sahil Batra
- Project Size: Large
During GSoC 2025, I contributed by extending channel settings and organization settings, worked on tools, API endpoints and made UI fixes.
- Commits during GSoC
- Pull requests merged during GSoC 2025
- All commits in zulip/zulip
- All merged pull requests
Zulip provides flexible settings at the channel level, alongside organization-wide options, enabling members and administrators to customize notifications, posting permissions, and other preferences to suit the unique needs of each channel.
The new settings I worked on during the GSoC period are:
Message move permissions
- stream_settings: Add two channel-level settings for move permissions.
- settings: Update move messages settings label.
- stream_popover: Refactor updation of topic input placeholder.
General chat configuration setting
- settings: Add a new topics_policy realm setting.
- stream_settings: Add new disable_topics option to topics_policy.
- Fix "general chat" only channel bugs.
- typeahead: Skip topic suggestions for empty-topic-only channels.
- tooltip: Show only empty topic allowed tooltip on the topic text.
Delete message permissions
Channel settings UI changes
- stream_settings: Reorganize settings in subsections.
- stream_settings: Update organization default dropdown labels.
These are some bug fixes, UI changes and refactors unrelated to any major feature.
Tooling related changes
- Fix merge-api-changelogs tool.
- tools: Update docs for create-api-changelog tool.
- tools: Add support for viewing updated changelog for testing.
- github_actions: Check if feature levels are updated in API docs.
- github_actions: Add a GitHub action for notifying if API docs changed.
UI fixes and refactors
- stream_popover: Fix rename topic placeholder UI.
- api_docs: Fix missing display_recipient object in API docs.
- pill_container: Fix background-color in dark theme.
- compose_validate: Don't show topic moved banner on topic resolve.
- compose_validate: Don't show moved warning if current user moved topic.
- Fix dropdown widget UI bugs.
- message_delete: Refactor message delete functions in a new file.
API related changes
- api: Add support for passing partial to include_subscribers parameter.
- events: Add support for sending presence events in modern format.
- events: Add support for processing modern presence event in web client.
GSoC has been an amazing learning experience, and it was truly exciting to work with such a great community at Zulip. Having contributed for over two years now, including my participation in GSoC 2024, this year’s program felt like a continuation of a deeply rewarding journey.
I truly enjoyed collaborating with other contributors at Zulip over the past two years and learned a great deal along the way. Contributing to an open-source project like Zulip has been especially rewarding, knowing that my work is part of a real-world product used by people every day. It was a wonderful experience collaborating with other great contributors, engaging in discussions, building new features, and reviewing code.
I want to thank Tim Abbott who helped and guided me throughout what has been an incredibly rewarding journey. I also want to express my gratitude towards my mentor Sahil Batra for his consistent support and guidance. He helped me prioritize tasks, provided prompt and thoughtful code reviews, and helped me whenever I hit roadblocks. Our regular voice chat check-ins were especially helpful for aligning on goals and deciding the next issues to work on.
Thanks to the entire Zulip community for yet another exceptional summer filled with valuable learning and growth.

Hello sir and mentors,
My name is Azad Kumar, And I recently pursuing Bachelor's Degree in Computer Scince from Madhya Pradesh
MERN Stack
Java
Python
SQL
Blockchain
System Design (LLD & HLD)
Linux OS
Gen al
Backend development
Data structures & alogrithms
I am interested in contributing to the a highly scalable project is one that GSoC 2026
I have reviewed the project description and would like to begin contributing and understanding the expected the expected
deliverables.
Could you please guide me on
where is the development repo/codebase for this project maintained?
Beginner-friendly tasks or areas I should explore first?
Are there any specific tools, datasets, or technologies I should set up before I start?
Looking forward to contributing meaningfully.
Thank you!
Azad kumar