Releases: OpenSmalltalk/opensmalltalk-vm
202312181441
Release Version 2023.12 (for updated Squeak 6.0/5.3 bundles and Cuis 6)
- Fixes file drop from OS into the image on macOS
- Fixes pass-through of command-line arguments on macOS
- Fixes warning about
applicationSupportsSecureRestorableState
on macOS 12.0+
This is a patch release. Also see the release notes of OSVM Version 2023.
🚧 Compatibility notes
- Pre-built Linux binaries require
GLIBC_2.29
, which means Ubuntu 20.04 or later- For older systems, please build on your own
- We will happily help out; just ask on the vm-dev mailing list
- On macOS, a restart of the VM is required after installing SqueakFFI for the first time
- Otherwise, modules and function addresses cannot be loaded
- On Ubuntu 22.04 within VirtualBox 7.0, screen contents stop refreshing after some keyboard input until mouse cursor is moved again
- On Ubuntu/Linux, many SqueakSSL tests fail on Squeak 6.0+ ... might be an image-related issue w/ old certificates
- Occasional crashes (or lock-ups) on RaspPi4 and RaspPi5; we are investigating
- The platform subtype can be
'aarch64'
, which means that (at least in Squeak) the detection of#isLowerPerformance
fails and thus lots of tests are timing out. SeeTestCase >> #defaultTimeout
- The platform subtype can be
202311211431
📢 Please use the more recent release candidate OSVM Version 2023.12
Release Candidate Version 2023
- Adds error codes for ImageSegment storage primitive fail
- Adds error codes for primitiveFileClose on Linux, macOS, and Windows
- Adds machine-code primitive for #primitiveHighResClock on 64-bit platforms
- Adds machine-code primitive for #perform:withArguments: (84)
- Adds VM parameter 50 for maxLiteralCountForCompile
- Adds primitive 96 (primitiveObjectsAccessibleFromRoots) to be used on an array of objects; internally part of primitive 98 (primitiveStoreImageSegment)
- Adds support for multi-byte data to ClipboardExtendedPlugin
- Adds support for various data types to ClipboardExtendedPlugin on Windows
- Adds support for UTF8 Unicode to ClipboardExtendedPlugin on Windows
- Adds flag #upscaleDisplayIfHighDPI to be set via command line or stored in image header; true by default
- Adds support for -eventtrace on Linux and Windows
- Fixes memory leak related to scale-factor lookup on Linux (X11)
- Fixes potential GDI leak in getDpiSystem on Windows
- Fixes failure of Spur image segment loading due to not having enough memory
- Fixes path lookup for "." (i.e., current directory) on Windows
- Fixes JIT issue around frameless block activation
- Fixes JIT issue around cache flushing on ARMv8
- Fixes bug in primitive 105 (primitiveSpurStringReplace)
- Fixes bug in SpurSegmentManager
- Fixes bug in BitBlt rgbMul combination
- Fixes structure argument passing for ARMv8 FFI call-outs
- Fixes float conversions for FFI call-outs
- Fixes float arguments for FFI call-outs on RiscV64
- Fixes #become: on compiled methods for Spur flavors
- Fixes jitted #perform: primitive by adding argument-count check
- Fixes MoveCqR on ARMv8 for certain bit patterns (in the JIT)
- Fixes crash on ARMv8 when toggling fail/succeed primitives for mixed mode arithmetic
- Fixes accessor-depth calculation in SocketPlugin and other places
- Fixes type-declaration problem in DeflatePlugin for 64-bit RiscV
- Fixes other issues around SmartSyntaxInterpreterPlugins (e.g., JPEGReadWriter2Plugin, BitBltSimulation, SocketPlugin)
- Updates support for compilation on RiscV64 (including FFI plugin)
- Updates VectorEnginePlugin to 2022-10-28 (89cc00e86...) from Cuis
- Updates BitBltPlugin to be faster for noSource/noHalftone setup
- Updates joystick support on Linux
🚧 Compatibility notes
- Pre-built Linux binaries require
GLIBC_2.29
, which means Ubuntu 20.04 or later- For older systems, please build on your own
- We will happily help out; just ask on the vm-dev mailing list
- On macOS, a restart of the VM is required after installing SqueakFFI for the first time
- Otherwise, modules and function addresses cannot be loaded
- On Ubuntu 22.04 within VirtualBox 7.0, screen contents stop refreshing after some keyboard input until mouse cursor is moved again
- On Ubuntu/Linux, many SqueakSSL tests fail on Squeak 6.0+ ... might be an image-related issue
- On macOS, command-line arguments are not passed to the image (see #668)
- Fixed via 1b15c7e
- On macOS, file-drop crashes the VM
- Fixed via cc2dd90
- Crashes on RaspPi4; we are investigating
- The platform subtype can be
'aarch64'
, which means that (at least in Squeak) the detection of#isLowerPerformance
fails and thus lots of tests are timing out. SeeTestCase >> #defaultTimeout
- The platform subtype can be
202206021410
Release Version 2022.06 (for Squeak 6.0 and updated 5.3 bundles)
- Adds joystick/gamepad support on Linux
- Fixes support for OpenSSL3 on Linux
- Fixes resolution of fully-qualified domain names (FQDNs) longer than 64 characters on Linux
This is a patch release. Also see the release notes of OSVM Version 2022.
- Memory leak on X11 (Linux) related to scale-factor lookup
- 100-200 KiB every 3-6 seconds
- See issue #642
- Workaround via environment variable
SQUEAK_DISPLAY_PER_MONITOR_SCALE=1
- Does not affect
-headless
-vm-display-X11 -headless
-nodisplay
-vm-display-null
(i.e., smalltalkCI is fine)
202205110711
📢 Please use the more recent patch release OSVM Version 2022.06
Release Version 2022
- Adds ARMv8/Aarch64/ARM64 JIT incl. support for Apple M1
- Adds "fast C primitives" via #FastCPrimitiveFlag
- Adds support for catching exceptions in FFI callouts
- Adds #primitiveScreenScaleFactor (for DPI-aware images)
- Adds primitives 568 and 578 complementing 88 (primitiveSuspend)
- Adds #primitiveMultipleBytecodeSetsActive to update image format for SistaV1
- Adds VectorEnginePlugin
- Fixes regressions in ARMv6 support
- Fixes performance regressions of -metal and -opengl backends on macOS
- Fixes -core-graphics backend on macOS
- Fixes Retina scaling on macOS, i.e., support "backing scale factor"
- Fixes primitive 126 to fail on graphics backends w/o composition buffer
- Fixes regressions in vm-display-fbdev on Linux
- Fixes time sync (e.g., for DST) on Windows
- Fixes UDP binding on Windows
- No support for OpenSSL3 (e.g., on Ubuntu 22.04)
202204190959
Release Candidate 3
202112201228
Release Candidate 2
202112022203
CogVm source as per VMMaker.oscog-eem.3117 Cog ARMv8: Since id_aa64isar0_el1 is a priviledged instruction use getauxval on linux to derive the value(s) derived there-from, currenty whether atomic instructions are available or not. This addresses opensmalltalk-vm Issue #608.
latest-debug-build
CogVM source as per VMMaker.oscog-eem.3470
Implement SmalltalkImage>>maxIdentityHash efficiently in the Cogit.
It's used a lot (e.g. in Dictionary lookup).
Eliminate warnings in computing jump spans on x86_64.
Slang:
Eliminate statements following a return inserted into a block in
optimization up to the next label. Get printing semicolons after
the last label in a block correct. Eliminate a spurious cr in
comments marking the end of inlinings. Further adapt to
Compiler-eem.508. Don't suppress output of comments for
TLabeledCommentNode when sent from TStmtListNode gen loop.
latest-build
Update signing certificates for Squeak Following up on #579.
latest-assert-build
CogVM source as per VMMaker.oscog-eem.3470
Implement SmalltalkImage>>maxIdentityHash efficiently in the Cogit.
It's used a lot (e.g. in Dictionary lookup).
Eliminate warnings in computing jump spans on x86_64.
Slang:
Eliminate statements following a return inserted into a block in
optimization up to the next label. Get printing semicolons after
the last label in a block correct. Eliminate a spurious cr in
comments marking the end of inlinings. Further adapt to
Compiler-eem.508. Don't suppress output of comments for
TLabeledCommentNode when sent from TStmtListNode gen loop.