Skip to content

SudokuGameFX v1.1.0

Latest

Choose a tag to compare

@Math23Kskb Math23Kskb released this 04 Apr 20:34

SudokuFX 1.1.0 - Sentry Integration & Build Improvements

This release builds upon the initial stable version of SudokuFX, primarily introducing Sentry.io integration for enhanced error monitoring and refining the build process.

New Features & Changes:

  • Sentry Error Reporting: Integrated Sentry.io using sentry-logback. This allows for real-time monitoring and reporting of errors encountered during application runtime, helping improve stability and debugging. (Requires SENTRY_DSN environment variable to be set for reporting to function).
  • New Launcher Class: Introduced org.mck.Launcher as the main entry point. This facilitates Sentry initialization before the JavaFX application starts.
  • Build Enhancements (Maven pom.xml):
    • Added maven-shade-plugin to create a self-contained executable JAR.
    • Configured maven-surefire-plugin with necessary --add-opens arguments for better compatibility with TestFX and newer Java versions during testing.
    • Included the sentry-maven-plugin for potential build-time Sentry integration tasks (like source map uploads, though not fully detailed in commit).

Breaking Changes:

  • Application Entry Point: The internal main class for the executable JAR is now org.mck.Launcher instead of org.mck.Main. This primarily affects developers building or modifying the launch process. Standard execution via java -jar should still work seamlessly.
  • Sentry DSN Requirement (for Error Reporting): To enable error reporting to Sentry, the SENTRY_DSN environment variable must be set with your project's DSN value from Sentry.io. The application will run without it, but errors will not be reported to Sentry.

Technologies Used:

  • Java 17 or higher
  • JavaFX for the user interface
  • Maven for build management
  • JUnit 5 and Mockito for unit testing
  • TestFX for UI testing
  • Sentry (sentry-logback) for error reporting
  • Logback for logging

Installation & Running Instructions:

  1. Download the SudokuFX-1.1.0.jar file from the "Assets" section below.
  2. Make sure you have Java 17 or higher installed on your system.
  3. Run the game by double-clicking the JAR file or using java -jar SudokuFX-1.1.0.jar in your command line/terminal.
  4. (Optional - For Error Reporting) To enable automatic error reporting to the developers via Sentry:
    • Set the environment variable SENTRY_DSN to the value provided for this project (if available/applicable). How to set environment variables depends on your operating system (e.g., export SENTRY_DSN=your_dsn_here on Linux/macOS, set SENTRY_DSN=your_dsn_here or System Properties GUI on Windows).
    • If this variable is not set, the game will run normally, but errors will not be reported automatically.

Reporting Issues and Contributing:

  • If you encounter any bugs or have feature requests, please submit them to the Issue Tracker. Sentry integration will help us identify unreported issues!
  • The source code for SudokuFX is available on the GitHub Repository.
  • See all releases on the Releases Page.

Known Issues:

  • Error reporting to Sentry only functions if the SENTRY_DSN environment variable is correctly configured.

Future Implementations:

We plan to add the following features in future releases:

  • Difficulty Selection: Allow users to choose a specific difficulty level (Easy, Medium, Hard, Expert) to customize their gameplay experience.
  • Timer: Implement a timer to track how long it takes the user to solve a puzzle.
  • Hints: Provide a "Hint" button that reveals a single correct number on the board, offering assistance to players who are stuck.
  • Undo/Redo: Implement undo and redo functionality to allow players to easily revert and reapply moves.
  • Save/Load Game: Enable users to save their progress and load games later.
  • Improved UI/UX: Enhance the user interface and overall user experience with improved styling, animations, and accessibility features.
  • (Partially Addressed) More robust error handling: Sentry integration significantly improves visibility into runtime errors.

Contributing:

We welcome contributions from the community! If you'd like to contribute to SudokuFX, please feel free to fork the repository, make your changes, and submit a pull request.

Credits:

  • Developed by Matheos Chiyuki Kusakabe (Math23Kskb)

Enjoy playing Sudoku! We hope you find SudokuFX to be a fun and engaging puzzle game.