@@ -10,12 +10,31 @@ to talk to the cloud service. If you use the web interface, this should not be
1010a problem, but if you use local builds, please try to stay on the latest release
1111for the time being.**
1212
13- ## Changes in version 0.10.99
13+ ## Changes in version 0.11.0
1414
15- ** STILL UNDER DEVELOPMENT; NOT RELEASED YET .**
15+ ** Released on 2024-07-19 .**
1616
17- * Fixed JSON requests to the service to properly set the correct
18- ` Content-Type ` header.
17+ Language changes:
18+
19+ * Issue #112 : Added support for user-defined functions and subroutines via the
20+ ` FUNCTION ` and ` SUB ` code blocks. The new ` DEMOS:FIBONACCI.BAS ` demo program
21+ demonstrates how they work.
22+
23+ * Issue #112 : Added support for global variables via ` DIM SHARED ` .
24+
25+ * Added the ` DISASM ` command to show the disassembled version of a compiled
26+ program.
27+
28+ * Made the ` CLEAR ` command be only available in the interactive interpreter
29+ given that it cannot clear compilation state.
30+
31+ * Fixed the ` MID ` function so that the ` length% ` parameter is actually optional
32+ as the documentation claimed.
33+
34+ * Changed the way integers with explicit bases are parsed so that they can
35+ express integers with their highest bit set. For bitmasks, this is needed.
36+
37+ Console improvements:
1938
2039* Improved support for narrow consoles: trimmed the width of the welcome
2140 banner, fixed the editor's status line handling, made ` DIR ` print a
@@ -26,55 +45,42 @@ for the time being.**
2645 paginate their output so that they are usable in short consoles. Also
2746 applies to the new ` DISASM ` command.
2847
29- * Issue #110 : Homogenized the implementation of the SDL and web consoles to
30- guarantee consistent behavior and to have indirect test coverage of the
31- web console.
32-
33- * Added the new console ` st7735s ` for the Raspberry Pi. This console uses the
48+ * Added the new console ` st7735s ` for the Raspberry Pi. This backend uses the
3449 ST7735S 1.44in LCD for the console output and the terminal console for input,
3550 but also recognizes the hat's buttons and injects them as keyboard events.
3651
37- * Rewrote the expression evaluator to be bytecode based. This opens the way
38- towards user-supplied functions and the ability to interrupt functions as
39- they execute .
52+ * Issue # 110 : Homogenized the implementation of the SDL and web consoles to
53+ guarantee consistent behavior and to have indirect test coverage of the
54+ web console .
4055
41- * Changed the way integers with explicit bases are parsed so that they can
42- express integers with their highest bit set. For bitmasks, this is needed.
56+ Compiler and virtual machine changes:
4357
44- * The ` CLEAR ` command is now only available in the interactive interpreter given
45- that it cannot clear compilation state.
58+ * Rewrote the expression evaluator to be bytecode based. This is in service of
59+ supporting user-defined functions and adds the ability to interrupt functions
60+ as they execute.
4661
4762* Many errors that were previously discovered only at runtime (such as undefined
4863 variables) are now caught during the compilation stage. This means that bad
4964 programs abort earlier instead of half-way during execution.
5065
66+ * Major performance improvements: type checking now happens at compilation time
67+ and the interpreter checks for interrupts more rarely now.
68+
5169* Reverted integer-only operations to * not* perform automatic upgrades to
5270 doubles on underflows, overflows, and other error conditions. This behavior
53- was previously added in 0.10.0 but it's now problematic that we do type
71+ was previously added in 0.10.0 but has become problematic with the new type
5472 propagation during compilation as it pushes too much responsibility to the
5573 runtime.
5674
57- * Major performance improvements: type checking now happens at compilation time
58- and the interpreter checks for interrupts more rarely now.
59-
60- * Fixed the ` MID ` function so that the ` length% ` parameter is actually optional
61- as the documentation claimed.
62-
6375* Homogenized the handling of command and function arguments into a single
6476 parser. The user-visible effects of this change are that all syntax
6577 definitions that ` HELP ` prints now follow a consistent pattern and that such
6678 help strings truly match what the commands and functions expect.
6779
68- * Issue #112 : Added user-defined functions and the ` FIBONACCI.BAS ` demo
69- program to demonstrate how they work.
70-
71- * Issue #112 : Added support for global variables via ` DIM SHARED ` .
72-
73- * Issue #112 : Added user-defined subroutines (also known as procedures or
74- commands).
80+ Cloud service changes:
7581
76- * Added the ` DISASM ` command to show the disassembled version of a compiled
77- program .
82+ * Fixed JSON requests to the service to properly set the correct
83+ ` Content-Type ` header .
7884
7985## Changes in version 0.10.0
8086
0 commit comments