If you've decided to help beta test the next release of QB64 (likely to be numbered 1.3), here's a list of what to look for so you can help us test the new features and eventually find bugs.
Note: some things got fixed, some of the reported issues are still pending and some new features have been added.Improvements: - Adds Ctrl+Shift+G shortcut to jump to line with error (try the shortcut when your program has an error and the IDE is indicating it on the status area)
- New Ctrl+T to toggle comments on the current line or selection (also available via Edit menu and by right-clicking the code)
- Updates NanoJPEG to the version 1.3.5 (try loading different jpg files to see if all works well)
- Makes F5 run detached by default. (you no longer get an unresponsive IDE while your program is running; equivalent to Ctrl+F5 in older versions).
- Disables maximize box when $RESIZE isn't enabled. (Windows only -> remember when a non-resizable window would still show Maximize and when you clicked it the window would just move to the top-left corner? That won't happen anymore).
- Quick Navigation (back arrow) can now be disabled in the Search menu.
- It is now possible to have variable-length strings in User Defined Types (UDTs).
- [Windows version] Mingw compiler upgraded to version 8.1.0. A 64-bit package is now available officially.
- New warnings system indicates when a declared variable isn't used and also when a constant is redefined with the same value - useful for using multiple libraries that define TRUE/FALSE for example (instead of an error stopping compilation, a warning is displayed).
Fixes: - Tab in included files won't generate an error anymore.
- A bug that would cause an include line to be duplicated when resizing the IDE.
- A bug that would not allow reassigning precompiler $LET variables.
- A memory leak involving PRINT USING and TAB().
- _PRINTSTRING not using the passed image handle parameters.
- Selecting a disabled menu item with a hot key would crash the IDE.
New statements and functions: -
_ECHO: Previously, you could have a $CONSOLE window enabled but to alternate printing to the main program and to the console you'd have to switch _DEST to _CONSOLE, print the text then switch _DEST back to the main program. With the _ECHO command a $CONSOLE-enabled program can output text to the console window without the hassle.
-
_ALLOWFULLSCREEN: the statement allows you to set the behavior of the ALT+ENTER combo. You can allow only certain modes or disable the combo altogether.
- _SMOOTH: returns true (-1) if the current _FULLSCREEN mode has antialiasing enabled or false (0) if disabled.
- _
RGB32: of course this is not a new function but it has been improved greatly. You no longer need to alternate between _RGB32 and _RGBA32 as it now accepts an optional fourth parameter for alpha. Also: You can create a grayscale color without having to repeat parameters. More details at
https://github.com/Galleondragon/qb64/commit/6ee70f1afa3d9dd8ded201743c15711d7b79a1eb -
_INSTRREV: like INSTR, _INSTRREV allows you to search for a substring inside another string, but unlike INSTR it returns the last occurrence instead of the first one.
-
_TRIM$: Single function to remove trailing and leading spaces from a string. Macro for RTRIM$(LTRIM$(text$)).
-
Drag/Drop support (Windows-only): new statements _ACCEPTFILEDROP, _TOTALDROPPEDFILES and _DROPPEDFILE$ allow your program to accept and handle files dropped from a folder at run-time.
- New _SHL and _SHR functions for bit-shifting (left/right), as in
PRINT _SHL(2, 4) (returns 32) and
PRINT _SHR(-8, 3) (returns -1).
The list above contains what's new up to development build
358b725 available today, which you can get from
www.qb64.org. Notice that the Help->About dialog will still report an older build number (that will only be updated once development becomes stable), so what really matters is that Help->About shows you
From git 358b725.