Version 2.5.3 is a maintenance release with improvements around codegen, runtime and cache.
Interfaces on interfaces
Version 2.5.3 adds support for GraphQL RFC 373 (interfaces implementing interfaces). This makes sure the codegen understands interfaces implementing other interfaces and can compute the fragments possible types appropriately. It doesn't change the generated code.
Json Content-Type
Version 2.5.3 changes the Content-Type
for apollo-runtime-kotlin
from "aplication/json; charset=utf-8"
to "application/json"
. This has been confusing spring servers and is the default json content type moving forward. If everything goes well, apollo-runtime
will also switch to "application/json"
in a future release. Read more in #2883. Many thanks to @vikrama for diving into this and fixing it.
Full Changelog
✨ New
- [Runtime] Added toString methods to api.Error and api.Error.Location (#2905)
- [Codegen] Support interface on interface (#2887)
👷 Fixes
- [Normalized Cache] Be more robust to publish errors (#2900)
- [Multiplatform] Removing deprecated charset=utf-8 from Content-Type header for multiplatform (#2883)
- [Build scripts] configure the Kotlin compiler option for multiplatform projects (#2877)
- [Tests] Fix potential case where the tests would wait forever (#2875)
- [Runtime] Use Okio's base64 implementation (#2870)
- [Runtime] Allow to store Json custom scalars in cache records (#2859)
📖 Documentation
- [Docs] Add redirect for /tutorial to the first page of the tutorial in docs (#2898)
- [Docs] Fix callback blocks (#2873)
❤️ External contributors
Many thanks to @vikrama for fixing the content-type, to @AOrobator for making the Error
and Location
classes easier to debug, to @ansman for fixing Base64 on old Android versions, to @emmano for improving the documentation and @lwasyl for all the cache investigations!