﻿═══════════════════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════════════════
  SAGA TOURNAMENT MANAGER - VERSION 1.6.6 RELEASE NOTES
  Release Date: 2026-09-29
═══════════════════════════════════════════════════════════════════════════

⚖️ ACCURATE BYE STANDINGS

⏱️ BYE RESULTS WAIT FOR THE ROUND
  • A generated bye no longer moves a player up the standings before the
    other matches in that round have been played
  • The bye is included in standings, Swiss pairing, persistence and CSV
    export once every non-bye match in the round has a result
  • The standings view now identifies the active ranking order and uses the
    same bye timing as pairing and export calculations

COMPATIBILITY:
  • Fully backward compatible with v1.4.x, v1.5.x, and v1.6.x data files
  • No breaking changes

═══════════════════════════════════════════════════════════════════════════
  SAGA TOURNAMENT MANAGER - VERSION 1.6.5 RELEASE NOTES
  Release Date: 2026-09-29
═══════════════════════════════════════════════════════════════════════════

⚖️ FAIRER SWISS BYE ASSIGNMENT

🚫 PROTECT THE TOP-RANKED PLAYER
  • In later Swiss rounds, the top-ranked player entering the round is no
    longer eligible for the bye
  • Bye selection continues to favor eligible players with the fewest
    previous byes, choosing the lowest-ranked among them
  • Manual pairing edits enforce the same restrictions

COMPATIBILITY:
  • Fully backward compatible with v1.4.x, v1.5.x, and v1.6.x data files
  • No breaking changes

═══════════════════════════════════════════════════════════════════════════
  SAGA TOURNAMENT MANAGER - VERSION 1.6.4 RELEASE NOTES
  Release Date: 2026-09-20
═══════════════════════════════════════════════════════════════════════════

📦 TOURNAMENT EXPORT & IMPORT

📤 EXPORT A SINGLE TOURNAMENT TO A FILE
  • Tournaments page: new "Export File" action on every tournament row
  • Active Tournament page: new "Export / Backup" button in the header,
    so an event in progress can be saved at any time
  • Writes a self-contained .sagatourney file holding the whole tournament:
    settings, registered players, every round, pairing, result and audit entry
  • Choose where the file is saved (defaults to your Downloads folder)

📥 IMPORT A TOURNAMENT FROM A FILE
  • Tournaments page: new "Import Tournament" button
  • File menu: new "Import Tournament..." entry
  • Players and clubs referenced by the tournament that are not registered
    on this system are added automatically; existing entries are never
    overwritten
  • If a tournament of the same name and date already exists, you choose
    whether to replace it or bring it in as a separate copy
  • Raw tournament .json files from Data\Tournaments can be imported too

💾 PER-TOURNAMENT BACKUP
  • The same export file doubles as a backup of one tournament, alongside
    the existing whole-database Backup/Restore in the File menu

COMPATIBILITY:
  • Fully backward compatible with v1.4.x, v1.5.x, and v1.6.x data files
  • No breaking changes

═══════════════════════════════════════════════════════════════════════════
  SAGA TOURNAMENT MANAGER - VERSION 1.6.3 RELEASE NOTES
  Release Date: 2026-08-31
═══════════════════════════════════════════════════════════════════════════

⚖️ DRAW SCORING IMPROVEMENT

📊 DYNAMIC DRAW VICTORY POINTS
  • Draw results now calculate Victory Points through the same shared
    scoring logic used for other match results
  • Result feedback now clearly shows score differences for declared draws
  • Ensures draw scoring remains consistent when using Massacre or
    Conquest Points

COMPATIBILITY:
  • Fully backward compatible with v1.4.x, v1.5.x, and v1.6.x data files
  • No breaking changes

═══════════════════════════════════════════════════════════════════════════
  SAGA TOURNAMENT MANAGER - VERSION 1.6.2 RELEASE NOTES
  Release Date: 2026-07-24
═══════════════════════════════════════════════════════════════════════════

📋 STANDINGS USABILITY IMPROVEMENT

↕️ SORTABLE STANDINGS HEADERS (ACTIVE TOURNAMENT)
  • The Players standings table in the Active Tournament page now supports
    clickable column headers for sorting
  • Quickly reorder standings by fields such as Name, Club, Wins, VP, MP,
    and other visible columns during event administration
  • Sorting works directly in-app without changing tournament scoring rules

COMPATIBILITY:
  • Fully backward compatible with v1.4.x, v1.5.x, and v1.6.x data files
  • No breaking changes

═══════════════════════════════════════════════════════════════════════════
  SAGA TOURNAMENT MANAGER - VERSION 1.6.1 RELEASE NOTES
  Release Date: 2026-07-22
═══════════════════════════════════════════════════════════════════════════

⚔️ TOURNAMENT SCORING & PAIRING EXPANSION

🎯 FIRST-ROUND PAIRING METHOD (NEW TOURNAMENT SETTING)
  • Tournament creation now separates first-round setup from later Swiss rounds
  • Choose first-round pairing as either Random or ELO Rank
  • Club avoidance remains optional and works with either first-round method

🏆 WIN CONDITION (NEW TOURNAMENT SETTING)
  • Tournament creation now includes a dedicated Win Condition selector:
    Wins, Victory Points, or Massacre Points
  • Final standings now rank players by your selected win condition,
    with consistent tie-break ordering across views

📊 STANDINGS & EXPORT ALIGNMENT
  • Active Tournament standings now follow the selected win condition
  • CSV standings export is now sorted using the same win condition logic,
    so exported rankings match what you see in-app

🧮 CONQUEST POINTS SCORING SUPPORT
  • Enter Result now supports scenarios that use Conquest Points
  • A per-match toggle lets you enter CP in addition to MP
  • When CP mode is enabled for a result, Victory Points are calculated
    from CP difference (using the same VP conversion table)

COMPATIBILITY:
  • Fully backward compatible with v1.4.x and v1.5.x data files
  • No breaking changes

═══════════════════════════════════════════════════════════════════════════
  SAGA TOURNAMENT MANAGER - VERSION 1.5.3 RELEASE NOTES
  Release Date: 2026-07-20
═══════════════════════════════════════════════════════════════════════════

🏅 ELO IMPORT

📥 IMPORT ELO FROM CSV
  • New "Import ELO" button on the Players page, next to Import CSV
  • Reads a simple two-column CSV (Name,CurrentElo) and updates each
    matching player's ELO ranking
  • Matching is by name, case-insensitive and whitespace-tolerant, so
    stray spaces or a file BOM do not break the match
  • Players who are not already in the database are created automatically
    with the imported ELO (contact, faction and club left blank)
  • A summary reports how many players were updated, created, and skipped,
    with details for any rows that could not be read

COMPATIBILITY:
  • Fully backward compatible with v1.4.x and v1.5.x data files
  • No breaking changes

═══════════════════════════════════════════════════════════════════════════
  SAGA TOURNAMENT MANAGER - VERSION 1.5.2 RELEASE NOTES
  Release Date: 2026-07-20
═══════════════════════════════════════════════════════════════════════════

📖 IN-APP HELP UPDATE - USER GUIDE & LICENSE VIEWER

📘 USER GUIDE VIEWER
  • The Help menu's "User Guide" now opens the full user guide
    (Readme.txt) in a scrollable in-app window instead of a short
    pop-up summary
  • The guide file ships next to the exe, so the in-app guide always
    matches the version you are running

📜 LICENSE VIEWER
  • New "License" entry in the Help menu displays the full license
    terms in-app
  • LICENSE.txt now ships alongside the exe

ℹ️ ABOUT SAGA
  • "About SAGA" text rewritten with a fuller introduction to the
    game: warband construction, Battle Boards, and SAGA dice

🔗 SUPPORT LINKS
  • Support and issue-reporting details updated to
    www.efundisha.co.za/SAGATournamentManager

COMPATIBILITY:
  • Fully backward compatible with v1.4.x and v1.5.x data files
  • No breaking changes

═══════════════════════════════════════════════════════════════════════════
  SAGA TOURNAMENT MANAGER - VERSION 1.5.1 RELEASE NOTES
  Release Date: 2026-07-14
═══════════════════════════════════════════════════════════════════════════

🚀 FEATURE & RELIABILITY UPDATE - FACTIONS, UNIFIED UI & DATA PATH FIX

⚔️ FACTION PICKER
  • Player faction is now selected from the official SAGA faction list
    instead of free-typed text
  • Faction list ships in Data/factions.txt (70 factions with their era,
    e.g. "Anglo-Danes : Age of Vikings") and can be edited to add or
    remove entries
  • AddPlayer dialog updated with a faction dropdown backed by the new
    faction repository

📁 DATA LOCATION FIX (IMPORTANT FOR DISTRIBUTED COPIES)
  • Player, club, faction, and tournament data is now always read from
    and written to the Data folder NEXT TO THE EXE, regardless of how
    the app is launched (shortcut, command line, different working
    directory)
  • Fixes pages showing empty data ("No Players Yet") or Data folders
    being created in the wrong location when launched via a shortcut

🎨 UNIFIED USER INTERFACE
  • All buttons share a consistent rounded style with matching hover,
    pressed, and disabled states
  • Tabs restyled as matching pills (selected tab = accent blue fill)
  • Active Tournament page refinements

🔄 PAIRING IMPROVEMENTS
  • Pairing normalization enhancements for more consistent round
    generation and result handling

ℹ️ ABOUT DIALOG
  • Version number is now read from the application itself and can no
    longer go out of date

🧹 MAINTENANCE
  • Repository cleanup: build artifacts untracked, duplicate assets
    removed, license year updated
  • Documentation refreshed (README, user guide)

COMPATIBILITY:
  • Fully backward compatible with v1.4.x data files
  • No breaking changes

═══════════════════════════════════════════════════════════════════════════
  SAGA TOURNAMENT MANAGER - VERSION 1.4.1 RELEASE NOTES
  Release Date: 2026-06-09
═══════════════════════════════════════════════════════════════════════════

🚀 MAJOR FEATURE UPDATE - CLUBS, ELO & SMART PAIRING

🏰 CLUB MANAGEMENT
  • New dedicated "Clubs" page in the main navigation
  • Add, rename, and delete clubs with full validation
  • Club data stored in Data/clubs.json alongside players and tournaments
  • Duplicate club name prevention with clear error messages

👤 PLAYER PROFILE IMPROVEMENTS
  • Contact Details field replaces the old Email field (more flexible —
    accepts phone numbers, email addresses, or any contact info)
  • ELO Rating field added to every player profile
  • Players can now be assigned to a club
  • AddPlayer dialog updated to include Club and ELO Rating fields
  • Players page updated to display club and ELO columns

🎯 NEW PAIRING MODE: RANKING & CLUB AVOIDANCE
  • Third pairing criteria option added to tournament creation wizard
  • Opening round(s) are seeded by ELO rating: top half vs bottom half
  • Club-mate avoidance: players from the same club are not paired together
    in seeded rounds (falls back gracefully if unavoidable)
  • Seeding applies to round 1 only for 3-4 round tournaments;
    rounds 1 and 2 for tournaments with 5 or more rounds
  • After seeded rounds, the tournament switches automatically to
    standard Wins-based Swiss pairing
  • Ideal for larger events where known skill levels should shape
    the early draw without club-mates facing each other

📋 SELECT PLAYERS DIALOG
  • New dialog for adding players to a tournament from the registered
    player database
  • Search/filter players by name, faction, or club
  • Checkbox selection with player details clearly displayed
  • Replaces manual player entry during tournament setup

🎨 UI IMPROVEMENTS
  • Dashboard updated with improved layout and statistics display
  • Active Tournament page — standings and pairings display refreshed
  • Players page — new columns for Club and ELO Rating
  • Consistent styling across all new pages and dialogs

═══════════════════════════════════════════════════════════════════════════

📋 UPGRADE NOTES:

  • All existing tournament and player data is fully compatible
  • No migration required — simply replace the executable
  • New clubs.json is created automatically on first run
  • Players without a club or ELO rating will continue to work normally
  • Existing tournaments using Wins or VictoryPoints pairing are unaffected

═══════════════════════════════════════════════════════════════════════════

📋 PREVIOUS VERSIONS:

VERSION 1.3.1 (2025-12-16):
  • Maintenance release: performance optimizations and stability
  • ELO export functionality added to CSV export
  • Improved tournament data handling and error handling
  • Build configuration and project structure improvements



VERSION 1.2.3 (2025-12-01):

📱 RESPONSIVE DIALOG IMPROVEMENTS:

✨ ALL DIALOGS NOW FULLY RESPONSIVE
  • EnterResultDialog - Made resizable and scrollable
  • AddPlayerDialog - Made resizable and scrollable
  • EditPairingDialog - Made resizable and scrollable
  • Works perfectly on smaller laptop screens
  • Buttons always visible and accessible

🎨 CONSISTENT DESIGN LANGUAGE
  • Unified styling across all dialog boxes
  • Consistent blue borders (#3498DB) with 2px thickness
  • Rounded corners (8px) on all form elements
  • White content cards with proper spacing
  • Standardized button styling with hover effects
  • Save buttons now feature checkmark icons (✓)

═══════════════════════════════════════════════════════════════════════════

VERSION 1.2.2 (2025-11-29):

📱 RESPONSIVE DIALOG IMPROVEMENTS:

✨ ALL DIALOGS NOW FULLY RESPONSIVE
  • EnterResultDialog - Made resizable and scrollable
  • AddPlayerDialog - Made resizable and scrollable
  • EditPairingDialog - Made resizable and scrollable
  • Works perfectly on smaller laptop screens
  • Buttons always visible and accessible

🎨 CONSISTENT DESIGN LANGUAGE
  • Unified styling across all dialog boxes
  • Consistent blue borders (#3498DB) with 2px thickness
  • Rounded corners (8px) on all form elements
  • White content cards with proper spacing
  • Standardized button styling with hover effects
  • Save buttons now feature checkmark icons (✓)

📐 IMPROVED LAYOUT
  • ScrollViewer added to all dialogs for content overflow
  • Action buttons fixed at bottom with separator border
  • Height constraints: Min 400px, Max 600-900px
  • Input fields standardized to 35px height
  • Better padding and margins throughout
  • Increased font sizes for readability (13-15px)

🔧 DIALOG-SPECIFIC ENHANCEMENTS
  • EnterResultDialog: Height reduced from 830px to 750px
  • AddPlayerDialog: Fields now in styled bordered cards
  • EditPairingDialog: Background color unified (#F5F5F5)
  • All dialogs now use CanResize instead of NoResize

═══════════════════════════════════════════════════════════════════════════

🐛 BUG FIXES:
  • Fixed Save/Cancel buttons going off-screen on smaller displays
  • Resolved dialog content being cut off on laptop screens
  • Improved scrolling behavior in all dialogs
  • Fixed duplicate Background attributes in XAML

═══════════════════════════════════════════════════════════════════════════

📋 PREVIOUS VERSIONS:

VERSION 1.2.2 (2025-11-29):
  • Simplified navigation - removed Settings and Active Tournament
  • Enhanced ribbon menu structure
  • Centered dashboard layout
  • Bug fixes and stability improvements

VERSION 1.2.1 (2025-11-24):
  • Bug fixes and performance improvements

VERSION 1.1.0 (2025-10-22):

✨ SIMPLIFIED NAVIGATION
  • Removed Settings from sidebar (not yet implemented)
  • Removed Active Tournament from sidebar (redundant navigation)
  • Cleaner, more focused navigation menu
  • Streamlined sidebar with essential pages only

🎯 ENHANCED MENU RIBBON
  • File Menu Updates:
    - "New Tournament" renamed to "Create Tournament"
    - "Create Tournament" now directly opens tournament creation wizard
    - "Open Tournament" now navigates to Tournaments page
    - Removed "Save Tournament" (auto-save functionality)
  • Tournament Menu Simplified:
    - Clicking "Tournament" now directly opens tournament management
    - Removed confusing dropdown menu items
    - Direct navigation to tournament page

🏠 CENTERED DASHBOARD
  • Dashboard content now properly centered
  • Better visual balance and aesthetics
  • Removed "Quick Actions" heading for cleaner look
  • Action buttons remain prominent and accessible

═══════════════════════════════════════════════════════════════════════════

🔧 BUG FIXES:
  • Fixed Git merge conflicts in DashboardPage.xaml
  • Resolved XML parsing errors
  • Cleaned up corrupted NuGet cache issues
  • Improved build stability

═══════════════════════════════════════════════════════════════════════════

🎯 FEATURE HIGHLIGHTS FROM PREVIOUS VERSIONS:

⚔️ OFFICIAL SAGA SCORING SYSTEM (v1.1.0)
  • Full implementation of SAGA tournament scoring rules
  • Massacre Points (MP) tracking for game scores
  • Victory Points (VP) calculation from official conversion table
  • Support for 10.5 VP when winner declared with equal MP
  • True draw support (10-10 VP) for equal MP

🏆 COMPLETE TOURNAMENT MANAGEMENT
  • Player management with CSV import
  • Tournament creation wizard
  • Random pairing generation
  • Result entry with official SAGA scoring
  • Live standings with VP/MP tracking
  • CSV export for final standings

═══════════════════════════════════════════════════════════════════════════

📖 USAGE NOTES:

NAVIGATION:
• Home - Dashboard with quick stats and actions
• Players - Manage player database
• Tournaments - View, create, and manage tournaments

RIBBON SHORTCUTS:
• File > Create Tournament - Start new tournament
• File > Open Tournament - View tournament list
• Tournament - Direct access to tournament management
• Players - Player management shortcuts
• Help - User guide and about information

═══════════════════════════════════════════════════════════════════════════

🎯 KNOWN LIMITATIONS:

• Pairing generation is random (Swiss-system coming in future version)
• No undo function for entered results
• Single tournament active at a time
• Windows only (no Mac/Linux support)

═══════════════════════════════════════════════════════════════════════════

📋 TECHNICAL DETAILS:

Platform: Windows 10/11 (64-bit)
Framework: .NET 9.0 (included)
UI: WPF (Windows Presentation Foundation)
Data Storage: JSON files (human-readable)
Package Size: ~60 MB (self-contained)

═══════════════════════════════════════════════════════════════════════════

🚀 UPGRADE NOTES:

For users upgrading from v1.2.1 or earlier:
• All data files are fully compatible
• No migration required
• Simply replace the executable
• Your tournaments and players will be preserved

═══════════════════════════════════════════════════════════════════════════

🙏 ACKNOWLEDGMENTS:

• Built for the SAGA tabletop gaming community
• Official SAGA rules by Studio Tomahawk
• Development assistance by GitHub Copilot
• Testing by gaming club members worldwide

═══════════════════════════════════════════════════════════════════════════

📞 SUPPORT:

Author: Nick Smuts (@NickSmuts)
GitHub: https://github.com/NickSmuts/SAGA-Tournament
Issues: https://github.com/NickSmuts/SAGA-Tournament/issues

═══════════════════════════════════════════════════════════════════════════

Enjoy your tournaments! ⚔️🏆

═══════════════════════════════════════════════════════════════════════════

✨ OFFICIAL SAGA SCORING SYSTEM
  • Full implementation of SAGA tournament scoring rules
  • Massacre Points (MP) tracking for game scores
  • Victory Points (VP) calculation from official conversion table
  • Support for 10.5 VP when winner declared with equal MP
  • True draw support (10-10 VP) for equal MP

⚔️ ENHANCED RESULT ENTRY
  • Step-by-step result entry workflow
  • Select winner first (or declare draw)
  • Enter Massacre Points for each player
  • Real-time VP preview calculation
  • Built-in scoring table reference
  • Visual feedback with color coding

🏆 IMPROVED STANDINGS
  • Victory Points (VP) as primary ranking
  • Massacre Points (MP) as tiebreaker
  • Wins as final tiebreaker
  • Decimal display for 10.5 VP support
  • Clear column headers (VP, MP, W, D, L, GP)

📥 FLEXIBLE CSV IMPORT
  • Only player name is required
  • Email is optional (auto-generated if missing)
  • Faction is optional
  • Better error reporting
  • Duplicate detection by name

🎨 UI IMPROVEMENTS
  • Professional color-coded results
  • Enhanced import results dialog
  • Live pairing display with VP/MP scores
  • Cleaner standings presentation

═══════════════════════════════════════════════════════════════════════════

🔧 BUG FIXES:
  • Fixed CSV import requiring all fields
  • Fixed duplicate checking logic
  • Improved error messages
  • Better handling of empty CSV fields

═══════════════════════════════════════════════════════════════════════════

📖 USAGE HIGHLIGHTS:

ENTERING MATCH RESULTS:
1. Click "Enter Result" for a pairing
2. Select winner (or Draw for true 10-10)
3. Enter Massacre Points for both players
4. See Victory Points calculated automatically
5. Click "Save Result"

SPECIAL CASES:
• Equal MP + Winner selected = 10.5-10 VP
• Equal MP + Draw selected = 10-10 VP
• Different MP = VP from official table

═══════════════════════════════════════════════════════════════════════════

🎯 KNOWN LIMITATIONS:

• Pairing generation is random (Swiss-system coming in future version)
• No undo function for entered results
• Single tournament active at a time
• Windows only (no Mac/Linux support)

═══════════════════════════════════════════════════════════════════════════

📋 TECHNICAL DETAILS:

Platform: Windows 10/11 (64-bit)
Framework: .NET 9.0 (included)
UI: WPF (Windows Presentation Foundation)
Data Storage: JSON files (human-readable)
Package Size: ~60 MB (self-contained)

═══════════════════════════════════════════════════════════════════════════

🙏 ACKNOWLEDGMENTS:

• Built for the SAGA tabletop gaming community
• Official SAGA rules by Studio Tomahawk
• Development assistance by GitHub Copilot
• Testing by Ermelo gaming club members

═══════════════════════════════════════════════════════════════════════════

📞 SUPPORT:

Author: Nick Smuts (@NickSmuts)

═══════════════════════════════════════════════════════════════════════════

Enjoy your tournaments! ⚔️🏆

═══════════════════════════════════════════════════════════════════════════