Skip to content

Latest commit

Β 

History

History
397 lines (250 loc) Β· 17.2 KB

File metadata and controls

397 lines (250 loc) Β· 17.2 KB

CHANGELOG

v1.2.1 (2025-06-26)

Bug Fixes

  • Update gitignore and test configurations (a523af0)

  • Add game_state.json to gitignore for state persistence - Update CLAUDE.md with memory management protocols - Fix hot reload integration test indentation error

v1.2.0 (2025-06-22)

Bug Fixes

  • Correct import sorting in test_state_persistence.py (90369b7)

Fix isort import sorting check failure in CI pipeline by running isort on tests/test_state_persistence.py to comply with project formatting rules

  • ci: Add playwright markers to browser tests (aac342b)

  • Add @pytest.mark.playwright and @pytest.mark.e2e markers to browser tests - Ensures these tests are excluded from CI with '-m "not e2e and not playwright"' - Fixes CI failures due to missing playwright browser binaries

Resolves CI test failures in hot reload integration tests

  • ci: Complete StateManager integration and CI optimization (d6cd8ba)

  • Add proper pytest markers to all integration/performance test files - Update CI workflows to exclude flaky tests from automated runs - Fix test isolation issues in state persistence and board builder tests - Complete StateManager integration with game logic functions - Optimize CI to run 139 reliable tests in ~7s vs previous 2+ min timeouts

πŸ€– Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

  • ci: Exclude slow integration tests from CI pipeline (13ba214)

  • Add @pytest.mark.integration and @pytest.mark.slow to responsiveness tests - Update CI workflows to exclude slow and integration tests - Reduces CI test count from 165 to 150 tests (15 deselected) - Focuses CI on fast unit and medium integration tests

Improves CI reliability by excluding flaky performance tests

  • pytest: Add missing pytest markers to configuration (9e31118)

  • Add missing markers: bdd, known-issue-13, critical, edge-case, concurrent, error-handling - Fixes pytest collection warnings for test markers - Ensures all test markers are properly registered

Code Style

  • Fix import sorting with isort (1f5c5af)

  • Sort imports in all Python files according to Black profile - Separate standard library, third-party, and local imports - Improve code consistency and readability

πŸ€– Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

Documentation

  • Consolidate markdown files into CLAUDE.md (15cdb00)

Merge content from CONTEXT.md and NICEGUI_NOTES.md into CLAUDE.md to reduce root-level documentation clutter. The consolidated file now includes: - State persistence documentation - View synchronization details - NiceGUI framework notes and best practices - Mobile optimization guidelines

This keeps only README.md and CLAUDE.md as the primary documentation files.

Features

Signed-off-by: Jonathan Irvin djfoxyslpr@gmail.com

  • ci: Optimize workflow for improved test infrastructure (0af9336)

  • Update test execution to run unit tests first for fast feedback - Add marker-based filtering to exclude slow e2e/playwright tests from CI - Remove Black formatting checks due to architecture compatibility issues - Add XML coverage reporting for better CI integration - Fix import sorting in app.py

Improves CI speed from ~2min to ~30s by running 79 unit tests first

Testing

  • Add failing tests for state persistence bugs (a628bfb)

Add comprehensive test suite to reproduce state persistence issues: - Tests for hot reload losing state - Tests for concurrent update race conditions - Tests for storage initialization order problems - BDD feature file with Gherkin scenarios

These tests are expected to fail until we implement proper server-side state persistence and fix the architectural issues.

Related to #13

  • Add test tagging utility and improved hot reload test (8a05a48)

  • Add scripts/tag_tests.py for bulk test marker application - Create improved hot reload integration test with visual state validation - Remove temporary debugging files and images

πŸ€– Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

  • Enhance testing infrastructure with comprehensive markers (f1f65bd)

  • Add pytest.ini with detailed marker definitions for test categorization - Update Makefile with progressive test targets (test-unit, test-quick, test, test-e2e) - Create tests/README.md documenting test organization and marker usage - Implement testing pyramid strategy: 80% unit, 15% integration, 5% E2E

πŸ€– Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

v1.1.4 (2025-03-08)

Bug Fixes

v1.1.3 (2025-03-08)

Bug Fixes

v1.1.2 (2025-03-08)

Bug Fixes

  • ci: Change semantic versioning workflow (b588568)

v1.1.1 (2025-03-08)

Bug Fixes

  • Release pipeline to listen to "The next version is" (d9acadf)

v1.1.0 (2025-03-08)

Bug Fixes

Features

v1.0.0 (2025-03-03)

Chores

  • Disable replaced workflows and keep as reference (a31f19d)

v0.1.0 (2025-03-03)

Bug Fixes

  • Handle missing ui.broadcast method in newer NiceGUI versions (2479f57)

  • Added try-except to handle AttributeError when ui.broadcast is called - Fall back to timer-based sync when broadcast is not available - Added logging to track when fallback is used

  • Update semantic release pipeline configuration (2ee4d28)

Chores

Signed-off-by: Jonathan Irvin djfoxyslpr@gmail.com

  • build: Add semantic versioning configuration (8329ca9)

Add python-semantic-release configuration to enable automatic versioning. Configure Black and isort for code formatting standards. Add development dependencies for linting and testing.

πŸ€– Generated with Claude Code Co-Authored-By: Claude noreply@anthropic.com

  • dev: Add development helper scripts (e286126)

Add Makefile with common commands for building, testing and running. Create setup.sh script for easy developer onboarding. Configure git hooks for pre-commit checks.

πŸ€– Generated with Claude Code Co-Authored-By: Claude noreply@anthropic.com

  • dev: Update Makefile to support both original and modular app (6aeea18)

  • formatting: Fix formatting and insure sanity checks (b9f4932)

Signed-off-by: Jonathan Irvin djfoxyslpr@gmail.com

  • git: Add coverage files to gitignore (abd1f69)

  • poetry: Update lock file (7c207ec)

Signed-off-by: Jonathan Irvin djfoxyslpr@gmail.com

Code Style

  • Format code with black and isort (1b474f0)

  • Format code with black and isort (7584575)

Continuous Integration

  • Add github actions workflow (9b31ae3)

Add CI/CD pipeline with GitHub Actions that: - Runs tests with pytest - Performs linting with flake8, black, and isort - Uploads coverage reports - Automatically creates releases based on semantic versioning

πŸ€– Generated with Claude Code Co-Authored-By: Claude noreply@anthropic.com

  • build: Align CI, Docker build and Helm deployment (0685e62)

  • Update GitHub Action versions for consistency - Configure Docker build to use proper versioning tags - Fix Helm chart to use the correct image repository - Add security improvements to Docker and Helm deployment - Add volume initialization logic for persistent data

  • fix: Fix flake8 configuration syntax (3ded6bf)

  • fix: Fix linting configuration to exclude virtual environments (17be15c)

  • Add .flake8 configuration - Update CI workflow to exclude .venv from checks - Add exclusion patterns to Black and isort configurations

  • fix: Skip formatting checks for main.py and handle missing src directory (9464d93)

Documentation

  • Add deprecation notice to main.py (6eaa5da)

  • Mark main.py as deprecated but keep for backward compatibility - Add warning message when main.py is imported - Direct users to the new modular structure in src/ directory

  • Update README with comprehensive documentation (3eb772c)

  • changelog: Add initial changelog (6f07022)

Create CHANGELOG.md for tracking release history. Follow Keep a Changelog format for better release readability. Include entries for unreleased changes and initial 0.1.0 release.

πŸ€– Generated with Claude Code Co-Authored-By: Claude noreply@anthropic.com

  • project: Update documentation with CI and semantic versioning (fa43299)

Update CLAUDE.md with: - Information about semantic versioning principles - CI/CD pipeline details - New build commands - Makefile usage instructions - Linting and formatting guidelines

πŸ€– Generated with Claude Code Co-Authored-By: Claude noreply@anthropic.com

Features

  • Add ability to close the game (2653abc)

  • Configure semantic release for automated versioning (38b44d7)

  • Create unified release pipeline with semantic versioning (ee1dcdf)

  • ui: Add closed game message display (76abafc)

Replace the 'hide board' behavior with a 'GAME CLOSED' message displayed in the same space. This provides better visual feedback to users when the game is closed.

  • Add new constants for closed message text and color - Create new build_closed_message function that displays large text - Update close_game and sync_board_state to show message instead of hiding board

  • ui: Show closed message on all routes (2911416)

Instead of hiding the board when the game is closed, display a large 'GAME CLOSED' message in the same space as the board. This provides better visibility and a consistent user experience across all views including the main.py implementation.

  • Add build_closed_message function to both modules - Update sync_board_state to display message in both modules - Display message using the header font and free space color

Refactoring

  • Add type hints (45303b4)

  • Add proper typing to game_logic, board_builder, and constants - Create dedicated types module for shared type definitions - Fix tests to reflect new closed message functionality - Add mypy type checking to development dependencies

  • Implement modular architecture for improved maintainability (d1c4c97)

  • Split monolithic main.py into logical modules - Created directory structure with src/ as the root

    • Organized code into config, core, ui, and utils packages - Updated basic test to work with new structure - Maintained existing functionality while improving code organization
  • Simplify CI workflow by removing redundant release job (25b1edf)

Testing

  • Add comprehensive unit tests for current functionality (49b8fdf)

  • Added unit tests for game logic functions (board generation, win detection, etc.) - Added unit tests for UI and styling functions - Added tests for file operations (reading phrases.txt) - Added integration test for full game flow - Current test coverage: 69% for main.py, 80% overall

  • Update header_updates_on_both_paths test (cb6c3f5)

  • Simplify test to avoid circular dependencies - Remove complex mocking that was causing failures - Focus on the core functionality being tested - Use direct board_views manipulation for cleaner test

  • Update tests to not expect ui.broadcast (9e689dc)

  • Modified test_close_game to not assert on ui.broadcast call - Ensures tests pass with newer NiceGUI versions - Aligns with recent changes to handle missing broadcast method

  • Update ui functions tests to work with modular structure (d91afdd)

  • Update import paths to use the new modular structure - Replace main module references with specific module imports - Update test assertions to match new implementation details - Add proper cleanup in tests to restore global state