Skip to content

Releases: Oldes/Rebol3

Rebol v3.18.0

20 Jul 17:51
Compare
Choose a tag to compare

Important (possibly breaking) change in this release

The QUERY action was modified to always expect field as the second argument!

So where before was used:

query/mode %some-file.txt 'size

It is now just:

query %some-file.txt 'size

Also before there was used date as a field name for the modification date. Now should be used modified instead as there is also possible to resolve the creation date (created) and the last access time (accessed).

It was also possible to access all fields as an object by not using the mode refine. It is still possible by using object! as the field value, like:

query %some-file.txt object!

But in case when more fields are required, preferred way is to use a block, like:

>> query %./ [type name modified accessed]
== [
    type: dir
    name: %/C/Users/oldes/Rebol/
    modified: 16-Jul-2024/23:24:42.472+2:00
    accessed: 20-Jul-2024/19:01:30.83+2:00
]

Or when just values are required:

>> query %./ [:type :name :modified :accessed]
== [dir %/C/Users/oldes/Rebol/ 16-Jul-2024/23:24:42.472+2:00 20-Jul-2024/19:01:30.83+2:00]

It is recommended to use this version when running Rebol as a Linux service! (The high CPU usage issue was fixed)


Features:

  • 89b07d Included an upgrade module (currently just a placeholder)
  • f4b1a2 Allow to use word! as a name of scheme in some port actions
  • d9189e Included delete-thru in the thru-cache module and storing content locally only when response code is 200 (OK)
  • c485c8 Improved the speed of the soundex code and fixed it to produce the same results as PHP.
  • 31ca95 Including original Allen Kamp's Soundex script
  • f72f9b thru-cache module updated to version 0.2.0 (exists-thru?, list-thru) + bugfix
  • 7193a0 Added the ability to query a file's access and creation times as well
  • bde84d Included a module with *-thru functions for accessing files through a local disk cache
  • 4a8fb2 Allow any string as input to the to-ascii function
  • cd366f to-ascii module - Latin to ASCII characters transliteration
  • f9519c Bincode - added command EncodedU64 (for variable-length integers)
  • ac5df5 Implemented take/all, which copies all content and clears the series
  • 3cb158 Bincode - added command VINT (for variable-length integers)
  • 3cc232 Including link to the latest Rebol/WebP extension
  • 44fa97 Avoiding series copy where possible (like in append "" 1)
  • de38b4 Included module with C64 color palettes
  • 77f0e2 Including Softinnov's task scheduler as Rebol3 module
  • d17b0c Improved help function also displays the module's specification
  • e15640 Allow path value protection
  • d05956 Implemented ask/char, which waits only for a single key press
  • 6b8269 Slightly optimize GC by checking the most common value types first
  • f95e6f Handle gracefully bind with recursive data

Changes:

  • b9932b Logic, none and datatype values are now always molded using construction syntax
  • e37c0e Updated http protocol to be compatible with the new query changes
  • 4e052b When using block as a query field, get-words are required to get just the value
  • cd8df5 ** query/mode is deprecated; field value is always required **
  • 0b0b6e Ported Kamp's Soundex script to Rebol3 module
  • 197e63 Updated link to the latest version of the SQLite native extension
  • fc5554 Use the standardized br instead of brotli as the compression method name
  • 8342af Updated source of httpd module to make it compatible also with older Rebol versions
  • f1cab2 Update Brotli sources to version 1.1.0
  • 7de7e9 Show an error message when failing to load a library on POSIX
  • 2ed680 construct not converting lit-word! and lit-path! to word! and path!
  • 70b87e Display the module's version in the help output
  • 25d4e8 Don't throw an error when used wait with a negative timeout value
  • ea437a Use noreturn attribute in Trap* functions and mark these as DEAD_END to silence compiler warnings
  • 1d4825 Using stack related defines
  • a82d73 Not throwing an error when attempting to read the DNS of a non-existent host

Fixes:

  • b4b165 Do not use construction syntax when displaying typeset value in help output
  • 1a431d Fixed wrong definition name (regression)
  • d6c899 Retain setting the date value when querying file/dir ports as an object (for backwards compatibility)
  • 7e1560 Better handling of fast read/write operations to the clipboard on Windows
  • 9671f8 Better handle some special MOLD cases
  • 9907c6 Query multiple values of a datetime value
  • 5ebb52 Including datatype! as allowed query field in the HTTP scheme
  • bb6c73 High CPU usage when running the Rebol server as a Linux service
  • d9e52c HTTP query validation fixed
  • 274923 HTTP query validated when building a request
  • ea7b6d Using the new modified instead of date in the HTTP scheme
  • 9bde6a bincode write code block does not handle its index position correctly
  • 541cc5 Missing lowercase eth letter in to-ascii transliterations table
  • 57f2cf Redirection with a missing slash in the location field
  • 5e5e93 bincode code block does not handle its index position correctly
  • 433d06 take/all on a series with a tail over the index must ...
Read more

Rebol v3.17.0

15 Apr 13:25
Compare
Choose a tag to compare

Features:

  • 7c6c10 Implemented transcode/part
  • fde583 Possibility to see user defined op! sources
  • 481446 Enhanced possible time limit from 2147483647ns to 9223372036ns
  • 2cf831 hash! datatype (works like block! for now, hashing not implemented yet)
  • f3060c Implemented map comparison
  • 9a90e2 Improved hashing
  • 185f45 Allow seeding random number generation using pairs and tuples

Changes:

  • fa831f Updated Mbed-TLS sources to version 3.6.0

Fixes:

  • 06c115 Allow syntax like +<tag> or 1.1.1<tag>
  • fdf662 Does not allow refinement ending with a colon char
  • 409c96 Console string input does not handle percent char correctly
  • ca8b40 Block comparison with numeric and word values
  • 583866 Word binding inside maps when construction syntax is used
  • c9895f Incorrect tuple values hashing
  • 164a3f Invalid define for XXHash include
  • 604720 Argument type validation of catch a callback function
  • 62dd93 Code cleanup

Rebol v3.16.0

17 Feb 13:43
Compare
Choose a tag to compare

Changes:

  • 3c2b93 Switching map and construction syntax
  • 2ba01e unset value in any and all is transparent now
  • da1905 Updated Mbed-TLS sources to version 3.5.2
  • 52efc0 Register .swc file extension with zip codec
  • 7c84b6 Allow issues like ### or #a# (Rebol2/Red compatibility)
  • 9bb910 Zlib source updated to version 1.3.0.1
  • 7a9e11 Updated httpd scheme to version 0.9.0
  • bf4999 Modified launch function not to use shell and to handle all optional script arguments
  • abc6ec Using system error codes when opening a MIDI device on Windows

Features:

  • f25ddf Implemented optional XXH3, XXH32, XXH64 and XXH128 checksums
  • ab42ca Tiny optimization
  • da4718 Not using hashing for small enough maps (reduces memory usage)
  • e401ed Added sum and average functions
  • 27611e Including source of webdriver and websocket modules
  • ffa41e bbcode image gallery emitter
  • e39581 bbcode csv table emitter
  • 963d08 Allow word!, get-word! and get-path! values inside a call argument
  • 39c7e2 Allow any-string value as a call argument
  • a38e2a Added possibility to set/clear BRK, RTS and DTR serial port flags on Posix

Fixes:

  • 01a68c Compiler warnings
  • 695636 Correct fix of regression when creating 64 bit vectors
  • 238ecb Regression when creating 64 bit vectors
  • 820687 checksum with file! argument not supporting all available methods
  • d4364d Saving a file into a zip archive
  • 1bfcbb Bbcode codec - reset row-width of an image gallery tag
  • 307b24 Windows JPEG codec unexpected property type error
  • 592454 LF to CRLF conversion when using write with string input
  • fbad12 Joining path/url using path notation not respecting index position
  • aa7aa4 Throw an error when converting 1.#NaN value to integer
  • 45b358 Close httpd server on request even when there are pending client connections
  • 9715d1 Code simplified
  • aa227f Avoid an error when loading an unset value
  • 051670 Using correct path to images in the generated bbcode image gallery
  • 8ee972 bbcode codec must convert binary input to string before decoding
  • b0f684 Reading from virtual /proc files on Linux using read/part
  • a73014 Accept block input to call function on Windows
  • 56a39e Warning: implicit declaration of function ‘wcwidth’
  • 2ea23b Ignore warning: ‘__builtin___strncpy_chk’ specified bound depends on the length of the source argument
  • a84671 Warning: ignoring return value of ‘read’, declared with attribute warn_unused_result
  • 98c54f Warning: specified bound depends on the length of the source argument
  • 45832b Trying to fix build for Haiku OS
  • da13e8 Trying to fix build for Haiku OS
  • 7f8108 Trying to fix build for Haiku OS

Rebol v3.15.0

23 Nov 20:51
Compare
Choose a tag to compare

Features:

  • 1ff2d9 Optional support for SHA3 family checksums (included in Bulk)
  • 3dc6f6 New platform for TurrisOS
  • feaaef Better info when native extension fails to load its library
  • a1b79b wait-for-key which waits for a single key press
  • 855adc Struct reflection code reduction
  • 4332e1 Implemented body-of struct reflection (returning struct's key/value pairs)
  • 8c111a Implemented values-of and words-of struct reflections
  • b6640e Allow changing binary series with tuple values
  • 455f04 function and closure accepting also module! for its object argument
  • bee8e0 Unicode utils module with decode-utf8 function
  • 3b731a Extension library API for conversion of Rebol file to OS file and back

Changes:

  • 35c1b6 Updated Mbed-TLS sources to version 3.5.1
  • 4dc546 Using line breaks in molded struct! values for better readability
  • 68bf82 Moved STATIC_ASSERT macro to reb-c.h file and used it in a few more cases
  • ad12a6 Don't try to validate baud rate for a serial port

Fixes:

  • 0be75d Timeout when reading some HTTPS URLs
  • b63745 Invalid length of checksum:sha224 port result
  • a87e66 Redundant message when logging an error value
  • 821a5a Better struct! initialization; empty struct not allowed
  • 7aaa05 Early validate input data type (else there could be free before alloc call)
  • 76c8c0 Signed/unsigned mismatch warning
  • 96ece9 Not using NZ macro
  • 45749f Not initialized local variable
  • 1871d9 Only using paren char escaping for chars in range 0x7F - 0x9F
  • 3a7282 Using replacement char for all chars outside the Basic Multilingual Plane
  • 0976da Formed/molded output with ASCII chars using always a special char escaping
  • e1cc08 Correctly terminate truncated series
  • af865e Included support for some rare codepages in iconv
  • ea71e7 Unreferenced local variable warnings

Rebol v3.14.0

12 Sep 13:21
Compare
Choose a tag to compare

Features:

  • ca45cf Allow extension to mark handle's context on free call and so prevent it from releasing
  • a0ff1b Allow write action on the console port

Changes:

  • f5aaa5 Including RXA_UINT64 macro
  • aab9d4 Extended possible number of extension command arguments to 15
  • 2c4565 Extended possible number of extension command arguments from 7 to 11
  • 928761 Using lower MiniAudio extension version
  • b24999 Downloading extensions into system/options/modules directory instead of the current dir
  • 3f7972 Including uint64 in the RXIARG value union
  • c87321 Deprecated system/options/module-paths replaced with system/options/modules

Fixes:

  • f29b6b Using correct module name (not using arch and .rebx extension) in case, that url to module contains file name
  • c7d328 Crash when trying to initialise multi-dimension struct value
  • 9fffc0 Invalid function name when used help on function using a path
  • 54bb9d Properly implemented List_Func_Types function
  • 158080 Make the modules directory, if does not exists
  • db8971 Lower security policy on the application data directory (when running a script)
  • 56eac4 Missing optional extension handle mold callback registration
  • 0837df Warning: pointer type mismatch
  • 48e772 Using proper type for extension handle mold callback function argument
  • 5413ff list-dir stopping its output on symbolic link to not existing file

Rebol v3.13.0

07 Sep 20:50
Compare
Choose a tag to compare

Features:

  • be97ce Included link to Rebol/MiniAudio extension version 1.0.0
  • d4878d Allow custom mold callback for context handles to provide additional handle's info, if wanted
  • a74b26 Provide info, when molding a released handle, that it is already released
  • b048bd Allow to pass handle objects to external handle's free function and dispose handle objects before freeing any series
  • 93e07d Added possibility to register extension handles with custom setters/getters
  • 3e53cf Handle SHIFT and CONTROL flags with arrow keys on Posix for char based terminal input

Changes:

  • 2f7998 Debug print function ?? not throwing an error on invalid paths
  • f4dd93 Restrict value? to word arguments only

Fixes:

  • 922ac0 Use handle's context path access only if the handle is still in use (not already released)
  • 41a265 Correctly check for a handle's context flag on free
  • ba824b Allow extension context handles to reference other Rebol resources and so keep it safe from GC
  • ad9863 Incorrectly molded NBSP char
  • 639ad7 LOAD can't open JSON over HTTP

Rebol v3.12.0

05 Aug 21:14
Compare
Choose a tag to compare

Features:

  • 4bcc98 Simple wait-for-key function test file
  • e1c7da Using poll instead of select to query events on Posix
  • 37145b Code reduction
  • 84ae96 Key presses with unprintable chars are now reported as control and control-up events on Windows (on console with turned off line mode and from GUI as well)
  • 3f57b5 Preliminary support for char based input on Posix
  • 37971d Access to Decode_UTF8_Char core function from host's sources
  • d423e9 Support for optional Brotli encoding in HTTP scheme
  • 7d24ad Updated Spotify module to version 0.2.1 (test file moved to the test folder)
  • 1b74d4 Updated Spotify module to version 0.2.0
  • 05b700 Shortened code of rejoin function
  • 82682e Enhanced ajoin native function for merging values into a string types
  • fd5656 Initial audio device prototype for Windows (using XAudio2)
  • 5d9af5 Dynamic function refinements
  • 869708 Optional support for Brotli de/compression

Changes:

  • ea3cd4 Moved wait-list from system/ports to system/state
  • efbfa4 Moved event-keys and event-types from system/view to system/catalog, because these are used not only in GUI
  • 8eb643 Modified verbosity of the gzip codec
  • f49d96 Renamed Signal_Device to OS_Signal_Device
  • 473bb0 Updated Mbed-TLS sources to version 3.4.0
  • 467ae8 Using more lightweight dynamic function refinements instead of either where possible
  • a14bf5 Using more lightweight dynamic function refinements instead of apply where possible
  • fbbb20 Value of false dynamic function refinement is none, not false (as native code expects none, which is cheaper to compare)
  • 3fa4a0 List Brotli compression in system/catalog/compressions
  • 3d23ed Using lower default compression level for Brotli compression

Fixes:

  • 511a4e Unspecified calling convention fails in 32 bit build
  • 2cde09 Not all control paths return a value warning
  • 90fabd Signed/unsigned mismatch
  • 227f8d Unreferenced local variable
  • f57e4f Swapped location of the virtual key conversion table (host-event.c is not used in Base builds)
  • d22923 Moving the newly introduced host lib function to the tail (to keep compatibility with old extensions)
  • 65a33d Hide X-goog-api-key header field from HTTP logs
  • bd91b5 mold emitting invisible chars in some cases
  • a7c2cc Include only included optional compressions in system/catalog/compressions
  • 786e33 form ignores leading empty strings and unset values
  • 8115be Invalid console input
  • 03a2cd ) not allowed as a first character in tag
  • 1a1706 Not able to use list-dir without any argument
  • 1712f2 Removed forgotten probe
  • 8e5e1b Removed unwanted line break after ask function call
  • 4e8d95 Enable wide character support on Posix
  • 8d7a6f ~ folder name expansion does not work in all cases
  • 290720 Wrong directory names when diacritics is used
  • dc1bcd Suppress compiler warnings
  • 6af517 Not all control paths return a value warning
  • 908362 Suppress compiler warnings
  • 2c23ea Possible loss of data warnings
  • ad1f2a Signed/unsigned mismatch warning
  • 23b8c8 Unreferenced label
  • 5d036f Unreferenced local variables
  • 5fdac4 Regression (code reduced too much)
  • 777da7 Non-void function does not return a value in all control paths

Rebol v3.11.0

23 Jun 15:08
Compare
Choose a tag to compare

Features:

  • 311223 Added possibility to set/clear BREAK, DATA-TERMINAL-READY and REQUEST-TO-SEND serial signals (on Windows so far)
  • 083c0d Implemented attempt/safer to catch also thrown exceptions
  • 6edaaa Implemented try/all to catch also thrown exceptions
  • 059643 Allowed function for a recovery of a caught throw
  • e3c224 Implemented catch/all which may be used to catch all throws (named and unnamed)
  • b91715 New /recover option of the catch function
  • 808276 New request-password native which reads line with hidden input and avoids command history
  • 2494ff Dispatch file argument to checksum native to file-checksum function
  • b91f64 Included function file-checksum returning checksum of a given file's content
  • b522a2 Anonymize authentication tokens in log
  • b6aedc Direct conversion between date and decimal now uses Modified Julian Date
  • 483db9 Conversion from date to decimal now returns Julian date as well as /julian date accessor
  • b18dc5 to-date mezzanine function accepting input in format like: 1-1-2000 00:00:00
  • 0401ce Allowed specifying MIDI devices using its names
  • 8319d5 Special integer notation (bit, octal, decimal and hexadecimal)
  • eeb381 Allow gob! to be used as a source for move function
  • df0907 Simplified enbase-64 padding code
  • 422ac0 Store user's persistent data before releasing existing user
  • 4d9318 Including optional support for serial device as was used in the Atronix's branch
  • 3761b7 Allow use of series index in parse's remove command
  • 7f46bc Implemented a raw string syntax in a form %{...}%
  • 9fa0f5 Native for computation of a difference between two images
  • dd1807 Native for human perception weighted Euclidean distance between two RGB colors
  • dbdb4d Allow comments in automatically collected REBNATIVE code specifications
  • d7d85c Included link to Rebol/BlurHash extension version 1.0.0
  • 8a44ea Implemented passing a struct value to an extension

Changes:

  • 6ed8da Deprecated try/except. Using try/with instead.
  • 519fd4 Using catch/with instead of catch/recover
  • 0cb8bd Include JSON codec in Core builds
  • a2ac18 Include date mezzanine functions in Core builds
  • 58b604 Not using HostileFork's CPP casting macros
  • 8cfcc7 Moved the event port location from system/view/event-port to system/ports/event
  • 11fc8b Make halt catchable
  • 7bce10 Removed the quit/now option
  • 476a74 More aggressive recycle native
  • 8657fb Do not delay JSON codec module as it is used in HTTP protocol

Fixes:

  • 8d4fed Variable used without being initialized
  • 4dc5b4 Path evaluation does not process THROWN values as THROWN
  • 842939 MAKE ERROR! does not process THROWN values as THROWN
  • 7e2585 Better error messages for not caught throws
  • 6e0011 Using wrong constants
  • 2bbd3e catch/quit/name catches only quit or halt, but not any named throw
  • 0605fd Equality of objects with hidden values
  • dc85ac Regression in 1.#NaN comparison
  • 8bb611 Proper handling wide Unicode characters in console input on Posix systems
  • e5219e Code cleanup
  • bbbabb Simplified request-password native code and fixed Win32 version
  • ce2711 Allow releasing a system user with none value
  • 7c96ba Potentially uninitialized local pointer variable
  • 8d4879 Throw an error when checksum is used with refines on a file argument
  • b62428 Checksum port crashes when input is not a series value
  • 91f574 parse/case parsing words and paths
  • 44e7f8 Invalid output when converting date to integer without a time value
  • a5c247 Incompatible-pointer-types-discards-qualifiers warning
  • 828473 Provide error numbers instead of hard-coded traces from the MIDI device
  • cae3ef Changes of the MIDI setup not recognized on macOS
  • 9dbc8e MIDI implementation for macOS so it works same like on Windows
  • 952d76 Ignore the 3rd MIDI message byte in the MIDI test (it can have value on macOS)
  • 67e519 MIDI port using old path (test script included)
  • fd780c access-os function was missing because of the old native definition used
  • d063af Corrupted output from trace on Posix systems
  • 0c4fad Missing string definition for map
  • de59c1 Finer decimal equiv? comparison than equal?
  • ddcedf Do not pad output when used enbase/url
  • cbd626 Correct decoding escaped Unicode chars in the JSON codec"
  • c77e99 Correct decod...
Read more

Rebol v3.10.6

24 Apr 09:39
Compare
Choose a tag to compare
Rebol v3.10.6 Pre-release
Pre-release
Version updated

Rebol v3.10.5

02 Mar 21:15
Compare
Choose a tag to compare

Changes:

  • 9c9fef Updated mbedTLS code to version 3.3.0

Fixes:

  • 73a481 TCP connection not working on Haiku OS
  • f5f6ae Make sure that os-info is always loadable

Note:

Main purpose of this release is bootstrapping package for Alpine Linux.