yarn react-native-blob-util 0.25.3

latest release: 0.24.13
one hour ago

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.presentOpenInMenu and 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 name or data, no longer crashes the app (#197)
  • A header value that is an object or an array rejects with EINVAL instead of crashing the app on Android; a number or a boolean is sent as its text on every platform (#472)
  • headers that are not an object (a body passed in their place) reject with EINVAL; a long string threw from fetch on Hermes (#334)
  • Android: addAndroidDownloads without useDownloadManager no 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.lstat on 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 503 with Retry-After: 0 each made a POST go out twice. OkHttp's silent retry now stays on only for GET and HEAD, idle connections are dropped after 4 s, and Retry-After is removed from a 503 to other methods (#506, #504)
  • Android: timeout bounds 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 fileCache or path download 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: actionViewIntent with a chooserTitle opens the chooser; it rejected every time (#486)

Don't miss a new react-native-blob-util release

NewReleases is sending notifications on new releases.