New: Built-in support for Kotlin's Unit type. This behaves the same as Java's Void where the body
content is ignored and immediately discarded.
New: Built-in support for Java 8's Optional and CompletableFuture types. Previously the 'converter-java8'
and 'adapter-java8' dependencies were needed and explicitly adding Java8OptionalConverterFactory and/or
Java8CallAdapterFactory to your Retrofit.Builder in order to use these types. Support is now built-in and
those types and their artifacts are marked as deprecated.
New: Invocation class provides a reference to the invoked method and argument list as a tag on the
underlying OkHttp Call. This can be accessed from an OkHttp interceptor for things like logging, analytics,
or metrics aggregation.
New: Kotlin extension for Retrofit which allows you call create passing the interface type only as
a generic parameter (e.g., retrofit.create<MyService>()).
New: Added Response.success overload which allows specifying a custom 2xx status code.
New: Added Calls.failure overload which allows passing any Throwable subtype.
New: Minimal R8 rules now ship inside the jar requiring no client configuration in the common case.
Fix: Do not propagate fatal errors to the callback. They are sent to the thread's uncaught
exception handler.
Fix: Do not enqueue/execute an otherwise useless call when the RxJava type is disposed by onSubscribe.
Fix: Call RxJavaPlugins assembly hook when creating an RxJava 2 type.
Fix: Ensure both the Guava and Java 8 Optional converters delegate properly. This ensures that converters
registered prior to the optional converter can be used for deserializing the body type.
Fix: Prevent @Path values from participating in path-traversal. This ensures untrusted input passed as
a path value cannot cause you to make a request to an un-intended relative URL.
Fix: Simple XML converter (which is deprecated) no longer wraps subtypes of RuntimeException
or IOException when it fails.
Fix: Prevent JAXB converter from loading remote entities and DTDs.
Fix: Correctly detect default methods in interfaces on Android (API 24+). These still do not work, but
now a correct exception will be thrown when detected.
Fix: Report more accurate exceptions when a @QueryName or @QueryMap precedes a @Url parameter.
Update OkHttp dependency to 3.12.
Version 2.4.0 (2018-03-14)
New: Retrofit.Builder exposes mutable lists of the added converter and call adapter factories.
New: Call adapter added for Scala's Future.
New: Converter for JAXB replaces the now-deprecated converter for Simple XML Framework.
New: Add Java 9 automatic module names for each artifact corresponding to their root package.
Fix: Do not swallow Errors from callbacks (usually OutOfMemoryError).
Fix: Moshi and Gson converters now assert that the full response was consumed. This prevents
hiding bugs in faulty adapters which might not have consumed the full JSON input which would
then cause failures on the next request over that connection.
Fix: Do not conflate OkHttp Call cancelation with RxJava unsubscription/disposal. Prior to
this change, canceling of a Call would prevent a cancelation exception from propagating down
the Rx stream.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/cbeust/kobalt/network/alerts).
Bumps retrofit from 2.3.0 to 2.5.0.
Changelog
Sourced from retrofit's changelog.
Commits
40621bf
[maven-release-plugin] prepare release parent-2.5.08bd6c99
Prepare next development version5d6650a
Merge pull request #2967 from square/jakew/robo/2018-11-1823592bc
Merge pull request #2968 from square/jakew/okhhtp/2018-11-1801e024b
Update OkHttp to 3.127d8dd16
Update Robolectricf0cad11
Merge pull request #2962 from square/jakew/completable-future-android/2018-11-16bc62069
Merge pull request #2963 from square/jakew/nullability/2018-11-167dcac1d
Merge pull request #2964 from square/jakew/header-tests/2018-11-1607cb4ae
Add tests for form and multipart header values and overridesDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/cbeust/kobalt/network/alerts).