kaajjo/LibreSudoku
LibreSudoku - Sudoku app for android built with Kotlin + Jetpack Compose + Material3
📦 Split versions to FOSS and nonFOSS
- nonFOSS comes with in app autoupdater and therefore requests `INTERNET_ACCESS` and `REQUEST_INSTALL_PACKAGES` permissions.
- FOSS is regular version with no permissions requested
Fixed a bug where attempting to enter a number after resetting a board or configuration change would cause a crash (#123, #124, #126, #128)
📋 Changes
- New type of game - [Killer Sudoku](https://en.wikipedia.org/wiki/Killer_sudoku)
- Backup and restore feature
- Added preview for custom date pattern
- Added sorting by date in games history
- Added more color schemes, and now you can generate your own with your color and all monet palettes
- Added `6x6` and `12x12` board preview in `BoardTheme` settings screen
- Added Redo feature (long tap on undo) (Issue #56)
- Added ability to export current game board in `GameScreen`
- + 23 more
📦 Killer Sudoku
- (Read more on Wikipedia - [Killer Sudoku](https://en.wikipedia.org/wiki/Killer_sudoku))
📦 Backup & Restore
- Now you can back up all your games (including folders and statistics), and app settings to a `json` file. And then restore it.\
- App can automatically back up your data every specified period of time (you need to enable this feature in settings)
📋 Under the hood changes:
- Migrated to [Compose Destinations](https://github.com/raamcosta/compose-destinations) navigation
- Migrated to Kotlin DSL with version catalogs
- Updated all dependencies
- `VersionCode` bumped from 7 to 20 (to sync with the app published on RuStore (that's a Russian thing, never mind))
📦 Translation ([Hosted Weblate](https://hosted.weblate.org/engage/libresudoku/))
- Merged all strings and added many new languages. Thanks to everyone who helps to translate this app, love you 💖
📦 P.S Totally unimportant and unrelated to the update
- This app was and will be always free, without any subscriptions or ads\
- Please don't pay money for this app when they only change the name or fill it with ads. There are so many of them on Google Play**
- Full Changelog: https://github.com/kaajjo/Libre-Sudoku/compare/v1.5.0...v2.0.0
📋 What's changed
- Much better looking export as string in 'SavedGameScreen'
- Added selected value note highlight
- Fixed issue where the last game's difficulty and type were not being applied at 'HomeScreen'
- The font size of notes is now calculated based on the cell size (and paddings are applied). Simply put, there will no longer be situations where notes may overlap or go beyond the cell.
- Added support for automatic board font size
📋 Changes in v2.0.0-beta03
- In app updater
- Press on grid to resume
- Show no hint available instead of nothing if advanced hint cannot get new hint
📦 App Updater
- (This feature uses the GitHub API to get releases)
📋 Changes:
- Fixed old bug when the app could crash when completing a game
- Redesigned settings. The settings categories are now divided into separate screens (and there are more icons now🔥)
- Removed [`ACRA`](https://github.com/ACRA/acra) crash reporting
- Added `CrashScreen` instead of ACRA dialog
- Animate colors on theme change
- Sum in Killer Sudoku is now hidden on pause
- Added the ability to generate sudoku in a folder
- Added Advanced Hint System (aka hints with explanation). This thing is very experimental, at the moment there are only a few techniques present
✨ First beta of 2.0.0. Some things may be changed, and new features added before release.
- New type of game - [Killer Sudoku](https://en.wikipedia.org/wiki/Killer_sudoku)
- Backup and restore feature
- Added preview for custom date pattern
- Added sorting by date in games history
- Added more color schemes, and now you can generate your own with your color and all monet palettes
- Added `6x6` and `12x12` board preview in `BoardTheme` settings screen
- Added Redo feature (long tap on undo) (Issue #56)
- Added ability to export current game board in `GameScreen`
- + 7 more
📦 Killer Sudoku
- (Read more on Wikipedia - [Killer Sudoku](https://en.wikipedia.org/wiki/Killer_sudoku))
📦 Backup & Restore
- Now you can back up all your games (including folders and statistics), and app settings to a `json` file. And then restore it.\
- App can automatically back up your data every specified period of time (you need to enable this feature in settings)
📋 Under the hood changes:
- Migrate to [Compose Destinations](https://github.com/raamcosta/compose-destinations) navigation
- Migrate to Kotlin DSL with version catalogs
- Update all dependencies
✨ What's new:
- Added blue app theme
- Now you can see when a game was started
- Option to remember the previously selected difficulty and game type
- You can change date format for all dates in app. You can define your own DateTimeFormatter pattern or choose from the list
📋 Changes
- Improved game completion screen
- Optimize settings screen
- Change game board grid lines opacity
- Keyboard font size
- Update the look of the pager tabs
- New collapsing top app bar
- Other minor improvements
🐛 What's fixed
- Update duration formatting to show hours
- Exclude initial number interaction as a user action (#33)
- Remove the check mark in the sort dialog for items that act as radio buttons
- Fix a potential crash
- Other small fixes
📦 Translation ([Hosted Weblate](https://hosted.weblate.org/engage/libresudoku/))
- Merged translations
- New languages added: Slovak, Ukrainian, Hindi
- Full Changelog: https://github.com/kaajjo/Libre-Sudoku/compare/v1.4.2...v1.5.0
📋 Changes
- Improved English strings (by @nvllz #36)
🐛 What's fixed
- Random crashes when starting a new game
- Missing setting at the create sudoku screen (issue #35)
- Added extra checks to make sure the solved board is properly initialized (trying to solve #34)
📦 Translation ([Hosted Weblate](https://hosted.weblate.org/engage/libresudoku/))
- Merged translations
- New languages: Danish, German, Norwegian Nynorsk, Portugese
- Full Changelog: https://github.com/kaajjo/Libre-Sudoku/compare/v1.4.1...v1.4.2
🐛 What's fixed:
- Crash when trying to edit 6x6 sudoku
- Generating difficulty (Related to #31)
- Wrong row/col of initial digits in saved game screen, resulting in some initial digits to be colored as entered by user (#32)
- Attempt to enter a number in a locked cell can be undone (#33)
- Full Changelog: https://github.com/kaajjo/Libre-Sudoku/compare/v1.4.0...v1.4.1
✨ Added
- Importing sudokus from file. Supported file types: `.opensudoku` `.1gsudoku` `.sdm` `.txt`
- Folders. You can add sudoku to a folder by importing from a file or creating a new manually. You can move sudokus between folders.
- [ACRA ](https://github.com/ACRA/acra) crash reporting by email. App does not send anything by itself, when the app crashes you'll be prompted to send a crash log by email. You can disable ACRA in app settings
- An option to apply accent colors to the sudoku board colors. (More -> Settings -> Sudoku board theme)
- An option to cross-highlight blocks on the sudoku board. (More -> Settings -> Sudoku board theme)
- An option to place the function buttons above the number buttons
📋 Changed
- You can select any difficulty when creating a new sudoku manually. Also, custom sudokus are now a part of folders system
- All lists have scrollbars now
- The `Continue` button is located above the `Play` button
- `Play` button is less accented if there is a `Continue` button
- Given numbers now really differs from entered
- Show sudoku progress as a percentage
🐛 Fixed
- No bottom paddings in bottom sheets
- Parsing current sudoku values in saved game screen
- RadioButton click in settings language picker does nothing
📦 Translations ([Hosted Weblate](https://hosted.weblate.org/engage/libresudoku/))
- Merged translations
- New languages: Italian, Spanish
- Code related stuff:
- Disable code obfuscation
- Full Changelog: https://github.com/kaajjo/Libre-Sudoku/compare/v1.3.0...v1.4.0
✨ New:
- 12x12 game type. Tip: you can zoom and pan board, when playing 12x12
- Ability to sort and filter games in the games history
- Ability to filter games by type in the custom sudoku list
📋 Behavior changes:
- No longer show a toast on Android 13 when copying in export as string.
- In selection mode in the custom sudoku screen, on back pressed will disable selection mode instead of exit the screen.
- Ability to toggle the erase button. Long press in cell first mode, just press in digit first mode. When toggled, tapping on any cell will clear its value.
- Filter feature in the custom sudoku screen now uses a modal bottom sheet instead of a menu.
📦 UX/UI Improvements
- Sudoku board lines are now thinner and less bright. And the font size is slightly changed
- Game keyboard font size is now slightly larger
- Updated the look of dialogs in settings
- About screen: Added app logo and "Help translate" option
🐛 What fixed:
- Broken themes on MIUI when system is in the dark mode. It seems to work, but I don't have any MIUI phones to test it properly, so I'm not 100% sure 🙃
- Selected language in the app settings doesn't save after relaunch on Android 12 and lower
- Some bugs with notes by long tap
- Selected board font size in the app settings doesn't apply to boards in saved game and create sudoku screens
- Wrong notes size and position in 6x6
📦 Translations
- The project is now available for translation at [Hosted Weblate](https://hosted.weblate.org/engage/libresudoku/), feel free to contribute
- Added translations for French, Czech, Hungarian, Norwegian Bokmål, Portuguese (Brazil), Turkish.
- Full Changelog: https://github.com/kaajjo/Libre-Sudoku/compare/1.2.0...v1.3.0
✨ New:
- Now you can export any game from history. Just select any game you want in history and then select "export as string" from the menu in the top app bar
📦 UI/UX Improvements:
- Migrated to AnimatedNavHost. Now we have animations when navigating 🎉
- Now you can filter the list of custom sudokus by the state of the game (completed, in progress etc.)
🐛 Fixes:
- Fixed wrong description of the notes button in the quick tour dialog (first game dialog)
- Fixed a very rare random crash on the history screen
- Fixed a bug where you could add notes with a value of 0 to cells with a long tap, when digit first mode was active and no digit was selected
- Fixed a bug where on the create sudoku screen you could change the game type back by using undo (it could lead to crash, because technically the type didn't change, but the board did)
- I forgor to add the custom type to filter chips in statistics. Now it's there
✨ New:
- Custom sudoku. Now you can add any own sudoku. Manually or from string. When adding from string, the game type will be selected automatically (9x9 or 6x6). The game checks if the sudoku has a unique solution, and if it does, the sudoku will be saved
📦 UI/UX Improvements:
- Better looking "Can continue" tag in the game history
- Optimized the list of games on the history screen. Also, now it saves scroll state when navigating, so you don't get lost after navigate back
- Notes are now displayed at saved game screen
🐛 Fixes:
- After give up, when solution is shown, given cells were not locked. Because of this, the font color of the given numbers was incorrect
- Fixed win streak and it's now back
✨ Features
- Supporting dynamic theming and 5 own themes. Also, pure black in dark theme is available
- 9x9 and 6x6
- 4 difficulties
- 2 input methods. Digit first and cell first
- 2 type of mistakes checking. First is detecting game rules violations and the second is checking with final solution. Can be turned off completely
- Basic things like timer, notes (pencil marks), undo, game pauses, hints (just revealing the number, better than nothing), give up (show solution), saves
- Notes management. You can compute notes (candidates), clear all and toggle visibility. You can access all of these features by long pressing the notes button in the game
- Games history. You can continue any uncompleted game whenever you want
- + 7 more
