MacSurf 1.68 – NetSurf on OS 9 Released

mplsllc1 pts1 comments

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...

macsurf real macqjs javascript modern engine

Related Articles