Failed uploads now name the reason and stop retrying after a fixed number of attempts.
What's wrong with this entry?
A failed file upload now carries a machine-readable reason alongside the error: file_read, too_large, auth, forbidden, network or canceled. Retries stop after a fixed number of attempts rather than looping on transient errors.
- Filenames are sanitized in the upload's multipart header:
", carriage return and line feed become percent escapes. - An upload-from-bytes entry point was added for callers that already hold the content.
- A separate git helper now classifies a shallow clone as complete, cut or unborn by reading the repository's
shallowfile.
Upload succeeded but no file ID returned
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Related
Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.