Blog
Why it reads the way it does.
The documentation says what each function does. These posts say why, one change at a time, and each one names the version you can install to get it.
A file name does not name a file
truecopy 2.0.15 gives every document it opens the SHA-256 of its bytes. Why a reading kept for years needs it, and why it is taken before pdf.js touches the file.
A postal code is not a negative number
truecopy 2.0.14 lets the caller say what a bracket around a figure means. Why the library stopped guessing, and why the default did not move.