Releases: BernardoGiordano/Checkpoint
Checkpoint 3.10.0
This release focuses on adding performance improvements to the 3DS version of the software.
What's new
- Fixed: startup time has been drastically improved: ~50% speedup on uncached boot, ~90% speedup on cached boot.
- This has been achieved by profiling the application boot process, and realizing that title cache persistence on the SD card took majority of the loading time. Now this operation is lazily done in a separate thread. It's funny to realize that a badly implemented optimization can become a bottleneck of its own, so take my mistake as a lesson.
- Here's the improvements I had on my console (improvements may vary since they depend on how many games you have on your console):
- Uncached startup went down from 9.8s to 5.7s
- Cached startup went down from 5.7s to 0.6s
- Added: due to requests from multiple users, Checkpoint can now be updated from Universal Updater.
- Fixed: cartridge loading now runs immediately rather than waiting for the title cache to be persisted on the SD card.
- Fixed: properly quit the application gracefully when an handled exception occurs.
- Fixed: initial code refactoring.
- Removed: some redundant logs in the title loader.
- General system stability improvements to enhance the user's experience.
Thank you for your patience and support.
If you wish to contribute, pull requests are highly appreciated.
Checkpoint 3.9.0
This release mostly contains changes and patches related to the infamous 3.8.x startup crash issue affecting the 3DS version of the software. General improvements have been added to the Switch version as well.
What's new
- Fixed: the startup crash issue affecting all version since 3.8.0 has been identified and patched.
- Huge shoutout to achinech on Discord who volunteered to debug the issue on their console.
- If you still encounter startup crash issues, please notify the team immediately on Discord and on GitHub issues.
- Fixed: cartridge scanning has been refactored to be way more efficient.
- Previously, the software used to poll the cartridge synchronously for every frame of the UI thread. Cartridge scanning is now happening on a separate thread which only runs twice per second.
- Added: a more advanced threading framework ported from PKSM.
- Added: networking support and an integrated HTTP server. This is currently used to provide real-time online access to the application logs, but this code will be useful for future features like self-updating.
- Added: more robust logging ported from PKSM. Logs are stored in the
/3ds/Checkpoint/logs
folder and are split by date.- Logs are also accessible at runtime through the integrated HTTP server at the following addresses:
http://3ds-ip-address:8000/logs/memory
for the logs of Checkpoint's current runhttp://3ds-ip-address:8000/logs/file
for all the logs for the current date
- Logs are also accessible at runtime through the integrated HTTP server at the following addresses:
- Added: compiler optimizations are back. This includes link-time optimization and an upgrade from
O2
toO3
compared to v.3.7.4. - Fixed: better configuration file handling ported from PKSM.
- Fixed: better thread synchronization between UI thread and title loading thread.
- Fixed: wrap the entire program into try-catch blocks to prevent crashes caused by other unhandled exceptions in the future.
- Fixed: few graphics improvements.
- Fixed: readme has been updated with latest screenshots.
- General system stability improvements to enhance the user's experience.
The source code has started to become a little bit messy, but this patch needed to be released as soon as possible. Future improvements to the software will surely focus on code and program cleanup and performance improvements.
Thank you for your patience and support.
If you wish to contribute, pull requests are highly appreciated.
](https://github.com/BernardoGiordano/Checkpoint/releases/download/v3.9.0/Checkpoint.cia)
Checkpoint 3.8.2
Another Checkpoint release! I haven't got any crash report after v3.8.1 went live, so this will be considered the latest stable release for now. In case you experience major issues, crashes or other nasty behaviours, please let us know on FlagBrew's discord server.
Important notice: in the remote case that this version causes issues, please notify the team immediately, then install the following version as a temporary backup:
- Checkpoint 3.8.0 for the Switch
- Checkpoint 3.7.4 for the 3DS
For those who missed the pre-release, here's the full changelog since v3.8.0.
What's new
- Added: Initial upgrade from C++17 to C++20
- Added: Built with latest Sharkive's cheats repository
- Fixed: UI has been improved and rendering has been simplified in order to make the screen render faster
- Fixed: the color scheme has been improved (to my liking)
- Fixed: a crash when playing certain games and then going directly into checkpoint afterwards
- Fixed: logs on the Switch version are now split by day. This avoids keeping a huge
checkpoint.log
file after years of use.- You can safely remove
/switch/Checkpoint/checkpoint.log
. - You can find the new logs under
/switch/Checkpoint/logs
folder. - Logs for the 3DS version will be added in the next releases.
- You can safely remove
- Fixed: dependencies have been updated to their latest version
- Fixed: displayed play time is now rendered correctly
- Fixed: L/R buttons double binding (thanks @Noxor11)
- Fixed: source compilation (thanks @mrhappyasthma and @l-austenfeld)
- Removed: link time optimizations have been disabled.
- These were originally introduced to strip down some weight off the compiled executable, but the difference is too small to consider this feature useful. LTO has caused some trouble in v3.8.0 on the 3DS version.
Thank you for your patience and support.
If you wish to contribute, pull requests are highly appreciated.
Checkpoint 3.8.1
After many years, finally a new Checkpoint release.
This pre-release is mostly needed as a new starting point for future Checkpoint development. The latest available builds (that still count hundreds of thousands of users to date) are many years old and during this time, lots of libraries Checkpoint depends upon have been updated for increased stability and important bug fixes.
Before focusing on what's next for the project, research must be made to account several issues (#432, #433, #502 and many others) and bugs that made us revert Checkpoint 3.8.0 for the 3DS. The new builds in the pre-release will help with debugging, and we hope you users will give lots of feedback on that.
Important notice: the builds in this pre-release are experimental and may contain bugs. If you only care about running the latest stable versions of Checkpoint, download from the following releases:
- Checkpoint 3.8.0 for the Switch
- Checkpoint 3.7.4 for the 3DS
What's new
- Updated dependencies to their latest version
- Disabled link time optimizations
- Initial upgrade from C++17 to C++20
- Built with latest Sharkive's cheats repository
- Fixed displayed play time
- Fixed L/R buttons double binding (thanks @Noxor11)
- Fixed source compilation (thanks @mrhappyasthma and @l-austenfeld)
Thank you for your patience and support.
If you wish to contribute, pull requests are highly appreciated.
QR Code for this pre-release will not be provided.
Checkpoint 3.8.0
It has been almost two years since the last release. Finally, Checkpoint is ready for release again.
Switch - What's new
- Fixed: Checkpoint is now compatible again with latest firmware. Compatibility with latest Atmosphère has also been fixed.
- It took some time to this release to be fully working, but it is finally out.
- Added: title sorting by Alphabetical, Last Played and Played Time. (thanks @diwo)
- You can now sort your title list by pressing X. More details are available holding minus.
- Added: Sword & Shield PKSM Bridge support.
- This is a bonus feature for PKSM users. You can enable the PKSM Bridge functionality from the web configuration panel.
- Added: embedded Sharkive's cheat database has been updated.
- This counts ~2 years of cheat updates.
- Fixed: support for games containing character ū in their title.
- Fixed: documentation.
- Fixed: compilation with latest libraries (such as libnx 4.2.0).
- Stability improvements and tons of minor code improvements.
3DS - What's new (updated 2021/12/23)
Checkpoint v3.8.0 for 3DS has a few issues that make the software unstable for various users, so we decided to remove binaries for this version for now. Please use version 3.7.4 in the meanwhile.
### 3DS - What's new
Added: embedded Sharkive's cheat database has been updated.This counts ~2 years of cheat updates.
Fixed: optional 3DS cartridge polling.Fixed: documentation.Stability improvements and tons of minor code improvements.
Thanks to every external contributor for this release: @diwo, @mrhappyasthma.
Thanks to @SciresM for hosting a compatibility version for half of 2021 waiting us to release a new official update.
Thank you for your patience and support.
Scan the QR Code for the 3DS version with FBI.
This version has been removed due to instability. Please use version 3.7.4 in the meanwhile.
For more details, instructions, informations and credits check out the readme.
If you wish to contribute, pull requests are highly appreciated.
Checkpoint 3.7.4
Switch - What's new
- Added compatibility for Atmosphere 0.10.0+. This changes the cheats path from
/atmosphere/titles
to/atmosphere/contents
, so that means this version won't be able to put cheats in place for older Atmosphere versions. - Fixed: the
Aborted by user
issue occurring when trying to perform a backup in Applet mode.- This means that if you're running Checkpoint in Applet mode, you won't be prompted to decide a name for your backup and the default name will be used instead.
- This also solves incompatibilities for CFWs that don't properly support title takeover.
- Fixed: the Account Selection applet won't cause Checkpoint to hang anymore if using Applet mode, if you're running Atmosphere 0.10.0+.
Scan the QR Code for the 3DS version with FBI.
For more details, instructions, informations and credits check out the readme.
If you wish to contribute, pull requests are highly appreciated.
If you like the work FlagBrew puts into this project and more others, support FlagBrew on Patreon or through PayPal!
Checkpoint 3.7.3
Before I list all the changes that made into this version, please note Checkpoint for the Switch is finally getting rewritten from scratch to gain a new, better, beautiful UI and tons of features that I didn't have chance to build into Checkpoint yet.
- Please stay updated by following the Projects section of this repository.
- If you have suggestions or want to get involved into the development of Checkpoint, please get in touch with us by joining FlagBrew's Discord server (link at the bottom).
3DS: What's new
- Added: Checkpoint now shows the original icon for DS cartridges.
- Fixed: a very annoying crash during startup if you had a very little amount of games has been fixed.
- Fixed: latest cheats submissions are built in this release through Sharkive.
- If you have cheat codes that are not already available in this release, please submit them to Sharkive's databases here.
- Fixed: unused folders in the SD card are not created anymore.
Switch: What's new
- Fixed: built in FTP server is now able to open the Checkpoint folder, finally letting this feature to be useful for easy and fast save retrieval.
- Fixed: removed red watermark if Checkpoint was launched in applet mode.
- Pro Tip: you shouldn't launch Checkpoint or homebrew in general in applet mode anyways. Please don't.
- Fixed: latest cheats submissions are built in this release through Sharkive.
- If you have cheat codes that are not already available in this release, please submit them to Sharkive's databases here.
- Fixed: unused folders in the SD card are not created anymore.
Scan the QR Code for the 3DS version with FBI.
For more details, instructions, informations and credits check out the readme.
If you wish to contribute, pull requests are highly appreciated.
If you like the work FlagBrew puts into this project and more others, support FlagBrew on Patreon or through PayPal!
Checkpoint 3.7.2
Switch: What's new
- Fixed: build compiled with support for system version 9.0.0. Please update to Checkpoint 3.7.2+ in order to be able to run this software on system versions 9.0.0 or superior.
- Fixed: graphics fixes and routine dependancies updates.
Scan the QR Code for the 3DS version with FBI.
For more details, instructions, informations and credits check out the readme.
If you wish to contribute, pull requests are highly appreciated.
If you like the work FlagBrew puts into this project and more others, support FlagBrew on Patreon or through PayPal!
Checkpoint 3.7.1
3DS: What's new
- Fixed: hard crash on startup has been fixed.
- Card scanning has been permanently shut down for this release to mitigate the error.
- If you still encounter this issue, please file an issue on this repo so that we can research about it more.
Switch: What's new
- Added: Checkpoint can now run again under applet mode, but:
- it will be very annoying.
- functionalities may not work properly and memory corruption may happen. Occasionally, the application could hang when trying to access one of the system applets. Watch this video for an example.
- Please do not run Checkpoint in applet mode.
- Fixed: changed port of built in FTP server to 50000.
Scan the QR Code for the 3DS version with FBI.
For more details, instructions, informations and credits check out the readme.
If you wish to contribute, pull requests are highly appreciated.
If you like the work FlagBrew puts into this project and more others, support FlagBrew on Patreon or through PayPal!
Checkpoint 3.7.0
A little bit of premise is mandatory for this release.
Originally in my plans this should have been version 4.0.0. I definitely put the most effort I could to make this release happen, compared to all the old versions that preceeded this one.
I worked really hard for this. ~80kloc changed, most of the codebase redesigned, a brand new interface.
I'm writing this shortly before releasing this new update, and shortly after realizing this is not yet what I've always tried to accomplish during the design and realization, with little to no gains, of this piece of software.
That's the reason the version number has been reduced compared to the one I was planning to release today.
What does this mean? Well, basically nothing for the end user. You'll still get all the features that have been worked on in the ~9 months that passed between this one and the last stable releases.
Another set of features, that were originally planned to get developed for this release, will be delayed for the next major version, that will be carefully designed from scratch.
While the User Interface of the 3DS version still rocks, the attempts to adapt it for the Switch the best I could have kinda failed for me. It is now time to put together a proper UX that will fully take advantage of the Switch form factor, while keeping alive all the concepts and ideas that have made Checkpoint what it is today.
It'll be worth it.
3DS: What's new
- Added: Sharkive is now merged into Checkpoint. A brand new Cheat menu has been implemented inside Checkpoint to be able to manage cheats for Luma3DS.
- The entire cheat database is offline and bundled inside of Checkpoint. No more internet required, no more molasses slow loading times caused by cheat downloads.
- You're able to select and enable just the cheats you really want to have. This solves issues caused by cheat files too big to be fully displayed in Luma3DS' cheat engine.
- Cheat updates will happen when:
- Checkpoint updates.
- You build Checkpoint from source.
- You build the cheat database and place it into the sd card in the expected location, so that it'll be loaded instead of the bundled one.
- This feature deprecates Sharkive.
- Added: ability to change play coins. Lots of you kept requesting this all the time. I don't know why you want this feature so much, but here it is. You can access it by hovering the Activity Log NAND title or by pressing SELECT + tapping the top-right corner.
- Added: redesigned UI. Enjoy it while it's fresh.
- Added: optional cartridge hotswap. You can now choose from the configuration if you want to be able to hotswap the cartridge while Checkpoint is running.
- This is disabled by default. Downside of this feature being enabled is that the UI slows down for a couple seconds before being responsive during boot time.
- Added: logging. Logs will be written to
/3ds/Checkpoint/checkpoint.log
.- This feature deprecates JEDECheck.
- Fixed: cart is not cached anymore. This means cache won't be rebuilt every time you swap cartridges before running Checkpoint.
- Fixed: favorite sorting now works properly again.
- Fixed: cut down size of the executable. It now stores an entire cheat database inside of it (~1.6MB json), functionalities from other two different applications and still manages to be basically equal in size compared to the old stable release.
- Refactoring, refactoring, refactoring...
Switch: What's new
- Added: Sharkive feature for the Switch as well. A brand new Cheat menu has been implemented inside Checkpoint to be able to manage cheats for Atmosphere.
- The entire cheat database is offline and bundled inside of Checkpoint.
- You're able to select and enable just the cheats you really want to have. This is an alternative approach to cheat toggles.
- Cheat updates will happen when:
- Checkpoint updates.
- You build Checkpoint from source.
- You build the cheat database and place it into the sd card in the expected location, so that it'll be loaded instead of the bundled one.
- Added: Online configurations. You can now configure Checkpoint from your internet browser. Checkpoint will behave as an HTTP server while running.
- Connect to
SWITCH_IP_ADDRESS:8000
from any device connected to the same network as your Switch to be able to access configurations.
- Connect to
- Added: FTP server. You probably want to be able to get your saves out of the switch once they have been backed up. While I come up with handier solutions, enjoy this non blocking FTP server. You can access connecting to
SWITCH_IP_ADDRESS:5000
(As of v3.7.1,SWITCH_IP_ADDRESS:50000
) with empty username and password. - Added: redesigned UI. Enjoy it while it's fresh.
- Added: system keyboard support. The custom keyboard originally setup has been removed from Checkpoint to fully take advantage of the system keyboard applet.
- Added: switch pages with L/R.
- Added: logging. Logs will be written to
/switch/Checkpoint/checkpoint.log
. - Fixed: favorite sorting now works properly again.
- Fixed: cut down size of the executable. It now stores an entire cheat database inside and still manages to be ~1MB lighter than the previous stable release.
- Fixed: Checkpoint doesn't run anymore if nx-hbmenu is launched over a system applet (like Album).
- Refactoring, refactoring, refactoring...
Cheat management
From this release, Checkpoint also handles cheat management. Source cheat files are provided by Sharkive which is another project that have been going on from a while now.
Originally, Sharkive was a 3DS homebrew capable of managing cheats. Since its functionalities have been now integrated into Checkpoint, the app itself has been deprecated and discontinued. If you try to run Sharkive, it'll just close itself now.
To learn more about cheat codes, how to submit them and how to get involved into the project, Sharkive's repo is a good place to start.
User ikeb0mb#2998 made a really useful video tutorial to show you how to use the Cheat Engine. Please have a look!
Roadmap
Features that didn't make into this version (I'm sorry):
- A better UI
- BCAT save management
- A better web interface
- Manual integrated with the web interface
- Auto updater
- Cheat updater
It'll make more sense to implement those when the whole application is better designed to integrate this much feature while keeping the user experience as clean as possible. Software that matters is all about quality, not quantity.
Scan the QR Code for the 3DS version with FBI.
For more details, instructions, informations and credits check out the readme.
If you wish to contribute, pull requests are highly appreciated.
If you like the work FlagBrew puts into this project and more others, support FlagBrew on Patreon or through PayPal!