Releases: Sentexi/DCS-app
v0.4.1 Hotfix
What's Changed
Updated the "prefer judging" option and room distribution.
Rooms are now filled evenly instead of overfilling the first room.
A balancing mechanism has been introduced to keep the amount of people who prefer to judge constant in both rooms
- Balance judge preferences with speaker requirements by @Sentexi in #98
- Ensure balanced room counts for assignments by @Sentexi in #101
Full Changelog: v0.4.0...v0.4.1
v0.4.0
🚀 Release v0.4.0
📢 A major judging experience overhaul, analytics launch, and improvements to late join and assignment logic!
✅ New Features & Enhancements
📊 Analytics & Score Insights
- Introduced analytics page with debate score charts for performance tracking
🔍 Judging Preferences & Assignment Logic
- Added judging preference flag in user settings
- Implemented dashboard toggle for judging preference visibility
- Judge preferences now actively influence assignment logic
- Chairs are now uniquely assigned per room to avoid reuse
- Debate join system now respects judging preference when assigning roles
🧭 Join Flow Improvements
- Introduced debate join endpoint to allow late assignments as free speaker or judge
- Late join button now available on the dashboard
- Free speaker slots filled dynamically when available
- Judge slots prioritized over speaker roles when joining late
- Judge/speaker balancing now ensures judges are filled first, maintaining debate integrity
🔐 UI & Legal Pages
- Added Privacy Policy page with link in footer
🛠️ Quality-of-Life Updates
- Judging panel now automatically reloads when assignments are ready
🧪 Still Iterating – Feedback Encouraged!
This release lays the groundwork for more transparent scoring, smarter assignments, and a smoother late join experience. Let us know what works and what doesn’t!
🔗 Full Changelog: v0.3.1...v0.4.0
v0.3.1
v0.3.0
🚀 Release v0.3.0
📢 Major update with Elo tracking, judging refinements, and dashboard upgrades!
✅ New Features & Enhancements
🎯 Elo & Skill Tracking
- Added BP Elo rating system using OpenSkill
- Implemented OPD skill tracking for speaker development
- Display Elo and skill stats in user profiles and admin dashboard
- Admins can now edit user Elo and skill scores
- Elo ratings now track sigma values and are rounded for display clarity
🧠 Judging Improvements
- Inactive state checks to prevent judging by inactive users
- Introduced judging button for chair judges directly on the dashboard
- Added "Finalize" button for judging templates
- Improved dynamic judging style detection
📊 Dashboard & UI Upgrades
- Real-time dashboard updates now include new factsheets and debate data
- Added factsheet upload and display for debate topics
- Factsheet visible next to winning topic post-voting
- Voting system now supports tie-break second voting
👥 User System Enhancements
- First and last name fields in registration
- Email confirmation and password recovery flows implemented
- Welcome survey updated with language field and new onboarding questions
- Fixed remaining first_name uniqueness constraint issues
🧭 Debate & Assignment Logic
- Dynamic debates now contribute to OPD skill tracking
- Debate results and skill effects now shown in profile results view
- Added assignment mode column and refined speaker assignment logic
- New assignment modes for dynamic debates
- Refined true random and skill-based allocations
🛠 Backend & Migration Fixes
- Fixed and cleaned up migration chains, especially for Elo tracking
- Fixed dynamic debate finalization logic
- Improved debate style display and result views
- Enhanced admin user table with additional tracking stats
- Added new debate results view for transparency
🧪 Still in Development – Feedback Welcome!
This version brings major structural improvements. Please report any bugs or suggestions for future enhancements.
🔗 Full Changelog: v0.2.0...v0.3.0
v0.2.0
🚀 Release v0.2.0
📢 Major update with live features, dynamic debate logic, and real-time updates!
✅ New Features & Enhancements
🧭 Dynamic Debate Planning
- Select debate styles per room (BP or OPD)
- Automatically assign fallback chairs when needed
- Scenario-based team generation
- Display and validate per-room debate style
🧠 Judging System (Beta)
- Basic winner input functionality for each room
- Prevent invalid saves (e.g. for BP)
- Integrated into the admin dashboard
📲 Real-Time Dashboard Updates
- Live updates via
Flask-SocketIO - Real-time speaker assignments and vote stats
- Reflects only active debates
- Tracks active users for initial voting analysis
📊 Admin Dashboard Improvements
- Inline display of debate layouts
- New logic to track who has a role (slot-based)
- Toggle debates as “active” for filtering and updates
- Improved graphic loading and CSS structure
🛠 Backend & Structural Improvements
- Centralized configuration for cleaner startup
- Debate
activeflag handled server-side - Dynamic update flow for assignments and voting
- Moved debate layout styles into
graphic.css
📦 Tech Stack Update
- Added
Flask-SocketIOfor real-time communication
🧪 Still in Development – Feedback Welcome!
This version introduces substantial logic changes and real-time functionality. Expect occasional bugs and edge cases. Please report issues or suggest improvements!
Full Changelog: v0.1.0-alpha...v0.2.0
Alpha Release v0.1.0
🎉 First public alpha release of the DCS Debating App!
✅ Features Included
👤 User System
- Login / registration with hashed passwords
- Skill survey for debaters and judges
- Debate participation tracking
🗳️ Debate Flow
- Admins can create debates (OPD and BP)
- Topic voting with max 2 votes per user
- Voting lock and winner display logic
🧠 Speaker Assignment
- Full logic for OPD and BP assignment
- Room splitting if ≥15 participants
- Chair + wings + ProAm speaker pairing
- Skill-based team balancing rules
📊 Admin Dashboard
- User and debate management
- Live vote count and progress bar
- Trigger speaker assignment
- Shows voter stats and debate setup
🧭 Debate Visualizer
- Displays role of each user after assignment
- "You are Gov in Room 1" banner
- Mobile-friendly graphic layout
🔧 Deployment Ready
- Clean Flask app structure (Blueprints + Factory)
- uWSGI-ready with WSGI entrypoint
- Markdown README and setup instructions
🧪 This version is for internal testing and feedback.
Expect bugs, and feel free to suggest improvements or submit issues.