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 (from changelog)
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 (from changelog)
Handle EPERM errors when opening files with O_NOATIME.
1.18.0 (from changelog)
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.
Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.
All Depfu comment commands
@depfu rebase
Rebases against your default branch and redoes this update
@depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@depfu cancel merge
Cancels automatic merging of this PR
@depfu close
Closes this PR and deletes the branch
@depfu reopen
Restores the branch and reopens this PR (if it's closed)
@depfu pause
Ignores all future updates for this dependency and closes this PR
@depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)
Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.
What changed?
✳️ bootsnap (1.17.1 → 1.18.3) · Repo · Changelog
Release Notes
1.18.3 (from changelog)
1.18.2 (from changelog)
1.18.1 (from changelog)
1.18.0 (from changelog)
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by 24 commits:
Release 1.18.3
Merge pull request #476 from Shopify/fix-revalidation
Fix a cache corruption issue during revalidation
Release 1.18.2
Merge pull request #475 from Shopify/disable-revalidation-by-default
Disable stale cache entries revalidation by default
Merge pull request #473 from Shopify/gnu-source
Define _GNU_SOURCE properly
Workaround fdatasync bug on macOS
Include `errno_provenance` in sys_err messages
Fix extconf.rb to look for fdatasync in unistd.h
Release 1.18.1
Handle `EPERM` errors when opening files with `O_NOATIME`.
Release 1.18.0
Add `hit` instrumentation events and add log_stat!
Merge pull request #468 from Shopify/revalidate-mtime
Revalidate stale entries using a digest.
Merge pull request #469 from Shopify/open-noatime
Open with O_NOATIME
precompile ignore `features` directories (cucumber)
Merge pull request #467 from Shopify/remove-warning
Remove unused variable warning
Merge pull request #466 from Shopify/precompile-app
Make `precompile --gemfile` consider the entire gem not just `lib/`
Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with
@depfu rebase
.All Depfu comment commands