@@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file.
44
55## [ Unreleased]
66
7+ ## [ 1.9.6] - 2026-03-16
8+
79### Added
810- Finger protocol client (RFC 1288) — File > Finger... (Cmd+F)
911 - Query user information on remote hosts via TCP port 79
@@ -14,23 +16,55 @@ All notable changes to this project will be documented in this file.
1416 - Window title includes "(finger)" suffix
1517 - Per-bookmark protocol selection (Telnet or Finger) in bookmark editor
1618 - Favorites submenu dispatches finger bookmarks correctly
17- - Scrollback buffer increased from 96 to 192 lines (8 pages of history)
19+ - Configurable build system with 16 compile-time feature flags
20+ - 3 build presets: minimal (~ 256KB), macplus/lite (~ 384KB), full (~ 768KB)
21+ - Every major feature can be toggled: ` --finger ` , ` --color ` , ` --glyphs ` ,
22+ ` --cp437 ` , ` --clipboard ` , ` --savefile ` , ` --bookmarks ` , ` --darkmode ` ,
23+ ` --dblwidth ` , ` --altscreen ` , ` --offscreen ` , ` --statusbar ` ,
24+ ` --cursorstyles ` , ` --tabstops `
25+ - Configurable sessions (1-4) and scrollback lines (0-256)
26+ - SIZE resource (Finder memory partition) dynamically computed from
27+ enabled features
28+ - Presets applied first, individual flags override:
29+ ` --preset minimal --finger --bookmarks `
30+ - Three-layer guard pattern: CMake source exclusion, header no-op stubs,
31+ inline #ifdef guards (~ 163 guard sites across 26 files)
32+ - FlynnPrefs struct unchanged for cross-build prefs compatibility
33+ - Three release editions: Flynn (full), Flynn Lite (macplus), Flynn Minimal
34+ - Build documentation: ` docs/BUILD.md ` with complete flag reference,
35+ memory costs, presets, and examples
36+ - Direct offscreen memory writes bypass QuickDraw traps for rendering
37+ (font bitmap cache, direct glyph blit, direct erase/fill)
38+ - Shadow buffer skips unchanged rows via memcmp
39+ - Scroll sync uses memmove instead of CopyBits
40+ - Color GWorld offscreen buffer eliminates flicker on System 7
1841- Optimized scrollbar arrow scrolling: ScrollRect + offscreen memmove
1942 renders only 1 row per arrow click instead of full 24-row redraw
2043
2144### Fixed
45+ - Dark mode rendering bugs: white bar at window bottom, status bar
46+ artifacts, stale offscreen content
2247- Offscreen buffer reuse: clear pixel data when reusing for different
2348 window with same dimensions (prevented stale session content bleed)
2449- Scrollback ring buffer index: corrected formula for partially-filled
2550 buffers (was sb_head+sb_count+sb_row, now sb_head+sb_row)
2651- Drain loop data race: process pending TCP data before checking for
2752 disconnect state transition
53+ - System 7 GWorld rendering stability and artifact fixes
54+ - icl8/ics8 icon polarity for System 7 color displays
55+ - 68000 address error in offscreen_fill_rect
2856
2957### Changed
58+ - Default build uses macplus preset: 1 session, 96-line scrollback, ~ 384KB
59+ partition (was 4 sessions, 192-line scrollback, ~ 768KB)
60+ - Binary size: 91KB minimal, 125KB default, 130KB full
61+ - Release script builds all 3 presets and uploads 6 artifacts per release
3062- FlynnPrefs v12 (finger_host, finger_user, bookmark_protocol[ ] )
3163- File menu: Finger... inserted at position 2, items renumbered
3264- Control menu disabled for finger sessions
3365- Bookmark edit dialog: protocol popup (Telnet/Finger), dialog enlarged
66+ - Performance and security review: hardening, leak fixes, dead code
67+ removal, optimizations, and refactoring
3468
3569## [ 1.9.5] - 2026-03-14
3670
0 commit comments