If you don't have 8th yet,
get it now! If you already have 8th but want to get the latest version,
click here.
From the README:
CHANGES FROM 18.05
WHAT'S NEW OR FIXED:
GENERAL:
- Embedded version now available!
- All reported bugs have been addressed; no open bugs (as of the release-date)!
- More performance improvements (up to 25% depending on platform etc.)
- Manual updated and reviewed
- Added file/net read/write/stats watcher
- Absolute and relative timer events (not GUI timers)
- 't:task' now works properly with a "map" argument having a key "num"
- utils/args library is more flexible: keeps proper track of unused options,
stops processing on unrecognized option, and allows 'break' to stop
processing
- GUI: "win" now accepts a "title-font" key in the JSON, to set the font
used in the title-bar (if using non-native title bar drawing)
- GUI: new event 'key-changed', which signals that a key has been pressed or
released. Use in conjunction with 'key-pressed' if you want to track
keyboard state.
- Fixed up a couple game samples which play sounds so they will work on the Free version.
- Fixed a number of bugs in the date handling and libraries
- Removed 'gumbo' library from dependencies
- Restored and fixed SOAP sample
- FFI improvements (see docs)
- FFI fixes (especially regarding "callback" words)
- GUI: message dialog fixed
- Fixed pack/unpack bugs
- Added ability to intercept a crash (app:oncrash)
- Slight improvement in startup time
- Fix db:open of buffer so it will work with multiple tasks
- Fixed DST calculations (there was an off-by-one bug)
- Added ISO country-code database
- Ability to demand-include binary data from the libs (G:libbin)
- Added ability to intercept FFI load failures (used to throw an exception)
- Updated vim and emacs syntax file generators
- Removed non-applicable samples from each SKU. For example, the Free
version doesn't have the 'sound' samples, etc.
- Added ability to PGP-clearsign an 8th script
- Removed mostly useless '-c' command-line parameter
- Reworked (stat) word to be more accurate and up to date, removed stat
- Fixed net:ifaces? crash when using VPN on Linux
- 'log' works more correctly in console mode with tasks
- d:new time-zone issue fixed
- Fixed math div failure on 32/64 bit boundary
- f:abspath and f:relpath didn't NUL terminate the strings
- Android: fixed nasty interaction between 'tasks' and using the gui
PLATFORM-SPECIFIC:
- Windows: fix CERT VU#307144
- Windows 32-bit: fix bfloat bug introduced in 18.05
- macOS/iOS: fixed slow camera response
- iOS/Android: removed 'con:' words altogether since they are useless on those platforms.
- Android: added an "APK builder": bin/makeapk.8th. Invoke with '8th bin/makeapk.8th projdir'
- Android: target SDK set to 26, to comply with new Google Play rules
- Android and Linux: "web" gui widget implemented
- Android: numerous other issues fixed
- Android: support for "Watch OS" added (Pro+ only)
VERSION-SPECIFIC:
- Free:
- desktop 32-bit versions and iOS 32-bit have been REMOVED. This
reduces the size of the most frequently downloaded version while retaining the
most common targets.
- Hobby:
- snd:mix - support for sound mixing
- snd:new can be used to create a sine-wave tone
- snd:new can be used to create a custom tone
- Added sound filter capability
- GUI: 'audio' gui item type to select audio settings, (except for MOBILE!)
- Some snd: words removed because they no longer are feasible
- Pro:
- support for Android "Wear OS"
- MySQL interface bug fixed
- Added daylight-savings transition-dates database (Like Unix "/etc/timezone")
- Embedded:
- Released first target, "AGL", with some sample code
- Added 'docs/embedded.pdf', which is the Embedded-specific manual
BREAKING CHANGES:
- Hobby+ : some snd: words removed and reworked.
- Mobile: con: words removed
- libs/utils/args : removed 'last-arg'
WORDS:
- New:
app:shared? G:-----BEGIN G:libbin G:memfree G:remaining-args app:oncrash app:shared?
cr:validate-pgp-sig d:timer d:updatetz f:watch iso:countries n:bic
n:binv w:ffifail
Hobby:
snd:apply-filter snd:devices? snd:filter snd:freq snd:gain
snd:gain? snd:mix snd:unmix
Pro:
d:dstquery (Android only) hw:isround? hw:iswatch?
Emb: (AGL only): app:agl_binding
- Fixed:
G:(stat) G:pack G:unpack con:key d:tzadjust db:open f:abspath f:relpath g:msgdlg
n:/ n:/mod net:ifaces? snd:volume snd:volume? t:task
- Changed:
Hobby:
snd:loop snd:new snd:record
- Removed:
G:stat
Hobby:
snd:curlen snd:seek snd:tell
LIBRARIES:
- New:
crypto/pgp ffi/systemd iso/countries
Pro:
date/daylight
Emb:
agl/service ffi/afbwsc ffi/libjson
- Fixed:
date/dst date/hebrew date/sunrise date/utils gui/msgdlg net/http
- Changed:
utils/args
SAMPLES:
- New:
crypto/pgp.8th file/watch.8th misc/timer.8th sound/custom.8th
sound/filter.8th sound/mix.8th sound/record-buf.8th
Hobby:
gui/soundselect.8th
Pro:
date/daylight.8th
Emb:
agl/hello/hello.8th agl/service/service.8th
- Changed:
sound/sound.8th
- Fixed:
games/sweeper/sweeper.8th games/twentyfour/24-game.8th net/server.8th
net/soap.8th net/udp.8th sound/record.8th
KNOWN ISSUES:
- Windows w/ MSYS or CYGWIN: if you want to run 8th in an msys or cygwin
console, you will need to use "winpty" to do so.
- MP3 *writing* is not supported
- Do not use non-opaque controls on Android: the performance is dismal
- "web" gui is not implemented RPI. This will probably not be fixed.
- atrun on iOS not implemented yet
- The PDF library (utils/pdf) is incomplete and needs more love. We welcome
your contributions!
We thank you for your continued support of 8th!