diff --git a/.bumpversion.cfg b/.bumpversion.cfg index af19f0185..31a69359e 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 2.5.4 +current_version = 4.2.0 commit = True message = Release v{new_version} tag = True diff --git a/.github/workflows/bleeding.yml b/.github/workflows/bleeding.yml index 8f8cddc1e..2587d832b 100644 --- a/.github/workflows/bleeding.yml +++ b/.github/workflows/bleeding.yml @@ -32,7 +32,7 @@ jobs: - /home/runner/work/_temp/:/home/runner/work/_temp/ options: --privileged --tty steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: persist-credentials: false - name: Set up problem matchers diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 14d642491..9d7963ea7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,7 +35,7 @@ jobs: - testenv: actionlint - testenv: package steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: persist-credentials: false - uses: actions/cache@v3 @@ -112,7 +112,7 @@ jobs: - /home/runner/work/_temp/:/home/runner/work/_temp/ options: --privileged --tty steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: persist-credentials: false - name: Set up problem matchers @@ -181,7 +181,7 @@ jobs: python: "3.9" runs-on: "${{ matrix.os }}" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: persist-credentials: false - uses: actions/cache@v3 @@ -229,7 +229,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: persist-credentials: false - name: Initialize CodeQL diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index c8161b37d..2707e3d9d 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -18,7 +18,7 @@ jobs: - archlinux-webengine-unstable-qt6 - archlinux-webengine-qt6 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: python-version: '3.x' diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 18c12e053..76332e8ba 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -50,7 +50,7 @@ jobs: runs-on: "${{ matrix.os }}" timeout-minutes: 45 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: "${{ matrix.branch }}" persist-credentials: false diff --git a/.github/workflows/recompile-requirements.yml b/.github/workflows/recompile-requirements.yml index b06ea614d..f33edd670 100644 --- a/.github/workflows/recompile-requirements.yml +++ b/.github/workflows/recompile-requirements.yml @@ -18,7 +18,7 @@ jobs: timeout-minutes: 20 runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: persist-credentials: false - name: Set up Python 3.8 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0c5b6d4b1..1f048f20b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -34,7 +34,7 @@ jobs: contents: write # To push release commit/tag steps: - name: Find release branch - uses: actions/github-script@v6 + uses: actions/github-script@v7 id: find-branch with: script: | @@ -62,7 +62,7 @@ jobs: console.log(`sorted: ${sorted}`); return sorted.at(-1); result-encoding: string - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: @@ -78,7 +78,7 @@ jobs: git config --global user.name "qutebrowser bot" git config --global user.email "bot@qutebrowser.org" - name: Switch to release branch - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: ref: ${{ steps.find-branch.outputs.result }} - name: Import GPG Key @@ -88,7 +88,7 @@ jobs: id: bump run: "tox -e update-version -- ${{ github.event.inputs.release_type }}" - name: Check milestone - uses: actions/github-script@v6 + uses: actions/github-script@v7 with: script: | const milestones = await github.paginate(github.rest.issues.listMilestones, { @@ -138,7 +138,7 @@ jobs: permissions: contents: write # To upload release artifacts steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: v${{ needs.prepare.outputs.version }} - name: Set up Python @@ -182,7 +182,7 @@ jobs: contents: write # To change release steps: - name: Publish final release - uses: actions/github-script@v6 + uses: actions/github-script@v7 with: script: | await github.rest.repos.updateRelease({ diff --git a/doc/changelog.asciidoc b/doc/changelog.asciidoc index 30fbfb8fd..d76ec041c 100644 --- a/doc/changelog.asciidoc +++ b/doc/changelog.asciidoc @@ -15,8 +15,20 @@ breaking changes (such as renamed commands) can happen in minor releases. // `Fixed` for any bug fixes. // `Security` to invite users to upgrade in case of vulnerabilities. +4.2.0 (2023-08-17) +------------------ + +v4.1.1 (2023-08-17) +------------------- + +v4.1.0 (2023-08-17) +------------------- + +v4.0.0 (2023-08-17) +------------------ + [[v3.0.0]] -v3.0.0 (unreleased) +v3.0.0 (2023-08-17) ------------------- Major changes diff --git a/doc/contributing.asciidoc b/doc/contributing.asciidoc index aa0c7516a..0be2655c5 100644 --- a/doc/contributing.asciidoc +++ b/doc/contributing.asciidoc @@ -758,18 +758,30 @@ qutebrowser release * Make sure there are no unstaged changes and the tests are green. * Make sure all issues with the related milestone are closed. +* Mark the https://github.com/qutebrowser/qutebrowser/milestones[milestone] as closed. * Consider updating the completions for `content.headers.user_agent` in `configdata.yml`. * Minor release: Consider updating some files from main: - `misc/requirements/` and `requirements.txt` - `scripts/` -* Make sure Python is up-to-date on build machines. -* Mark the milestone at https://github.com/qutebrowser/qutebrowser/milestones as closed. -* Update changelog in main branch +* Update changelog in main branch and ensure the correct version number has `(unreleased)` * If necessary: Update changelog in release branch from main. + +**Automatic release via GitHub Actions (starting with v3.0.0):** + +* Double check Python version in `.github/workflows/release.yml` +* Run the `release` workflow on the `main` branch, e.g. via `gh workflow run release -f release_type=major` (`release_type` can be `major`, `minor` or `patch`; you can also override `python_version`) + +**Manual release:** + +* Make sure Python is up-to-date on build machines. * Run `./.venv/bin/python3 scripts/dev/update_version.py {major,minor,patch}`. * Run the printed instructions accordingly. + +**Post release:** + * Update `qutebrowser-git` PKGBUILD if dependencies/install changed. * Add unreleased future versions to changelog * Update IRC topic * Announce to qutebrowser and qutebrowser-announce mailinglist. * Post announcement mail to subreddit +* Post on the website formerly known as Twitter diff --git a/misc/org.qutebrowser.qutebrowser.appdata.xml b/misc/org.qutebrowser.qutebrowser.appdata.xml index 32a19effa..f940596b9 100644 --- a/misc/org.qutebrowser.qutebrowser.appdata.xml +++ b/misc/org.qutebrowser.qutebrowser.appdata.xml @@ -44,6 +44,11 @@ + + + + + diff --git a/qutebrowser/__init__.py b/qutebrowser/__init__.py index 502c713fe..51b13263c 100644 --- a/qutebrowser/__init__.py +++ b/qutebrowser/__init__.py @@ -11,7 +11,7 @@ __license__ = "GPL" __maintainer__ = __author__ __email__ = "mail@qutebrowser.org" -__version__ = "2.5.4" +__version__ = "4.2.0" __version_info__ = tuple(int(part) for part in __version__.split('.')) __description__ = "A keyboard-driven, vim-like browser based on Python and Qt." diff --git a/scripts/dev/update_version.py b/scripts/dev/update_version.py index 424a77559..b0f48710e 100644 --- a/scripts/dev/update_version.py +++ b/scripts/dev/update_version.py @@ -100,7 +100,7 @@ def show_commit(): "tox -e build-release -- --upload" .format(v=version)) print("* Windows: git fetch; git checkout v{v}; " - "py -3.9 -m tox -e build-release -- --upload" + "py -3.X -m tox -e build-release -- --upload" .format(v=version)) print("* macOS: git fetch && git checkout v{v} && " "tox -e build-release -- --upload"