Skip to content

Version 0.5

Choose a tag to compare

@DG-TimHug DG-TimHug released this 24 Feb 10:21
· 174 commits to main since this release
6da341c

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 TestManagement service 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 required fields 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

Full Changelog: https://github.com/DG-TimHug/WSIST/commits/v0.5.0

This Release note was generated by AI