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: sinonjs/sinon
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v21.1.2
Choose a base ref
...
head repository: sinonjs/sinon
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v22.0.0
Choose a head ref
  • 16 commits
  • 22 files changed
  • 8 contributors

Commits on Apr 13, 2026

  1. Configuration menu
    Copy the full SHA
    1f8afd5 View commit details
    Browse the repository at this point in the history

Commits on May 5, 2026

  1. fix: exclude __proto__ from walk() (#2699)

    [`__proto__`] is a special property to access an object's prototype.  It
    has many pitfalls:
    
    - Setting it to an object value changes an object's prototype, which is
      generally discouraged and may be unexpected by the `iterator` callback.
    - Setting it to a non-object value does nothing (meaning `seen[k] =
      true` has no effect).
    - When Node.js is run with the [`--disable-proto=throw`] option, getting
      or setting `__proto__` causes an exception with code
      `ERR_PROTO_ACCESS` to be thrown.
    
    Additionally, since this property (and all properties of
    `Object.prototype`) are currently unused in this project by consumers of
    `walk()`, it is both safe and preferable to exclude.
    
    [`__proto__`]: https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.prototype.__proto__
    [`--disable-proto=throw`]: https://nodejs.org/api/cli.html#disable-protomode
    
    Fixes: #2695
    
    Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
    kevinoid authored May 5, 2026
    Configuration menu
    Copy the full SHA
    f0bd6e1 View commit details
    Browse the repository at this point in the history
  2. Fix sinon.restore() cascade-restoring sub-sandboxes (#2704)

    The ESM port of `createApi` (#2683, shipped in 21.1.0) replaced  `createSandbox: createSandbox` with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:
    
        createSandbox: function createSandbox(config) {
            const s = createConfiguredSandbox(config);
            sandbox.getFakes().push(s);
            return s;
        }
    
    `Sandbox#restore` then walks that collection and calls `.restore()` on each entry. Because a sub-sandbox is itself an entry, every top-level `sinon.restore()` cascades into every sub-sandbox and undoes its stubs/timers/etc. — defeating the whole point of having an isolated sub-sandbox. The same cascade hits `resetHistory` and
    `verifyAndRestore`. This is the regression reported in #2701.
    
    Restore the pre-21.1 behaviour: hand the root API a direct reference to `createConfiguredSandbox`. Sub-sandboxes are now isolated; only `subSandbox.restore()` (or `verifyAndRestore`) clears their fakes.
    
    Also flip the four sandbox tests that were locking in the buggy cascade: they now assert the parent's restore/resetHistory leaves the child untouched, with an explicit child-side cleanup at the
    end.
    
    Closes #2701
    charlieleith authored May 5, 2026
    Configuration menu
    Copy the full SHA
    66df977 View commit details
    Browse the repository at this point in the history
  3. fix: isolate walk state from Object prototype

    laplace young authored and fatso83 committed May 5, 2026
    Configuration menu
    Copy the full SHA
    a769291 View commit details
    Browse the repository at this point in the history
  4. fix: make build and node test scripts cross-platform

    laplace young authored and fatso83 committed May 5, 2026
    Configuration menu
    Copy the full SHA
    2c97539 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f7476b5 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1519009 View commit details
    Browse the repository at this point in the history
  7. improve GitHubworkflows by introducing zizmor for monitoring (#2686)

    * fix(workflows): fetch-depth is for actions/checkout
    
    * chore(workflows): update
    
    - pin all actions to precise commits
    - avoid credential leakage from actions/checkout
    - group action updates going forward
    - add zimor config to ignore "secrets outside env"
    - add job to keep validating workflows
    till authored May 5, 2026
    Configuration menu
    Copy the full SHA
    6199e9e View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f4f7d93 View commit details
    Browse the repository at this point in the history
  9. Quality: Global mutable call id can grow unbounded across long-lived …

    …processes (#2691)
    
    * refactor: global mutable call id can grow unbounded across l
    
    `callId` is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.
    
    Affected files: proxy-invoke.js
    
    Signed-off-by: tuanaiseo <221258316+tuanaiseo@users.noreply.github.com>
    
    * Wrap around for all values that are too high
    
    ---------
    
    Signed-off-by: tuanaiseo <221258316+tuanaiseo@users.noreply.github.com>
    Co-authored-by: Carl-Erik Kopseng <carlerik@gmail.com>
    tuanaiseo and fatso83 authored May 5, 2026
    Configuration menu
    Copy the full SHA
    0536afc View commit details
    Browse the repository at this point in the history
  10. Update updatable packages

    fatso83 committed May 5, 2026
    Configuration menu
    Copy the full SHA
    f4ab02f View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    c5ddf80 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    197d660 View commit details
    Browse the repository at this point in the history
  13. Update to Node 26

    fatso83 committed May 5, 2026
    Configuration menu
    Copy the full SHA
    75a1e5b View commit details
    Browse the repository at this point in the history
  14. Update Ruby gems

    fatso83 committed May 5, 2026
    Configuration menu
    Copy the full SHA
    ed911df View commit details
    Browse the repository at this point in the history
  15. 22.0.0

    fatso83 committed May 5, 2026
    Configuration menu
    Copy the full SHA
    52555af View commit details
    Browse the repository at this point in the history
Loading