QB64 Phoenix Edition
QBJS v0.10.0 - Release - Printable Version

+- QB64 Phoenix Edition (https://qb64phoenix.com/forum)
+-- Forum: QB64 Rising (https://qb64phoenix.com/forum/forumdisplay.php?fid=1)
+--- Forum: QBJS, BAM, and Other BASICs (https://qb64phoenix.com/forum/forumdisplay.php?fid=50)
+--- Thread: QBJS v0.10.0 - Release (/showthread.php?tid=3868)



QBJS v0.10.0 - Release - dbox - 08-15-2025

Hi All,

The latest version of QBJS (0.10.0) is now available: https://qbjs.org

Release Highlights
Language/Compatibility Enhancements
This release contains a number of important language support updates which should greatly enhance the compatibility of QBJS with QBasic/QB64.

Implicit Variable Declaration
One of the most significant updates included in this release is support for implicit variable declaration. It is no longer necessary to make sure that you DIM all of your variables in QBJS. This enhancement also includes support for the QB64 Option _Explicit and Option _ExplicitArray directives.

Integer Division Operator
This release also now includes full support for the integer division (\) operator. In previous releases integer division was treated identically to a normal division operator (/) and did not perform the expected rounding.

More Keywords
Support has been added for QBasic Mid$ statement as well as the QB64 Clipboard methods:
  • _Clipboard (statement)
  • _Clipboard (function)
  • _ClipboardImage (statement)
  • _ClipboardImage (function)
Numerous other compatibility enhancements and fixes can be found in the full release notes.

New Language Features
This release adds support for Method Pointers which provide the ability to define Functions and Subs as variable types. Pointers to existing subs or functions can be referenced with the new '@' operator. Also included is a new standard String library containing commonly used string operations (e.g. Replace, Split) as well as advanced regular expression matching.

IDE Updates
The QBJS IDE has also received a major refresh with this update. A "New Project" button has been added to the toolbar to allow convenient creation of a new, blank project when one is already open.

Code tabs have been added to make it easier to manage larger projects with multiple resources in the QBJS IDE. Users can now open additional files from the virtual file system for edit in separate code tabs. This includes syntax highlighting for a number of known text file formats:
[Image: code-tabs-1.png]

All other text files will be loaded in a plain text editor as shown below:
[Image: code-tabs-2.png]

Image formats will be loaded in an image preview tab:
[Image: code-tabs-3.png]

Sound file formats will be loaded in an audio preview tab:
[Image: code-tabs-4.png]

All other binary files will be loaded in a hex viewer tab.

New Theme
A new theme named Blackout has been added for those who like a very dark look but retains the same font and feel as the original QBasic IDE.
[Image: blackout.png]

Javascript Tab Syntax Highlighting
Syntax highlighting has been enabled for the Javascript tab in the console to aid in readability of the generated Javascript for troubleshooting:
[Image: js-tab.png]

You can view the full release notes here.

Special shout out to @FellippeHeitor for numerous contributions to this release:
Clipboard support, Mid$ statement, Print fixes, InKey$ fixes, EndIf, IDE new button and more!

As always, I am very interested in any feedback you have or issues that you may encounter.


RE: QBJS v0.10.0 - Release - bplus - 08-16-2025

Quote:Implicit Variable Declaration
One of the most significant updates included in this release is support for implicit variable declaration. It is no longer necessary to make sure that you DIM all of your variables in QBJS. This enhancement also includes support for the QB64 Option _Explicit and Option _ExplicitArray directives.

Wow!

Quote:New Language Features
This release adds support for Method Pointers which provide the ability to define Functions and Subs as variable types. Pointers to existing subs or functions can be referenced with the new '@' operator. Also included is a new standard String library containing commonly used string operations (e.g. Replace, Split) as well as advanced regular expression matching.

Wow wow! This makes it better than QB64. Can we do arrays of a UDT yet?


RE: QBJS v0.10.0 - Release - dbox - 08-16-2025

(08-16-2025, 07:21 AM)bplus Wrote: Can we do arrays of a UDT yet?

You can create arrays of a user defined type.  That has been supported for a while.  However, like QB64, creating an array as a member of a user defined type is not yet supported.


RE: QBJS v0.10.0 - Release - bplus - 08-16-2025

Thats what I meant arrays of "member". I learned the name "property" from VB or "element" of UDT.

Sorry it was early early morning when I was awakened by massive hip pain and started surfing Internet for distraction, forgive me for not saying the words exactly right but you did get to what I meant. Smile


RE: QBJS v0.10.0 - Release - grymmjack - 08-16-2025

Wow! Great update @dbox!


RE: QBJS v0.10.0 - Release - dbox - 08-16-2025

(08-16-2025, 01:42 PM)grymmjack Wrote: Wow! Great update @dbox!
Thanks @grymmjack!


RE: QBJS v0.10.0 - Release - EkBass - 01-11-2026

Oh man, this is supercool project I have missed totally.


RE: QBJS v0.10.0 - Release - dbox - 01-12-2026

(01-11-2026, 05:03 PM)EkBass Wrote: Oh man, this is supercool project I have missed totally.
Thanks @EkBass !