twinBASIC Update: January 13, 2026
On April 23, 2021, I helped Wayne Phillips introduce the world to twinBASIC at the Access DevCon Vienna conference. I boldly predicted that twinBASIC (along with the Monaco editor) would replace VBA and its outdated development environment by 2025. With that goal in mind, this weekly update is my attempt to keep the project fresh in the minds of the VBA development community.
Every Sunday Monday week, I will be providing updates on the status of the project, linking to new articles discussing twinBASIC, and generally trying to increase engagement with the project. If you come across items that should be included here, please leave a comment below.
Here are some links to get involved with the project:
- Custom twinBASIC IDE Installation Guide
- twinBASIC Discord Server (chat about the project)
- twinBASIC Wiki (list of new features not in VBx)
- GitHub Issue Tracker (report bugs)
- twinBASIC/VBx LinkedIn Group
Highlights
Quiet Week
No new releases this week as Wayne was otherwise engaged:
There should be more to report next week.
Discord Chat Summary
* Auto-generated via Claude-Sonnet-4.5
Overview
The week saw steady community engagement focused on technical troubleshooting, licensing discussions, and serial communication development. Wayne Phillips announced the final day of the New Year perpetual license sale and delayed the next beta release to January 16th due to urgent non-twinBASIC work. Community members explored serial port communication using WinRT APIs and discussed RAII patterns in twinBASIC's class system.
Bug Fixes & Improvements
- fafalone identified an IDE issue where spaces are sometimes incorrectly inserted between method names and parameters (e.g.,
Method (myParam)instead ofMethod(myParam)), causing code to break. This appears randomly and hasn't been reliably reproduced yet. - fullvaluerider reported that adding an
Aliasstatement forces the IDE into safe mode in beta 950, though the issue doesn't reproduce in new projects. - deletedewd reported that an IDE internal error previously fixed in beta 910 has reappeared in beta 947:
Cannot read properties of undefined (reading 'length').
Serial Communication Development
- deletedewd created a WinRT-based serial communication sample using
Windows.Devices.SerialCommunicationnamespace, discovering it works in beta 947 but crashes in 64-bit mode in later versions. - fafalone successfully tested the sample with com0com virtual serial ports, confirming the WinRT implementation properly detects devices and provides InputStream/OutputStream objects for communication.
- fafalone is developing TBComm, the official twinBASIC replacement for MSComm, which uses overlapped I/O and worker threads for async operation. The main challenge involves supporting MSComm's elaborate buffer system that allows modifying input/output buffers while read/write operations are pending.
Language & Class Design
- Discussion emerged around implementing static class-level variables for instance counting, particularly for managing GDI+ startup/shutdown across multiple class instances.
- bclothier and okas_o discussed RAII (Resource Acquisition Is Initialization) patterns in twinBASIC, noting that while classes support
New(...)andClass_Terminate()similar to C++ constructors/destructors, COM reference counting makes true RAII less deterministic than C++. - okas_o announced being approximately 90% complete with a GDI+ package for twinBASIC, with cleanup work remaining.
Licensing & Business
- waynephillipsea announced the final day of the New Year perpetual license sale (January 9th), with pricing ranging from £99 for Personal Edition to £4,200 for VIP Gold Edition (all future versions).
- Multiple community members purchased licenses during the sale period, with waynephillipsea confirming invoices were sent promptly.
Conclusion
The week demonstrated twinBASIC's growing maturity with community members successfully implementing advanced features like WinRT serial communication while identifying and working around beta-phase issues. The perpetual license sale concluded successfully, and Wayne's announcement of the next release date (January 16th) keeps the community focused on the approaching v1 milestone. The technical discussions around RAII patterns and resource management highlight the sophisticated programming patterns now possible in twinBASIC compared to traditional VB6/VBA.
Around the Web
GDI+ Package
From okaso in the show-and-tell Discord channel:
I've been working on a GDI+ package in the style of the C++ GDI+ interface. There still are a few modules I haven't touched; they are listed in the readme.
Changelog
Here are the updates from the past week. You can also find this information by visiting the GitHub twinBASIC Releases page.
- No new releases this week.