Release MacSurf 1.68 — macQJS · mplsllc/macsurf · GitHub
//releases/show" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
//releases/show;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
mplsllc
macsurf
Public
Uh oh!
There was an error while loading. Please reload this page.
Notifications<br>You must be signed in to change notification settings
Fork
Star<br>202
MacSurf 1.68 — macQJS
Latest
Latest
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
mplsllc
released this
07 Jul 05:35
v1.86
8569d53
MacSurf 1.68 — "macQJS"
A native web browser for Classic Mac OS (PowerPC, Mac OS 9.1–9.2.2), with real HTTPS and a modern JavaScript engine — no proxy, no companion machine.
Verified on: Power Macintosh G3 iMac and G4, Mac OS 9.2.2.
The 1.68 number honors 68kmla.org — the community and the site that drove the majority of this cycle's work.
Help keep MacSurf full-time
MacSurf is a full-time project. Bringing the modern, HTTPS-only web back to real Mac OS 9 hardware — native TLS 1.3, a real JavaScript engine, the whole NetSurf rendering pipeline cross-compiled for PowerPC — is a lot of work, and this pace only continues if the project can pay for itself.
If MacSurf put your old Mac back online, please consider chipping in. Every bit genuinely helps, and supporters get the dev logs and a say in what gets built next:
Patreon: https://www.patreon.com/cw/MacSurf
Ko-Fi: https://ko-fi.com/macsurf
No pressure — but if I don't ask, I can't keep doing this, so I'm asking. Thank you to everyone who already has.
For 68kmla.org — thank you
This release is named 1.68 in honor of 68kmla.org , the 68k/PowerPC Mac community that has been the heart of this cycle's work.
An enormous amount of 1.68 exists because 68kmla exists: it's the site I test against every single day, it's where the toughest real-world rendering, login, and JavaScript problems surfaced, and it's the reason so many of the fixes below are as thorough as they are. More than that, the 68kmla community has been genuinely kind and welcoming to a new, rough-around-the-edges project — patient with the bugs, generous with detailed feedback, and encouraging at every step. That reception is a big part of why MacSurf kept moving forward. So: thank you, 68kmla. Getting your forums to render, log in, and let you post a reply from a real Mac OS 9 machine has been one of the most rewarding targets to build toward.
The headline: MacSurf now runs a real JavaScript engine — macQJS
The single biggest change since 1.5 is under the hood: MacSurf's JavaScript engine has been replaced. Duktape (ES5) is gone; MacSurf now runs macQJS — a QuickJS port for Classic Mac OS — which executes modern ES2023 JavaScript natively on a PowerPC running Mac OS 9.
Why this matters:
Modern JS runs as-is. The old engine was ES5-only, so MacSurf carried an in-house ES6→ES5 transpiler to pre-chew modern bundles before running them. That transpiler is retired — its async/await rewriting was silently corrupting minified bundles. macQJS runs let/const, arrow functions, classes, template literals, Promises, generators, modern regex, etc. directly.
Real sites' real scripts. Pages no longer need their JavaScript dumbed down to run; the actual site bundles execute on-device.
Guarded. A per-heap memory cap and an execution deadline keep a runaway or hostile script from hanging or OOMing the Mac.
macQJS is developed as its own project so other Classic Mac OS software can use it too. This was a multi-month migration (fixes482–554) plus a long hardware-verified crash-stability arc (fixes565–577) to make the new engine solid on real hardware.
Showstoppers fixed this cycle
These are the "how was this ever shipped" basics that are now solid:
You can see and place a text cursor. Input fields and textareas now draw a real blinking caret, so you can tell where your typing will land.
You can select text in fields. Click-and-drag selection works; Cut/Copy/Paste route to the focused field (the clipboard is wired to the Mac Scrap Manager).
Logins persist. Signing in to a site...