Skip to content

Tags: mplsllc/macsurf

Tags

v1.4

Toggle v1.4's commit message
MacSurf 1.4 — Open House

v1.3.1

Toggle v1.3.1's commit message
MacSurf v1.3.1 — Forward, refined (multi-curve ECDHE in TLS 1.3)

v1.3

Toggle v1.3's commit message
MacSurf v1.3 — Forward (first native TLS 1.3 on Classic Mac OS)

v1.2

Toggle v1.2's commit message
MacSurf v1.2 — Sealed

v1.0

Toggle v1.0's commit message
MacSurf 1.0 — Showcase

The first full release. 30+ issues closed since v0.7. Standards expansion
(Bundles A-M), per-site favicons, the Netscape-7 tool-belt toolbar
redesign, the DPI fix that unblocked macintoshgarden, the CopyBits-
colorize fix that finally explained the long-running blue-tint / faded-
image complaints. Showcase home page at home.macsurf.org.

Engine HEAD: fixes304.
Verified on: Power Macintosh G3 iMac, Mac OS 9.1.

Full notes: docs/release-notes/MacSurf-1.0.md

v0.7

Toggle v0.7's commit message
MacSurf v0.7 — Cleanup

v0.6.2

Toggle v0.6.2's commit message
v0.6.2 Speed-Run: cold mactrove.com 30+s -> ~2-3s

~33 fix rounds (fixes231 through fixes263) covering:

Transport:
  231/232a HTTPS keep-alive pool + start-gate
  234      READ_CHUNK 1K->8K, PUMP_STEPS 8->32
  235      no-progress timeout 15s -> 4s
  236/244  dead-host blocklist + success-host guard
  246      pool entry 20s TTL
  252      TCP_NODELAY post-OTConnect
  254      TLS session resumption (BearSSL session-params cache)
  255      partial-body salvage threshold 512B + don't-pool-stalled
  256      persistent dead-host blocklist (deadhosts.txt)
  241      slot pool 32 -> 64
  262/263  auto-upgrade FALLBACK actually works (URL lifetime + http_code=301)

Cache + storage:
  237      HTTPS cache HIT serving re-enabled
  248      FlushVol off in cache_store

Layout + render:
  240      reformat 50ms coalescing
  257      box-filter pre-downscale enabled + threshold 1.5x
  239      hover-poll 10Hz debounce

Image decode:
  258      lodepng CRC+Adler skip (~10%)
  259      deferred PNG decode at display resolution
  260      per-image cap 8MB -> 16MB

UX:
  242      friendly fetch-error page (no more bare "MacSurf")
  243      partial-body salvage (renders truncated HTML over about:fetcherror)
  249/c    HTTPS-default URL submit + HTTP fallback for retro sites

Diagnostics:
  233      log timestamps [N]
  250/251/253 layout/paint/redraw spam silenced (~10k lines saved/cold load)
  261      4 KB buffered log writes
  247      font probes off by default
  245      silenced unaccept counter

Verified end-to-end on G3 iMac OS 9.1: mactrove.com cold ~2-3s,
warm reload <200ms, classic.mactrove.com + macintoshgarden.org
load via HTTPS-default + HTTP fallback path.

v0.6.1

Toggle v0.6.1's commit message
v0.6.1: HTTPS small-response delivery fix (fixes230)

Root cause: hctx_poll retried on kOSTLSEventClosed BEFORE calling
OSTLS_Read, throwing away decrypted bytes BearSSL already had buffered.
nginx for small responses (404s, 304s, redirects, the bare mactrove
homepage, favicons) sends body + close_notify in one batch; pump
decrypts both and sees Closed; old code retried and discarded the data.
Three attempts, three retries, FETCH_ERROR → about:fetcherror.

Large responses (>~1500 bytes) needed multiple pump cycles naturally,
so by the time Closed fired we'd already drained the body — that's why
v0.6 advanced.php worked but the home page didn't.

Fix: move the Closed-retry block from before-Read to after-Read. Read
now always drains pending decrypted bytes first; only retry if state is
still pre-body (status not parsed) after that.

Bonus: macsurf_debug_log_writef doesn't support printf precision spec,
so the setup log "path=%.40s" was printing literally. Changed to plain
"%s" so the actual URL path lands in the log.

Verified on G3 iMac OS 9.1: mactrove.com home page renders on cold
boot without the about-page detour.

v0.6

Toggle v0.6's commit message
MacSurf 0.6 — Mac OS 9, meet TLS

fixes225

Toggle fixes225's commit message
Dark-grey mactrove regression fix + macTLS hardening (216-225)