# Fragged LAN Manager — Changelog

## v0.6.65 — 2026-07-28 (retro client reliability fix + admin security hardening)

Fixed a real bug found on genuine Windows 95 hardware: the Retro Client
installer could fail to launch with "not a valid 32-bit application" because
modern build tooling had started setting PE flags (ASLR/DEP) that predate
Windows 95 by a decade and that its loader rejects outright. Disabled those
flags — the installer now runs reliably on real old hardware again.

The plain-HTML retro downloads page no longer lists individual game
installers directly; install games through the Fragged Client (Retro Client
included) instead, which is the fully supported distribution path now.

Also added an automated security regression test suite covering the app's
common web-attack surfaces (injection, access control, session handling,
file uploads, etc.), and used it to find and fix a real gap: the
admin-configurable site branding (custom accent colors/header font) is now
independently re-validated at render time, not just when it's first saved —
closing a theoretical stored-injection edge case with no user-facing change
to normal behavior.

## v0.6.65 — 2026-07-08 (retro downloads page + DOS installer track)

Added a genuine 16-bit MS-DOS installer track for Duke Nukem 3D, for
attendees on machines with no Windows at all — a full-screen, colour,
90s-shareware-style installer with real progress feedback, running on
any DOS-capable PC. The "Download Retro Client (Win95)" companion app
now shows real download progress instead of appearing to hang on a
40-50MB transfer. The plain-HTML retro downloads page (for browsers as
old as Internet Explorer 3) is now organised into separate tables —
Retro Client, Drivers, DirectX, Utils, and Game Installers — instead of
one long list.

## v0.6.65 — 2026-07-07 (Windows 95 "Retro Client" support)

Added an event-scoped option (off by default) for genuine Windows 95
machines to join a LAN party. When enabled by the admin, a "Download Retro
Client (Win95)" link appears on the site alongside the regular companion
client download. The retro client is a brand-new, from-scratch app — not
a port of the regular companion client — written in plain C against only
Win32 APIs and Winsock 1.1 that have been present since Windows 95's
original 1995 release, with no dependency on any C runtime DLL and no
instructions newer than an original 486/Pentium-class CPU supports. It
talks to the server the same way the regular companion client does: a
login screen, then browsing games/schedule and installing linked games
directly, same as the modern client.

## v0.6.65 — 2026-07-05 (companion client install button fix)

**Companion client** — the "Games" screen's "install from server" button
wasn't showing up for games that had an installer available on the server
but weren't installed locally yet. Fixed the missing plumbing so the
button now appears correctly. Also taught the server to recognize "multi"
installer packages (the ones covering more than one game engine/build in a
single file) as valid for either 32-bit or 64-bit machines, instead of
leaving them unclassified and unofferable.

## v0.6.65 — 2026-07-05 (bug fixes)

**Game List** — fixed a bright white panel background that clashed with
the rest of the site's dark theme; cover art now sits alongside the
description instead of stacked above it.

**Admin** — the "Games" (box art/description/notes) and "Game Installs"
pages weren't linked from the Admin dashboard, so they were only reachable
by typing the URL directly — added proper links. Also fixed both installer
folders (game installs and the music jukebox) not being created
automatically on a fresh install.

**Installers** — fixed the desktop/Start Menu uninstaller entry showing a
generic icon instead of the Fragged icon.

## v0.6.65 — 2026-07-05 (updated build)

**Room seating layouts** — admin/staff can now save the current seating
chart (room size, seats, and colour-coded zones) under a name, then reload
any saved layout later — handy for switching between different venue
shapes across events without rebuilding the chart from scratch each time.

**Per-game install helpers** — the companion client's "install a missing
game" flow now actually carries your preferences over: your player name
(from your Fragged profile), a preferred screen resolution, and an
invert-mouse preference (all set on the client's Games screen) get passed
straight to a game's installer when one is available, so it can pre-fill
those settings instead of asking you to type them in yourself.

## v0.6.65 — 2026-07-05 (first public release)

A ground-up rewrite of the classic Autonomous LAN Party (ALP) server on
ASP.NET Core, plus a brand-new WPF companion client for attendees. Version
numbers under 1.0 on purpose — a nod to Doom's own numbering, working up to
a 6.6.6 for a true final release.

**Server**
- Full feature parity with the original ALP: tournaments with real bracket
  generation, seeding, and staged locks; map voting; a public players
  directory with self-service profiles and hardware specs; live server and
  player monitoring; game requests; tech support ticketing; pizza-order
  logistics with an admin tally; and "The Marathon" — a weekend-long
  leaderboard scored from hand-entered tournament placements.
- New Jukebox — scans a shared music folder and lets everyone vote on what
  plays next, surfaced as a homepage widget.
- Rebuilt seating chart with drag-and-drop placement and colour-coded zones.
- Self-service account management, including password changes.
- Configurable listen port during install, for organisers who already have
  something else bound to the default port.
- Homepage dashboard layout pass: schedule now sits full-width above the
  hardware composition and jukebox widgets, which sit side by side.
- Fixed a CSS bug that showed an empty red validation box on every form,
  even with nothing wrong; client-side (inline) form validation now
  actually runs instead of only validating on submit.

**Companion client**
- New WPF tray application that pairs with a Fragged LAN Manager server —
  toast notifications for messages, hardware/profile sync, and a self-contained
  Windows installer with no admin rights required. The server hosts its own
  download for this, so attendees get it directly from the event's Fragged
  page rather than from here.
- One-click hardware detection (CPU/GPU/RAM) instead of typing your rig's
  specs in by hand.
- Fixed a crash when logging in with a server address typed without
  "http://" (e.g. a bare "192.168.1.50:5199") — now handled automatically.
- Added a Close button alongside Save/Submit/Send on the Profile,
  Benchmarks, Caffeine, and Messages windows.

## v0.1.0 — pre-release

Initial internal build during development — web dashboard, server list,
and core tournament/team data model.
