Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: node-modules/diskstore
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.1.0
Choose a base ref
...
head repository: node-modules/diskstore
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.2.0
Choose a head ref
  • 4 commits
  • 6 files changed
  • 2 contributors

Commits on Jul 15, 2026

  1. feat: fall back to same-dir write when rename is cross-device (EXDEV) (

    …#6)
    
    * feat: fall back to same-dir write when rename is cross-device (EXDEV)
    
    set() writes to a fixed <cacheDir>/.tmp/<uuid> and renames it onto the
    target for atomicity. When .tmp and the target file are on different
    filesystems, fs.rename throws EXDEV and the write fails.
    
    Add a fallback (on by default) that, on EXDEV, writes a temp file in the
    target's own directory and renames it there. A same-directory rename stays
    on one filesystem, so it avoids EXDEV while keeping the atomic replace.
    
    - new option `fallback` (default true, set false to keep throwing)
    - new option `fallbackTmpfileName` (defaults to a random name; a fixed name
      is only safe without concurrent writes to the same directory)
    - fallback logic isolated in the private `_renameWithFallback` method
    - tests for the fallback, custom name, disabled, and fallback-failure paths
    
    * ci: run Node.js 14 on Linux/Windows only
    
    macos-latest is now Apple Silicon (arm64) and Node.js 14 has no macOS
    arm64 build, so `macos-latest x 14` fails at the setup-node step. Split
    the matrix so 16/18 keep running on all three OS while 14 runs on Linux
    and Windows only.
    gxkl authored Jul 15, 2026
    Configuration menu
    Copy the full SHA
    f517258 View commit details
    Browse the repository at this point in the history
  2. ci: manual OIDC release, drop semantic-release (#7)

    Replace the token-based release with a manually-triggered workflow that
    publishes through npm OIDC trusted publishing (no NPM_TOKEN, no
    semantic-release, no long-lived PAT).
    
    - workflow_dispatch with a version_type (patch/minor/major) + dry_run input
    - `npm version` bumps + tags, `npm publish --provenance` publishes via OIDC
    - `id-token: write` for trusted publishing; the built-in GITHUB_TOKEN
      (contents: write) pushes the bump commit/tag and creates the GitHub release
    - publish before push so a failed publish retries cleanly
    
    Requires a trusted publisher configured for `diskstore` on npmjs.com
    (GitHub Actions -> node-modules/diskstore, workflow release.yml).
    Releases are now triggered manually from the Actions tab, not on merge.
    gxkl authored Jul 15, 2026
    Configuration menu
    Copy the full SHA
    2d167ba View commit details
    Browse the repository at this point in the history
  3. ci: fix Node.js version for OIDC release + harden pipeline (#8)

    * ci: use Node.js 24 for OIDC release
    
    The release job set node-version 20 but installed npm@latest (npm 12),
    which requires Node.js >= 22.22.2, so `npm install -g npm@latest` failed
    with EBADENGINE. Node 20's bundled npm 10 also doesn't support OIDC
    trusted publishing (needs >= 11.5.1).
    
    Bump the release job to Node.js 24 and the checkout/setup-node actions
    to v5/v6 so npm@latest installs cleanly and supports trusted publishing.
    
    * ci: harden release workflow and expand test matrix
    
    Follow-ups from a pipeline review:
    
    - release: add a concurrency group so two triggered releases can't race,
      without cancelling an in-progress one
    - release: skip the version bump on dry_run so a dry run has no side effects
    - release: push to HEAD:${{ github.ref_name }} explicitly instead of HEAD
    - test: also run Node.js 20 and 22 (kept 14/16/18); the package is released
      on Node 24 but CI only tested up to 18
    gxkl authored Jul 15, 2026
    Configuration menu
    Copy the full SHA
    92fc0ff View commit details
    Browse the repository at this point in the history
  4. Release v3.2.0

    github-actions[bot] committed Jul 15, 2026
    Configuration menu
    Copy the full SHA
    3b3096d View commit details
    Browse the repository at this point in the history
Loading