• v0.3.1 7f1d3eca2d

    v0.3.1
    Some checks failed
    Build Windows binary / Build and push explorer-bookmarks binary (push) Successful in 8s
    Release / Build and release explorer-bookmarks binary (push) Failing after 9s
    Stable

    David released this 2026-04-16 02:10:51 +02:00 | 45 commits to main since this release

    Changelog

    7f1d3ec Merge pull request 'Release v0.3.1' (#15) from release/v0.3.1 into main
    3f188e8 Release v0.3.1
    9d18b65 Merge pull request 'Use org FORGEJO_PAT secret in release workflow' (#14) from use-forgejo-pat into main
    22a7167 Use org FORGEJO_PAT secret in release workflow
    451fa90 Merge pull request 'Release v0.3.0' (#13) from release/v0.3.0 into main
    7cc2897 Release v0.3.0
    9f9800c Merge pull request 'Replace nightly packages with single latest, add hotfix bump option' (#12) from latest-package-and-hotfix into main
    6c1d3a3 Replace nightly packages with single latest, add hotfix bump option
    943ee5b Merge pull request 'Release v0.2.0' (#11) from release/v0.2.0 into main
    7df092c Release v0.2.0
    e10d6dc Add justfile and create-release workflow for automated release flow
    e4708b2 Add Dufs upload step to release workflow
    a857972 Merge pull request 'The auto-save task feature is complete:' (#10) from long-feature-auto-save into main
    bd3022b The auto-save task feature is complete:
    117673e Merge pull request 'jq replaced with a Python one-liner that does the same thing — reads stdin, parses JSON, prints the id field.' (#9) from long-msp-30 into main
    2cda315 jq replaced with a Python one-liner that does the same thing — reads stdin, parses JSON, prints the id field. Python 3 is part of the base OpenSUSE image so no install step needed.
    6b416a0 Merge pull request '- Two steps collapsed into one — RELEASE_ID is a plain shell variable in the same process, never touching' (#8) from long-msp-30 into main
    39ec420 - Two steps collapsed into one — RELEASE_ID is a plain shell variable in the same process, never touching GITHUB_OUTPUT. This eliminates the most likely failure: Forgejo runner not setting GITHUB_OUTPUT, or the step-output read returning empty and silently posting to a bad URL. - TAG passed as an env var — ${{ forgejo.ref_name }} is expanded once at the YAML level into TAG, then used consistently across both curl calls as ${TAG}. Cleaner than mixing template expressions and shell variables in a single command. - echo "Created release ID: ${RELEASE_ID}" added — if jq returns null (meaning the create-release response was unexpected), this will print null visibly in the log before the upload curl fails with a 404, making the root cause obvious.
    e95c303 Merge pull request '- FORGEJO_TOKEN is scoped as a step-level env var on both curl steps so the token isn't visible to other steps' (#7) from long-msp-30 into main
    19d359c - FORGEJO_TOKEN is scoped as a step-level env var on both curl steps so the token isn't visible to other steps - The Create release step captures release_id via jq --raw-output '.id' and writes it to GITHUB_OUTPUT so the Upload step can reference it as ${{ steps.create-release.outputs.release_id }} - The asset upload uses --form "attachment=@..." which is the correct multipart form field name for the Forgejo releases asset endpoint - --silent --show-error suppresses progress noise but keeps error messages, same pattern as the existing package registry upload in build-oci-image.yml - No shell: override needed — the runner's default bash handles both ${{ }} expansion and the curl commands correctly
    3f1b654 Merge pull request 'Add Generic Package Registry upload via curl using PACKAGE_TOKEN' (#6) from long-msp-30 into main
    8b9a9bc Add Generic Package Registry upload via curl using PACKAGE_TOKEN
    3bf707e Merge pull request 'Update the Forgejo CI workflow at .forgejo/workflows/build-oci-image.yml to upload' (#5) from long-msp-30 into main
    d0566f1 Update the Forgejo CI workflow at .forgejo/workflows/build-oci-image.yml to upload the compiled .exe as a downloadable artifact after a successful build
    19e0bf2 Merge pull request '- Prerequisites: msvc → gnu target, cargo-zigbuild link added' (#4) from long-msp-30 into main
    d560aba - Prerequisites: msvc → gnu target, cargo-zigbuild link added - Build command: cargo build --release --target x86_64-pc-windows-msvc → cargo zigbuild --target x86_64-pc-windows-gnu; debug build line removed; binary output path updated - EB_RESTORE_MAX_FILE_SIZE: range 1-4096 → 1-16384, default 1024 → 4096 - WRAPPER Variables section removed entirely - Tab support feature entry appended
    b207e1b Merge pull request 'long-msp-30' (#3) from long-msp-30 into main
    aabddd8 Done. .gitignore had the standard gitignore.io Rust template entry for Cargo.lock (with the comment noting it should be removed for executables). Removed those three lines, generated the lockfile with 89 packages, and committed both together.
    350e2bc Add Cargo.lock for reproducible builds
    0b216a4 Merge pull request 'oci-build/Dockerfile (new file)' (#2) from long-msp-30 into main
    8e06b0c oci-build/Dockerfile (new file) The old approach used imperative buildah commands (buildah from → buildah run → buildah copy → buildah mount to extract). The Docker equivalent is a two-stage Dockerfile: - builder stage: installs MinGW, adds the Windows rustup target, copies manifests first for dependency caching, compiles dependencies with a dummy main.rs, then compiles the real source - artifact stage: FROM scratch containing only the .exe — this is what --output type=local extracts
    e914e3a Merge pull request 'long-msp-30' (#1) from long-msp-30 into main
    5b096d5 save_bookmarks() (was 3 lines of PowerShell, now ~60) - Loads UIAutomation assemblies - Enumerates CabinetWClass windows and finds ShellTabWindowClass children per window - Writes [Window] headers for multi-tab windows - Active tab path comes from Shell.Application COM (reliable); background tabs are temporarily activated one-by-one (up to 500 ms retry each) to read their paths from COM, then the original tab is restored - Falls back to single-path output for pre-22H2 windows with no tabs
    e3b6f71 - Build Commands: replaced cargo build with cargo zigbuild --target x86_64-pc-windows-gnu for both debug and release - Dev Workflow: new section with the four-step Linux→Windows cycle - Platform Notes: replaced the stale msvc/windows-crate lines with the current GNU target setup
    0bf7bd9 The wrapper check block (lines 521–547) is gone and install_script() now goes straight to copying the current executable. The three WRAPPER_* lines are also removed from help_text()
    a9a6e96 Added explorer-bookmarks.txt from
    964235d feat: Remove unused Docker files
    961940b feat: Sync build process with other repos
    c232ada feat: Sync gitignore with the other repos
    ae1286e feat: Claude code review
    d5f7411 feat: Converted from TypeScript using Deno

    Downloads