Repository navigation
Version 0.5
WSIST β Release Notes
Version 0.5
Release Date: February 2026
Status: Stable Minor Release
π― Overview
Version 0.5 marks a major stabilization milestone for WSIST (What Should I Study Today).
This release focuses on architectural cleanup, proper state management, testing foundation, and overall project stability.
The application now has a clean separation between UI and Engine, reliable persistence handling, and a structured testing approach.
β Current Features
π Test Management
- Create new tests
- Edit existing tests
- Delete tests
- Unique test identification using stable GUIDs
- Proper load β modify β save persistence pattern
- Non-nullable collections with normalized boundaries
π§ Study Logic
- Central
TestManagementservice handling:- Business logic
- State
- Persistence
- Clean separation of:
- UI layer (Blazor)
- Engine layer (core logic)
- Clear domain modeling (no UI state leakage into Engine)
πΎ Persistence
- JSON-based storage (current implementation)
- Safe deserialization with null normalization (
?? []) - Consistent file write behavior (no appending corruption)
- Clean data model without unnecessary service references
π§ͺ Testing Infrastructure
- NUnit-based test project
- Engine-focused unit testing (no UI testing)
- Core test scenarios:
- Create tests
- Edit tests
- Delete tests
- Date and grade rules
- Persistence behavior using temp files
- Clean test assertions using
Assert.That(...)pattern - Warning-free builds preferred over suppression
π Architecture Improvements
- Dependency Injection correctly configured
- No
new()service anti-pattern - Proper service lifetime usage
- Clear state ownership (Service vs Component state separation)
- Removed dead state fields after refactors
- Razor null-guard cleanup
- Correct render mode (
InteractiveServer) configuration
π§Ό Stability & Cleanup
- Nullable warnings resolved properly (not suppressed)
- Removed unnecessary
requiredfields for draft UI models - Improved modal editing flow
- Stable editing behavior with selected ID tracking
- Reduced accidental state duplication
π Technical Highlights in v0.5
- Refactored editing flow for stability
- Consolidated JSON handling
- Improved data invariants
- Converted MSTest β NUnit
- Cleaned up DI configuration issues
- Reduced framework boundary confusion (Blazor β Engine)
π Whatβs Coming Next (Roadmap)
π Database Integration
- Replace JSON persistence with PostgreSQL (via EF Core)
- Proper migrations setup
- Repository abstraction layer
π Smarter Study Logic
- Priority calculation algorithm
- Weighted difficulty system
- Time-based urgency scoring
- Smarter βWhat should I study today?β recommendation engine
π Dashboard Improvements
- Study statistics view
- Progress tracking visualization
- Upcoming tests overview panel
- Grade history
π§© Quality Improvements
- Increased unit test coverage
- Integration testing
- Improved error handling
- Better validation rules
π Future Vision
- Authentication system
- Multi-user support
- Cloud deployment
- REST API layer
- Mobile-friendly UI
π Version Summary
v0.5 is the first truly stable architectural version of WSIST.
It establishes clean patterns, proper boundaries, and a strong foundation for database-backed expansion.
This version focuses on correctness, structure, and maintainability β not feature explosion.
What's Changed
- Therookie/feature/overview by @DG-TimHug in #1
- Therookie/feature/backend and dummy data by @DG-TimHug in #2
- Tests can be added and removed via the console by @DG-TimHug in #3
- Therookie/feature/add test button by @DG-TimHug in #4
- Tests can be deleted in the frontend by @DG-TimHug in #5
- Therookie/feature/edit tests by @DG-TimHug in #6
- Therookie/feature/backend expansion frontend cleanup by @DG-TimHug in #7
- Therookie/feature/grades etc by @DG-TimHug in #8
- Therookie/feature/design galore by @DG-TimHug in #9
- Therookie/feature/refactoring and cleanup full send by @DG-TimHug in #10
- Feature/therookie/unit testing the tests by @DG-TimHug in #11
Full Changelog: https://github.com/DG-TimHug/WSIST/commits/v0.5.0
This Release note was generated by AI