Add a readonly mode, for environments in which the updated cache wouldn't be persisted. See #428 and #423.
1.14.0
Require Ruby 2.6.
Add a way to skip directories during load path scanning.
If you have large non-ruby directories in the middle of your load path, it can severely slow down scanning.
Typically this is a problem with node_modules. See #277.
Fix Bootsnap.unload_cache!, it simply wouldn't work at all becaue of a merge mistake. See #421.
1.13.0
Stop decorating Kernel.load. This used to be very useful in development because the Rails "classic" autoloader
was using Kernel.load in dev and Kernel.require in production. But Zeitwerk is now the default, and it doesn't
use Kernel.load at all.
People still using the classic autoloader might want to stick to bootsnap 1.12.
Add Bootsnap.unload_cache!. Applications can call it at the end of their boot sequence when they know
no more code will be loaded to reclaim a bit of memory.
1.12.0
bootsnap precompile CLI will now also precompile Rakefile and .rake files.
Stop decorating Module#autoload as it was only useful for supporting Ruby 2.2 and older.
Remove uname and other patform specific version from the cache keys. RUBY_PLATFORM + RUBY_REVISION should be
enough to ensure bytecode compatibility. This should improve caching for alpine based setups. See #409.
1.11.1
Fix the can't modify frozen Hash error on load path cache mutation. See #411.
1.11.0
Drop dependency on fileutils.
Better respect Kernel#require duck typing. While it almost never comes up in practice, Kernel#require
follow a fairly intricate duck-typing protocol on its argument implemented as rb_get_path(VALUE) in MRI.
So when applicable we bind rb_get_path and use it for improved compatibility. See #396 and #406.
Get rid of the Kernel.require_relative decorator by resolving $LOAD_PATH members to their real path.
This way we handle symlinks in $LOAD_PATH much more efficiently. See #402 for the detailed explanation.
Drop support for Ruby 2.3 (to allow getting rid of the Kernel.require_relative decorator).
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 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.8.0 to 1.15.0.
Changelog
Sourced from bootsnap's changelog.
... (truncated)
Commits
b27b5fe
Release 1.15.095e8d17
Merge pull request #428 from Shopify/readonly-modeb51397f
Add readonly mode86612a5
Merge pull request #427 from jeffwidman/patch-1c34a012
fix typo: severly -> severely8f519cb
Merge pull request #426 from ansonhoyt/ansonhoyt-ignored-directories-typo8471a67
Update README.md98825f8
Release 1.14.00cbe7bf
Fix an uninitialized instance variable warning in testcff5fc7
Run platforms CI on Ruby 2.6Dependabot 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 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)