Portable RubyInstaller Changelog

What's new in Portable RubyInstaller 3.3.3-1

Apr 26, 2024
  • Changed:
  • Update to ruby-3.3.1, see release notes.
  • Update the SSL CA certificate list.
  • Update to OpenSSL-3.3.0. The Ruby API dosn't change.
  • Move bundled OpenSSL related files to bin/lib subdirectory so that legacy algorithms can be loaded through provider support. #365
  • Update the bundled MSYS2 keyring package.
  • Avoid crash even if a registry key incldues inconvertible characters
  • Avoid method redefinition warning in rubygems hook

New in Portable RubyInstaller 3.3.0-1 (Dec 26, 2023)

  • Changes compared to RubyInstaller-3.2.2-1:
  • Remove the .irbrc file previously generated by RubyInstaller versions before 3.3.0.
  • It is no longer necessary, since the enabled extensions have been made defaults in ruby core.
  • Return registry strings as UTF-8 instead of OEM charset. #348
  • Update the SSL CA certificate list and to OpenSSL-3.2.0.

New in Portable RubyInstaller 3.2.2-1 (Apr 2, 2023)

  • Update to ruby-3.2.2, see release notes.
  • Update to OpenSSL-3.1.0.
  • The Ruby API dosn't change.
  • Move OpenSSL config directroy from <install-path>/etc/ssl/ to <install-path>/bin/etc/ssl/ to follow upstream change in MSYS2. #337

New in Portable RubyInstaller 3.2.1-1 (Feb 9, 2023)

  • Update to ruby-3.2.1, see release notes.
  • Update the SSL CA certificate list and to OpenSSL-3.0.8.
  • Move OpenSSL config directroy from <install-path>/ssl/ to <install-path>/etc/ssl/ to follow upstream change in msys2/MINGW-packages@2f97826
  • Allow home directory with white space when installing gems into users home. #332
  • Don't overwrite GEM_HOME or BUNDLE_SYSTEM_BINDIR if already present.
  • Don't set bindir to a non-existing directory.
  • This is related to rubygems/rubygems#6332

New in Portable RubyInstaller 3.2.0-1 (Dec 30, 2022)

  • Add installer dialog to select per-user or all-users installation.
  • See out Wiki for further description of the install modes.
  • Add installer options /ALLUSERS and /CURRENTUSER for silent install.
  • For silent install see: https://github.com/oneclick/rubyinstaller2/wiki/FAQ#user-content-silent-install
  • Enable automatic private gem installation in user's home on a machine wide ruby setup, if the user doesn't have write access.
  • List machine wide rubies in addition to per-user rubies at ridk use.
  • Add full administrator access to the install directory.
  • Without this permission an admin had to use the takeown command to regain write access to a per-user installation.
  • Set proper permissions of MSYS /tmp directory, so that every user can create and use files, but not read or change files of other users.
  • This is needed for a machine wide installation.
  • Check or add a system wide gemrc file at every rubygems load to prevent hijacking by another user.
  • Avoid UNICODE characters in TMP env var to work around issues of gcc. #320
  • Switch to OpenSSL-3. This has several implications on the Ruby API and disables support for legacy crypto algorithms.
  • See https://github.com/ruby/openssl/blob/master/History.md#version-300 and https://github.com/openssl/openssl/blob/master/doc/man7/migration_guide.pod#openssl-30

New in Portable RubyInstaller 3.2.0-1 Pre-release (Dec 27, 2022)

  • Add installer dialog to select per-user or all-users installation and add installer options /ALLUSERS and /CURRENTUSER for silent install.
  • For silent install see: https://github.com/oneclick/rubyinstaller2/wiki/FAQ#user-content-silent-install
  • List machine wide rubies in addition to per-user rubies at ridk use.
  • Add full administrator access to the install directory.
  • Without this permission an admin had to use the takeown command to regain write access to a per-user installation.
  • Check or add a system wide gemrc file at every rubygems load to prevent hijacking by another user.
  • Avoid UNICODE characters in TMP env var to work around issues of gcc. #320
  • Switch to OpenSSL-3. This has several implications on the Ruby API and disables support for legacy crypto algorithms.
  • See https://github.com/ruby/openssl/blob/master/History.md#version-300 and https://github.com/openssl/openssl/blob/master/doc/man7/migration_guide.pod#openssl-30

New in Portable RubyInstaller 3.1.3-1 (Nov 28, 2022)

  • Added:
  • Restrict write permissions to the installing user.
  • For several reasons we use C:/RubyXXX direcory by default but not C:/Program Files (see: oneclick/rubyinstaller#135 ).
  • Using an install path under C:/ previously inherited write permissions for everyone, which compromised security in a multi user environment.
  • ridk use Add options to store the change permanently in the user or system environment variables. #314
  • Changed:
  • Update to ruby-3.1.3, see release notes.
  • Update of the SSL CA certificate list.
  • Update the bundled MSYS2 keyring package.
  • Fix start menu entry for rubygems-server and irb.
  • Run the ruby command prompt in the start menu with ridk enable.
  • Update the start menu entry with the newly installed ruby version.
  • They kept the old ruby version previously.
  • Fix irb hook in ruby-3.1, which re-encodes .irb_history to UTF-8 on demand.
  • Fix possible crash in ridk use. #291
  • Removed:
  • No longer create registry keys under SoftwareRubyInstallerMRI<RubyVersion>. #242
  • They weren't used any longer and didn't distinguish between 32 and 64-bit versions.
  • No longer install the 32 bit but only the 64 bit version of MSYS2 as part of ridk install.
  • It is still possible to get a pure 32-bit MSYS2 and Ruby installation by using the 32-bit RubyInstaller+Devkit package.

New in Portable RubyInstaller 3.1.2-1 (Apr 20, 2022)

  • Changed:
  • Update to ruby-3.1.2, see release notes.
  • Update of the SSL CA certificate list.
  • Update the bundled MSYS2 keyring package.
  • Removed:
  • No longer respond to MSYSTEM environment variable for setting a cross build environment. #269

New in Portable RubyInstaller 3.1.1-1 (Feb 19, 2022)

  • Update to ruby-3.1.1
  • Fix a runtime error when running CGI in WEBrick http server. #260
  • Backport a patch for Reline to fix AltGr on European keyboards. #259

New in Portable RubyInstaller 3.1.0-1 (Dec 31, 2021)

  • New experimental in-process JIT compiler:
  • Ruby 3.1 merges YJIT, a new in-process JIT compiler developed by Shopify.
  • A new debugger:
  • A completely rewritten debugger debug.gem is bundled. debug.gem has the following features:
  • Improve the debugging performance (it does not slow down the application even with the debugger)
  • Support remote debugging
  • Support rich debugging frontend (VSCode and Chrome browser are supported now)
  • Support multi-process/multi-thread debugging
  • Colorful REPL
  • And other useful features like recod & replay feature, tracing feature and so on.
  • Fine-grained error location in backtrace:
  • A built-in gem, error_highlight, has been introduced. It includes fine-grained error location in backtrace.
  • IRB Autocomplete and Document Display:
  • The IRB now has an autocomplete feature, where you can just type in the code, and the completion candidates dialog will appear. You can use Tab and Shift+Tab to move up and down.
  • Other Notable New Features:
  • Language:
  • Values in Hash literals and keyword arguments can be omitted
  • Pin operator in pattern matching now takes an expression.
  • Parentheses can be omitted in one-line pattern matching.
  • RBS:
  • RBS is a language to describe the structure of Ruby programs
  • Updates since Ruby 3.0.0:
  • Generic type parameters can be bounded. (PR)
  • Generic type aliases are supported. (PR)
  • rbs collection has been introduced to manage gems’ RBSs. (doc)
  • Many signatures for built-in and standard libraries have been added/updated.
  • It includes many bug fixes and performance improvements too.
  • TypeProf:
  • TypeProf is a static type analyzer for Ruby. It generates a prototype of RBS from non-type-annotated Ruby code.
  • Performance improvements:
  • MJIT:
  • For workloads like Rails, the default --jit-max-cache is changed from 100 to 10000. The JIT compiler no longer skips compilation of methods longer than 1000 instructions.
  • To support Zeitwerk of Rails, JIT-ed code is no longer cancelled when a TracePoint for class events is enabled.
  • Other notable changes since 3.0:
  • One-line pattern matching, e.g., ary => [x, y, z], is no longer experimental.
  • Multiple assignment evaluation order has been changed slightly. [Bug #4443]
  • foo[0], bar[0] = baz, qux was evaluated in order baz, qux, foo, and then bar in Ruby 3.0. In Ruby 3.1, it is evaluated in order foo, bar, baz, and then qux.
  • Variable Width Allocation: Strings (experimental) [Bug #18239]
  • Psych 4.0 changes Psych.load as safe_load by the default. You may need to use Psych 3.3.2 for migrating to this behavior. [Bug #17866]
  • Standard libraries updates:
  • The following default gem are updated:
  • RubyGems 3.3.3
  • base64 0.1.1
  • benchmark 0.2.0
  • bigdecimal 3.1.1
  • bundler 2.3.3
  • cgi 0.3.1
  • csv 3.2.2
  • date 3.2.2
  • did_you_mean 1.6.1
  • digest 3.1.0
  • drb 2.1.0
  • erb 2.2.3
  • error_highlight 0.3.0
  • etc 1.3.0
  • fcntl 1.0.1
  • fiddle 1.1.0
  • fileutils 1.6.0
  • find 0.1.1
  • io-console 0.5.10
  • io-wait 0.2.1
  • ipaddr 1.2.3
  • irb 1.4.1
  • json 2.6.1
  • logger 1.5.0
  • net-http 0.2.0
  • net-protocol 0.1.2
  • nkf 0.1.1
  • open-uri 0.2.0
  • openssl 3.0.0
  • optparse 0.2.0
  • ostruct 0.5.2
  • pathname 0.2.0
  • pp 0.3.0
  • prettyprint 0.1.1
  • psych 4.0.3
  • racc 1.6.0
  • rdoc 6.4.0
  • readline 0.0.3
  • readline-ext 0.1.4
  • reline 0.3.0
  • resolv 0.2.1
  • rinda 0.1.1
  • ruby2_keywords 0.0.5
  • securerandom 0.1.1
  • set 1.0.2
  • stringio 3.0.1
  • strscan 3.0.1
  • tempfile 0.1.2
  • time 0.2.0
  • timeout 0.2.0
  • tmpdir 0.1.2
  • un 0.2.0
  • uri 0.11.0
  • yaml 0.2.0
  • zlib 2.1.1
  • The following bundled gems are updated:
  • minitest 5.15.0
  • power_assert 2.0.1
  • rake 13.0.6
  • test-unit 3.5.3
  • rexml 3.2.5
  • rbs 2.0.0
  • typeprof 0.21.1
  • The following default gems are now bundled gems. You need to add the following libraries to Gemfile under the bundler environment:
  • net-ftp 0.1.3
  • net-imap 0.2.2
  • net-pop 0.1.1
  • net-smtp 0.3.1
  • matrix 0.4.2
  • prime 0.1.2
  • debug 1.4.0

New in Portable RubyInstaller 3.0.3-1 (Nov 28, 2021)

  • Added:
  • Allow setting a particular ridk/MSYS2 environment.
  • Changed:
  • Update to ruby-2.7.5.
  • Update of the SSL CA certificate list.

New in Portable RubyInstaller 3.0.2-1 (Jul 9, 2021)

  • Added:
  • Enable ruby to support path length >260 characters.
  • See 829ab9d
  • Add racc, rbs and typeprof to executables. #231
  • Changed:
  • Update to ruby-3.0.2, see release notes.
  • Update of the SSL CA certificate list.
  • Move CI and and release builds from Appveyor to Github Actions.
  • Move RunInstaller's pacman repository from Bintray to Github Releases.
  • Update bundled gpg keyring file for pacman to support new MSYS2 package signatures.

New in Portable RubyInstaller 3.0.1-1 (Apr 20, 2021)

  • Added:
  • Add more environment variables needed for configure scripts: MSYSTEM_PREFIX, MSYSTEM_CARCH, MSYSTEM_CHOST, MINGW_CHOST, MINGW_PREFIX
  • Changed:
  • Update to ruby-3.0.1, see release notes.
  • Update to OpenSSL-1.1.1k .
  • Update of the SSL CA certificate list.
  • ridk version: Avoid possible crash due to invalid encoding. #208
  • Install pkgconf instead of pkg-config on x86_64 following the change of MSYS2.
  • Avoid creation of .irbrc if directory isn't writeable. #212
  • Update the pacman repos in part 2 in addition to part 1. #220

New in Portable RubyInstaller 3.0.0-1 (Dec 28, 2020)

  • Changes compared to RubyInstaller-2.7.2-1:
  • Encoding.default_encoding and filesystem encoding is now UTF-8.
  • The UTF-8 option is removed from the installer.
  • Legacy console encoding can still be set manually per RUBYOPT=-Elocale.

New in Portable RubyInstaller 2.7.1-1 (Apr 3, 2020)

  • Update to ruby-2.7.1, see release notes.
  • Update to OpenSSL-1.1.1f .
  • Don't update MSYS/MINGW packages at ridk install per default. #168
  • Show compiler version, used to build ruby in ridk version. #171
  • IRB history is rewritten to UTF-8 on first start of irb.

New in Portable RubyInstaller 2.7.0-1 (Jan 5, 2020)

  • Replace rb-readline by new reline implementation.
  • It has multiline editing, better support for UTF-8 encoding and many fixes.
  • UTF-8 encoding is now enabled by default in the installer.
  • This is done by setting RUBYOPT=-Eutf-8 and affects Encoding.default_encoding which is then "UTF-8" instead of the console encoding.
  • See core API for more details.
  • Using UTF-8 default encoding avoids inconsistencies between reading and writing files and to other operating systems.
  • IRB history is rewritten to UTF-8 if UTF-8 encoding is enabled.

New in Portable RubyInstaller 2.6.5-1 (Oct 2, 2019)

  • Update to ruby-2.6.5
  • Fix code signatures of installer executables. They were invalid at the 2.6.4-1 release.
  • Fix automatic generation of irbrc. #158
  • Update to OpenSSL-1.1.1d .

New in Portable RubyInstaller 2.6.0-1 (Jan 6, 2019)

  • Added:
  • New tool ridk use to switch between installed ruby versions
  • Add ruby-2.6.0, see release notes.
  • Add bundle command, since bundler is now a bundled gem in ruby-2.6
  • Changed:
  • Update of the SSL CA certificate list.

New in Portable RubyInstaller 2.4.4-2 (Jun 25, 2018)

  • Changed:
  • Update ridk install to download msys2 installer version 20180531. #115
  • Fix MSYS2 detection in ridk install. This broke download of MSYS2 installer. #114
  • Don't crash when the mingw directory within MSYS2 isn't present.
  • Update of the SSL CA certificate list.

New in Portable RubyInstaller 2.5.1-2 (Jun 25, 2018)

  • Changed:
  • Update ridk install to download msys2 installer version 20180531. #115
  • Fix MSYS2 detection in ridk install. This broke download of MSYS2 installer. #114
  • Don't crash when the mingw directory within MSYS2 isn't present.
  • Update of the SSL CA certificate list.