ui: only show "Support" link if a bugtracker has been configured
meta: update copyrights for 2026
helpers: very partial support for pygments >= 2.12
tests: try harder to prevent Git from reading external configuration
Merge from stable
docs: add docs/.readthedocs.yaml
docs: drop invalid intersphinx_mapping to None
setup: use importlib instead of pkg_resources
tests: drop adding working directory to sys.path
conftest: Refactor (simplify and optimize) pytest_ignore_collect
setup: bump minimum Python version to 3.9
setup: bump dependency versions
setup.py: add comment where dependency upgrade is possible but non-trivial
setup.py: version bumps
vcs: Always return node content as bytes
hg: Redirect Mercurial stdout/stderr to logging when running as WSGI
wsgi: Refactor to introduce make_app_raw function with the essentials of make_app
docs: Make mod_wsgi description more clear and actionable
py3.13: Fix DeprecationWarning: 'maxsplit' is passed as positional argument
py3.13: Fix DeprecationWarning: 'count' is passed as positional argument
hg: support new clonebundles_manifest write protocol command
Merge from stable
front-end: update package.json to trust semver and package-lock.json
front-end: update package-lock.json
tests: address PytestDeprecationWarning for @pytest.yield_fixture
scripts: update i18n dev script to modern hg
setup: bump max versions of pip package dependencies
meta: update copyrights for 2024
vcs: replace imp with importlib
lib: use packaging.version.Version instead of dropped distutils.version.StrictVersion
venv: limit pip version to stay below 24.1
i18n: prevent msgmerge fuzzy matching - it is too random
repo groups: make it possible to remove own explicit permissions, now when group owners always have admin permissions
repo group: stop giving explicit admin permission to owner on create
auth: always consider the repo group owner an admin when computing it's permissions
tests: stabilize Git committer in test_vcs_operations
setup: avoid setuptools 67 - it can't handle celery's broken pytz dependency
i18n: make sure 'en' in Accept-Language is recognized as having 100% coverage
Merge stable
meta: update copyrights
pullrequests: also limit to stop displaying merged changes
docs: minor fixes for API documentation
api docs: add placeholder docstrings where docstrings are missing
api docstrings: drop "ERROR OUTPUT" from docstring
api docstrings: drop the mostly useless :param autodoc
repo group: fix logging of rename/move
repo group: use lazy string formatting when logging
repo group: clarify comments
setup: use old importlib_metadata version to fix kombu failing on python < 3.8
i18n: pl: reintroduce malformed translation removed by 19506ee31c1c
i18n: fr: consistently don't use 'NARROW NO-BREAK SPACE' after double punctuation
i18n: fr: consistently use 'NO-BREAK SPACE' before double punctuation
i18n: fr: consistently use 'NO-BREAK SPACE' before double punctuation instead of 'NARROW NO-BREAK SPACE'
i18n: fr: consistently use 'NO-BREAK SPACE' before double punctuation instead of space
i18n: avoid '{0} → {1}' markup in translated strings
summary: simplify README hover text
i18n: minor reformatting
repo group: introduce editing of owner
repo group: always update fullpath group_name when changing parent
repo group: drop pointless double handling of parent_group_id updates
tests: introduce test_api_update_repo_group covering update_repo_group api
repo: introduce enable_downloads and enable_statistics when creating repos
templates: align forms for repo creation and repo settings
tests: update test_api_create_repo with better coverage of create_repo api
tests: update_repo without begging the question
contributors: update
api docs: make examples use comma more like json does
api docs: more consistent use of space around ":" in examples
api docs: make examples more like 4 space indented
api docs: drop extra newlines in docstrings
api docs: various minor changes
api docs: update docstrings
ruff: Do not assign a `lambda` expression, use a `def`
ruff: Test for membership should be `not in`
ruff: fix multiple statements on one line
Merge stable
setup: bump Sphinx version
middleware: fix url_scheme_variable
middleware: use config consistently in https_fixup
html: align formatting of edit_perms templates
html: clarify type of button elements - make it clear if we really want "submit"
usergroup: fix adding permission
meta: update copyrights
setup: support Mercurial 6.1 for continuously improved Python 3 support
hg: support Mercurial 6.1 without util.url
setup: support Mercurial 5.9 for continuously improved Python 3 support
hg: use mercurial.node.nullid directly - needed for 5.9
webutils: monkeypatch to make webhelpers2 work with Python 3.10
setup: support Pytest 6.2 for Python 3.10 support
setup: support Bleach 4.2 for Python 3.10 support
front-end: update package-lock.json
auth: tweak log statements when redirecting unauthenticated users to login
files: fix raw download of repo files with names with unicode points above 256 in name
i18n: update normalized translations
i18n: fix duplicate entries after fixing odd space before ? in "Don't have an account ?"
ini: set translate_forwarded_server = False when using paste prefix middleware
git: fix whitespace in previous commit
git: update check for invalid URL characters to work with Python versions that include an attempt at fixing the very same problem
auth: only use X- headers instead of wsgi.url_scheme if explicitly told so in url_scheme_header - drop https_fixup setting
auth: only use X- headers instead of REMOTE_ADDR if explicitly told so in remote_addr_header