main
ci: Pin Docker base images to linux/amd64.
dependencies: Upgrade JavaScript dependencies.
ruff: Fix INP001 File is part of an implicit namespace package.
sync-translations: Handle the case of no *.mo files.
provision: Install Java ≥ 17.
integrations: Remove translation tags from the catalog and doc pages.
web: Set "type": "module" and convert various CJS files to ESM.
eslint: Fix unicorn/no-optional-chaining-on-undeclared-variable.
Remove support for Ubuntu 20.04 and Debian 11.
ruff: Fix ISC004 Unparenthesized implicit string concatenation in collection.
message: Remove unused recipient_id.
docs: Update links in README files for moved directory-structure.
Add __init__.py to tools/ and tools/setup/.
backport-all-prs: Derive backport branch from unmerged tags.
backport: Give a sensible error when trying to backport an unmerged PR.
demo-orgs: Get word list for demo subdomains from jitsi js-utils repo.
tools: Use root-based absolute import for tools.lib, etc.
help: Serve help center build without relative links for zulip.com.
provision: Use uv sync --no-managed-python.
build-release-tarball: Override merge-base for full official releases.
python: Mark regexes as raw strings.
github_actions: Check if feature levels are updated in API docs.
docs: Explain web app translations before server, and use those terms.
ruff: Fix PLC1802 `len(…)` used as condition without comparison.
eslint: Fix unicorn/no-unsafe-string-replacement.
tools: Rename force argument to skip-provision-check
event_types: Rename EventX classes to XEvent.
shared: Move icons to web/images/icons.
check-thirdparty: License under GPLv2+.
Rename default branch to ‘main’.
closed-by-commit: Broaden validation of Github secret tokens.
commit-message-lint: Take release branches into account.
commit-msg: Don’t change the current directory for non-Vagrant.
Add tool for scanning issues without area labels.
async_utils: Skip NoAutoCreateEventLoopPolicy on Python ≥ 3.14.
tools: Update docs for create-api-changelog tool.
Vagrantfile: Share the checkout at the host’s path.
tools: Move duplicate_commits.json file to tools directory.
install: Remove --cacert and CUSTOM_CA_CERTIFICATES.
tools: Avoid `readlink -f` in *-pull-request scripts.
web: Move web app to ‘web’ directory.
tools: Fix a linter issue caught by semgrep.
tools: Add support for viewing updated changelog for testing.
tools: Check if feature level is changed before sending message.
requirements: Migrate to uv.
push-to-pull-request: Accept intermixed options and arguments again.
python-warnings: Update glom SyntaxWarning pattern for Python 3.14.
terminate-psql-sessions: Rely on the caller to set PGHOST, PGUSER.
populate_db: Add attachments in messages.
release: Parse version.py using the language it was written in.
help: Include dist in release tarball and exclude source code.
renumber-migrations: Print current HEAD before amending prior commits.
ruff: Fix UP006 Use `list` instead of `List` for type annotation.
ruff: Extend the default rule selection.
ruff: Fix SIM905 Consider using a list literal instead of `str.split`.
tooling: Enable strict shell mode in selected scripts.
queries: Always pass no_key kwarg explicitly to select_for_update.
python: Normalize quotes with Black.
ruff: Fix RUF059 Unpacked variable is never used.
workflows: Remove ignores for check-capitalization, check-frontend-i18n.
test-api: Reset uploaded realm emoji for realm export tests.
message_summary: Replace litellm with the OpenAI Python SDK.
ruff: Fix UP035 Import from `collections.abc`, `typing` instead.
documentation_crawler: Remove wrongly inverted skip_check_fragment flag.
test-js-with-node: Remove user_groups.ts from EXEMPT_FILES.
install-node: Upgrade Node.js from 22.17.1 to 22.18.0.
requirements: Upgrade Python requirements.
ruff: Fix UP007 Use `X | Y` for type annotations.
total-contributions: Use a more complete set of repositories.
ui_init: Show unsupported browser warning on load.
python: Replace universal_newlines with text.
python: Simplify with str.removeprefix, str.removesuffix.
webpack: Pass --allowed-hosts as separate flags.
zanitizer: Reformat with perltidy.