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: rails/bootsnap
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.4.5
Choose a base ref
...
head repository: rails/bootsnap
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.4.6
Choose a head ref
  • 17 commits
  • 38 files changed
  • 8 contributors

Commits on Sep 20, 2019

  1. Configuration menu
    Copy the full SHA
    f15ce20 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    826c0d6 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2019

  1. Only strip elidable extensions to make short forms

    Otherwise we'll erroneously think that 'descriptor' ('descriptor.rb')
    is a loaded feature when somebody requires 'descriptor.pb' ('descriptor.pb.rb'),
    when in fact those are two completely unrelated files.
    
    Elidable extensions include Ruby '.rb' files and shared libraries.
    
    Ruby does some slightly magical things in 'require', e.g., letting
    you refer to shared libraries by extensions that _would_ have been
    valid on another platform ('libgit2.dll' works on Linux!) which would
    be difficult to replicate precisely without a clear spec, so this change
    makes the simplifying assumption that people won't use these extensions
    for anything other than shared libraries.
    jeffparsons committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    2a3644c View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2019

  1. Merge pull request #274 from Ryooooooga/remove-unsafe-pointer-casts

    Remove cast from const pointer to non-const pointer
    burke authored Sep 30, 2019
    Configuration menu
    Copy the full SHA
    065f909 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2019

  1. Only strip elidable extensions to make short forms (#271)

    Only strip elidable extensions to make short forms
    burke authored Oct 1, 2019
    Configuration menu
    Copy the full SHA
    ecdd65e View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2019

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

Commits on Oct 15, 2019

  1. Merge pull request #280 from alebruck/update-ruby-version

    Update minimum ruby version and fix rubocop
    rafaelfranca authored Oct 15, 2019
    Configuration menu
    Copy the full SHA
    78be2f5 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2019

  1. Don't break when Pathname is passed to LoadedFeaturesIndex

    Paweł Świątkowski committed Oct 16, 2019
    Configuration menu
    Copy the full SHA
    8d4b28a View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2019

  1. Don't break when Pathname is passed to LoadedFeaturesIndex (#276)

    Don't break when Pathname is passed to LoadedFeaturesIndex
    burke authored Oct 18, 2019
    Configuration menu
    Copy the full SHA
    9278a85 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2019

  1. Update documentation on os_version -> ruby_platform

    The old documentation was ambiguous and incorrect. `uname -v` makes it
    clear that the Bootsnap cache won't be reused in a Dockerized
    application when the host kernel changes.
    stanhu committed Dec 4, 2019
    Configuration menu
    Copy the full SHA
    70bef22 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2019

  1. Merge pull request #282 from stanhu/sh-improve-header-docs

    Update documentation on os_version -> ruby_platform
    rafaelfranca authored Dec 5, 2019
    Configuration menu
    Copy the full SHA
    c2f7b6c View commit details
    Browse the repository at this point in the history

Commits on Dec 26, 2019

  1. Unfreeze string literal

    Freezing the error message for LoadError triggers the
    `can't modify frozen String` error at
    https://github.com/rails/rails/blob/6-0-stable/activesupport/lib/active_support/dependencies.rb#L370
    which `replace`s the error message
    zunda committed Dec 26, 2019
    Configuration menu
    Copy the full SHA
    334bbb8 View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2019

  1. Make the change less impactful

    zunda committed Dec 27, 2019
    2 Configuration menu
    Copy the full SHA
    e934cb8 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #288 from zunda/unfreeze-loaderror-message

    Unfreeze string literal
    rafaelfranca authored Dec 27, 2019
    Configuration menu
    Copy the full SHA
    224e770 View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2020

  1. Use glibc version in ruby_platform cache header if available

    Previously, the `ruby_platform` header in the cache was calculated as a
    hash of the `RUBY_PLATFORM` (e.g. x86_64-linux-gnu) with the `uname -v`
    output (e.g. `#75-Ubuntu SMP Tue Oct 1 05:24:09 UTC 2019`).
    
    However, using `uname -v` is a bit restrictive on Linux systems. It
    makes it difficult for a containerized application to bundle the
    Bootsnap cache with the application itself. For example, in Docker, the
    host operating system determines the kernel version, so even though a
    Docker image may be built with a specific base image, the output of
    `uname -v` will change depending on where it's run. As a result, the
    application will need to rebuild the Bootsnap cache every time unless a
    persistent volume is used AND the kernel version is fixed. However, both
    requirements can be difficult to guarantee, which negates any speed-up
    that Bootsnap provides.
    
    We observe that in a Linux system, the application binary interface
    (ABI) is defined by the kernel version and glibc version. A change in
    the kernel ABI requires a change to glibc. Instead of hashing the output
    of `uname -v`, we hash the glibc version if it is defined by the
    compiler.
    stanhu committed Jan 11, 2020
    Configuration menu
    Copy the full SHA
    0de36ee View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2020

  1. Use glibc version in ruby_platform cache header if available (#283)

    Use glibc version in ruby_platform cache header if available
    burke authored Jan 13, 2020
    Configuration menu
    Copy the full SHA
    15eb573 View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2020

  1. bump version to 1.4.6

    burke committed Feb 24, 2020
    Configuration menu
    Copy the full SHA
    ce84043 View commit details
    Browse the repository at this point in the history
Loading