This is the last release of the 0.25 line. 0.25 stays installable as npm install react-native-blob-util@support-0.25, but it gets no further fixes. 1.x is where fixes go from now on; it needs the New Architecture and React Native 0.84 or newer. Apps still on the Old Architecture can keep 0.25 until they move. See Migrating to 1.0.
0.25.2 was tagged but never published, so its two fixes ship here too.
Crashes
- iOS: the document menus (
ios.presentPreview,ios.presentOptionsMenu,ios.presentOpenInMenuand their aliases) present from the view controller on top. With the UIScene life cycle that React Native 0.88's template uses, the first menu crashed the app; over a modal screen a menu did nothing (backport of #498, #311) - iOS: an empty multipart form, or one whose last field has no
nameordata, no longer crashes the app (#197) - A header value that is an object or an array rejects with
EINVALinstead of crashing the app on Android; a number or a boolean is sent as its text on every platform (#472) headersthat are not an object (a body passed in their place) reject withEINVAL; a long string threw fromfetchon Hermes (#334)- Android:
addAndroidDownloadswithoutuseDownloadManagerno longer crashes the app when listing the file in the Downloads app; the entry is named after the file when no title is given (#390) - Android:
fs.lstaton a folder that cannot be read reports an error instead of crashing the app (#425)
Requests
- Android: a request that fails after the server may already have received it is no longer sent a second time. A read timeout, a connection the server dropped and a
503withRetry-After: 0each made a POST go out twice. OkHttp's silent retry now stays on only forGETandHEAD, idle connections are dropped after 4 s, andRetry-Afteris removed from a503to other methods (#506, #504) - Android:
timeoutbounds writing the request body too; an upload the server stopped reading never ended (#384) - Android: a response header sent more than once (
Set-Cookie) keeps every value, joined with,as on iOS; only the last reached JS (#377) - Android: a
fileCacheorpathdownload no longer rejects with "Unexpected FileStorage response file" when the app has an OkHttp application interceptor that wraps the response body (#495) - Every request listener is released on completion, error and cancellation; each request used to leave its progress listener behind, and a cancelled one its server-push listener too (#492, #489)
Other
- Android:
actionViewIntentwith achooserTitleopens the chooser; it rejected every time (#486)