2026-01-23 (12.33)
	SDL: Fix issue with flatpak release

2026-01-20 (12.32)
	SDL: Created flatpak based build

2025-10-14 (12.32)
	ANDROID: replace react/mui based portal with native javascript solution

2025-09-11 (12.31)
	ANDROID: Implemented support for editing with the system keypad

2025-08-31 (12.30)
	ANDROID: Implemented a replacement editor keypad
	ANDROID: Implemented editor find command
	ANDROID: Updated editor help

2025-04-26 (12.29)
	ANDROID: minor fix for PEN(3)

2025-04-19 (12.29)
	ANDROID: experimental bluetooth support
	ANDROID: update SOUND implementation to avoid skips
	ANDROID: update USB api to allow setting baud rate and timeout
	ANDROID: allow android.speak to take additional non-string args

2025-02-18 (12.28)
	ANDROID: added experimental usb communication support

2025-02-02 (12.28)
	TEENSY: added experimental runtime platform for teensy mcu

2025-01-27 (12.28)
	ANDROID: Updated app icon, thanks to bplus, j7m, round157, qube, baggey
	Final design by j7m

2024-10-09 (12.28)
	COMMON: Fix #232: TICKS stops working after 50 days
	ANDROID: Fix delay accuracy
	ANDROID: Fix location regression

2024-10-06 (12.28)
	ANDROID: Fix web UI regression

2024-09-27 (12.28)
	ANDROID: Fix issue with playing an audio file on android #231

2024-04-14 (12.27)
	COMMON: Fix bug #149: Problem with big hex numbers in windows
	COMMON: Add new function TRANSPOSE()

2024-04-07 (12.27)
	ANDROID: Implemented "android.request"

2024-02-19 (12.27)
	COMMON: Fix TSAVE bug #205

2024-01-22 (12.27)
	COMMON: Fix linking issue on MSYS2

2024-01-14 (12.27)
	COMMON: Improvements for image.save()

2024-01-13 (12.27)
	COMMON: Serial port improvements.

2024-01-06 (12.27)
	COMMON: Allow modules to return objects with methods that take arguments

2023-12-01 (12.27)
	CONSOLE: Bugfix for image.clip() and image.save()

2023-10-31 (12.27)
	COMMON: Fix: RTRIM changes input string

2023-08-27 (12.27)
	COMMON: Fix parameter number error when calling a unit sub/func
	COMMON: Show a runtime error if a module calls exit()

2023-08-05 (12.27)
	COMMON: Fix building on Cygwin

2023-07-23 (12.27)
	COMMON: Fix for RoundPrecisionBug

2023-07-18 (12.27)
	COMMON: Fix redim regression

2023-06-18 (12.27)
	COMMON: Fix redim regression
	PLUGINS: Added mechanism for cleaning up resources when the associated map falls out of scope

2023-05-12 (12.27)
	CONSOLE: Fix image save
	ANDROID: Fix download error when there are duplicate scratch.bas files

2023-05-14 (12.27)
	COMMON: Fix bug: LINEQN tolerance
	COMMON: Fix floating-point number round-precision bug when converting a floating-point number to string.

2023-03-26 (12.26)
	ANDROID: Fix setenv error #187
	ANDROID: update web UI dependencies
	COMMON: Fix bug in BGETC when using sockets (Joe7M)
	COMMON: Fix EQV bug. "0 EQV 0" will return correct result "1" (Joe7M)
	COMMON: Fix: "0 IMP 0" returns now correct result 1 (Joe7M)
	UI: FLTK and SDL version numbers now included in SBVER
	UI: fix editor display issues with DOS line-endings

2023-02-19 (12.26)
	SDL: Fixed an issue with window resizing #144
	COMMON: Fixed "make dist" so it can produce a package with all internal dependencies

2023-01-20 (12.26)
	COMMON: Fixed DIM lower bound (Joe7M)
	COMMON: RGB and RGBF now clamp parameters (Joe7M)
	COMMON: Fix for BIN and changes to return values of POLYCENT and POLYAREA (Joe7M)

2023-01-09 (12.26)
	COMMON: INPUT #F; now supports up to 64 parameters
	COMMON: Implemented STATMEDIAN() to calculate the median of a data sample in statistics (Joe7M)
	COMMON: Implemented STATSTD() to calculate standard deviation (Joe7M)

2023-01-09 (12.26)
	COMMON: Fix printing chr(0) into a file or network interface

2022-11-13 (12.26)
	COMMON: Fix line-chart line drawing to use current foreground color

2022-11-13 (12.25)
	ANDROID: Updated file manager web UI:
	- Implemented delete command
	- Implemented upload support for non .bas files
	- Fixed date column sorting
	COMMON: SPLIT with empty input now gives zero length output #147
	COMMON: Fix for bug #166:  Display floating point numbers with high precision (by J7M)
	COMMON: Fixed functions Polyarea, Polycent (by J7M)
	CONSOLE: vt100 (esc sequences) support for console (by J7M)

2022-11-06 (12.25)
	ANDROID: fix crash with INPUT command while scrolled #160

2022-08-26 (12.25)
	CONSOLE: Fixed TAB handling
	COMMON: Only TRIM Strings

2022-04-11 (12.24)
	COMMON: m3Apply no longer crashes if the second argument is not an array

2022-04-09 (12.24)
	EMCC: Implemented emscripten web version

2022-02-23 (12.24)
	COMMON: Fix array access with embedded strings #136

2022-02-23 (12.24)
	CONSOLE: Added -i command switch for live mode

	This will run the BASIC program in a loop. It can be used with the debug module
	to rerun whenever the source code changes:

	import debug
	run("xdotool windowactivate `xdotool search --onlyvisible --name \"Emacs\"`")
	while (!debug.IsSourceModified())
	  rem main loop
	wend

2022-02-23 (12.24)
	COMMON: ARRAY now parses json with true/false correctly

2022-02-19 (12.24)
	WEB: Added simple REST server support

2022-02-19 (12.24)
	COMMON: Fixed http_read to handle large HTTP headers
	COMMON: Fixed hashmap access issue

2022-01-16 (12.24)
	COMMON: Implemented window.setLocation(x,y) #102

2022-01-15 (12.24)
	COMMON: Removed 'Meaningless' CDBL, CINT, CREAL. These can be poly-filled with 'DEF' if required.

2022-01-14 (12.24)
	COMMON: Fix #131 - Scalar * Vector doesnt work

2021-12-31 (12.24)
	UI: add support for image.save("file.png") as per console

2021-12-30 (12.24)
	COMMON: parse JSON with SB ";" dimension syntax

2021-08-22 (12.24)
	COMMON: Update plugin system to allow loading to be driven by the IMPORT statement

2021-08-22 (12.23)
	SDL: Validate window dimensions on loading to prevent hidden window

2021-08-16 (12.23)
	COMMON: Fix array append regression #122
	UI: added window hideKeypad #125

2021-08-16 (12.23)
	ANDROID: Hide keypad on run. Show keypad for INPUT, then re-hide on completion.

2021-07-28 (12.22)
	UI: Allow RGB to be used with image array passed to IMAGE

2021-07-27 (12.22)
	FLTK: Fix PSET display of extra pixel

2021-07-04 (12.22)
	SDL: Fix Live edit when start path contains unicode characters

2021-07-02 (12.22)
	UI: Fix to make image save and load compatible

2021-06-25 (12.22)
	ANDROID: Unified file listing includes bas files from sub-folders

2021-06-23 (12.22)
	FLTK: Implemented image opacity handling
	UI: Implemented image.clip(left,top,right,bottom)

2021-06-12 (12.22)
	UI: Fix potential memory leak using IMAGE
	UI: Fix RGB handling with IMAGE
	ANDROID: restore home directory when resuming from run
	ANDROID: removed samsung keypad warning

2021-06-06 (12.22)
	UI: implemented image.draw(), fix image.save in andoid #115

2021-06-05 (12.22)
	COMMON: Fixes 'Socket Client doesn't receive byte with value 13' #112
	COMMON: Fixes TSAVE of arrays includes extra null character. #119

2021-05-03 (12.22)
	COMMON: Fix array access regression

2021-05-03 (12.22)
	ANDROID: Removes path navigation to show unified view of available folder

2021-04-02 (12.22)
	SDL: Update editor to handle unit errors

2021-04-02 (12.21)
	ANDROID: Added range checking for the web services port

2021-03-28 (12.21)
	COMMON: Fix CIRCLE command to ensure radius uses the WINDOW coordinate system
	COMMON: Fix to ensure the default VIEW is maintained during resizing

2021-03-21 (12.21)
	COMMON: Fix square bracket field access issue

2021-02-23 (12.21)
	COMMON: Fix crash when line length limit exceeded

2021-01-18 (12.21)
	COMMON: Handle octal escapes correctly

2020-12-19 (12.20)
	SDL: Update editor popup appearance

2020-11-19 (12.20)
	COMMON: Fix to allow multiple modules and units within same program

2020-11-13 (12.20)
	ANDROID: add option to preserve user data when app uninstalled

2020-11-10 (12.20)
	ANDROID: change path label when displaying project folder
	COMMON: ensure INT datatype is always 64 bits

2020-11-01 (12.20)
	CONSOLE: give error when file not found

2020-10-31 (12.20)
	SDL: implemented restoring the cursor position

2020-10-29 (12.20)
	COMMON: Implemented c-styles escape sequences

2020-10-27 (12.20)
	COMMON: add support for inline assignment of export variables
	COMMON: add support for unit alias names

2020-10-21 (12.20)
	ANDROID: upgrade to target android 29

2020-10-21 (12.20)
	COMMON: Fix to allow c-modules to be called from units

2020-07-16 (12.19)
	COMMON: Fix 'Print #' on Windows to use Windows line endings

2020-07-12 (12.19)
	ANDROID: fix layout issue with samsung mobiles
	ANDROID: save and restore the selected theme
	ANDROID: fix access to external storage

2020-06-14 (12.19)
	UI: Use theme colours in main display #94
	UI: Added theme menu

2020-06-14 (12.19)
	FLTK: line numbers colours #93
	SDL: restore window size #95

2020-06-06 (12.19)
	COMMON: minor performance tweak

2020-05-11 (12.19)
	ANDROID: complain when samsung keyboard detected
	COMMON: fix compile warnings

2020-05-11 (12.19)
	FLTK: Fix compile warnings with updated gcc

2020-05-10 (12.19)
	COMMON: Fix ABSMIN/ABSMAX transposed #96

2020-05-09 (12.19)
	COMMON: Fix crash when passing non-array to CHART
	SDL: show icon in linux build

2020-05-07 (12.19)
	COMMON: Fix image.save() to array destination

2020-05-04 (12.19)
	COMMON: INPUT crash #99
	COMMON: Fix compile warnings with updated gcc

2020-03-07 (12.19)
	COMMON: implement DEFINEKEY undo #92
	UI: added R157 colour theme #94

2020-02-13 (12.19)
	AUDIO: fix integration with latest version of miniaudio library

2020-02-13 (0.12.18)
	Fix path for HOME constant

2020-02-08 (0.12.18)
	SDL: fix issue #81 - numlock handling
	FLTK: added live editing menu item
	COMMON: increase stack size to 1024

2019-12-21 (0.12.17)
	SDL: fix issue #81 - numlock handling

2019-12-15 (0.12.17)
	FLTK: add online samples command
	FLTK: fix tab resizing

2019-12-07 (0.12.17)
	FLTK: fix memory leaks
	FLTK: implement audio
	UI: add menu control key indicators

2019-11-30 (0.12.17)
	ANDROID: fix module access in newer android versions.
	UI: code cleanup

2019-11-30 (0.12.17)
	FLTK: fix color display
	FLTK: add clear console command
	COMMON: fix dirwalk error handling

2019-11-23 (0.12.17)
	COMMON: Fix select case by func. Closes #83
	COMMON: update dependencies

2019-08-23 (0.12.16)
	ANDROID: fix ChromeOS crash when restarting over existing instance

2019-08-19 (0.12.15)
	ANDROID: fix issue with crash on minimise with ChromeOS
	ANDROID: fix permission issue with share command
	ANDROID: (internal) update to androidx

2019-07-27 (0.12.15)
	SDL: added -n command line option to run then not pause for back key

2019-07-10 (0.12.15)
	SDL: update editor find and replace

2019-06-27 (0.12.15)
	FLTK: file file save as
	UI: fix reported crash in android printing null

2019-06-22 (0.12.15)
	FLTK: reactivated the FLTK port using FLTK v1.4

2019-03-02 (0.12.15)
	COMMON: Implemented - FOR character IN string

2019-03-02 (0.12.15)
	ANDROID: In editor, hide status when scrolled

2019-02-26 (0.12.15)
	ANDROID: Fix POINT returning transposed red + blue

2019-02-23 (0.12.15)
	ANDROID: Fix crash entering c,v in edit control mode

2019-02-14 (0.12.15)
	ANDROID: fix crash passing negative duration to SOUND command

2019-02-11 (0.12.15)
	UI: ALT+F4 from edit/run now returns to edit
	UI: avoid flicker from with ALT+F4 -e edit startup

2019-02-02 (0.12.15)
	UI: Edit enter now continues prior line comment

2019-01-21 (0.12.15.1)
	ANDROID: fix setup screen colour display
	ANDROID: show link to android page in about

2019-01-19 (0.12.15)
	UI: added kill-word editor command (alt+d)
	UI: added select-word editor command (alt+w)
	UI: find command primed from editor selection

2018-12-28 (0.12.15)
	Fix crash when using GOTO with a non-existent label
	Fix crash in editor when double tapping empty document
	Fix menu display on chromebook and other devices

2018-11-11 (0.12.14)
	CONSOLE: added support for IMAGE command

2018-10-20 (0.12.14)
	UI: fix navigation when network access down then available
	UI: changed display of "BLACK" to be a slightly ligher onyx colour.
	ANDROID: update help tip in scratch window

2018-10-13 (0.12.14)
	COMMON: fix about page logo

2018-10-09 (0.12.14)
	COMMON: fix crash when passing zero as format argument to DATEFMT

2018-09-30 (0.12.14)
	COMMON: fix broken implementation to avoid appending multiple kwTYPE_EOCs (or kwTYPE_LINE)

2018-09-23 (0.12.14)
	COMMON: fix error message when command "LINE INPUT" attempts to read a non open file

2018-09-23 (0.12.14)
	COMMON: fix crash when attempting to load an image from a failed network connection

2018-08-08 (0.12.13)
	SDL: fix incorrect file loading with ALT+1-9 command

2018-08-08 (0.12.13)
	COMMON: fix problem with SEQ command

2018-08-08 (0.12.13)
	ANDROID: remove hardcoded references to "/sdcard" path

2018-07-15 (0.12.13)
	ANDROID: migrate build from eclispe to android studio
	ANDROID: fix issue #66

2018-07-15 (0.12.13)
	SDL: Added window.setSize function

2018-07-07 (0.12.13)
	SDL: Added solarized color schemes
	F11 key in editor now toggles fullscreen

2018-07-07 (0.12.13)
	SDL: Implemented live edit mode

2018-03-08 (0.12.13)
	COMMON: Fix trailing spaces with LOCAL command when terminated with comma

2018-03-08 (0.12.13)
	COMMON: Fix TLOAD input error handling

2018-02-03 (0.12.13)
	COMMON: UNITPATH replaced with SBASICPATH which also works for modules

2018-02-03 (0.12.13)
	COMMON: modules refresh

2018-02-03 (0.12.12)
	COMMON: restore 6d array handling
	COMMON: increase default stack size

2018-01-13 (0.12.12)
	Fix osx crash

2017-11-28 (0.12.11)
	Fix img.save(dat) to build correct indexes
	Fix ESCm implementation bug
	Implements ESC<n ESC>n back screen handlers

2017-11-28 (0.12.10)
	Released 82f865d61a6eba1c017b8a58e1c892f1b7d6a0c0

2017-11-28 (0.12.10)
	COMMON: owner strings

2017-11-28 (0.12.10)
	COMMON: Fix some coverty warnings

2017-11-17 (0.12.10)
	SDL: Fix debugger display issue

2017-11-08 (0.12.10)
	UI: Added ALT+= command
	UI: Update ALT+. to work with error handling

2017-11-04 (0.12.10)
	COMMON: update png and editor libs
	UI: save and restore export settings
	UI: add missing 'Select All' menu option
	ANDROID: add missing key mappings for DEL,ESC,HOME,BRK,FN(1-12)
	ANDROID: handle screen rotation

2017-10-28 (0.12.10)
	COMMON: optimise method call access

2017-10-27 (0.12.10)
	COMMON: removed experimental reference variable concept

2017-10-25 (0.12.10)
	COMMON: optimise byref let

2017-10-21 (0.12.10)
	COMMON: optimise array handling

2017-10-19 (0.12.10)
	COMMON: fix win32 run regression

2017-10-17 (0.12.10)
	COMMON: performance optimisations

2017-10-07 (0.12.10)
	COMMON: Fix var scope errors reported by cppcheck
	COMMON: dirwalk callback now provides properties path,name,depth,mtime,size,dir
	UI: shell now displays size and date columns

2017-09-30 (0.12.10)
	COMMON: Update var cache handling to use free-list

2017-09-23 (0.12.10)
	ANDROID: Fix crash when displaying an alert with extended ascii chars
	ANDROID: Fix forward scolling issue

2017-09-22 (0.12.10)
	SDL: Fix cursor error position when running from selected text

2017-09-09 (0.12.10)
	SDL: Moved "Live edit" mode to editor via F8 key

2017-09-06 (0.12.10)
	COMMON: fix handling for code array passed as function argument

2017-09-03 (0.12.10)
	COMMON: code cleanup, remove obsolete global options

2017-08-31 (0.12.10)
	COMMON: fix issue when LOCAL used inside while loop

2017-08-25 (0.12.10)
	COMMON: raise error when FUNC return value not assigned

2017-08-13 (0.12.10)
	SDL: Added F8 publish command

2017-08-08 (0.12.10)
	COMMON: Fix PROGLINE when using multi-line strings

2017-08-08 (0.12.10)
	COMMON: LEFT, RIGHT, REPLACE, INSTR, RINSTR no longer error on invalid pos input

2017-07-29 (0.12.10)
	COMMON: VAL command now ignored any input trailing non digit chars
	COMMON: MID command now returns blank for invalid index input

2017-07-13 (0.12.10)
	COMMON: Fix potential infinite loop using the MAX command

2017-06-08 (0.12.10)
	COMMON: Now errors when using a keyword as part of a MAP variable

2017-06-08 (0.12.10)
	COMMON: Fix issue with INPUT command

2017-06-05 (0.12.10)
	ANDROID: Fix exit when navigating to non-permitted path

2017-06-05 (0.12.10)
	ANDROID: Fix crash when exporting from IDE

2017-06-03 (0.12.10)
	COMMON: Add support code arrays declared over multiple lines

2017-06-02 (0.12.10)
	COMMON: Fix inline local variable declaration for complex assignments

2017-05-27 (0.12.10)
	COMMON: Implemented OPTION AUTOLOCAL runtime option

2017-05-27 (0.12.10)
	COMMON: Can now declare an empty array with: a=[]
	COMMON: REPLACE str argument can now be a number type
	SDL: Editor now shows navigable stack trace in error message

2017-05-20 (0.12.10)
	COMMON: Implemented Nil system constant
	COMMON: Implemented Maxint system constant

2017-05-14 (0.12.10)
	COMMON: Assign multiple variables from an ARRAY

2017-05-14 (0.12.10)
	COMMON: Optimise execution between repeated kwLINE,kwGOTO segments
	COMMON: Cleanup redundant typedefs
	SDL: Debugger only show local variables when in SUB or FUNC
	SDL: Fix crash using debugger when pressing arrow key

2017-05-08 (0.12.10)
	COMMON: Fix FUNC call as pseudo class method

2017-05-06 (0.12.10)
	COMMON: SUB can now use RETURN statement
	COMMON: Fix line number count when using multi-line strings

2017-05-04 (0.12.10)
	UI: The FORM command now reports an error when IMAGE input fails to load

2017-04-30 (0.12.10)
	COMMON: FUNC can now use RETURN statement as synonym for FUNCNAME=result

2017-04-30 (0.12.10)
	COMMON: Fix square bracket access to 2D arrays
	SDL: PEN OFF command now hides the cursor

2017-04-01 (0.12.9)
	COMMON: TRANSLATE now takes optional ignore-case argument

2017-03-12 (0.12.9)
	COMMON: fix regression with dim MAP field

2017-03-12 (0.12.9)
	COMMON: fix internal error handling long string variables

2017-02-08 (0.12.9)
	COMMON: create MAP from single line JSON without ARRAY command

2017-02-05 (0.12.9)
	COMMON: update parameter handling for performance

2017-02-05 (0.12.9)
	COMMON: can now attach SUB/FUNCs as MAP fields

2017-01-25 (0.12.9)
	UI: CIRCLE drawing is now anti-aliased

2017-01-25 (0.12.9)
	UI: improved CIRCLE performance

2017-01-21 (0.12.9)
	COMMON: allow array access via [] characters

2017-01-18 (0.12.9)
	COMMON: clear out of scope CATCH variables

2017-01-14 (0.12.9)
	COMMON: python style here-document

2017-01-08 (0.12.9)
	UI: editor display cursor row/col position

2017-01-01 (0.12.9)
	ANDROID: select alternative font

2016-12-31 (0.12.9)
	UI: show unsaved indicator following paste

2016-12-30 (0.12.9)
	ANDROID: added share command
	UI: added menu widget (three vertical dots)

2016-12-23 (0.12.9)
	ANDROID: fix '?' key input using gboard

2016-12-18 (0.12.9)
	ANDROID Allow input of special characters
	SDL Allow input of special characters
	Fix compile warnings from clang

2016-10-30 (0.12.9)
	Removed debugging output from RUN (windows build)

2016-10-30 (0.12.9)
	Fixed cursor when displaying the popup while editing
	Added "Save-As" option to the file menu (thanks Josip)

2016-10-24 (0.12.9)
	SDL throw error when invalid .WAV passes to PLAY

2016-10-20 (0.12.8)
	Now returns an error when arguments passed to:
	TIMER, TICKS, PROGLINE, XPOS, YPOS, RND

2016-10-12 (0.12.8)
	Added android speak API

2016-10-08 (0.12.8)
	Fix web server file handling in windows version

2016-10-07 (0.12.8)
	Added android SENSOR handling

2016-10-02 (0.12.8)
	Fix regression with array parsing

2016-10-02 (0.12.8)
	Updated error message when calling built-in FUNC without assigning the result
	Fix TAB to use character positions not pixels
	Fixed issue with nested try/catch

2016-10-01 (0.12.8)
	Fixed NOSOUND

2016-09-29 (0.12.8)
	Added android location API
	Added sound API
	Play .WAV files using PLAY("file://" + path)

2016-09-19 (0.12.8)
	Fix error handling for invalid JOIN input
	Fix SPLIT to include final empty position

2016-09-18 (0.12.8)
	Clear keyboard buffer before pause.
	Fix cursor display with INPUT command

2016-08-21 (0.12.7)
	Added 'web' sub-project (sbasicw)

2016-07-30 (0.12.7)
	Fixed value of i when FOR loop body not executed (node/1611)

2016-07-30 (0.12.7)
	Fixed screen switching when program screen has different font size

2016-07-16 (0.12.7)
	Fixed editor display issue with escaped quotes

2016-07-04 (0.12.7)
	Updated ARRAY command to handle 2d arrays
	Fixed issue with INSTR
	Fixed memory issue with REPLACE

2016-07-03 (0.12.7)
	Updated welcome screen
	Fixed some memory access issues uncovered with new test all.bas

2016-06-24 (0.12.7)
	Renamed str var "size" field "length"
	var cleanup now uses v_detach()
	implemented var pooling

2016-06-18 (0.12.7)
	Fixed memory access issue with JOIN
	Fixed memory access issue with SPRINT

2016-06-15 (0.12.7)
	Added editor double click to select word
	Fixed editor stability issues with undo/redo
	Fixed editor scrolling after paste

2016-06-12 (0.12.7)
	Updated welcome screen
	Added editor F10 option to set the command$ variable
	Fixed editor cursor flicker issue
	Fixed editor find dialog paste support

2016-06-12 (0.12.7)
	Fix infinite loop when printing FUNC with extra args

2016-06-07 (0.12.7)
	Fix memory leak with LINPUT command
	SDL: editor widget now remembers the undo buffer between program runs
	Editor now allows run by selection

2016-06-04 (0.12.7)
	Updated MAP handling for performance
	Updated error message formatting
	Fix error with textScreen sub-command

2016-05-14 (0.12.6)
	Fix to prevent const overwriting another const
	Updated MID and REPLACE for performance
	POINT(0) and POINT(1) values now reset with each program run
	POINT(-x, -y) now provides access to the base screen image. For better
	performance use the IMAGE.SAVE sub command

2016-05-07 (0.12.6)
	Reverted LASTX/LASTY. Data was already accessible via POINT command
	Reverted getPixel from SCREEN for performance. Can still access this by passed -ve x/y values
	Reverted using var V_FUNC handling for int sys vars due to eval issues

2016-04-26 (0.12.6)
	Fixes for unit case sensitivity

2016-04-24 (0.12.6)
	Fixes for RUN/EXEC

2016-04-20 (0.12.6)
	Fixed memory handling issues with UNITs
	Fixed memory issue related to SUB/FUNC pointers

2016-03-29 (0.12.6)
	Removed TICKSPERSEC
	Removed BALLOC, MALLOC and VADR keywords. Removed duplicate ENVIRON
	Removed system constants BPP and VIDADR, OSNAME, LINECHART, BARCHART
	Added TIMESTAMP to return the modified-datetime of a file
	Added LSHIFT and RSHIFT bit shift operators
	SBVER now includes build information
	TICKS now returns millisecond intervals
	Refactor eval() for performance
	Fixed some memory leaks in the ui handler
	Editor now restores cursor when returning from run
	Editor now displays the correct filename in the title bar
	Added "industrial" editor theme from Shian (slot 2)
	Fixed editor highlighting
	Runtime errors now show source screen with red error highlighter
	Form refresh command now takes an boolean arg, true=push ui state to vars
	The IMAGE argument can now be PNG data stored in an INT array
	The IMAGE argument can now be x,y,w,h screen corordinates
	The IMAGE argument can now be a 2-D array of POINTS
	Updated IMAGE sub-command to save 2-D array of POINT
	Added window.setFont command to set font size, bold and italic. example:
           w = window():w.setFont(10, "pt", false, true)
	TRUE is now always returned as 1
	Added file manager to main shell program
	Fixed problem with escaped chars using FORMAT
	Fixed problem with XNOR command result
	Fixed problem with IMP and EQV command result
	Fixed issues with INKEY command to allow ALT/SHIFT/CTRL states to be returned
	Fixed capslock handling
	Fixed issues with TRY/CATCH
	Fixed using POINT to retrieve IMAGE data
	Fixed issues with CHAIN
	Fixed TLOAD to work correctly with TRY/CATCH
	Fixed XPOS and YPOS to return 0 based values
	Fixed compiler checking for redundant symbols, for example: let a = 1 2 3

2016-02-11
	Added export to mobile command (SDL)
	Added Desktop shortcut command (android)

2015-12-05
	Implemented loading recent files via ALT+1 .. ALT+9
	Fix potential editor crash with empty support widget
	Fix potential crash with debug target
	Fix restore path to only function when no other arguments supplied

2015-11-01
	Fix debugger launch in linux build
	Fix editor display issue with keyword completion
	Fix editor case insensitive search
	Fix image drawing for large images
	Fix PAINT infinite loop
	Fix keyboard handling for non-us keymaps
	Fix Ctrl+Home editor keystroke handler
	Fix crash with online command if site is down
	Fix over scroll issue with line number widget
	Fix screen dump invalid file name for online files
	Fix file manager .bas file case sensitivity
	Fix editor markup on map fields that look like keywords
	Fix scanner inserting line-no bytecode for empty or comment lines
	Implemented editor F2 command to display online help
	Implemented calling IMAGE with another image variable

2015-10-20
	Fix LET when assigning a value to a MAP/ARRAY field

2015-09-15
	SDL Update PEN(3) to work more like FLTK
	Fix display output before PEN
	Fix BOLD and ITALIC font display
	Context menu edit keyword completion
	Updated program icon
	Editor line number widget can be used for scrolling
	Updated editor help display
	Fix TSAVE with try/catch

2015-08-26
	Editor fixes:
	- now displays an i-beam/edit cursor
	- highlighting for numbers and keywords
	- F1 key for keywords surrounded by punctuation
	- page scrolling with up/down arrow keys
	- pressing tab at the bottom no longer jumps to the top
	- display additional editor context menu items
	Added a basic debugger

2015-08-02
	Fix display output before DELAY
	Fix LET command problem found in 32bit linux
	Removed obsolete/unimplemented keywords WSPLIT, PLOT2, UNLOADLIB

2015-07-18
	Added IDE editor sdl/android
	Made a few minor performance improvements (SDL)

2015-06-07
	Fixed PRINT 1/1000 and other floating point rounding issues
	Fixed problem with 59 char INPUT prompt
	Added missing PEN(12) support
	Added multi-item case selection (suggestion by James Grimaldi)
	SDL: Updated display of file anchor links
	SDL: Fix drag-drop from explorer to launch programs

2015-01-25
	Added timer func support
	Improved syntax error messages
	Remove dependence on malloc_usable_size
	Pass TRUE as an argument to PAUSE to wait for an event

2015-01-18
	Anti-aliased line drawing
	Improved INPUT with clipboard handling
	Improved graphics display performance

2014-12-03
	File-open now uses .bas DIR to locate files

2014-11-06
	Added WINDOW system object to control the ansiwidget
	Added sound support to SDL port

2014-10-28
	Update INKEY to return ALT, CTRL, ALT+CTRL key information

2014-10-20
	Refactor FORM handling to use system object

2014-09-28
	Refactor image handling to use system object

2014-09-22
	Implemented ARRAY command to read JSON into a map variable

2014-09-19
	Fix STR(v) support for map variables

2014-09-12
	Add support for unary operators on array elements
	Fix printing UDS vars

2014-09-08
	Fix call FUNC with (arg1), (arg2)
	Fix INKEY Backspace in FLTK
	Fix FOR/NEXT using float increments

2014-09-06
	RTE command renamed THROW

2014-09-01
	Added try/catch

2014-08-30
	Added reference variable type
	Fixed HASH var handling with parenthesis

2014-08-22
	Fix HASH var crash
	Fix HASH var handling of mixed types
	Fix illegal UDS field variable names
	Unitfy HASH and UDS

2014-08-15
	Improved runtime performance
	Fixed memory leak with UDS variables
	Fixed FUNC call with parenthesis

2014-08-14
	Added SHOWPAGE. code cleanup

2014-08-11
	Cleanup system var handling, removed os_ver

2014-08-09
	Renamed command "#UNIT-PATH:" to "UNITPATH"
	Renamed command "#INC:" to "INCLUDE"
	Fixed/implemented INCLUDE command
	Refactored comp_pass_1 function is scan.c breaking into
	smaller helper functions

2014-07-07
	Update SDL to use SDL2 and common widget

2014-06-14
	Fix crash evaluating "a \\ b"
	Fix INPUT command in FLTK for scrolled display

2014-06-11
	Android changes:
	- Run by URL/QrCode.
	- Implemented BEEP/SOUND
	- Screen layout adjusts when virtual keypad displayed

2014-04-20
	Released Windows version 0.11.5

2013-12-30
	Fix android display clip handling
	Fix android import from IDE
	Console is now a graphics screen
	Replace battery drain error with console warning

2013-12-18
	Android version 0.11.4
	Built with android NDK for huge performance increase
	Web service for remote file edit/run
	Can now launch .bas files from Android file browser
	Added program restart command

2013-02-09
	Added support for empty parentheses in sub/func calls

2012-12-18
	AT and PEN now work with WINDOW based coordinates. This will allow programs written
	for PalmOS to appear correctly on modern mobile screen resolutions.

2012-12-09
	Released 0.11.2 android version to google play
	Added the ability to change the font size

2012-12-01
	Released 0.11.1 android version to google play

2012-09-25
	MoSync port nearing completion

2012-07-29
	Fixed a bug with nested case statements

2011-04-14
	Removed POKE and BCOPY. These never really worked correcly
	and would be fairly insecure in the web model if they did.

2011-03-19
	QT port started

2011-01-22
	Fix compilation errors (fltk build) for 64bit ubuntu

2010-12-15
	Fix for floating point display (tracker 3136093) issue
	found with printing 1/1000

2010-07-31
	Fix for PAUSE cmd (tracker 1651503) to pause correct length of
	time - Case was	mostly already fixed in 0.10.7.

2010-06-19
	Fix form TEXT command to use correct integer datatype
	Fix misc issues with const char* uncovered with new gcc
	Fix duplicate prompt whe INPUT command used in text mode

2010-05-15
	Version 0.10.7 was released

2010-05-07
	updated window title display

2010-05-01
	inkey now returns shifted keys
	added DOFORM option return on a key event
	updated calc to use the keyboard

2010-04-28
	fix for windows socket handling
	cleanup code for display of break message

2010-04-19
	Added new sample programs, tetris and sokoban
	Fix to make plugins work with files containing dos file line endings
	Added select-all command.
	Run-selection now works with logprint mode.
	Fixed run startup mode on linux
	Added ctrl+f1 help mode
	Fix for executor cleanup crash when breaking from invalid call to sub
	Included missing tdestroy function for MingW build (fix for memory leak under windows)
        Programs now run with cwd set to the .bas filename
	Updated help for doform and button commands
	Fix for display of list and label form button types after their variable contents have changed
	Fixed a problem with SELECT/CASE with complex program usage (tracker id 1683450)
	Fix for -v command line arg when passed w/out another arg
	Fix for PolyLine crash when invalid args passed
	Pass focus to MainWindow when closing the form to ensure inkey gets updated
	Prevent default window key processing when keys passed into basic program
	Esc key returns focus to editor when command or browser widget has focus
	Added simple stack trace as part of runtime error message
	New hot-key - ctrl+e to focus the editor
	New editor keystrokes - ctrl+b toggle break-to-line, ctrl+t toggle log-print, ctrl+w toggle hide-ide
	Cls command does nothing in non-interactive mode
	Fix for regression with returning and passing UDS values
	DIRWALK now just logs an error (instead of terminating the program) when it encounters a folder that it cannot open
	Added search examples option for keyword help
	Fix for find and goto commands to work with readonly files
	Show font selection menu using the target font.
	Fix to allow help page link to a system file
	Can now pass a url to the html command which opens in a real browser
	Imlemented new code publish tool
	Editor plugins now invoked in non-interactive mode
	INPUT command now issues a prompt dialog when in non-interactive mode
	Restore main window focus after closing color selection window
	Updated getHomeDir() to use APPDATA env-var for windows
	BAS_HOME var no longer contains trailing slash-char.

2010-03-08
	UDS and HASH types now work with FOR-IN and also return sensible
	values when used with the LEN command. Fixed crash when converting
	between UDS and HASH types.

2010-03-07
	Fixed a bug where hitting break from inside a SUB that had the
	result being assigned to another variable would cause a crash

2010-02-18
	Updated saving and restoring many properties from config.txt
	File open uses current buffer file path
        Creates backup files
	Fixed minor display issues with the File Open Widget

2010-02-05
	Updated the editor code browser

2010-01-29
	Added the DEFINEKEY command
	Updated internal event handling to allow INKEY to function correctly without
	excessive CPU usage

2009-12-14
	Version 0.10.6 released

2009-11-27
	Implemented TTY widget

2009-11-06
	final fix for matrix inverse bug

2009-09-04
	0.10.5 for windows released

2009-08-23
	Fix for desktop icon display (ALT+Tab) under X11 (ubuntu)

2009-08-14
	Fix for sub/func navigation tool to internally use line numbers in lieu of
	label searching.

2009-08-08
	Reworked editor toobar so there is now a command selection and only one text
	input field.

2009-08-02
	Updated calc.bas to work with the new DOFORM api
	Fixes for the FLTK DOFORM API to allow the updated calc.bas to work reliably

2009-07-28
	Implemented editor colour selection in FLTK build.

2009-07-26
	Implemented editor font selection in FLTK build. Fixed memoryTest.bas sample

2009-07-22
	Implemented "ELSE IF" syntax

2009-07-11
	fltk - file widget displays sorted items

2009-06-29
	update variables to use 64 bits
	fix for matrix inverse bug

2009-06-13
	updated form API in fltk version

2009-04-13
	incorporate agg into fltk version (reverted for now)

2009-01-14
	in osd_getpixel() for X11, offset x/y as getPixel is relative to the outer window
	FileWidget allow input of a custom path

2009-01-07
	Updated FileWidget to allow relative paths for saveas. Updated to handle
	readonly edit buffers. Fixed a few compiler warnings

2008-11-26
	FLTK 0.10.2 was released

2008-11-23
	FLTK: Fix for possible crash with html command used in plain window mode. Fix for
	file widget for directory names with space characters.

2008-11-16
	FLTK: Fix for invalid values returned by PEN command.

2008-10-26
	FLTK: Fixed a few problems with find and replace. Implemented Rename Word command.

2008-08-16
	* released windows version 0.10.1

2008-08-01
	* passing length < 0 to MID no longer causes stackdump

2008-07-17
	* refactor FLTK to allow opening of multiple editors

2008-07-05
	* cleanup ansi codes from output in dev_null driver. fixed logprint command
	* fixed "open for append"
	* added FLTK -n non-interactive flag (prevents the gui from being displayed)

2008-07-01
	* Implemented program restart option in FLTK

2008-06-28
	* Updated to build FLTK version using MingW under Cygwin (see below).

2008-06-26
	* Added build support for MingW under Cygwin. This is simpler than installing
	  Msys, simply install MingW to say c:\MinwG, then change your .bash_profile with:
	  export PATH=/c/MinGW/bin:$PATH
	  Then re-run configure (under cygwin bash) and a non-cygwin console version will
	  be produced which can run under cmd.exe, explorer.exe etc.

2008-06-20
	* Can now supply program arguments on FLTK version command line:
        sbasici -r t5.bas foo -or- sbasici t5.bas foo -or- ls | sbasic t5.bas --
	also: echo foo | sbasic foo.bas --

2008-06-06
	* Implemented the ability to declare a local variable and assign a
	  value to it on the same line, eg local foo = "foo"

2008-06-04
	* Fixed problem with trailing backslash in strings

2008-06-01
	* Add support for hash arrays (rainy day)

2008-05-26
	* Updated module building to use autotools
	* Fix regression with console build
	* Fix for expression if (foo.x)
	* UDS copy operations now always as by reference
	* Can now refer to UDS field within parenthesis
	* Updated FLTK online help
	* Fix support for composite expressions such as "ar.ch(0).foo"

2008-05-24
	* Updated SDL forms to work with guichan 0.8.1
	* Fixed problem with FLTK HelpWidget displaying large pages

2008-05-15
	* Update FLTK forms implementation to be like the SDL implementation
	* FLTK now correctly implements DELAY
	* Updated help.bas help plugin to include an index

2008-05-07
	* FLTK: allow applications to set the window geometry using:
	option predef grmode WxH

2008-04-26
	* Source code release for version 0.10.0

2008-03-31
	* Various fixes for FLTK build
	* Implemented outside file change check in FLTK build
	* Implemented file drop support in FLTK build
	* Not being able to save an sbx file is no longer a fatal error
	* runtime .bas files can now be read-only files.
	* break command updates global last error string

2008-03-15
	* re-migrated code from cvs - this time with full history

2007-12-31
	* Fixed a problem in the SDL version with pressing ctrl+c
	  while the "press any key to close" message was being displayed

2007-12-02      version 0.9.9.0
	* moved code to subversion
	* see src/fltk/README.TXT for updated project indent settings

2007-11-03	version 0.9.8.3
	* refactored console_main
	* added the ability to include a path component in a unit name, eg:
	  import other.something.foo
	  ? foo.my_var

	  Then in the foo.bas file:

	  Unit other.something.Foo
	  export my_var

	  The unit file should be saved in $UNITPATH/other/something.
	  If not defined, $UNITPATH is inferred as the host program
	  file directory.

2007-10-10
	* A runtime error is now created in lieu of crashing when you
	  pass a value less than 0 to the LEFT and RIGHT string commands.
	* The runtime error for LEFT,RIGHT,REPLACE,MID,INSTR,RINSTR now
	  includes the invalid index in the message

2007-08-31
	* Fixed a problem referring to UDS fields from an array
	  eg x = foo(0).x

2007-08-18
	* Fixed a problem with the short-circuit eval code causing
	  incorrect true/false return IP's being calculated

2007-08-02
	* The IN operator when applied to arrays now returns
	  the 1 based index position, eg:
           a << "cat"
           a << "dog"
           ? "dog" in a 'prints 2

2007-07-21
	* Implemented experimental logical expression short-circuit evaluation

2007-07-12
	* (re) Implemented user defined structures
	* AnsiWidget added to FLTK core package

2007-06-23
	* TSAVE now correctly closes the opened file

2007-04-27
	* Added GUI support to SDL version using guichan

2007-04-19
	* Implemented user defined structures
	* Commited Attila Haraszti's SDL code and changes for configure.in
	* Added syntax support for '=='

2006-11-14
	* Updated DATE and TIME error messages to provide extra information

2006-10-23
	* Added more info the index out of range runtime error message
	* Fixed configure.in for cygwin build

2006-08-19
	* added "multiline" option to the TEXT command to support
          the multiline edit control (GTK)
	* fixed RINSTR command to work as advertised.
	* TSAVE can now take a file number arg like TLOAD

2006-08-16
	* Fixed error message with unterminated strings in a sub or func.
          complained about missing END instead of the missing " char
	* Quoted strings no longer required the end quote char. A new line is
          taken as the end of string.

2006-08-12
	* added support for func/sub pointer variables used with the
	  call statement:

          func foo(s)
           foo="foo!"+s
          end
          sub bar
            ? "in bar"
          end
          p = @foo
          ? call(@foo, "#")
          ? call(p, "%")
          pb = @bar
          call pb
          call @bar

 	* USRCALL has been removed since it never worked and the above
          is a better replacement (IMHO)

2006-07-28
	* updated chain command to take string or array	of string arguments in
          lieu of a file name. After calling this command, the calling program
	  now successfully resumes.
	* added HAVE_C_MALLOC to replace complicated
          memory routines with simple malloc/free calls
	* added GRID+TAB button support to GTK build

2006-05-27
	* added form support to GTK build

2006-05-27
	* bc_store_string() now handles escaped double quotes

2006-04-12
	* updated sockcl_open() to handle server listen sockets


--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.9.0
--------------------------------------------------------------------------------------------------------------------------------
2004-05-01: ndc
	Human language depented files for messages and keywords.
	The messages and the keywords can be easily translated to another language.
	This is not suggested because that means incompatible source-code but it is very usefull for education purposes;
	I believe that, the kids will work better if they are using their natural language
	(and we are very sensitive on that matter).
	I suggest to the "translators" to be very carefull, there is no mean on a word-to-word translation.

2003-03-10: ndc
	new c-modules: mod_gdbm, mod_mysql

2003-03-09: ndc
	fix: ptdistln, ptdistseg
	new: POLYCENT (centroid of polygon)

2003-02-24: ndc
	END IF: keyword with space is supported now

2003-01-24: ndc
	FOR-IN: if the IN parameter is not an array (probably an empty variable) the FOR jumps to
	--- the next command after 'NEXT'

2002-10-12: ndc
	Sort: fixed
	Search/Sort: does not generate RTE anymore

2002-10-10: ndc
	units: SB libraries
	new keywords: UNIT, IMPORT, EXPORT

2002-10-06: ndc
	doc: .texi and groff output added
	--- ref.txt structure changed
	update: str()
	--- str(string) now allowed
	new: BSS() - converts C-style strings to BASIC-style strings
	new: CSS() - converts BASIC-style strings to C-style strings
	--- some more compiler error-checking

2002-10-01: ndc
	several internal changes for easy development.
	--- cxx_sb.hpp provides a new iterface to whole SB.
	--- SB can compiled as a C or C++ library. That would
	--- help a lot the IDEs developers. Main Makefile
	--- splitted, it is working like main-menu now.
	FLTK IDE added but not finished yet.
	--- Actually that shows the power of the libsbasic.
	--- It is very easy now to build IDE. Unfortunately
	--- I am no friend of GUI, I've never tried Qt or GTK.
	--- Anyway, soon, I'll rewrite the Win32 GUI version.

2002-09-16: ndc
	update: compiler speedup for PalmOS 3.5+
	--- VMTs not used on 3.5+ (no actually needed)
	new code: lopen_bridge.h
	--- I rewrote the VMTs. The code was a mess. Several parts of SB
	--- uses #def blocks just to do simple tasks with open/close command-set
	--- So, I wrote a "driver" which cleans a lot of those parts by using
	--- real std-c emu of functions open/close for PalmOS and VTOS.
	update: new VMT
	--- VMTs are now basic part of the system. Because of lopen_bridge.h is
	--- easy portable too. In VMTs is stored a fake environment-variable table,
	--- VMTs are used for memory swaping, and will be used as basic-level database.
	update: PalmOS, On PalmOS 3.5+ the opt_safedraw (SDK3.5 draw functions) is
	--- used by default on 3.5+.

2002-09-11: ndc
	update: PLAY "Q" clears sound queue
	new: NOSOUND stops background sound and clears sound-queue
	update: SOUND can plays on background
	new: PLOT (graph of F(x))

2002-09-01: ndc
	fix: ON GOTO/GOSUB, values out of index

2002-06-22: ndc
	new: SEC/CSC/COT family functions

2002-06-21: ndc
	update: extra check for build-in functions without parameters

2002-06-18: ndc
	bug: RIGHTOFLAST() fixed
	bug: palmos, 'keep-bytecode' code rewriten
	--- CHAIN does not compile if it is not needed

2002-06-07: ndc
	bug: palmos, memo fs, open for APPEND now moves the pointer to the end
	--- of the file's data.
	bug: palmos, pdoc fs, open for APPEND now works, still does not
	--- support read-only open.
	new: palmos, battery-info support in FRE()

2002-06-02: cws
	new: ebm, added flush image escape to ansi driver \033[F.
	--- This causes imgUpdate() to be called.
	new: ebm, Sorted file names in File Dialog

2002-05-25: cws
	update: ebm, improved "Run" dialog
	update: ebm, further improved ANSI text out performance

2002-05-xx: ndc
	documentation/doxygen format

2002-05-12: ndc
	update: default values for window/view cmds

2002-05-12: cws
	new: ebm, implemented FILES command - dev_create_file_list()
	new: ebm, implemented COPY command - dev_fcopy()
	new: ebm, implemented ENVIRONMENT command.
	new: ebm, implemented FRE command - returns ebm memory and battery info (see help)
	update: TLOAD speed optimize
	update/new: ???, provided mechanism for sbasic programmers to provide an about box.
	update: ebm, selecting the menu while running an application now pauses program
	--- execution.
	update: ebm, corrected behaviour with open file errors; now results in a
	--- runtime error.
	new: ebm, absolutely way cool on-line help!
	new: ebm, removed the 2 pixel window border.
	new: ebm, partial MMC file support; reading and listing files from sb code only.
	--- MMC write is not yet implemented in the operating system.
	new: ebm, updated command line editor. Entered commands are now sent directly
	--- to the interpreter. You can tap and run simple one line programs
	--- using the keyboard. Use : to separate program statements.
	new: ebm, optional SmallBASIC.ini settings control creation of .sbx files
	--- and enabling verbose compilation. settings are:
	--- genexe=0
	--- quiet=0
	update: ebm, minor enhancements to ebjlib library
	update: optimised ansi text out and window scrolling performance

2002-05-05: ndc
	new: bitmap-lib (basic internals), it needs more work

2002-05-04: ndc
	new: BLOAD,BSAVE,USRCALL
	update: PalmOS power on/off button support
	update: SDL default mode (see: README.UNIX)

2002-04-19: ndc
	new: low-level commands
		MALLOC,PEEK(8,16,32),POKE(8,16,32),BCOPY,VADR
	new: palmos, keyboard buffer dialog (press kb)
		not good yet, but it works

--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.8.2
--------------------------------------------------------------------------------------------------------------------------------
2002-04-14: ndc
	?bug?: crash; wierd memodb records (size >32KB!!), thanks to Meino
	bug: PalmOS, MOD's result was wrong

2002-04-07: ndc
	bug: memory overrun on scan.c:bc_get_var_id(), thanks to Meino
	new: BGETC()/BPUTC (binary get/put bytes on a stream)

--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.8.1
--------------------------------------------------------------------------------------------------------------------------------
2002-03-31: ndc
	finish: OPTION-styles, new PREDEF QUITE,COMMAND
	modify: system string-variables are now accepted with both names
            (with or without $ suffix)
	new option: -h[page][-command]

2002-03-25: ndc
	new operator: LIKE
	new proc: DIRWALK
	new func: CHOP()

2002-02-27: ndc
	bug fix: memo (palmos) open/write

2002-02-22: ndc
	bug fix: pdoc's garbages are now dead (for desktop)
	update: setting backup-bit in user files and pdocs
	update: IN operator priority changed to 'compare'
	new: MDL operator (a%b+b*(sgn(a)<>sgn(b)))

2002-02-??: Earle's port

2002-02-??: Chris's port

2002-01-28: ndc

2002-01-28: ndc
	bug fix: cat() on 16bit, thanks to Frantesik
	very fast and small memory handles emulation (for 'limited' systems)

2002-01-13: ndc
	changes for porting: dev_getenv()/dev_putenv() at device.c
	bug fix: env() function fixed, env command also fixed

2002-01-04: ndc
	bug fix: operators && and || was on different op-category...
	bug fix: small memory leak on string->number convertion inside
	--eval.c module. That causes PalmOS fatal error!!!

--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.8.0
--------------------------------------------------------------------------------------------------------------------------------
2001-12-27: ndc
	bug fix: memo vfs driver: deleted files, no null-char on read

2001-12-??: ndc
	new: split with pairs

2001-12-11: ndc
	new: IN operator (not the FOR-IN)
	new: ISNUMER(), ISSTRING()
	new: ENCLOSE(), DISCLOSE() (also, its part of SPLIT)
	bug fix: memory leak (GOTO)
	new: terminal driver (old code for command-line is removed)

2001-12-10: ndc
	new: DEF FN compatible command (single-line functions)
	-- to support this, I made the DEF; an alias of FUNC
	-- so, FUNC f(x) = sin(x)
	-- and DEF  f(x) = sin(x)
	-- is now acceptable
	new: bitwise operators NAND,NOR,XNOR,EQV,IMP
	-- it needs checks
	new: parameter parser (RT)
	update: FORMAT, console-codes (\e[nG)
	new: RINSTR, SPRINT

2001-12-08: ndc
	linux: modules support (external C/C++ libraries)
	new: true color is supported for modes >8bit
	new: RGB() RGBF()
	change: KILL does not create RTE if there is no file
	-- It is very annoying on Linux
	update: svga & sdl (colors, some minor bugs)
	change: LOADLN/SAVELN changed to TLOAD,TSAVE
	-- I don't want to use LOAD/SAVE, also,
	-- I want common names, like BLOAD/BSAVE
	change: &&, || = logical ops (like C)
	new:    &, |, ~ = binary ops (like C)
	new:	& = join code lines (like the \ on C)
	change:	SB limits are changed

2001-12-07: ndc
	default name on Unices changed to sbasic instead of sbrun
	update: everything is working on 32bits now
	-- 16b version can be produced by using OS_ADDR16
	-- For PalmOS users the 32b means less memory...
	change: xmax, ymax returns now the width-1,height-1
	-- its more logical

2001-12-05: ndc
	update: +/-INF and +/-0 for real-to-string (PRINT included)

2001-12-03: ndc
	update: PalmOS IDE: several changes, include auto-goto error-line
	new: APPEND, DELETE, INSERT
	new: PalmOS scripts (thanks to Frantisek Dufka)
	change: ANSI console code for 'reset' does not
	-- changes the font.

2001-12-02: ndc
	new: dev_gets() (INPUT)
	-- On Palms: schedule=delete, phone=left, todo=right
	-- possible problems with multibyte charsets,
	-- var-font: minor problems with multiple lines
	update: PSET,LINE,RECT,VIEW,WINDOW... graphics commands
	changed: LOCATE coordinates starting from 1

2001-12-01: ndc
	new: SEARCH
	new: CHMOD
	update: compiler: PASS2 errors, more info

2001-11-30: ndc
	new: SQUEEZE()
	some more compiler/RTL checks
	new: ISARRAY()
	new: ++ and -- pseudo-operators
	bug fix: file size on Unix
	new: COMMAND$ system variable
	update: STOP/END parameter added

2001-11-29: ndc
	new: FORMAT, PRINT USING and new FTA function (print numbers)
	alias: LINE INPUT (with space) is now acceptable
	INTEGRAL keyword removed

2001-11-28: ndc & bob
	bug fix: EXIT inside function
	new: ISDIR, ISFILE, ISLINK, ACCESS
	new: IF function: IF(condition,true-value,false-value)
	new: operator << (append to array)
	new: REDIM (resizes an existing array. its works only for 1-dim arrays)

2001-11-27: ndc & bob
	changes: ROUND(-1.5) returns -2
	changes: MOD (changed to fmod())
	bug fix: INT, FIX - negative values
	new: FRAC, CEIL, FLOOR
	changes: scientific notation E supports xE{+|-}{praxis=+-*/\^}{y}
	---valid: 1E1 (1*10^1), 1E-1 (1*10^-1), 1E--1 (1-1), 1E-/2 (1/2)
	---invalid (nested E, complex expressions, variables): 1E-+2E--4, 1E-+int(2.2)
	---if I write an eval() then it will do more things :)
	new: LINEINPUT (new alias: LINP) works on console, too
	bug fix: PAUSE n (after an key-interrupt; now clears keyboad-buffer)
	bug fix: WEEKDAY
	bug fix: STATs I was made some stupids things here, now it is working again
	---(QB: DEF FNxxx - END, later will be added the inline DEF FN)

--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.7.1
--------------------------------------------------------------------------------------------------------------------------------

2001-11-24: ndc
	changes: LINEQGJ (Gauss-Jordan) renamed to LINEQN
	new: DIFFEQN

2001-11-23: ndc
	new: JULIAN(dmy_string | d, m, y)
	new: DATEFMT(format, dmy_str | d, m, y | julian)
	new: WEEKDAY(dmy_str | d, m, y | julian)
	new: DATEMDY dmy_str | julian, byref d, byref m, byref y
	new: ROOT
	new: SORT (quick sort)

2001-11-22: ndc
	bug fix: Palm's ftostr(), round bug (59.9999999/60 was 0.1 instead of 1) (Thanks Bob :)
	bug fix: Palm IDE: Goto line 1
	bug fix: spaces on parameters (i.e. BYREF bug)
	changes on SPLIT (spaces now counts as delimiters)
	SPLIT supports the USE keyword
	new: TRIM()
	new: INTEGRAL

2001-11-19: ndc
	changes: COM ports 0-9 (COM1:,COM5:,etc)
	PalmOS IDE: categories (edit, delete, rename)
	PalmOS IDE: it does not delete the bytecode (Menu->Pref->Options)
	PalmOS IDE: line numbers on editor
	bug fix: VM (CALL_UDF) (4 bytes instead of 2)
	new: DERIV

2001-11-18: ndc
	changes: DIM A(10):A=1 is valid now... (convertion from array to integer)
	changes on LEN(), INPUT
	bug fix: EMPTY()
	bug fix: '_' its works again in the sub-routines names
	new: DETERM(A[,tol])
	new: LOADLN file, array
	new: SAVELN file, array
	bug fix: binary READ/WRITE commands
	new: FOR var IN array - NEXT
	command-line: quite flag (-q); No "* DONE *", no compiler messages
	bug fix: Unix OS Name

--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.7.0a
--------------------------------------------------------------------------------------------------------------------------------
2001-11-07: ndc
	PalmOS: crash with MemoDB deleted/locked records

--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.6.1-0.7.0
--------------------------------------------------------------------------------------------------------------------------------
2001-11-06: ndc
	SB web-site: recovery...

2001-11-05: ndc
2001-11-04:
	after hard-disk failure... recover and check
	bug fix: WinXP: sound driver, SBPad forms background color

2001-??-??: ndc
2bit DOS (DJGPP)
    --That means there needed one DPMI driver (under windows DPMI is supported).
    --For clean DOS you can use one of delorie's DPMI (free) programs or other (read DJGPP's FAQ)
    --CPU 80386 or newer is needed
    --Long-filenames are supported only under windows (read also DJGPP's FAQ, especially for NT)
    --NO TCP/IP

    Statistical/generic functions are added: (thanks to Yannis Dondos (dondos@otenet.gr))
	ABSMIN, ABSMAX, SUMSQ, SUM, STATMEANDEV, STATMEAN, STATSPREADS, STATSPREADP

2001-08-09: ndc
    RUN() function added (returns the stdout of the command)
    HOME system variable added (user's directory)
    CWD system variable added (current working directory)
    CHDIR/MKDIR/RMDIR: only for non-palmos

    SOCL FS: socket client (virtual file system) added
    --This driver its not tested on PalmOS...
    --Only OPEN,CLOSE,READ,WRITE,EOF() are implemented

2001-08-08: ndc
    READ/WRITE command set: binary read/write to a file (for variables)
    bug fix: INSTR (caseless compare changed to case sensitive)
    POINT(): 0,1 functions added (returns the current graphics X/Y position)

    PalmOS IDE: import/export to/from PDOC
    PalmOS IDE: import/export to/from Memo

    PDOC FS:
	--filesystem emulation for PDOC files. (use OPEN "PDOC:filename")
	--Under non-palmos OSes, files PDoc_* are created in the current directory for emulation.
    --These files are real compressed PDB/PDOC files (you can hotsync them)
    --FILES() for PDOCFS: FILES("PDOC:*")
    --PDOC FS opens and uncompress the file on OPEN; and compress the file on CLOSE

    bug fix: memory leak on PRINT for files
    bug fix: PalmOS IDE, UserFileViewer save file

2001-08-06: ndc
    MemoDB FS:
	--filesystem emulation for memodb. (use OPEN "MEMO:memo-title")
	--the memo-record size is limited to 4000-65 bytes (the 65 bytes are reserved for the 'filename' + \n)
	--Under non-palmos OSes, files Memo_* are created in the current directory for emulation
    --FILES() for MEMOFS: FILES("MEMO:*")

    bug fix: FS auto-close files

2001-08-05: ndc
    RTE ... --- custom run-time-error (its working like PRINT command)
    PROGLINE --- returns the current source-line number (user's program)
    Unix: some /proc info are added
    EMPTY(x) -- used for variables
    FS: A lot of changes on file.c
    --Actually FS is working with more clever way now. Its supports multiple fs-drivers with mount/umount logic.

2001-08-04: ndc
    Trying to support nested arrays.
	--There are some problems with nested arrays.
	--Nested arrays are not visible to SB compiler so
	--SB does not stores optimized info for them.
	--(in few cases arrays will copied more than once on memory)

    console,file,log PRINT are using the same code for writting vars

2001-08-01: ndc
    PalmOS driver: some changes on the LOCATE
    FILES(x)
    LEN(x) now supports arrays too
    ENVIRON str, ENVIRON$("var") --- (non-palmos) environment variables
    SPC(x) --- alias of SPACE$(x)
    REPLACE$(s1,pos,s2[,len])
    LEFTOF$(s1,s2), LEFTOFLAST$(s1,s2)
    RIGHTOF$(s1,s2), RIGHTOFLAST$(s1,s2)

2001-07-31: ndc
    PalmOS: stack increased by 4KB (that means -4KB for BASIC progs)
    Fill for DRAWPOLY added (FILLED keyword)

    new framebuffer driver
    --I wrote a new one without using any library (8,15,16,24,32 color modes);
	--its very stable in kernel 2.4.4 and its working very nice in console.
	--So, this is the default driver for unix (instead of svgalib)
	--note: scroll is slow

    several fixes on SDL driver
    bug fix: eval: "-"+40 now returns string "-40"
    bug fix: OSS driver now checks if /dev/dsp is available

    PalmOS IDE: 'restart' does not compile the source now

2001-07-29: ndc
    PalmOS driver: direct video-access (used instead of PalmOS APIs routines)
    --its faster :)

2001-07-25: ndc
    JOIN array(), delim, dest-var
    LINEQGJ(A,B[,toler])    (thanks to Yannis Dondos (dondos@otenet.gr)
    Arrays ops: [col,col,...[; col,col...]]
	define an array at code
ex:
	d=[1,2] ' 2
	d=[1;2] ' 2x1
	d=[11,12;21;cos(a)] ' 3x2
	d=[1;21,2+2] ' 2x2
	d=[1,2;3,4] ' 2x2

    Matrices: (A-Z=arrays): A=2*B;B=-B;C=D*E;A=B+C;D=A-B
ex:
	a = [-3,  0; 2, -1]
	b = [ 4, -2; 3,  5]
	print a; " x "; b; " = "; a * b

    new: PRINT displays arrays now
    Bit-ops: BAND (AND), BOR (OR)

2001-07-23: ndc
	bug fix: RECT with out fill (diag. line)

2001-06-03: ndc
	bug fix: EXIT (REPEAT/UNTIL)
	VIEW,WINDOW

2001-06-01: ndc
	vector graphics:
		PTSIGN, PTDIST, PTDISTSEG, SEGLEN, SEGCOS, SEGSIN, INTERSECT
		M3IDENT, M3ROTATE, M3SCALE, M3TRANS, M3APPLY
		POLYEXT, POLYAREA
	bug fix: SPLIT: empty strings

2001-05-28: ndc
	bug fix: PAUSE seconds
	bug fix: var/label/proc names with '_'
	bug fix: delete section
	bug fix: &H prefix
	EVAL's stack is dynamic now
	Backup bit is enabled after copy/rename

--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.6.0
--------------------------------------------------------------------------------------------------------------------------------
2001-05-13: ndc
	bug fix: v_set array copy
	backup-bit is enabled when the source file is modified
	Scientific notation added (both in code and in run-time (input))

2001-05-07: ndc
	#inc:file - #include for BASIC :)
	Background sound
	System events check changed (now works with ticks, checked every 50ms)

2001-05-06: ndc
	SPLIT str, del, v() - split text
	COPY/RENAME filename, newfilename - added
	ERASE array1, ... - destroy arrays
	bug fix: multi-dim arrays (dim > 1; element 0 returns the correct ptr)
	INPUT #N, ... - INPUT for files added
	Memory optimization (I got ~6-10KB for executor)
	Virtual Memory & Virtual Memory Tables (only for compiler; maybe later I'll add routines like VMDIM and VMLOCAL)
	UserFile Viewer - users can view/edit their files (up to 32KB)
	logfile support (LOGPRINT added for users)

2001-05-03: ndc
	INPUT$(len[,fileN]) - added
	Serial I/O added (OPEN "COM1:")
	EXIT [FOR|LOOP|SUB|FUNC] - added
	pdb2bas & bas2pdb supports sections (up to 256 sections, up to 1MB text)
	Arrays & vars with the same name does not supported any more
	Assign arrays "DIM A(4):B()=A()"

2001-05-02: ndc
	SUB/FUNC code finshed
	LOCAL keyword added (dynamic local variables)
	DECLARE keyword added (declaration needed for multiple-sections, every section acts as module now)

2001-05-01: ndc
	bug fix: PLAY
	PEN(3) now supported

    These sound drivers does not working well. I just dont know anything about soundcards.
	DSP sound driver for Linux, added
	SDL sound driver...

2001-04-29: ndc
	PROC/FUNC - starting (todo: JMPs before & after, run-time code)
	A lot of changes on compiler (I can't write real compiler, there are a lot memory problems)

2001-04-16: ndc
	bug-fix: WHILE/WEND nested blocks

--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.5.8
--------------------------------------------------------------------------------------------------------------------------------
2001-04-02: ndc
	DRAWPOLY array() added
	TRUE/FALSE system constants added
	LINECHART,BARCHART system constants added
	CHART added
	SVGALIB - clipping is now enabled
	a few syntax checks added

2001-03-30: ndc
	MAX/MIN added

2001-03-18: ndc
	bug fix: eq with doubles ((1=12/10) now returns false)
		this is the FOR-NEXT problem with fps
	bug fix: run-time error if the user had not allocate memory for arrays (DIM)

--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.5.7
--------------------------------------------------------------------------------------------------------------------------------

2001-03-10: ndc
	Some minor bugs of multibyte charsets

2001-03-09: ndc
	Big5 charset support added - thanks to Daniel Yuan-Chih Lin (dan.lin@bigfoot.com)
	Generic multibyte support added
	bug fix: SOUND & BEEP volume

--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.5.6
--------------------------------------------------------------------------------------------------------------------------------

2001-03-03: ndc
	SDL driver added
	Win32 port

2001-02-28: ndc
	Basic FILE I/O

2001-02-27: ndc
	circle's code is beautiful now.

2001-02-25: ndc
	4bit gray-colors are supported now (PalmOS 3.30 only!)
	8bit vga16 hi-colors are fixed
	bug fix: STR$()
	INPUT supports more variables

2001-02-24: ndc
	console supports more fonts now ("\e[8xm" x=0..7 for system fonts, "\e[9xm" x=0..4 for SB's fonts)
	console supports colors
		("\e[3xm" x=0..7 ANSI foreground colors)
		("\e[4xm" x=0..7 ANSI background colors)
	RUN command added
	system variables (see: setsysvar_int|num|str)
		OSVER	- OS version (ex: 0x350 for PalmOS 3.5)
		OSNAME	- OS name
		SBVER	- SmallBASIC version (ex: if sbver < &H506 then ? "RQ 0.5.6+")
		PI      - 3.14..
		XMAX,YMAX - graphics display maximum x & y
		BPP     - bits per pixel
	TXTW(s),TXTH(s) added (text font width & height)
	X/Win driver added (it needs work, but you can see a preview)

2001-02-22: ndc
	SJIS (Japanese) charset support, thanks to Toshiya Fujii (araiguma@earthlink.net)
	INPUT stores numeric values if the input-string is a number
	new method for Palm's PEN events
	new key codes (new keys FIND & CALC)
	Arrays & common variables with the same names are acceptable now
		I don't like it, but its needed (GWBASIC compatibility).
	DATA skips its code, does not need the first RESTORE any more, strings (DATA) does needs quotes
	bug fix: (\) integer division operator is now recognized
	CIRCLE & ARC are working now, but the algorithms are bad. I think 'aspect' does not working well
	DRAW added (not all commands) - UNTESTED
	PLAY added - Someone must check the compatibility (QB).

2001-02-20: ndc
	STKDUMP	added
	Several changes on IDE (like fastest scroll)

2001-02-19: ndc
	bug fix: IDE text field focus

2001-02-16: ndc
	bug fix: beam
	More launch types are supported (useful for Launchers)
	CAT(x) added, LOCATE y,x added
	ON x GOTO ... and ON x GOSUB added ...	(warning: goto has problems with the stack)

2001-02-14: ndc
	Platform API
	new method for expressions (ceval, eval modules)

2001-02-12: ndc
	Color support added

--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.5.5
--------------------------------------------------------------------------------------------------------------------------------

2001-02-11: ndc
	decompiler (unix version, -s option)
	Several bugs of pseudo-compiler are fixed
	Pseudo-compiler: PASS2 supports GOTO shits (stack)
	More QB compatibility support
	New icons
	v_add() auto type convertion changed (NUM has priority)
	bug fix: INKEY & INPUT hardware keys codes (again?)

2001-02-09: ndc
	scan & brun: speed optimization ("little/big-endian" convertion code removed)
	INLINE-IF added (nested inline-if does not suppored). Syntax: IF x THEN [numeric-label]|[...] [ELSE [numeric-label]|[...]]
	?bug? fix: PEN(0) - (pen status) starts with status 0 (after a PEN ON command the PEN(0) was 1)
	bug fix: READ/DATA with arrays
	bug fix: code_getvarptr() fixed. Now we can use arrays without fear :)
	bug fix: numeric labels without command next to it
	bug fix: LET|CONST next to label (ERROR: LET IS KEYWORD)
	bug fix: finaly the '$' is dead (I hope :). (That means LEFT(x,1) = LEFT$(x,1) but x$ <> x)
	bug fix: console supports \r
	bug fix: PAUSE command (it was removed!)

2001-02-08: ndc
	bug fix: BREAK for INPUT
	Unix <-> win32 (u2d, d2u, mksmall) convertion utilities
	C Headers & data-types changed;	Makefile, .rcp, README: minor changes; proc.h callback.h bcode.h: removed
	SB small icon, thanks to Christian G. Hvltje

2001-02-07: Gary A. Clark - clarkg@fireserve.net
	bug fix: READing strings now works
	bug fix: Crash when 'Save As' same file name (Rename did same)

2001-02-06: 0.5.5 Gary A. Clark - clarkg@fireserve.net
	Convert to SDK 3.5 using PalmCompatibility.h
	bug fix: Hardware keys caused INKEY$ to always return nothing
	bug fix: VAL(), OCT$(), MID$() and RTRIM$() now work correctly

--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.5.4a
--------------------------------------------------------------------------------------------------------------------------------

2001-02-04: 0.5.4a ndc
	bug fix: last-line text without lf, thanks to Gary Clark
	Hardware keys supported (keys: 0x101 (up) 0x102 (dn) 0x103 (#1) 0x104 (#2) 0x105 (#3) BREAK (#4))

2001-02-04: 0.5.4 ndc
	bug fix: PalmOS 3.1 fatal exception, Thanks to Christian G. Höltje
	bug fix: PalmOS 3.1 WinDrawChar (displays garbage) changed to WinDrawChars
	bug fix: BASIC file header (version & signature)
	Save & Run (S&R) button (EDIT-FORM)
	New utilities: pdb2bas & bas2pdb for unix console, win32 console & win32 GUI
	PEN	support added (QB lightpen compatible)
		PEN ON|OFF, x=PEN(y)
			where y:0 = status
					1 = pen-down x, 2 = pen-down y
					3 = M$ shit (QBasic)
					4 = current x, 5 = current y
	DIM supports more variables now

--------------------------------------------------------------------------------------------------------------------------------
VERSION 0.5.3
--------------------------------------------------------------------------------------------------------------------------------

2001-01-22: 0.5.3 ndc
	more remarks

2000-05-??:	0.5.3 ndc
	version 0.5.3 ready

