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:
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"
}
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.
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
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 tosealed 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 introducingSudokuPuzzle
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
Maintenance
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
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
toextensions
(#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! 🚀ðŸ§