Fix the cache corruption issue in the revalidation feature. See #474.
The cache revalidation feature remains opt-in for now, until it is more battle tested.
1.18.2
Disable stale cache entries revalidation by default as it seems to cause cache corruption issues. See #471 and #474.
Will be re-enabled in a future version once the root cause is identified.
Fix a potential compilation issue on some systems. See #470.
1.18.1
Handle EPERM errors when opening files with O_NOATIME.
1.18.0
Bootsnap.instrumentation now receive :hit events.
Add Bootsnap.log_stats! to print hit rate statistics on process exit. Can also be enabled with BOOTSNAP_STATS=1.
Revalidate stale cache entries by digesting the source content.
This should significantly improve performance in environments where mtime isn't preserved (e.g. CI systems doing a git clone, etc).
See #468.
Open source files and cache entries with O_NOATIME when available to reduce disk accesses. See #469.
bootsnap precompile --gemfile now look for .rb files in the whole gem and not just the lib/ directory. See #466.
1.17.1
Fix a compatibility issue with the prism library that ships with Ruby 3.3. See #463.
Improved the Kernel#require decorator to not cause a method redefinition warning. See #461.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps bootsnap from 1.17.0 to 1.18.3.
Changelog
Sourced from bootsnap's changelog.
Commits
48c08b0
Release 1.18.308cd0d9
Merge pull request #476 from Shopify/fix-revalidationad189d1
Fix a cache corruption issue during revalidation2dba040
Release 1.18.238554bb
Merge pull request #475 from Shopify/disable-revalidation-by-defaulta5b46d0
Disable stale cache entries revalidation by default4b6d40e
Merge pull request #473 from Shopify/gnu-source33754b4
Define _GNU_SOURCE properlyd4b4666
Workaround fdatasync bug on macOSc88b4bd
Includeerrno_provenance
in sys_err messagesDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show