Skip to content

Rebol v3.18.0

Latest
Compare
Choose a tag to compare
@Oldes Oldes released this 20 Jul 17:51
· 59 commits to master since this release

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 return an empty series instead of none
  • d8e1af Leak of internal #(end) value in bincode error messages
  • c0f3fb Warning that malloc might return null pointer
  • 338cdd Resolved warning C6308 (realloc might return null pointer)
  • 6c8240 Use a macro within the preprocessor to avoid compiler warnings
  • e52542 Allow use of any function type for codec's encode/decode
  • e0b163 to-real-file not working correctly with Unicode paths on Posix
  • a2ec87 Result of to-real-file not containing a trailing slash for directories on Posix
  • de294f Correctly read POSIX virtual files in chunks using an open port
  • d0f3bf Prevent infinite loop when resolving the size of virtual files
  • 055c09 Improved handling of virtual files on POSIX systems
  • 592351 Regression from 7bb6e7b (appending to tag! has different rules)
  • 9a3a11 Suppress a signed/unsigned mismatch MSVC warning
  • 735ce7 Removed a debug probe from the cd function
  • 1999b1 On Windows (when used in console) wait-for-key exits immediately with CR value
  • 7bb6e7 Special cases when mold/all paths, emails, tags and urls
  • e28e41 find/last not respecting series index
  • e10e98 Objects equality
  • 65878e do not expecting a Rebol header when input is a string value
  • fd64bd Avoid a stack overflow in case of deep recursion recycle
  • ddad4b Crash when used bind on recursive data
  • cfe4ff find/same not working when used a block as a key
  • 58c969 Reverted GCC compiler-specific directive but used only with GCC
  • 01bccc Suppress msvc's C4334 warnings in the Brotli source
  • 0de175 Removed unnecessary GCC compiler-specific directive causing a warning when used CLANG
  • b3b982 Clang compiler warning
  • fcf2d4 Msvc compiler warnings
  • f6443c Clang compiler warnings
  • 04c82a Warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1