

CHANGES FROM 18.03



WHAT'S NEW:

- Updated SQLite to 3.23.1

- Updated yxml library to latest

- The task start words can now accept a map with options

- Added "multiple-key" accessors to array and map items

- Improvement to 'json-pretty' output

- Currying now in core (curry curry:)

- Various internal optimizations

- Strings and arrays now avoid deallocating memory, so you need to use

"free" if you want to recover all their memory

- Read buffer byte-by-byte with b:getb/b:ungetb (in buf/getb library)

- Font spec can include multiple fonts, which are tried in order

- g:msgdlg improved (a lot)

- Treat buffers as bit-maps

- Various new samples

- PRO: blockchain support improved (added SQL backend)



FIXES:

- db:exec failed on multi-statement SQL

- db:exec failed occasionally on MySQL queries

- fix d:>unix d:unix> and d:>msec d:msec> roundtrip problems

- Many small fixes due to comprehensive reworking of test suite

- Fixed compiled app 'argc' being one too low

- Stack resizing bug(s)

- Sound crash on thread

- Sound not playing on (some) Windows

- Can set "win" buttons (formerly setting didn't work)

- Fix fg/bg/draw for toggle gui

- Ensure 'paint' callback works for all appropriate gui items

- GUI toolbar button crash

- gui/table.8th fix for odd JUCE behavior: it can request to paint a cell

beyond the number of rows reported

- refcnt problem with locals

- refcnt problem with db:exec and prepared statement



BREAKING CHANGES:

- XML data type has been REMOVED in favor of 'map', and 'xml:parse' and

other XML related words have been moved to the 'xml/*' libraries

- b:@ now returns null if access is out of bounds (used to throw exception)

- g:progress-task* words removed, since they haven't actually worked for a

long time



WORDS:

- New:

G:curry G:curry: G:r! G:rop! a:@@ a:slice+ a:xchg b:bit! b:bit@

dbg:except-task@ g:toback g:tofront m:@@ m:vals m:xchg s:append st:op!

xml:parse-stream



- Fixed:

G:sleep d:>msec d:>unix d:msec> d:unix> db:exec g:msgdlg t:@ w:@



- Changed:

G:free - also deallocates all memory of string and array types

a:map - now allows 'step' to skip items mapped

b:@ - returns null if access is out of bounds (used to throw exception)

font:new - the font string can be of the form "first|second|third"

g:msgdlg - the parameters in the map are updated -- see the manual

s:map - allows 'step' and obeys 'break'

t:task, t:task-n - now accept a map of options



- Removed:

g:progress-task g:progress-task-msg g:progress-task-pct xml:+ xml:>s

xml:>txt xml:@ xml:attr! xml:attr@ xml:attrs xml:len xml:new xml:parent

xml:tag! xml:tag@ xml:text! xml:text@



LIBRARIES:

- New:

buf/getb db/open debug/trace-crash utils/bloomfilter xml/parse

- Changed:

PRO: blockchain/framework



SAMPLES:

- New:

euler/40.8th games/sokoban/soko.8th games/sweeper/sweeper.8th

games/twentyfour/24-game.8th misc/bloom-filter.8th

- Changed:

All 'misc/task....8th' changed to 'debugging/task/...'

'apps/tictactoe' moved to 'games/tictactoe'

'misc/debugging.8th' changed to 'debugging/nicer.8th'

'structs/bitmap.8th' - uses b:bit@ and b:bit!

'structs/xml.8th' moved to 'xml/xmlparse.8th'

misc/curry.8th - added more examples

misc/generator.8th - added curry sample

PRO: blockchain/blocks.8th

- Fixed:

apps/simple/app.8th

gui/table.8th





KNOWN ISSUES:



- The net/soap.8th sample doesn't work because the SOAP endpoint doesn't

exist any more.

- MP3 *writing* is not supported

- snd:volume? and snd:volume are not implemented on all platforms

- A "literal" value (e.g. an item compiled into a word) will show a

reference count which is very large. This is not a bug.

- Do not use non-opaque controls on Android: the performance is dismal

- "web" gui is not implemented for Linux, RPI and Android. These will be addressed soon.

- BT/BLE support is still being refined. Please give constructive feedback

to 'bugs@8th-dev.com' if you have comments or suggestions

- atrun on iOS not implemented yet

- On Linux, you cannot control the font used for a window's title bar

- The PDF library (utils/pdf) is incomplete and needs more love. We welcome

your contributions!

- The GUI attribute 'titleBarHeight' has no effect on Windows

- GUI windows title can't show UTF-8 characters on Linux



If you don't have 8th yet, get it now ! If you already have 8th but want to get the latest version, click here Note: if you get the Professional version now, you'll get a free upgrade to Embedded as soon as it's released.We thank you for your continued support of 8th!