> ## Content Index
> Fetch the complete content index at: https://nolongerset.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# twinBASIC Update: June 3, 2026
- URL: https://nolongerset.com/twinbasic-update-june-3-2026/
- Published: 2026-06-04T03:59:00.000Z
- Updated: 2026-06-04T04:56:46.000Z
- Description: Highlights include support for ADODB recordsets as DataSource properties, further documentation improvements, and gamepad input support added to the tB basicNES port.
- Author: Mike Wolfe
- Tags: twinBASIC Weekly Update

*On April 23, 2021, I helped* [*Wayne Phillips*](https://twitter.com/WaynePhillipsEA/) *introduce the world to* [*twinBASIC*](https://www.twinbasic.com/) *at the* [*Access DevCon Vienna*](https://www.donkarl.com/devcon/) *conference. I* [*boldly predicted*](https://nolongerset.com/devcon-2021/) *that twinBASIC (along with the Monaco editor) would replace VBA and its outdated development environment by 2025\. (And I was* [*oh so close*](https://www.youtube.com/watch?v=LCxfObwA7E8)*...) 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***](https://nolongerset.com/how-to-install-twinbasic/)
- [*twinBASIC Discord Server*](https://discord.com/invite/UaW9GgKKuE) *(*[*chat about the project*](https://github.com/WaynePhillipsEA/twinbasic/discussions/629)*)*
- [*twinBASIC Documentation*](https://docs.twinbasic.com/) *(list of* [*new features*](https://docs.twinbasic.com/Features/) *not in VBx)*
- [*GitHub Issue Tracker (report bugs)*](https://github.com/WaynePhillipsEA/twinbasic/issues)

---

## Highlights

*\*Recaps in "Highlights" section generated with Claude Opus 4.8 (with human curation).*

### twinBASIC PDF Book Now Complete

Last week's update introduced the downloadable twinBASIC PDF reference as a fresh-off-the-press artifact.

This week it crossed two thresholds that matter. The page count jumped from 1,658 to 1,890 — roughly 230 new pages in seven days — and the complete PDF bookmark table of contents finally landed. Together they move the book from "a file that exists" to "a reference you can actually navigate."

[![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2026/06/image-2.png)](https://discord.com/channels/927638153546829845/1021635324809596988/1509686863907127367)

If you skipped the download last week, now's the week to [grab it](https://github.com/twinbasic/documentation/releases/).

### Controls Now Accept `ADODB.Recordset` Directly as `DataSource`

[Per Wayne](https://github.com/twinbasic/twinbasic/issues/2064#issuecomment-4572285658) in GitHub:

> Initial support for setting DataSource property to a ADODB recordset is now available in BETA 983\. Not heavily tested yet so YMMV.

[DataSource ADODB support missing · Issue #2064 · twinbasic/twinbasicSteps to reproduce the behavior: with IDE Beta 709 Create a new Project Standard EXE in this Form add a Textbox Put Code Private Sub Form\_Load() Dim rs As ADODB.Recordset Set rs = New ADODB.Records…![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/icon/pinned-octocat-093da3e6fa40-9aa24a99-6a2f-4e63-9bce-9e1a719c5955.svg)GitHubNetConsult-Donner![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/thumbnail/2064-b3fcbba6-bda1-4e7c-9729-7b01f7bb9fea)](https://github.com/twinbasic/twinbasic/issues/2064)

### `Implements Via` Is Deprecated; Migrate to `Inherits` Before v1

[Noted by Wayne](https://discord.com/channels/927638153546829845/927638154192748606/1509630260004782100) in the #General Discord chat channel this week:

> Just to note that given we now have full inheritance syntax in tB, generally speaking, `Implements Via` should not be used unless absolutely necessary as it may be removed prior to v1\. For example, we currently still use `Implements Via` in one or two places for the VB forms package since it supports generics where `Inherits` does not (yet).

For more details, see the [Inheritance](https://docs.twinbasic.com/Features/Language/Inheritance) docs page.

## Discord Chat Summary

\* *Auto-generated via Claude Sonnet 4.6*

### Overview

This week's activity across the twinBASIC Discord spanned two major themes: a significant leap forward in documentation infrastructure, and active community exploration of twinBASIC's inheritance and interface features. okas\_o delivered a production-ready documentation pipeline, a 1,890-page PDF book, and a suite of new automation tools, while community members worked through inheritance syntax with guidance from fafalone, bclothier, and waynephillipsea — surfacing a notable bug in the process. The week also brought forward-looking discussion on cross-platform development and CI/CD automation, reflecting the growing maturity of the twinBASIC ecosystem.

#### Website & Documentation

- The twinBASIC website received a refresh this week and now links directly to the documentation from every main page, a change waynephillipsea confirmed should significantly aid search engine crawlability. Early spot checks showed `docs.twinbasic.com` already appearing as a top result for searches such as "twinbasic attributes."
- The new documentation site builder went live with a CI/CD pipeline running in approximately 90 seconds. The docs site includes a `sitemap.xml` and per-page SEO metadata, and is confirmed indexed across Google, Bing, and DuckDuckGo.
- The `twinBASIC Book.pdf` reached a usable milestone at 1,890 pages, complete with a full PDF bookmark table of contents covering most site content. waynephillipsea noted the page count approvingly. IDE documentation is not yet included, pending automation of IDE screenshotting via headless browser.

#### Documentation Tooling & Automation

- okas\_o patched the Dagre layout engine underlying Mermaid — fixing a long-standing upstream bug that prevented horizontal sub-diagrams within top-down layouts — allowing the documentation build to produce correct diagram output without waiting on an unresponsive open-source maintainer.
- Two new documentation tools are now available: the `twinpack`/`twinproj` file format is now documented to a level sufficient for parsing and round-tripping, and an `impexp` tool (available in Python and Node.js) allows import and export of twinBASIC project packages to and from a folder tree.
- A **Wisdom** tool is in early test runs, harvesting twinBASIC Discord and forum history back to the project's origins and using AI to extract community knowledge for incorporation into the docs. A companion **Indexer** tool is also underway, diffing built-in and public package declarations against TWINSERV to formally track API changes over time. okas\_o's stated goal is a manual that is "Comprehensive, in bold and with a capital C," designed to become a go-to resource and adoption driver for twinBASIC. bclothier offered strong support, drawing a direct parallel to Rust's growth trajectory as evidence that robust documentation is a critical and undervalued investment.

#### Interfaces & Inheritance

- Community member alaskandruid worked through interface implementation syntax with guidance from fafalone, who clarified that both the legacy `IWidget_Handle` prefix convention and the modern `Implements IWidget.Handle` suffix are supported for properties, consistent with how methods are handled. bclothier noted the new syntax is more flexible and should be preferred going forward, pointing out that VB6's name-based convention could break entirely with underscored interface names such as `Implements My_Interface`.
- waynephillipsea issued a formal deprecation notice: `Implements Via` should be avoided and may be removed before v1\. Developers should migrate to the `Inherits` keyword, with the exception of cases requiring generics support, which `Inherits` does not yet cover.

#### Bug Reports

- alaskandruid discovered that `Class_Terminate` fires on the base class before the derived class when using `Inherits` — the reverse of the expected destruction order in most languages. waynephillipsea confirmed this is a bug and directed the reporter to file a formal report.
- A separate bug was reported where copying and pasting a designer control resets all formatting and properties to their defaults. waynephillipsea directed the reporter to the #bugs channel for tracking and resolution.

#### Command-Line Tooling & Cross-Platform

- bclothier confirmed that import and export via command line are supported through `twinBASIC_winXX.exe` in the bin folder, while `--BuildAndExit` resides on the main `twinBASIC.exe`. waynephillipsea acknowledged the inconsistency and indicated it will be addressed. Both bclothier and alaskandruid noted plans to integrate twinBASIC into CI/CD pipelines and build servers, reflecting growing demand for headless automation support.
- waynephillipsea confirmed that Windows-on-ARM will be twinBASIC's first cross-platform development target. He noted that the twinBASIC IDE already runs under Prism x86/x64 emulation on ARM hardware without notable issues, and that his ARM development machine — an ASUS Zenbook A16 with a Snapdragon X2 Elite — compiles twinBASIC from source faster than a high-end Ryzen 9950x desktop.

### Conclusion

This week demonstrated twinBASIC's momentum across multiple fronts simultaneously. The documentation platform is now a serious, engineered asset rather than an afterthought, with okas\_o driving toward a fully comprehensive and programmatically validated manual. On the language side, waynephillipsea's deprecation guidance on `Implements Via` and the identification of an inheritance destruction order bug both reflect the careful quality work being done as the project approaches v1\. The confirmation of Windows-on-ARM as the first cross-platform target, combined with growing community interest in build automation, signals that twinBASIC is maturing into a platform developers are increasingly ready to adopt and build production workflows around.

### 

## Around the Web

### VBMAN Goes Open Source

As of June 1, 2026, [Deng Wei](https://gitcode.com/user/woeoio/repos) (邓伟, **@woeoio**) has open‑sourced his long‑running [VBMAN web framework](https://gitcode.com/woeoio/vbman#vbman-basic-network-application-development-framework) for VB6, with binaries now free forever and source and docs available at <https://doc.vb6.pro/en/>. 

Beyond VBMAN, he’s been a major force in the Chinese twinBASIC community, from building Chinese‑language [twinBASIC tooling](https://gitee.com/woeoio/ha-twinbasic-ide) and [documentation](https://doc.twinbasic.vb6.pro/) to shipping polished showcase projects like his “[Jump Jump – Isometric 3D Platform Jumper](https://discord.com/channels/927638153546829845/1477515216680911000)” entry in the February 2026 twinBASIC game challenge, which highlights advanced OOP design, GDI+ isometric rendering, particle systems, and bilingual documentation.

*\*Recap built with assistance from Perplexity.*

### basicNES Gets GamePad Input

fafalone updated his [64-bit basicNES GitHub project](https://github.com/fafalone/basicNES) (which is essentially just a clean import into twinBASIC of the original basicNES VB6 project by Don Jarrett) to [add support for gamepad input via XInput](https://discord.com/channels/927638153546829845/1126749039103332443/1509229296953331836).

[![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2026/06/image.png)](https://github.com/fafalone/basicNES)

## Changelog

Here are the updates from the past week. You can also find this information by visiting the GitHub [twinBASIC Releases page](https://github.com/WaynePhillipsEA/twinbasic/releases).

[Releases · WaynePhillipsEA/twinbasicContribute to WaynePhillipsEA/twinbasic development by creating an account on GitHub.![](https://github.githubassets.com/favicons/favicon.svg)GitHubWaynePhillipsEA![](https://opengraph.githubassets.com/13bf5f13278e5633e644e312c6a75cfe0baf97f01dd45660573b36f5de0ee945/WaynePhillipsEA/twinbasic)](https://github.com/WaynePhillipsEA/twinbasic/releases)

### AI-Generated Changelog Summary

\* *Auto-generated via Claude Sonnet 4.6, sorted in order of its opinion of "most impactful changes.* *"*

- **ADODB DataSource support restored:** Controls' `DataSource` property can now be set directly to an `ADODB.Recordset`, restoring compatibility with VB6/VBA behaviour that was previously causing a runtime error (`-2147467262`).
- **LLVM backend work in progress:** Ongoing LLVM compiler work continues behind the scenes but has not been included in this interim release.

> ⚠️ *This appears to be a small interim release with a limited changelog. The ADODB fix is the sole functional change shipped.*

---

**WARNING:** The following issues are present in each of the releases below:

- IMPORTANT: This is a BETA release under active development. It is not recommended for production use.

### BETA 983

- fixed: controls DataSource property can now be set directly to an ADODB.Recordset to match VBx support [\[#2064\]](https://github.com/twinbasic/twinbasic/issues/2064)
- note: LLVM work is ongoing but not included in this interim release

###