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.