Old QB64.rip change logs
#3
1.2:
Code: (Select All)
QB64 1.2 Changelog (build 20180202/85):

-   IDE improvements:
   
    -   C++ Compilation Error messages are now stored a log file that can be 
        accessed from a link in the Status area, making it easier to debug 
        your programs.
    -   Syntax highlighter: keywords and numbers can now be highlighted with 
        a different color, customizable via Options->IDE Colors.
    -   Custom keyword highlighter: SUB and FUNCTION names also get highlighted, 
        borrowing the same color from $Metacommands.
    -   Multi-highlight for word selection: when you select a keyword, variable 
        name or any other text, all other instances of the selected content are 
        highlighted on screen, allowing a quick peek at all surrounding locations 
        where you used the same program element.
    -   Modifier keys (Alt, Ctrl, Shift) should no longer be detected by QB64 
        (and compiled programs) when it's not the topmost window.
    -   Integrates qarnos's QB45BIN, to allow conversion of QuickBASIC 4.5's 
        binary file format.
    -   IDE window resizing now repaints the interface in real time.
    -   "Find and Verify" dialog (menu Find->Change) has been moved to the 
        status area so as not to block view when performing selective 
        search/change operations.
    -   New shortcuts for common operations: Ctrl+N for new file, Ctrl+O to 
        invoke the Open dialog, Ctrl+R to comment out a selected block of text 
        (add apostrophes) and Ctrl+Shift+R to remove them ("R" is for REMark).
    -   Contextual help (F1) for sub/functions is now provided (allows quick 
        check of sub/function parameters).
    -   You can now have multiple instances of the IDE open in Linux and macOS, 
        just like in Windows.
    -   Double-click on an $INCLUDE file name launches the file in a 
        separate window.
    -   Copy/paste reworked to allow empty lines to be copied.
    -   Cursor size is now customizable (check internal/config.txt).
    -   Alt+F4 can now be used in Windows to close the IDE and any program 
        compiled with QB64.
    -   You can now instruct the IDE to only warn about errors when you hit 
        F5, Ctrl+F5 or F11 to start compilation. Just uncheck "Show compilation 
        errors immediately" in the Options menu.
-   New functions and statements:
   
    -   _AUTODISPLAY (function): 
        [https://www.qb64.org/wiki/index.php/AUTODISPLAY_(function)](https://www.qb64.org/wiki/index.php/AUTODISPLAY_(function))
    -   _WINDOWHANDLE*: 
        [https://www.qb64.org/wiki/index.php/WINDOWHANDLE](https://www.qb64.org/wiki/index.php/WINDOWHANDLE)
    -   _WINDOWHASFOCUS*: 
        [https://www.qb64.org/wiki/index.php/WINDOWHASFOCUS](https://www.qb64.org/wiki/index.php/WINDOWHASFOCUS)
    -   _TITLE$: 
        [https://www.qb64.org/wiki/index.php/TITLE$](https://www.qb64.org/wiki/index.php/TITLE$)
    -   _CLIPBOARDIMAGE*: 
        [https://www.qb64.org/wiki/index.php/CLIPBOARDIMAGE](https://www.qb64.org/wiki/index.php/CLIPBOARDIMAGE)
    -   _CLIPBOARDIMAGE (function)*: 
        [https://www.qb64.org/wiki/index.php/CLIPBOARDIMAGE_(function)](https://www.qb64.org/wiki/index.php/CLIPBOARDIMAGE_(function))
    -   _BLINK: 
        [https://www.qb64.org/wiki/index.php/BLINK](https://www.qb64.org/wiki/index.php/BLINK)
    -   _BLINK (function): 
        [https://www.qb64.org/wiki/index.php/BLINK_(function)](https://www.qb64.org/wiki/index.php/BLINK_(function))
    -   _CONTINUE: 
        [https://www.qb64.org/wiki/index.php/CONTINUE](https://www.qb64.org/wiki/index.php/CONTINUE)
    -   $VERSIONINFO* (metacommand): 
        [https://www.qb64.org/wiki/index.php/$VERSIONINFO](https://www.qb64.org/wiki/index.php/$VERSIONINFO) 
        (Items marked with * are available in the Windows version only)
-   Overal fixes and improvements:
   
    -   _SCREENCLICK now accepts a third parameter to specify what mouse 
        button to emulate: 
        [https://www.qb64.org/wiki/index.php/SCREENCLICK](https://www.qb64.org/wiki/index.php/SCREENCLICK)
    -   _SNDRAWLEN has been fixed to properly reset to 0 when no more _SNDRAW 
        data exists in the buffer.
    -   $EXEICON now automatically invokes _ICON so that the icon file embedded 
        at compile time is immediately used for the program window.
    -   A bug that would prevent command line compilation when a character 
        was found before an ELSE statement has been fixed.
    -   _MOUSEX and _MOUSEY now return an integer value in SCREEN 0.
    -   Sound output has been reviewed:
        -   _SNDBAL now accepts a third parameter for 3D sound, as well as a 
            fourth parameter to specify which sound channel to adjust: 
            [https://www.qb64.org/wiki/index.php/SNDBAL](https://www.qb64.org/wiki/index.php/SNDBAL)
        -   _SNDOPEN has been simplified so that now you no longer need to specify 
            "SYNC, VOL, PAUSE", etc when opening a sound file, as all sounds opened 
            support the same "capabilities":
    -   A condition introduced after the upgrade to Xcode 9 that would prevent 
        compilation in macOS has been addressed.

Many other minor fixes and adjustments have also been made, and you can 
check the full change log at [https://github.com/Galleondragon/qb64/commits/master](https://github.com/Galleondragon/qb64/commits/master)
1.1:
Code: (Select All)
The QB64 team proudly presents QB64 V1.1

---

To install, simply extract to a new directory (and for Linux/Mac, run the setup script). Extracting on top of a previous version is not supported, and you risk ending up with a broken compiler.

This version of QB64 no longer has any components under the GPL. Most components are under suitably permissive licenses to produce closed source programs, with the exception of the sound subsystem. See the LICENSE folder for more detail.

This release contains changes across the board, fixing bugs, adding useful new features, and even improving QB45 compatibility in some minor corner cases. Below is a (almost) complete changelog, as well as a list of all new commands.

Have fun!

---

IDE/Compiler frontend:

-   A new configuration system, with settings stored in internal/config.txt. This also comes with lots of new things for you to twiddle and customise the IDE just the way you like (take a look under the Options menu).
-   Resizing the window is handled more gracefully.
-   Several code-eating bugs (where chunks of code would disappear while being edited) have been fixed.
-   Mouse buttons can be swapped, for those who like to use left-handed mice.
-   SUBs/FUNCTIONs can be indented.
-   Current SUB/FUNCTION name and * (for unsaved changes) is shown in the program name bar.
-   Right-clicking in the source gives a menu with useful options.
-   Double-clicking in the source selects a word.
-   New shortcuts: Ctrl-S Save; Ctrl-G Goto line; Ctrl-F3 Find.
-   Pressing tab with selected code increases indentation (disable the auto-formatter to see it).
-   Typing _RGB( or associated function prompts you to press Shift-Enter to open a colour picker.
-   If enabled, executables will be saved in the same directory as the source file.
-   Add an option to pass command-line arguments when lauching via F5.
-   Add -o (output file), -s (settings), -h/-help command line options (see help output for more info).
-   Ctrl-Backspace erases an entire word, on platforms where such a key combination can be detected.

Compiler:

-   Some convenience substitutions (ENDIF -> END IF), auto-adding ; between PRINT items improve compatibility with old source, especially GW-BASIC programs.
-   Tightened syntax checking in several places to prevent more mysterious errors, such as internal compiler error or C++ compilation failed.
-   Allow variable names such as data.db for compatibility with QB45.
-   Add a precompiler for selective compilation: $LET, $IF, $ELSE, $ELSEIF, $END IF. Great for surrounding DECLARE LIBRARY blocks that are platform dependent.
-   Add _INCLERRORFILE$ and _INCLERRORLINE to return error information when it occurs in an include file.
-   Add _COMMANDCOUNT for number of commandline arguments and allow passing an integer argument to COMMAND$() to get a particular commandline argument.
-   Add SELECT EVERYCASE, which executes every CASE that matches, not just the first.
-   Add OPTION _EXPLICIT to give an error on implicitly declared variable names.
-   _PI now takes an optional multiplier as an argument.
-   Add $EXEICON to build an icon into the program itself (applicable to Windows only).
-   _ICON with no parameters now uses the one built in with $EXEICON.

Runtime:

-   Fix scrollwheel on Linux.
-   OPEN "SCRN:" FOR OUTPUT AS [#1](https://github.com/Galleondragon/qb64/issues/1) now causes output to [#1](https://github.com/Galleondragon/qb64/issues/1) to be printed onscreen.
-   Fix SHELL() to return correct exit codes on Linux.
-   VAL() can now parse binary numbers with &B.
-   VAL() handles very large numbers better.
-   Fix _EXIT on Linux.
-   PLAY correctly defaults to T = 120 on invalid value.
-   Fix loading of some PNG files that previously gave an error.
-   Make EOF read ahead one byte as per QB45.
-   Fix play speed of some audio files.
-   Fix TCP/IP on Linux.
-   Reimplement _MOUSEMOVE

New commands:

-   _SCALEDWIDTH
-   _SCALEDHEIGHT
-   _SCREENHIDE
-   _INCLERRORLINE
-   _INCLERRORFILE$
-   _MOUSEPIPEOPEN
-   _MOUSEINPUTPIPE
-   _MOUSEPIPECLOSE
-   _COMMANDCOUNT
-   _CWD
-   _STARTDIR
-   _DIR$
-   _ARCSEC
-   _ARCCSC
-   _ARCCOT
-   _SECH
-   _CSCH
-   _COTH
-   _SEC
-   _CSC
-   _COT
-   _SCREENICON

As well as a whole host of small corrections, regression fixes, fixed memory leaks, minor tweaks and under-the-hood changes.
Reply


Messages In This Thread
Old QB64.rip change logs - by SMcNeill - 12-06-2022, 05:01 AM
RE: Old QB64.rip change logs - by SMcNeill - 12-06-2022, 05:05 AM
RE: Old QB64.rip change logs - by visionmercer - 12-06-2022, 10:00 AM



Users browsing this thread: 2 Guest(s)