Repository navigation
Tags
Tags
CHANGELOG: release the Unreleased entries as 1.5.0 1.5.0 was tagged but not released (the release run failed before publishing anything); the tag moves to include these changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Migrate edicon from C to Ruby: replace edicon.exe with a pure-Ruby … …implementation (ed_icon.rb), fixing incorrect BeginUpdateResource error checking and wrong GroupIconSize calculation. Shortens build times and removes the C binary from the build. - Include Gem.default_dir in GEM_PATH on all platforms: previously the exec_prefix gem directory was excluded on Windows, causing native-extension gems (e.g. fxruby/fox16) to fail at runtime with a LoadError even though they were bundled correctly. - Add FXRuby (fox16) test: verify that native extension DLLs are bundled correctly so the packaged executable does not raise a LoadError at runtime. - CI: start a virtual display (xpra + Xorg dummy driver with GLX) on Linux before running tests so FXRuby's X11 requirement is satisfied. - CI: install XQuartz on macOS runners and add it to the portability test job so FXRuby can connect to a display on both test and portability jobs.
v1.4.2 - OpenSSL auto-bundling and companion DLL scan Fixes a class of bugs where executables using net/http for HTTPS would fail at runtime with missing OpenSSL libraries, depending on whether an actual HTTPS request happened to run during 97C5 the OCRAN dependency scan. Changes: - Auto-load openssl during build when net/http is loaded but no HTTPS request was made during the scan. All transitive dependencies (openssl.rb, digest.so, etc.) are captured and bundled correctly. - Companion DLL scan (Windows): when a native extension (.so) in the Ruby installation is loaded, all DLLs in the same archdir are proactively included. Fixes missing libssl-3-x64.dll, libcrypto-3-x64.dll, libwinpthread-1.dll, and libyaml-0-2.dll. - Add return if defined?(Ocran) guards to test fixtures that have runtime-only side effects, so dependency detection is tested independently of whether the script runs cleanly during the scan.
- Add Linux support: build and run self-extracting ELF executables on… … Linux. The stub compiles and runs natively on Linux using POSIX APIs. - Add macOS support: build and run self-extracting Mach-O executables on macOS. - Add `--output-dir` option: output all files to a directory with a platform-appropriate launch script (.sh on Linux/macOS, .bat on Windows) instead of a single executable. - Add `--output-zip` option: same as --output-dir but packages the result into a zip archive. - Add `--macosx-bundle` option: wrap the macOS executable in a .app bundle with a generated Info.plist, suitable for Finder, the Dock, and Authenticode-style code signing with codesign and xcrun notarytool. Use --bundle-id to set CFBundleIdentifier and --icon (.icns) to set the bundle icon. - Use symlinks for shared library aliases on POSIX (e.g. libruby.so -> libruby.so.4.0) instead of copying files, matching the layout Ruby expects at runtime. - Fix crash on cleanup when a symlink target does not exist: DeleteRecursively now uses lstat instead of stat so dangling symlinks are removed correctly. - Publish platform-specific gems for Linux, macOS (ARM and Intel), and Windows so gem install ocran selects the right pre-built stub automatically. - Publish a source gem (ruby platform) with ext/extconf.rb so users on unlisted platforms can install by compiling the stub from source. Falls back to plain make if ridk exec make is unavailable on Windows. - CI: add GitHub Actions workflow to build and publish per-platform gems on tag push. - CI: run the packed Linux executable inside a Debian Docker container to verify cross-distro portability (no Ruby required on target). - CI: test against Ruby 3.2, 3.3, 3.4, and 4.0 on Linux, macOS (ARM and Intel), and Windows.
PreviousNext