Checkpoint Switch: Difference between revisions
More actions
Created page with "{{Infobox Switch Homebrews |title=Checkpoint |image=checkpointswitch.png |description=Fast and simple homebrew save manager for 3DS and Switch. |author=FlagBrew |lastupdated=2021/11/13 |type=Utilities |version=3.8 |license=GPL-3.0 |download=https://dlhb.gamebrew.org/switchhomebrews/checkpointswitch.7z |website=https://gbatemp.net/threads/checkpoint-3-7-4-compatibility-for-atmosphere-0-10-0.553928/ |source=https://github.com/FlagBrew/Checkpoint |donation= }} {{#seo: |tit..." |
3.11.0 |
||
| (18 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
{{Infobox Switch Homebrews | {{Infobox Switch Homebrews | ||
|title=Checkpoint | |title=Checkpoint | ||
|image= | |image=checkpointnx.png | ||
|description=Fast and simple homebrew save manager for 3DS and Switch. | |description=Fast and simple homebrew save manager for 3DS and Switch. | ||
|author=FlagBrew | |author=FlagBrew | ||
|lastupdated= | |lastupdated=2026/02/25 | ||
|type= | |type=Save Managers and Editors | ||
|version=3. | |version=3.11.0 | ||
|license=GPL-3.0 | |license=GPL-3.0 | ||
|download=https:// | |download=https://github.com/BernardoGiordano/Checkpoint/releases | ||
|website=https:// | |website=https://flagbrew.org/ | ||
|source=https://github.com/FlagBrew/Checkpoint | |source=https://github.com/FlagBrew/Checkpoint | ||
|donation= | |donation=https://www.patreon.com/FlagBrew | ||
}} | }} | ||
<!--checkpointnx.7z--> | |||
| | A fast and simple homebrew save manager for [[Checkpoint 3DS|3DS]] and Switch written in C++. | ||
Checkpoint is created following ideas of simplicity and efficiency. The UI has been designed to condense as many options as possible, while keeping it simple to work with. | |||
Moreover, Checkpoint is extremely lightweight - while being packaged with a nice graphic user interface - and is built using the most recent libraries available. | |||
Checkpoint for Switch natively supports NAND saves for the titles you have played. Title information are loaded automatically. | |||
==Installation== | |||
Place the .nro to the /switch/ folder on the SD card. | |||
Checkpoint for Switch runs on homebrew launcher. Make sure you're running up-to-date payloads. | |||
==User guide== | |||
===Working path=== | |||
Checkpoint relies on the following folders to store the files it generates. Note that all the working directories are automatically generated on first launch (or when Checkpoint finds a new title that doesn't have a working directory yet). | |||
*<code>sdmc:/switch/Checkpoint</code>: root path | |||
*<code>sdmc:/switch/Checkpoint/logs</code>: log files | |||
*<code>sdmc:/switch/Checkpoint/config.json</code>: custom configuration file | |||
*<code>sdmc:/switch/Checkpoint/saves/<title id> <game title></code>: root path for all the save backups for a generic game | |||
===Online configurations=== | |||
You can configure Checkpoint from your internet browser. Checkpoint will behave as an HTTP server while running. | |||
Connect to <code>SWITCH_IP_ADDRESS:8000</code> from any device connected to the same network as your Switch to be able to access configurations. | |||
===FTP server=== | |||
Checkpoint offers built-in server that allows for easy and fast save retrieval. | |||
You can access connecting to <code>SWITCH_IP_ADDRESS:50000</code> with empty username and password. | |||
==Controls== | |||
Minus - Instructions | |||
'''Title selection:''' | |||
D-Pad/Joystick - Scroll between titles | |||
L/R - Scroll between pages | |||
A - Enter selected title | |||
B - Exit the selected title | |||
Y - Multiselect title | |||
Hold Y - Selection all titles | |||
'''Menu options:''' | |||
L - Backup save | |||
R - Restore save | |||
Right Stick Button - Cheats | |||
X - Delete a backup | |||
==Screenshots== | ==Screenshots== | ||
https://dlhb.gamebrew.org/switchhomebrews/ | https://dlhb.gamebrew.org/switchhomebrews/checkpointnx2.png | ||
https://dlhb.gamebrew.org/switchhomebrews/ | |||
https://dlhb.gamebrew.org/switchhomebrews/ | https://dlhb.gamebrew.org/switchhomebrews/checkpointnx3.png | ||
https:// | |||
https://dlhb.gamebrew.org/switchhomebrews/checkpointnx4.png | |||
https:// | ==Media== | ||
'''[Switch] How To Backup & Restore Saves Using Checkpoint''' ([https://www.youtube.com/watch?v=U908bDIgxcE DarkFlare]) <br> | |||
<youtube>U908bDIgxcE</youtube> | |||
==Known issues== | |||
https://github.com/BernardoGiordano/Checkpoint/issues | |||
==Changelog== | ==Changelog== | ||
'''v.1.0''' | '''V3.11.0 2026/02/25''' | ||
* | * Added: backup and restore modal UI has been greatly improved with a proper progress bar. | ||
* Fixed: an issue with title cache persistence preventing new title installations from being recognized from Checkpoint. | |||
* Fixed: occasional crashes when moving the buttons too fast on the 3DS version of the app. | |||
* Fixed: an issue with the app freezing when holding B to refresh the title cache. | |||
* Fixed: crash when no titles available on the Switch version of the app. | |||
* Fixed: occasional crash when quitting the Switch version of the app. | |||
* Fixed: name and icon of the selected account not updating on certain conditions. | |||
* Fixed: various memory leaks here and there when disposing the application on quit. | |||
* Fixed: properly print strings with percent characters in the logfile. | |||
* Fixed: compiled with latest version of the needed dependencies. | |||
* Added: cheat database updated to latest [https://github.com/FlagBrew/Sharkive Sharkive] release. | |||
* General system stability improvements to enhance the user's experience. | |||
'''V3.10.2 2025/11/22''' | |||
* Fixed: breaking compatibility issue with latest Switch OS version. | |||
* Fixed: compiled with latest version of the needed dependencies. | |||
* Added: cheat database updated to latest [https://github.com/FlagBrew/Sharkive Sharkive] release. | |||
* General system stability improvements to enhance the user's experience. | |||
'''v3.10.1 2025/06/22''' | |||
* Fixed: add support for archived, hidden and readonly 3ds save backup folders. | |||
** This bug has been in the codebase from the very beginning. Eventually, we fixed it. | |||
* Fixed: a bug where some text could not be rendered on screen properly. | |||
* Added: cheat database updated to latest [https://github.com/FlagBrew/Sharkive Sharkive] release. | |||
* General system stability improvements to enhance the user's experience. | |||
'''v3.10.0 2025/04/19''' | |||
* '''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. | |||
'''v3.9.0 2025/04/14''' | |||
* '''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 [https://discord.gg/bGKEyfY 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 <code>/3ds/Checkpoint/logs</code> folder and are split by date. | |||
** Logs are also accessible at runtime through the integrated HTTP server at the following addresses: | |||
*** <code>http://3ds-ip-address:8000/logs/memory</code> for the logs of Checkpoint's current run | |||
*** <code>http://3ds-ip-address:8000/logs/file</code> for all the logs for the current date | |||
* Added: compiler optimizations are back. This includes link-time optimization and an upgrade from <code>O2</code> to <code>O3</code> 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. | |||
'''v3.8.2 2025/04/02''' | |||
* 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 <code>checkpoint.log</code> file after years of use. | |||
** You can safely remove <code>/switch/Checkpoint/checkpoint.log</code>. | |||
** You can find the new logs under <code>/switch/Checkpoint/logs</code> folder. | |||
** Logs for the 3DS version will be added in the next releases. | |||
* Fixed: dependencies have been updated to their latest version | |||
* Fixed: displayed play time is now rendered correctly | |||
* Fixed: L/R buttons double binding (thanks [https://github.com/Noxor11 @Noxor11]) | |||
* Fixed: source compilation (thanks [https://github.com/mrhappyasthma @mrhappyasthma] and [https://github.com/l-austenfeld @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. | |||
'''v3.8.1 2025/03/23''' | |||
* 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 [https://github.com/Noxor11 @Noxor11]) | |||
* Fixed source compilation (thanks [https://github.com/mrhappyasthma @mrhappyasthma] and [https://github.com/l-austenfeld @l-austenfeld]) | |||
'''v3.8.0 2021/11/13''' | |||
*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: [https://github.com/FlagBrew/Sharkive 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. | |||
'''v3.7.4 2019/12/09''' | |||
*Added compatibility for Atmosphere 0.10.0+. This changes the cheats path from <code>/atmosphere/titles</code> to <code>/atmosphere/contents</code>, so that means this version won't be able to put cheats in place for older Atmosphere versions. | |||
*Fixed: the <code>Aborted by user</code> 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+. | |||
'''v3.7.3 2019/10/26''' | |||
*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. | |||
'''v3.7.2 2019/09/15''' | |||
*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. | |||
'''v3.7.1 2019/09/12''' | |||
*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.[https://www.youtube.com/watch?v=-1uxh6wsNLY Watch this video for an example]. | |||
**Please do not run Checkpoint in applet mode. | |||
*Fixed: changed port of built in FTP server to 50000. | |||
'''v3.7.0 2019/09/09''' | |||
*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 <code>SWITCH_IP_ADDRESS:8000</code> from any device connected to the same network as your Switch to be able to access configurations. | |||
*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 <code>SWITCH_IP_ADDRESS:5000</code> (As of v3.7.1, <code>SWITCH_IP_ADDRESS:50000</code>) 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 <code>/switch/Checkpoint/checkpoint.log</code>. | |||
*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... | |||
'''v3.6.0 2019/01/01''' | |||
*Added: a bridge functionality between Checkpoint for Switch and [https://github.com/FlagBrew/PKSM PKSM] (for 3DS, v6.0.0 and above) has been implemented. | |||
**It allows to send (and then receive back) a save file over the network, to allow manipulations without having to browse your save backups manually on your PC. | |||
**It also needs to be manually enabled by editing your configuration file. Once it's enabled, you can access the bridge by pressing <code>L+R</code> on a valid game. | |||
**This feature currently works only with LGPE. | |||
*Fixed: buttons are now responsive as before while navigating the UI. | |||
*Fixed: titles with black background are now displayed properly. | |||
*Fixed: checkmark color doesn't confuse with title icons anymore. | |||
*Fixed: text doesn't bleed textboxes like before anymore. | |||
'''v3.5.0 2019/10/28''' | |||
*Added support for Hardware Acceleration. Checkpoint now relies on the GPU to render graphics and text, removing load from the CPU. | |||
**The interface now relies on SDL2 to render images and text. | |||
**Text rendering is optimized by using a customized version of SDL_FontCache which caches glyphs in memory rather than creating textures every frame. This also allows to use the system font already available in the console. | |||
**Checkpoint caches from PlSharedFontType_Standard and PlSharedFontType_NintendoExt fonts, so both regular characters and symbols are now supported to be rendered on screen. | |||
*Added option to set a title as Favorite. You can now edit your configuration file to set a title id to be a favorite title, so this will always appear at the top of the title list. | |||
*Fixed crashes caused by too many file descriptors opened. | |||
*Key behaviour changed. ( thanks @IBNobody ) | |||
**You can now select rows in the backup list, creating backups and restoring a backup just with the button A. | |||
**Pressing Y will select the current title but deactivate/reset the backup list. It will also enable the backup touch button only. Creating a backup will then disable the backup touch button. This makes it more clear to the user what buttons / UI elements are relevant to multi-backup. | |||
*Fixed occasional crashes while changing account. | |||
*Checkpoint now uses latest libnx 1.5.0, which supports timezone and fixes wrong default backup names if your console never connected to internet. | |||
*Checkpoint is now compiled using C++17. | |||
'''v3.4.2 2019/09/04''' | |||
*Fix compatibility with certain games and CFWs. Now Checkpoint is fully compatible with custom firmwares using <code>fs_mitm</code>, <code>layeredfs</code> and other modules massively relying on file operations. | |||
**Confirmed working on both hekate, Atmosphere and ReiNX using said modules. | |||
**Other CFWs may be compatible as well, even if not directly tested. | |||
**The issue was caused by a poorly optimized function to recursively delete folders, which has been now replaced by the one available on JKSV, too. | |||
*Fixed configuration override after updating Checkpoint version. | |||
*Avoid using a separate thread to populate titles. | |||
*Default selected button for the homebrew keyboard is now <code>OK</code> (thanks @fennectech). | |||
'''v3.4.1 2018/08/17''' | |||
*Fixed corrupted save backup folders if your Account name contains non-ascii characters. | |||
*You can now properly cancel a backup if you press B from the keyboard screen. | |||
*Fixed parallel building. | |||
*Code cleanup and multiple minor fixes. | |||
[https://github.com/BernardoGiordano/Checkpoint/releases Release notes.] | |||
==Credits== | |||
*[https://github.com/BernardoGiordano/ Bernardo] for creating Checkpoint. | |||
*[https://github.com/J-D-K J-D-K] for the original [https://github.com/J-D-K/JKSM JKSM] version. | |||
*[https://github.com/tuxsh TuxSH] for [https://github.com/TuxSH/TWLSaveTool TWLSaveTool], from which SPI code has been taken. | |||
*WinterMute, fincs and [https://devkitpro.org/ devkitPro] contributors for devkitARM, devkitA64 and [https://github.com/devkitPro/pacman/releases dkp-pacman]. | |||
*Yellows8 and all the mantainers for [https://github.com/switchbrew/switch-examples switch-examples]. | |||
*[https://twitter.com/rakujira rakujira] for the awesome Checkpoint logo. | |||
*Fellow testers and troubleshooters for their help. | |||
*The huge amount of supporters that this project has gained over the years. | |||
== External links == | == External links == | ||
* | * Official website - https://flagbrew.org/ | ||
* | * GitHub - https://github.com/FlagBrew/Checkpoint | ||
* GBAtemp - https://gbatemp.net/threads/release-checkpoint-a-fast-and-simple-save-manager-for-3ds-and-switch.503899/ | |||
* Homebrew App Store - https://apps.fortheusers.org/switch/Checkpoint | |||
<!--mirror: https://dlhb.gamebrew.org/switchhomebrews/checkpointswitch.7z--> | |||
Latest revision as of 05:54, 27 February 2026
| Checkpoint | |
|---|---|
| General | |
| Author | FlagBrew |
| Type | Save Managers and Editors |
| Version | 3.11.0 |
| License | GPL-3.0 |
| Last Updated | 2026/02/25 |
| Links | |
| Download | |
| Website | |
| Source | |
| Support Author | |
A fast and simple homebrew save manager for 3DS and Switch written in C++.
Checkpoint is created following ideas of simplicity and efficiency. The UI has been designed to condense as many options as possible, while keeping it simple to work with.
Moreover, Checkpoint is extremely lightweight - while being packaged with a nice graphic user interface - and is built using the most recent libraries available.
Checkpoint for Switch natively supports NAND saves for the titles you have played. Title information are loaded automatically.
Installation
Place the .nro to the /switch/ folder on the SD card.
Checkpoint for Switch runs on homebrew launcher. Make sure you're running up-to-date payloads.
User guide
Working path
Checkpoint relies on the following folders to store the files it generates. Note that all the working directories are automatically generated on first launch (or when Checkpoint finds a new title that doesn't have a working directory yet).
sdmc:/switch/Checkpoint: root pathsdmc:/switch/Checkpoint/logs: log filessdmc:/switch/Checkpoint/config.json: custom configuration filesdmc:/switch/Checkpoint/saves/<title id> <game title>: root path for all the save backups for a generic game
Online configurations
You can 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.
FTP server
Checkpoint offers built-in server that allows for easy and fast save retrieval.
You can access connecting to SWITCH_IP_ADDRESS:50000 with empty username and password.
Controls
Minus - Instructions
Title selection:
D-Pad/Joystick - Scroll between titles
L/R - Scroll between pages
A - Enter selected title
B - Exit the selected title
Y - Multiselect title
Hold Y - Selection all titles
Menu options:
L - Backup save
R - Restore save
Right Stick Button - Cheats
X - Delete a backup
Screenshots
Media
[Switch] How To Backup & Restore Saves Using Checkpoint (DarkFlare)
Known issues
Changelog
V3.11.0 2026/02/25
- Added: backup and restore modal UI has been greatly improved with a proper progress bar.
- Fixed: an issue with title cache persistence preventing new title installations from being recognized from Checkpoint.
- Fixed: occasional crashes when moving the buttons too fast on the 3DS version of the app.
- Fixed: an issue with the app freezing when holding B to refresh the title cache.
- Fixed: crash when no titles available on the Switch version of the app.
- Fixed: occasional crash when quitting the Switch version of the app.
- Fixed: name and icon of the selected account not updating on certain conditions.
- Fixed: various memory leaks here and there when disposing the application on quit.
- Fixed: properly print strings with percent characters in the logfile.
- Fixed: compiled with latest version of the needed dependencies.
- Added: cheat database updated to latest Sharkive release.
- General system stability improvements to enhance the user's experience.
V3.10.2 2025/11/22
- Fixed: breaking compatibility issue with latest Switch OS version.
- Fixed: compiled with latest version of the needed dependencies.
- Added: cheat database updated to latest Sharkive release.
- General system stability improvements to enhance the user's experience.
v3.10.1 2025/06/22
- Fixed: add support for archived, hidden and readonly 3ds save backup folders.
- This bug has been in the codebase from the very beginning. Eventually, we fixed it.
- Fixed: a bug where some text could not be rendered on screen properly.
- Added: cheat database updated to latest Sharkive release.
- General system stability improvements to enhance the user's experience.
v3.10.0 2025/04/19
- 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.
v3.9.0 2025/04/14
- 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/logsfolder 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/memoryfor the logs of Checkpoint's current runhttp://3ds-ip-address:8000/logs/filefor 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
O2toO3compared 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.
v3.8.2 2025/04/02
- 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.logfile after years of use.- You can safely remove
/switch/Checkpoint/checkpoint.log. - You can find the new logs under
/switch/Checkpoint/logsfolder. - 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.
v3.8.1 2025/03/23
- 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)
v3.8.0 2021/11/13
- 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.
v3.7.4 2019/12/09
- Added compatibility for Atmosphere 0.10.0+. This changes the cheats path from
/atmosphere/titlesto/atmosphere/contents, so that means this version won't be able to put cheats in place for older Atmosphere versions. - Fixed: the
Aborted by userissue 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+.
v3.7.3 2019/10/26
- 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.
v3.7.2 2019/09/15
- 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.
v3.7.1 2019/09/12
- 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.
v3.7.0 2019/09/09
- 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:8000from 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...
v3.6.0 2019/01/01
- Added: a bridge functionality between Checkpoint for Switch and PKSM (for 3DS, v6.0.0 and above) has been implemented.
- It allows to send (and then receive back) a save file over the network, to allow manipulations without having to browse your save backups manually on your PC.
- It also needs to be manually enabled by editing your configuration file. Once it's enabled, you can access the bridge by pressing
L+Ron a valid game. - This feature currently works only with LGPE.
- Fixed: buttons are now responsive as before while navigating the UI.
- Fixed: titles with black background are now displayed properly.
- Fixed: checkmark color doesn't confuse with title icons anymore.
- Fixed: text doesn't bleed textboxes like before anymore.
v3.5.0 2019/10/28
- Added support for Hardware Acceleration. Checkpoint now relies on the GPU to render graphics and text, removing load from the CPU.
- The interface now relies on SDL2 to render images and text.
- Text rendering is optimized by using a customized version of SDL_FontCache which caches glyphs in memory rather than creating textures every frame. This also allows to use the system font already available in the console.
- Checkpoint caches from PlSharedFontType_Standard and PlSharedFontType_NintendoExt fonts, so both regular characters and symbols are now supported to be rendered on screen.
- Added option to set a title as Favorite. You can now edit your configuration file to set a title id to be a favorite title, so this will always appear at the top of the title list.
- Fixed crashes caused by too many file descriptors opened.
- Key behaviour changed. ( thanks @IBNobody )
- You can now select rows in the backup list, creating backups and restoring a backup just with the button A.
- Pressing Y will select the current title but deactivate/reset the backup list. It will also enable the backup touch button only. Creating a backup will then disable the backup touch button. This makes it more clear to the user what buttons / UI elements are relevant to multi-backup.
- Fixed occasional crashes while changing account.
- Checkpoint now uses latest libnx 1.5.0, which supports timezone and fixes wrong default backup names if your console never connected to internet.
- Checkpoint is now compiled using C++17.
v3.4.2 2019/09/04
- Fix compatibility with certain games and CFWs. Now Checkpoint is fully compatible with custom firmwares using
fs_mitm,layeredfsand other modules massively relying on file operations.- Confirmed working on both hekate, Atmosphere and ReiNX using said modules.
- Other CFWs may be compatible as well, even if not directly tested.
- The issue was caused by a poorly optimized function to recursively delete folders, which has been now replaced by the one available on JKSV, too.
- Fixed configuration override after updating Checkpoint version.
- Avoid using a separate thread to populate titles.
- Default selected button for the homebrew keyboard is now
OK(thanks @fennectech).
v3.4.1 2018/08/17
- Fixed corrupted save backup folders if your Account name contains non-ascii characters.
- You can now properly cancel a backup if you press B from the keyboard screen.
- Fixed parallel building.
- Code cleanup and multiple minor fixes.
Credits
- Bernardo for creating Checkpoint.
- J-D-K for the original JKSM version.
- TuxSH for TWLSaveTool, from which SPI code has been taken.
- WinterMute, fincs and devkitPro contributors for devkitARM, devkitA64 and dkp-pacman.
- Yellows8 and all the mantainers for switch-examples.
- rakujira for the awesome Checkpoint logo.
- Fellow testers and troubleshooters for their help.
- The huge amount of supporters that this project has gained over the years.
External links
- Official website - https://flagbrew.org/
- GitHub - https://github.com/FlagBrew/Checkpoint
- GBAtemp - https://gbatemp.net/threads/release-checkpoint-a-fast-and-simple-save-manager-for-3ds-and-switch.503899/
- Homebrew App Store - https://apps.fortheusers.org/switch/Checkpoint