JBasic 2.4 reflects both bug fixes and new features - one of which was a request from a user! Here are some of the highlights:
* Assignments can now be more complex; the value on the left side of the equals sign can contain arbitrarily complex references to array subscripts, record members, etc.
* Extensions to the internal bytecode assembler mean you can use the COMPILE() function to compile arbitrary JBasic statements, and use the ASM USING() statement to re-assemble them into executable code.
* The multi-user mode is now controlled by the SERVER statement. Tons of bug-fixes in this area make the server easier to use to set up and easier to use, as well as having dramatically more secure sandbox mode.
* You can have self-described output, as in PRINT X= notation.
* You can have self-described input with INPUT BY NAME which lets the user's input specify variables and values to be assigned.
* ON units can now GOSUB to error handling code as well as GOTO the code.
* DO WHILE..LOOP constructs have been added to allow condition evaluation at the start of the loop body, in addition to the DO..WHILE version which evaluates at the end of the loop body.
* A few new functions like MKDIR() which can create a directory.