388 lines
15 KiB
Plaintext
388 lines
15 KiB
Plaintext
-------------------------------------------------------------------
|
|
Mon Nov 4 16:20:10 UTC 2024 - Dan Čermák <dan.cermak@posteo.net>
|
|
|
|
- New upstream release 1.18.4, see bundled CHANGELOG.md
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jun 21 09:33:29 UTC 2024 - Dan Čermák <dan.cermak@posteo.net>
|
|
|
|
- # 1.18.3
|
|
|
|
* 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.
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jan 29 13:47:58 UTC 2024 - Dan Čermák <dan.cermak@posteo.net>
|
|
|
|
- New upstream release 1.17.1, see bundled CHANGELOG.md
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Nov 2 15:40:16 UTC 2023 - Dan Čermák <dan.cermak@posteo.net>
|
|
|
|
- # 1.17.0
|
|
|
|
* Ensure `$LOAD_PATH.dup` is Ractor shareable to fix an conflit with `did_you_mean`.
|
|
* Allow to ignore direcotries using absolute paths.
|
|
* Support YAML and JSON CompileCache on TruffleRuby.
|
|
* Support LoadPathCache on TruffleRuby.
|
|
|
|
# 1.16.0
|
|
|
|
* Use `RbConfig::CONFIG["rubylibdir"]` instead of `RbConfig::CONFIG["libdir"]` to check for stdlib files. See #431.
|
|
* Fix the cached version of `YAML.load_file` being slightly more permissive than the default `Psych` one. See #434.
|
|
`Date` and `Time` values are now properly rejected, as well as aliases.
|
|
If this causes a regression in your application, it is recommended to load *trusted* YAML files with `YAML.unsafe_load_file`.
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Dec 7 11:13:46 UTC 2022 - Stephan Kulow <coolo@suse.com>
|
|
|
|
updated to version 1.15.0
|
|
see installed CHANGELOG.md
|
|
|
|
# 1.15.0
|
|
|
|
* 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.
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Aug 4 12:59:41 UTC 2022 - Stephan Kulow <coolo@suse.com>
|
|
|
|
updated to version 1.13.0
|
|
see installed CHANGELOG.md
|
|
|
|
# 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.
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jun 13 16:52:37 UTC 2022 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 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.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Mar 10 15:43:33 UTC 2022 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 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).
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Feb 15 07:24:24 UTC 2022 - Stephan Kulow <coolo@suse.com>
|
|
|
|
updated to version 1.10.3
|
|
see installed CHANGELOG.md
|
|
|
|
# 1.10.3
|
|
|
|
* Fix Regexp and Date type support in YAML compile cache. (#400)
|
|
|
|
* Improve the YAML compile cache to support `UTF-8` symbols. (#398, #399)
|
|
[The default `MessagePack` symbol serializer assumes all symbols are ASCII](https://github.com/msgpack/msgpack-ruby/pull/211),
|
|
because of this, non-ASCII compatible symbol would be restored with `ASCII_8BIT` encoding (AKA `BINARY`).
|
|
Bootsnap now properly cache them in `UTF-8`.
|
|
|
|
Note that the above only apply for actual YAML symbols (e..g `--- :foo`).
|
|
The issue is still present for string keys parsed with `YAML.load_file(..., symbolize_names: true)`, that is a bug
|
|
in `msgpack` that will hopefully be solved soon, see: https://github.com/msgpack/msgpack-ruby/pull/246
|
|
|
|
* Entirely disable the YAML compile cache if `Encoding.default_internal` is set to an encoding not supported by `msgpack`. (#398)
|
|
`Psych` coerce strings to `Encoding.default_internal`, but `MessagePack` doesn't. So in this scenario we can't provide
|
|
YAML caching at all without returning the strings in the wrong encoding.
|
|
This never came up in practice but might as well be safe.
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jan 25 06:40:49 UTC 2022 - Stephan Kulow <coolo@suse.com>
|
|
|
|
updated to version 1.10.2
|
|
see installed CHANGELOG.md
|
|
|
|
# 1.10.2
|
|
|
|
* Reduce the `Kernel.require` extra stack frames some more. Now bootsnap should only add one extra frame per `require` call.
|
|
|
|
* Better check `freeze` option support in JSON compile cache.
|
|
Previously `JSON.load_file(..., freeze: true)` would be cached even when the msgpack version is missing support for it.
|
|
|
|
# 1.10.1
|
|
|
|
* Fix `Kernel#autoload`'s fallback path always being executed.
|
|
|
|
* Consider `unlink` failing with `ENOENT` as a success.
|
|
|
|
# 1.10.0
|
|
|
|
* Delay requiring `FileUtils`. (#285)
|
|
`FileUtils` can be installed as a gem, so it's best to wait for bundler to have setup the load path before requiring it.
|
|
|
|
* Improve support of Psych 4. (#392)
|
|
Since `1.8.0`, `YAML.load_file` was no longer cached when Psych 4 was used. This is because `load_file` loads
|
|
in safe mode by default, so the Bootsnap cache could defeat that safety.
|
|
Now when precompiling YAML files, Bootsnap first try to parse them in safe mode, and if it can't fallback to unsafe mode,
|
|
and the cache contains a flag that records wether it was generated in safe mode or not.
|
|
`YAML.unsafe_load_file` will use safe caches just fine, but `YAML.load_file` will fallback to uncached YAML parsing
|
|
if the cache was generated using unsafe parsing.
|
|
|
|
* Minimize the Kernel.require extra stack frames. (#393)
|
|
This should reduce the noise generated by bootsnap on `LoadError`.
|
|
|
|
# 1.9.4
|
|
|
|
* Ignore absolute paths in the loaded feature index. (#385)
|
|
This fixes a compatibility issue with Zeitwerk when Zeitwerk is loaded before bootsnap. It also should
|
|
reduce the memory usage and improve load performance of Zeitwerk managed files.
|
|
|
|
* Automatically invalidate the load path cache whenever the Ruby version change. (#387)
|
|
This is to avoid issues in case the same installation path is re-used for subsequent ruby patch releases.
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Dec 21 22:47:57 UTC 2021 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 1.9.3
|
|
|
|
# 1.9.3
|
|
|
|
* Only disable the compile cache for source files impacted by [Ruby 3.0.3 [Bug 18250]](https://bugs.ruby-lang.org/issues/18250).
|
|
This should keep the performance loss to a minimum.
|
|
|
|
# 1.9.2
|
|
|
|
* Disable compile cache if [Ruby 3.0.3's ISeq cache bug](https://bugs.ruby-lang.org/issues/18250) is detected.
|
|
AKA `iseq.rb:13 to_binary: wrong argument type false (expected Symbol)`
|
|
* Fix `Kernel.load` behavior: before `load 'a'` would load `a.rb` (and other tried extensions) and
|
|
wouldn't load `a` unless `development_mode: true`, now only `a` would be loaded and files with
|
|
extensions wouldn't be.
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Oct 9 09:04:24 UTC 2021 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 1.9.1
|
|
|
|
* Removed a forgotten debug statement in JSON precompilation
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Aug 25 05:06:34 UTC 2021 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 1.7.7
|
|
|
|
* Fix `require_relative` in evaled code on latest ruby 3.1.0-dev. (#366)
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Jul 29 08:40:13 UTC 2021 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 1.7.6
|
|
|
|
* Fix reliance on `set` to be required.
|
|
* Fix `Encoding::UndefinedConversionError` error for Rails applications when precompiling cache. (#364)
|
|
|
|
-------------------------------------------------------------------
|
|
Fri May 14 16:00:26 UTC 2021 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 1.7.5
|
|
|
|
# 1.7.5
|
|
|
|
* Handle a regression of Ruby 2.7.3 causing Bootsnap to call the deprecated `untaint` method. (#360)
|
|
* Gracefully handle read-only file system as well as other errors preventing to persist the load path cache. (#358)
|
|
|
|
# 1.7.4
|
|
|
|
* Stop raising errors when encoutering various file system errors. The cache is now best effort,
|
|
if somehow it can't be saved, bootsnapp will gracefully fallback to the original operation (e.g. `Kernel.require`).
|
|
(#353, #177, #262)
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Mar 23 06:00:28 UTC 2021 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 1.7.3
|
|
|
|
* Disable YAML precompilation when encountering YAML tags. (#351)
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Feb 15 13:32:13 UTC 2021 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 1.7.2
|
|
|
|
* Fix compatibility with msgpack < 1. (#349)
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Feb 6 11:27:04 UTC 2021 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 1.7.1
|
|
|
|
* no changelog found in CHANGELOG.md
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Nov 10 21:00:10 UTC 2020 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 1.5.1
|
|
|
|
* Workaround a Ruby bug in InstructionSequence.compile_file. (#332)
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Nov 1 14:46:59 UTC 2020 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 1.4.9
|
|
|
|
* [Windows support](https://github.com/Shopify/bootsnap/pull/319)
|
|
* [Fix potential crash](https://github.com/Shopify/bootsnap/pull/322)
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Aug 22 12:59:34 UTC 2020 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 1.4.8
|
|
|
|
# 1.4.8
|
|
|
|
* [Prevent FallbackScan from polluting exception cause](https://github.com/Shopify/bootsnap/pull/314)
|
|
|
|
# 1.4.7
|
|
|
|
* Various performance enhancements
|
|
* Fix race condition in heavy concurrent load scenarios that would cause bootsnap to raise
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Mar 3 11:01:39 UTC 2020 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 1.4.6
|
|
|
|
* no changelog found
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Nov 12 16:42:47 UTC 2019 - Manuel Schnitzer <mschnitzer@suse.com>
|
|
|
|
- updated to version 1.4.5
|
|
|
|
* MRI 2.7 support
|
|
* Fixed concurrency bugs
|
|
|
|
-------------------------------------------------------------------
|
|
Sun May 5 09:19:48 UTC 2019 - Stephan Kulow <coolo@suse.com>
|
|
|
|
- updated to version 1.4.4
|
|
see installed CHANGELOG.md
|
|
|
|
# 1.4.4
|
|
|
|
* Disable ISeq cache in `bootsnap/setup` by default in Ruby 2.5
|
|
|
|
# 1.4.3
|
|
|
|
* Fix some cache permissions and umask issues after switch to mkstemp
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Mar 29 05:56:31 UTC 2019 - Stephan Kulow <coolo@suse.com>
|
|
|
|
- updated to version 1.4.2
|
|
see installed CHANGELOG.md
|
|
|
|
# 1.4.2
|
|
|
|
* Fix bug when removing features loaded by relative path from `$LOADED_FEATURES`
|
|
* Fix bug with propagation of `NameError` up from nested calls to `require`
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Mar 2 15:05:33 UTC 2019 - Stephan Kulow <coolo@suse.com>
|
|
|
|
- updated to version 1.4.1
|
|
see installed CHANGELOG.md
|
|
|
|
# 1.4.1
|
|
|
|
* Don't register change observers to frozen objects.
|
|
|
|
# 1.4.0
|
|
|
|
* When running in development mode, always fall back to a full path scan on LoadError, making
|
|
bootsnap more able to detect newly-created files. (#230)
|
|
* Respect `$LOADED_FEATURES.delete` in order to support code reloading, for integration with
|
|
Zeitwerk. (#230)
|
|
* Minor performance improvement: flow-control exceptions no longer generate backtraces.
|
|
* Better support for requiring from environments where some features are not supported (especially
|
|
JRuby). (#226)k
|
|
* More robust handling of OS errors when creating files. (#225)
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Sep 17 09:29:37 UTC 2018 - mschnitzer@suse.com
|
|
|
|
- updated to version 1.3.2
|
|
|
|
* Fix Spring + Bootsnap incompatibility when there are files with similar names.
|
|
* Fix `YAML.load_file` monkey patch to keep accepting File objects as arguments.
|
|
* Fix the API for `ActiveSupport::Dependencies#autoloadable_module?`.
|
|
* Some performance improvements.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jul 11 18:00:51 UTC 2018 - factory-auto@kulow.org
|
|
|
|
- updated to version 1.3.1
|
|
see installed CHANGELOG.md
|
|
|
|
# 1.3.1
|
|
|
|
* Change load path scanning to more correctly follow symlinks.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jul 6 21:15:48 UTC 2018 - mschnitzer@suse.com
|
|
|
|
- Initial package release
|