apollo-android v3.3.1 Release Notes
-
2022-06-13
๐ This release introduces
@typePolicy
on interface/enums, improvements on subscription error handling, and on Test ๐ Builders. It also contains a number of other improvements and bug fixes!โจ๏ธ [new]
@typePolicy
on interfaces and unions (#4131)๐ The
@typePolicy
directive can now be declared on interfaces and unions. Thank you @bubba for the contribution!๐ WebSockets / Subscriptions error handling (#4147)
๐ An issue where
websocketReopenWhen
was not called in some cases was fixed. Also, this release introducesSubscriptionOperationException
. ASubscriptionOperationException
will be thrown instead of the more ๐ท genericApolloNetworkError
if a subscription fails due to a specific operation error.๐ ๐ Test Builders improvements and fixes
- ๐ A DslMarker was added to improve usage with nested builders (#4089)
- ๐ When calling a builder, but not assigning it to a field, an error is now thrown, preventing mistakes (#4122)
- The error message displayed when
__typename
is missing was made clearer (#4146) - ๐ Fix: use
rawValue
instead ofname
for enums (#4121)
โจ๏ธ [new] ApolloClient implements Closable (#4142)
ApolloClient
now implementsokio.Closable
so you can ๐ useuse
with it. Thanks @yogurtearl for this contribution!โจ๏ธ [new] experimental
@targetName
directive on enum values (#4144)If an enum value name is clashing with a reserved name (e.g.
type
) you can now use this directive to instruct the codeGen to use the specified name for the value instead. This directive is experimental for now.๐ โจ๏ธ [new] experimental support for renaming directives (#4174)
As we add more client directives, the risk of nameclash with existing schema directives increases. If this happens, you can now import Apollo client directives using
@link
: