main
actions: Add zerver/actions directory.
actions: Use 'durable=True' in outermost transaction.atomic block.
bots: Send realm_user events first when changing bot owner.
channel_folders: Convert ChannelFolderDict to dataclass.
realm: Handle markdown version updates for realm description.
streams: Add assert_is_not_none for stream.recipient_id.
custom_profile_fields: Send event on dropdown choice deletion.
slack: Pass convert_slack_threads=True in self-serve flow.
streams: Include only IDs in default streams data.
devices: Add an endpoint to remove Device records.
email_pill: Parse email in RFC5322 format using email-addresses library.
direct_messages: Remove personal-recipient message code paths.
message-move: Improve time limit error for "change_all" moves.
queue: Extract mobile_notifications_queue_name helper.
message_send: Return `message_url` and `message_link` in send response.
message_summary: Replace litellm with the OpenAI Python SDK.
audit-log: Move user muted event types to AuditLogEventType enum.
navigation_views: Add backend for navigation views in left sidebar.
onboarding: Replace dict[str, Any] with dataclass.
queries: Always pass no_key kwarg explicitly to select_for_update.
push_registration: Rework using `Device` model.
reaction: Remove user object from reaction events.
audit-log: Move realm event types to AuditLogEventType enum.
realm_emoji: Add a capability for emoji /add and /update_one.
realm_export: Add a RealmAuditLog entry for delete operation.
linkifiers: Add alternative_url_templates to model and API.
typos: Fix typos caught by typos.
do_delete_realm: Clean up orphan Stream Recipients too.
reminders: Extract `notify_remove_reminder` to common library.
saved_snippets: Add support for editing saved snippets.
scheduled_messages: Lock the row when editing to avoid duplicate send.
streams: Support per-stream default for push notifications.
event_recipient_ids_for_action_on_messages: Change args.
message_edit: Show typing indicator for message editing.
CVE-2026-25742: Anonymous file access after disabling spectator access.
queue: Rename queue_json_publish to queue_json_publish_rollback_unsafe.
groups: Log WORKPLACE_USERS_COUNT_CHANGED on subgroup membership change.
push_notifications: Delete E2EE device records on API key regeneration.
user_topic: Add support for empty topic name.
users: Add is_deleted field to UserProfile and expose in API.
video_calls: Use a common method to set tokens.