Skip to content

2.5.1

Latest
Compare
Choose a tag to compare
@yuriy-chumak yuriy-chumak released this 31 Jan 20:19
· 168 commits to master since this release

Major changes

  • FFI structures-by-value in parameters,
  • FFI structures writeback,
  • new infix-notation macro,
  • \ became a usual character, so can be used as part of symbol names,
  • GC speedup (growing strategy updated),
  • PVENV (PriVate ENVironment) or portable version added (as "tar" extensions, something like flatpak or appimage),
  • string-ref dramatically optimized,
  • inexact numbers printing updated,
  • decimal fractions (1.1, 2.0, etc.) in library names,
  • system renamed to execvp, new system provided,
  • vector-map twice speedup,
  • fixed issue with port blocking after Ol closed,
  • parameterize with current-xx-port upgraded,
  • new WebKitGTK library (webkit2gtk-4),
  • new (file glTF) library,
  • (OpenGL version-X-X) changed to (OpenGL X.X),
  • base64 decode fixed,
  • ffi sizeof reworked (now support structures, became native),
  • ffi speedup - type-vptr accept (pair bytevector . offset),
  • '~' as a "default" path in "--home=" command option,
  • removed 'xxd' from the build requirements,
  • repl is no more an actor, but just a coroutine,
  • (lib json) returns inexact number if number with decimal dot,
  • HAS_XXX -> HAVE_XXX build variables renames,
  • default ffi values (#f -> 0),
  • floating-point ffi storing refactored,
  • open-output-string enabled for macos and win32,
  • pipes is no more optional, because definitely multiplatform,
  • port->string and file->string new functions,

Precompiled Binaries and Installation Packages

  • Portable binaries for Windows (32- and 64-bit) can be found in section "Assets".
  • Other options on the way...
  • Current packaging status (I'm working with updates):
    Packaging status Packaging status latest packaged version(s)

Additional Changes

  • feature ol-2.4 changed to ol-2.5,
  • basic WebSocket support in http library,
  • fft-any for all strings sends as utf-8 char*,
  • win32 compat updates,
  • macos compat updates,
  • regression tests updated,
  • deprecated fft-size-t changed to actual fft-size_t,
  • glib/gtk update with gettext,
  • ffi bool fix,
  • seccomp and sandbox definitions updated,
  • "system" now supports #f instead of port (as "no port provided"),
  • json "stringify" added,
  • ,expand updated (better output),
  • M1 ffi updated (very much arguments support),
  • aarch64 ffi fix for more than 8 integer arguments,
  • internal change for 'crashed -> 'crash,
  • new public function (divide a b) = a/b,
  • list-copy made r7rs-compliant,
  • file-info accepts both port and filename,
  • ceiling/truncate/round updated (added inexact numbers, fixed bug),
  • sqrt extended to the complex argument,
  • sqlite inexact numbers support,
  • EGL 1.1-1.5 added,
  • not getting stuck when trying to include invalid library (owl backport),
  • bugs and issues fixes,
  • more samples, more tests, more docs.