FAQ:
What should the overrides option in kobopatch.yaml look like?
Here is mine as an example:
Is this stable?
It is. It has many automated tests, both at compile-time and at runtime. I periodically run manual tests comparing the output of all the patches with the existing patching system. I have also used this on my kobos for over 3 months with 4 different firmware versions.
What is YAML?
YAML is a superset of JSON.
Can I use this with old patches?
Yes.
How can I update kobopatch?
Download the latest binaries from the release page and put them in the bin folder.
How does kobopatch convert from the old patch zips?
First, it extracts the zip and copies the patches to a new folder. Second, it processes the patch files and uncomments instructions which are commented but it recognizes (like patch_group). This allows compatibility to be maintained with the original patcher for now. Finally, it puts kobopatch and the default config in the folder and zips it.
When is zlib support coming?
zlib support was implemented on July 9, 2018.
How can I convert the patch32lsb format to the new kobopatch format?
You can use
this tool. Note that this tool is still alpha quality and needs manual checking after conversion. It also has issues with binary patches (e.g. the zlib ones). It should be stable by v1.0.0.
For individual patches, you can manually convert according to the samples included in the kobopatch repository. Manually converted patches currently are stable, including the binary ones.
How do I add translation files?
First, put the ts files in the src folder. Second, update kobopatch.yaml to match. If you haven't already done so, install the QT Linguist tools. Finally, run kobopatch normally.
Why does my keyboard have the wrong letters when I enable the "Rename new home screen footer" patch?
This is a side effect of some of the string-related patches (especially the "Rename new home screen footer" patch). Due to the way QT stores strings, sometimes, it will use part of another string to save space, and as a result, another string may change as well (such as the keyboard).
Why does kobopatch say a FindReplaceString with special characters has the wrong replacement length?
QT uses the UTF-8 string encoding, which encodes special unicode characters as two bytes. This means that many special unicode characters (like accents, upside-down chars, fancy arrows, etc) may take up two bytes.