PSP v1.0.0!
Palworld Save Pal v1.0!
We originally intended to ship this alongside Palworld v1.0, but we chose to hold it back. Instead, we kept updating the Python version first to work out the bugs in the parser against real v1.0 saves. Now that we believe we've found and fixed the bulk of those issues, and the Rust parser has been brought up to the same level, we're finally comfortable releasing v1.0 of Palworld Save Pal. A complete rewrite of the Python backend ported to Rust, 0% Python in PSP!
🦀 Why the Rust rewrite
The main driver was simple: the pains of compiled Python, Python is a great language, for compiled and distributed apps not so much. Antivirus false positives, security "experts" stating our app is a trojan on Nexus all while being open-source and openly available on github, the cxFreeze/Pyinstaller/Nuitka dance, shipping the entire Python interpreter with every release, the list goes on and on. All painful... never again...
PSP was originally built on a Python backend thanks to palworld-save-tools. We're grateful it got us this far and will continue to support it, however, moving forward PSP will rely on uesave-rs as it's parser. Specifically we rebuilt on top of uesave-rs in our fork.
The benefits of Rust are performance, safety, and a modern ecosystem that lets us build reliable tools without the drawbacks of compiled Python. With this release, we can confidently say PSP is the fastest Palworld save editor available.
No more build headaches. With the Python backend gone, we should no longer have to deal with:
- Antivirus false positives, and the nightmare that is uploading to Nexus Mods
- Multiple instances of PSP running at once, and the infamous "Main window failed to start" error
cx_Freezeerrors- and the many other issues that came with a compiled Python backend
What we gain for free:
- Almost instant startup time.
- A HUGE speedup in reading and writing saves, up to 5X faster for some saves.
- Improved safety and reliability thanks to Rust's strong type system and memory-safety guarantees
Now that v1.0 is out, we'll keep working to stabilize and add new features.
What's new since v0.17.8
New Features
- App related
- Native desktop app built with Tauri — ships as an MSI installer and a portable build, with single-instance handling built in (no more "Main window failed to start")
- Automatic one-time database import — your existing settings, presets, Universal Pal Storage, and server configs are imported from the oldpsp.dbon first start; the legacy file is backed up and never modified
- Session persistence — new eject control and autosave-on-close, web version now supports session based editing (save per tab/window).
- Bulk Actions page with table view of players, guilds, and pals. The plan is to add a bunch of useful features here, stay tuned. - Game Related
- Increased Pal work suitability range from 5 to 10
- Can now edit all new Player stats: Capture Power, Satiety Duration, Swimming Ability, Food Preservation, Jump Power, Flight Capacity, Climbing Proficiency, Status Resistance, Endurance, Sphere Tracking, EXP Gain, Rainbow Fortune, Movement Speed
- Map updated including new World Tree area, all map objects updated
- Can now collect all new Pal Effigies from the map
Improvements & Fixes
- Brought the Rust parser fully in line with the latest Palworld v1.0 saves
Breaking change: JSON files exported by the old Python tooling can no longer be converted back to
.sav. Re-export the save with this version first —sav → json → savround-trips are only supported within the v1.0+ generation.