Skip to content

Sudoklify

Learn more: User Guide and Code Samples

Sudoklify stands as a versatile and user-friendly Sudoku puzzle generation library crafted in Kotlin. Effortlessly generate, manipulate, and solve Sudoku puzzles with ease.

API Reference
dev.teogor.sudoklify:sudoklify-*
dev.teogor.sudoklify:sudoklify
dev.teogor.sudoklify:sudoklify-common
dev.teogor.sudoklify:sudoklify-core
dev.teogor.sudoklify:sudoklify-io
dev.teogor.sudoklify:sudoklify-presets
dev.teogor.sudoklify:sudoklify-solver
dev.teogor.sudoklify:sudoklify-tokenizer

Latest Update Stable Release Release Candidate Beta Release Alpha Release
August 25, 2024 - - 1.0.0-beta04 -

Declaring dependencies

To use Sudoklify in your app, add the following dependencies to your app's build.gradle file:

build.gradle
dependencies {
    def teogorSudoklify = "1.0.0-beta04"

    implementation "dev.teogor.sudoklify:sudoklify-common:$teogorSudoklify"
    implementation "dev.teogor.sudoklify:sudoklify-core:$teogorSudoklify"
    implementation "dev.teogor.sudoklify:sudoklify-io:$teogorSudoklify"
    implementation "dev.teogor.sudoklify:sudoklify-presets:$teogorSudoklify"
    implementation "dev.teogor.sudoklify:sudoklify-solver:$teogorSudoklify"
    implementation "dev.teogor.sudoklify:sudoklify-tokenizer:$teogorSudoklify"
}
build.gradle.kts
dependencies {
    val teogorSudoklify = "1.0.0-beta04"

    implementation("dev.teogor.sudoklify:sudoklify-common:$teogorSudoklify")
    implementation("dev.teogor.sudoklify:sudoklify-core:$teogorSudoklify")
    implementation("dev.teogor.sudoklify:sudoklify-io:$teogorSudoklify")
    implementation("dev.teogor.sudoklify:sudoklify-presets:$teogorSudoklify")
    implementation("dev.teogor.sudoklify:sudoklify-solver:$teogorSudoklify")
    implementation("dev.teogor.sudoklify:sudoklify-tokenizer:$teogorSudoklify")
}

For comprehensive instructions on adding these dependencies, refer to the Sudoklify documentation.

Feedback

Your feedback helps make Sudoklify better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues on GitHub for this library before you create a new one.

Create a new issue

Version 1.0.0

Version 1.0.0-beta04

August 25, 2024

dev.teogor.sudoklify:sudoklify-*:1.0.0-beta04 is released. Version 1.0.0-beta04 contains these commits

Enhancement

  • Add Kotlin Multiplatform Support for JS (IR) Targeting Browser and Node.js (#72) by @teogor
  • Release Sudoklify Beta Modules - Common, Core, IO, Presets, Solver, and Tokenizer (#71) by @teogor

Version 1.0.0-beta03

August 12, 2024

dev.teogor.sudoklify:sudoklify-*:1.0.0-beta03 is released. Version 1.0.0-beta03 contains these commits

Enhancement

  • Convert JVM Library to Kotlin Multiplatform: Added support for JVM, WASM, iOS, macOS, Linux, TVOS, and WatchOS (#68) by @teogor

Version 1.0.0-beta02

March 04, 2024

dev.teogor.sudoklify:sudoklify-*:1.0.0-beta02 is released. Version 1.0.0-beta02 contains these commits

Enhancement

  • Enable Consistent Sudoku Symbol Representation with convertToSudokuSymbol (#63) by @teogor
  • Enhance SudokuPuzzle with Grid Generation from Given Cells (#62) by @teogor
  • Enable User-Driven Sudoku Generation with Public SudokuGenerator (#60) by @teogor
  • Improve Variable Naming for Clarity: uniqueDigitsCount & totalCells (#59) by @teogor

Bug Fixes

  • Ensure Compatibility During Deprecation: Replace Deprecated Functions in createPuzzle() (#61) by @teogor
  • Improve Variable Naming for Clarity: uniqueDigitsCount & totalCells (#59) by @teogor

Documentation

  • Improve Documentation Clarity and User Guidance (#64) by @teogor

Version 1.0.0-beta01

February 21, 2024

dev.teogor.sudoklify:sudoklify-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits

Enhancement

  • Enhance Sudoku generation with improved combinedSeeds and seed-based tests (#55) by @teogor
  • Enable easier string conversion with default mappers in Sudoku board functions (#53) by @teogor
  • Enable encoding and decoding Sudoku boards to/from strings (#52) by @teogor
  • Introduce SudokuType sealed class (#51) by @teogor
  • Refactor Seed type to sealed class for improved safety and organization (#49) by @teogor
  • Enhance Tokenizer with sealed class structure and improved token handling (#48) by @teogor
  • Enhance SudokuParams.createPuzzle() by introducing SudokuPuzzle data class (#46) by @teogor

Bug Fixes

  • Improved accuracy and reliability of BoardCell conversions with comprehensive testing (#54) by @teogor

Documentation

  • Future-Proofing Sudoku: Deprecate Legacy Flow Types, Migrate to SudokuPuzzle (#57) by @teogor
  • Updated Docs (#50) by @teogor
  • Modularize Project Structure: Core, Common, Ktx, Seeds Modules (#47) by @teogor

Others

  • Upgrade JVM Target Compatibility to Java 17 (Kotlin) (#56) by @teogor
  • Missing project URL in pom causing Sonatype service stop failure (#43) by @teogor
  • Ensure successful publishAllPublicationsToMavenCentral execution (#42) by @teogor

Version 1.0.0-alpha04

February 08, 2024

dev.teogor.sudoklify:sudoklify-*:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits

Enhancement

  • Introduce more descriptive Cell type and board serialization (#40) by @teogor
  • Add supportsDifficulty function for GameType compatibility (#39) by @teogor
  • Enhance Sudoku seed generation for smaller puzzle sizes (#38) by @teogor
  • Implement Sudoku puzzle parsing and decoding (#37) by @teogor
  • Enhance Sudoku Solver with Thorough Test Suite (#34) by @teogor
  • Enable Sudoku puzzle parsing and conversion with SudokuParser (#33) by @teogor
  • Enhance Sudoku Seeds with Additional Game Types and Difficulties (#32) by @teogor
  • Enhance Difficulty Representation with Stars and Text Options (#31) by @teogor
  • Refactor GameType enum for improved readability and clarity (#30) by @teogor
  • Improve Difficulty Enum with Percentages and Documentation (#29) by @teogor

Bug Fixes

  • Enhance Sudoku seed generation for smaller puzzle sizes (#38) by @teogor

Maintenance

  • Enhance Sudoku Solver with Thorough Test Suite (#34) by @teogor

Documentation

  • Introduce MkDocs for documentation generation (#36) by @teogor
  • Enhance Code Quality and Maintainability with Dokka, Spotless, and API Validator (#35) by @teogor

Version 1.0.0-alpha03

September 21, 2023

dev.teogor.sudoklify:sudoklify-*:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits

Enhancement

  • Refactor GameType Enum and Add Utility Functions (#26) by @teogor

Bug Fixes

  • Refactor GameType Enum and Add Utility Functions (#26) by @teogor
  • Fix Inconsistency in Sudoku Puzzle Patterns and Solutions (#24) by @teogor

Maintenance

  • Update Dependency Versions and Build Configuration (#27) by @teogor
  • Update Maven Publishing Configuration (#25) by @teogor

Documentation

  • Update Dependency Versions and Build Configuration (#27) by @teogor
  • Refactor GameType Enum and Add Utility Functions (#26) by @teogor
  • Update Maven Publishing Configuration (#25) by @teogor

Version 1.0.0-alpha02

August 25, 2023

dev.teogor.sudoklify:sudoklify-*:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits

Bug Fixes

  • Corrected Data Types in Accessing Generated Sudoku (#21) by @teogor
  • Update Package Name from exntensions to extensions (#20) by @teogor

Maintenance

  • Bump Maven Publish Version to 1.0.0-alpha02 (#22) by @teogor
  • Adding Code of Conduct for a Respectful Community (#19) by @teogor
  • Redefining Puzzle Generation: Sudoklify's Innovative Approach (#18) by @teogor

Documentation

  • Corrected Data Types in Accessing Generated Sudoku (#21) by @teogor
  • Adding Code of Conduct for a Respectful Community (#19) by @teogor
  • Redefining Puzzle Generation: Sudoklify's Innovative Approach (#18) by @teogor

Version 1.0.0-alpha01

August 24, 2023

dev.teogor.sudoklify:sudoklify-*:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits

🎉 Introducing Sudoklify v1.0.0-alpha01 🧩

Sudoklify, the Sudoku puzzle generation library, is here with its exciting release! Crafted with love in Kotlin, Sudoklify empowers you to effortlessly generate, manipulate, and solve Sudoku puzzles of varying grid sizes and difficulty levels. Dive into the world of puzzles and challenge your logic with Sudoklify. Let the Sudoku adventures begin! 🚀ðŸ§