Version 2.90.5 (November 11, 2024)
- Fixed a bug related with ‘inkey$’.
- For Windows: needed to switch to a newer version of visual studio; unfortunately, this probably breaks compatibility with xp
Version 2.90.4 (September 17, 2023)
- Fixed a bug related with ‘print using’ under windows. Thanx to Paul Shutler for reporting this !
Version 2.90.3 (February 26, 2023)
- Introductory sections about subroutines and libraries
- Updated the docu from docbook 4.5 to 5
Version 2.90.2 (January 6, 2022)
- Fixed precision error for print using under windows
- Better error-reporting for an edge case of short-if
- Allow ‘==’ to check for equality and ‘!=’ for inequality (‘=’ and ‘<>’ still work)
Version 2.90.1 (July 11, 2021)
- Repaired the docu (especially yabasic.htm)
- Removed references to the old documentation (still available on github)
Version 2.90.0 (July 10, 2021)
- Fixed an error with local variables
- Moved to a new building-environment (see github and there README.org for details)
Version 2.89.1 (January 30, 2021)
- Fixes for documentation
Version 2.89.0 (December 29, 2020)
- Fixed for Problem with system-command after clear screen on MacOS
- Added functions eval and eval$
Version 2.87.1 (November 07, 2020)
- Fixed for libffi on 32 bit systems
- Updated included header files (windows) of ffi from libffi 3.3
Version 2.87.0 (August 12, 2020)
- Fixed an edge-case in for-loops
- Allow eof(0) and peek(0) to refer to standard input
Version 2.86.9 (June 6, 2020)
- Fix formatting of larger numbers with ‘####’ et.al.
Version 2.86.8 (May 9, 2020)
- Bringing pkg.m4 with us to ease build process
Version 2.86.7 (April 4, 2020)
- Using pkg-config (if available) to locate libffi
Version 2.86.6 (March 8, 2020)
- Advancing version for technical reasons
Version 2.86.5 (March 8, 2020)
- Fix double backslash in string before quote
Version 2.86.4 (January 1, 2020)
- Fix for do-loop / continue
Version 2.86.3 (December 15, 2019)
- Fix for heap overflow found with honggfuzz
Version 2.86.2 (December 12, 2019)
- Another fix for heap-buffer-offerflow found with address sanitizer
Version 2.86.1 (December 8, 2019)
- Fix for heap-buffer-offerflow
Version 2.86.0 (November 28, 2019)
- Added new functions bitnot
- Fixes for bit-arithmetic (signes/unsigned)
Version 2.85.0 (November 16, 2019)
- Added new functions shl, shr and round
- Introduced binary literals preceeded by 0b
- Fixes for hex literals
- The error-command no longer adds a line number
Version 2.84.3 (November 3, 2019)
- Better debugging for library path
- Clean builds for Windows setup-program
Version 2.84.2 (October 6, 2019)
- Fixed some potential stackoverflows
- Removed empty dir related with nano
- Tests with tmux only within the Rakefile
Version 2.84.1 (July 20, 2019)
- Make unload_library after call the default for foreign_functions
- Fixes to docu
- Requiring libffi for build (unless specified other by configure-option)
- explicit error no longer unwinds call-stack
Version 2.84.0 (July 12, 2019)
- New command foreign_buffer_set_buffer
Version 2.83.3 (June 30, 2019)
- Documentation
Version 2.83.2 (June 30, 2019)
- Allow specifying null-pointer for foreign functions
Version 2.83.1 (June 26, 2019)
- Fix for line-numbers in errors after import
- Updating the manual
Version 2.83.0 (April 29, 2019)
- Unix: Added a syntax-file for the nano-editor; contributed by Stephan Muesse
- Made parentheses around condition in while and until optional
- Better error messages on misaligned control structures
- New family of functions and commands foreign_* to invoke functions from external c-libraries
- Fixes for line-numbers in error messages
- Revised and updated the documentation
Version 2.82.1 (March 11, 2019)
- Allowing comments after import statement
- Fixes regarding error messages
Version 2.82.0 (February 17, 2019)
- Advanced version of autoconf and other tools
- Fix in tests
- Fixed nested import of libraries
- Libraries can now be found in the directory of the main file too
- Error messages try to show and mark the offending part of the code
- Hexadecimal numerical literals are supported, e.g. print 0xff
Version 2.81.4 (January 27, 2019)
- Fixed error with inkey$ and clear screen
- Fixed fatal error with inkey$ and upper case letters
Version 2.81.3 (January 13, 2019)
- Fixed a compile-problem on macos
- Corrected a rendering problem on www.yabasic.de, which had cut off the bottom-lines of many pages
Version 2.81.2 (January 2, 2019)
- Fixed a problem under netbsd, which prevented yabasic from finding its own executable
- Fix on macos for curses-initialization e.g. during “clear screen”
- Fix that allows libraries to start with a comment introduced by a hash or a single quote
- Made the prior “Guide into the guts” available again as “Some remarks on changing Yabasic”; see www.yabasic.de
- Document options for unix and windows in the same chapter
Version 2.81.1 (November 1, 2018)
- Fix: Allow yabasic to run from within a script
Version 2.81.0 (October 27, 2018)
- New function chomp$
- Added new peek “interpreter_path”
- Fixed a sporadic issue with bound programs
Version 2.80.0 (September 8, 2018)
- Added functions floor() and ceil()
- Checking for function clock_gettime during configure
Version 2.79.2 (May 13, 2018)
- No changes over 2.79.1
- Advanced patchlevel to get in line with tagging again
Version 2.79.1 (May 1, 2018)
- Fixed error related with yydebug
Version 2.79.0 (April 21, 2018)
- Introduced new peeks “secondsrunning” and “millisrunning”
- Bugfixes regarding the switch statement
Version 2.78.5 (April 3, 2018)
- Within a bound yabasic-programs the name is correctly set (as returned by peeking “program_name”)
- Introduced new string-peeks “program_name” and “program_file_name”
- Bugfixes regarding bound programs and libraries
Version 2.78.4 (March 21, 2018)
- Fixed a problem with bound yabasic-programs, that include more than three libraries
- Introduced new peek “secondsrunning”
Version 2.78.3 (January 21, 2018)
- Fixed an up to 4-times performance penalty, that has been introduced in a previous version
- Brought back “Edit” to the windows context menu
Version 2.78.2 (August 27, 2017)
- The ran()-function is now guaranteed to return 2**30 different values
Version 2.78.1 (August 13, 2017)
- No more dump when using color without window open
- Processing of yabasic.xml finds hellip-entity
Version 2.78.0 (January 21, 2017)
- Allowed for numeric argument after break
- Fixed format of manpage
- Reworked the switch-statement, added tests
Version 2.77.3 (December 29, 2016)
- Fixed insecure usage of strcpy
- Better logging for windows installer
- Spelling corrections
Version 2.77.2 (December 17, 2016)
- Fixes for coloured text under windows
- msvcr140.dll is no longer required under Windows
- Several spelling corrections
- Updated and fixed man-page under linux
Version 2.77.1 (September 7, 2016)
- New poke “random_seed” to initialize random number generator
- Bugfixes and additions to documentation
- Yabasic is now covered by the MIT License
- Switched to semantic Versioning (e.g. 2.77.1 instead of 2.771)
- Adopted a development workflow based on git and github
Version 2.764 (January 22, 2014)
- Added support for later versions of ncurses and 64 bit Systems
- Avoided forks for inkey$
Version 2.763 (September 19, 2005)
- Tiny fix in the documentation: Sections now have their own toc again.
Version 2.762 (September 16, 2005)
- Swapped the precedence of unary minus and exponentiation to follow the mainstream of programming languages. Suggested by Mike Hoffman.
- Fixed a bug with drawing the outline of a triangle.
- Lots bugs and typos fixed in the docu. Thanx to A. Costa !
- rinstr() is okay again.
- system$() may not dump any longer, if an external command returns no output.
- Some improvements for compiling on FreeBSD.
- Made the text-command working again.
- Maybe yabasic does not leak resources under Windows 95 any longer.
- Some fixes related with the console window under Windows
- Added a list of reserved words to the documentation.
- Special thanks to Derek and Mike Huffmann !
Version 2.76 (April 25, 2005)
- Some major improvements for grafics
- Full color support !
- Different fonts for the text-command
- The new command triangle
Version 2.75 (May 19, 2004)
- Yabasic finally has an Icon under Windows
- The str$()-function, may now format numbers like 123,456.56 (or 123.456,56 for german conventions)
- Changed the system()-function under Windows to use the right command-processor
- Added a list of command, grouped by topics to the documentation
- Yellow is no longer brown under windows
- Removed a security problem related with printing under Unix
- Programs, that import libraries can now be bound, including all the imported libraries
Version 2.740 (January 18, 2003)
- Implemented the bind-feature
- More verbose messages on failing open-calls
Version 2.730 (August 19, 2003)
- Complete rewrite of the documentation
- Updated my system, which introduced new versions of the toolchain (gcc, autoconf, …)
- No changes in yabasic itself
Version 2.720
- Added two argument version of log
- Changed copyright notice
Version 2.717
- Bugfix by Tom Ellestad: Better Error- checking for import-statement
Version 2.716
- Bugfix: fixed ‘open “foo” for reading as 1’
Version 2.715
- Bugfix: continue is no longer disturbed by switch statements
- The special option ‘–’ stops option processing
Version 2.714
- Bigfix: >> if (not open(“bad”,”r”)) error “!” << now works as designed
Version 2.713
- Fixed a memory leak associated with arrays-refs
- return from within a switch statement is now possible
Version 2.712
- The new Option ‘-check’ can be used to check for compatibility with previous versions of yabasic
- The instr(a$,b$)-function now returns 0, if b$ is the empty string
Version 2.710
- Improved the short if-statement to be more intuitive
- Added switch-case statement
- Better loop-control: break and continue
Version 2.70
- Allowd hex-escapes in string constants (e.g. “\xa”).
- Better warnings for forgotten endif, endsub or next.
- Allowed for dumping of stack of subroutine calls.
- Various bugfixes related with: print using,token$() and with printing to mixed streams
Version 2.690
- implemented logical shortcuts, i.e. conditions within if or while statements are only evaluated as far as needed.
- New form of the open statement: open “foo” for reading as #1
- New form of the open function: open(a,”foo”) intended for use in if-statements: if (not open(a,”foo”)) print “Shit !”
- The same time an old variant of open within if has gone: if (not open a,”foo”) print “Shit !” is no longer valid.
- You may now write: print #a “Hello”
- Finally: there is no distinction between expressions and conditions any more, i.e. wihin the condition of an if-statement you may now use arbitrary expressions; even something like this: if (cos(x)) print “Strange”
- Fixed a bug with printing under Windows: The screen now scrolls up if the cursor has reached the bottom
Version 2.681
- Finished the work started with 2.680; yabasic can now parse its own demo again correctly.
Version 2.680
- Essentially removed the distinction between expressions and conditions, i.e. you may write things like this: okay=(1<10) : if (okay) print “Hallo” Included the man page with the distribution. Thanx to Dejan Lekic !
Version 2.671
- Bugfix, yabasic will now build under hpux.
Version 2.670
- Changed the scheme of version numbers: 2.67 Release 0 is now 2.670
- Unix only: Used automake to generate Makefile.in. Therefore you now have all the standard GNU make targets: make check, make install, make uninstall.