You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The declarative cache makes working with the cache and defining unique object ids easier. We also want to include helpers to handle with common cases like pagination, garbage collection and eviction. Follow [#2331](https://github.com/apollographql/apollo-kotlin/issues/2331) for a high level overview.
18
+
All active feature development is now being done for `5.x` releases on the `main` branch. Critical bugfixes and security patches will land in version 4 on the `release-4.x` branch.
19
19
20
-
* Cache control is now available ([doc](https://apollographql.github.io/apollo-kotlin-normalized-cache/cache-control.html)) 🎉.
21
-
* A [first implementation of garbage collection](https://github.com/apollographql/apollo-kotlin-normalized-cache/pull/69) is also available ([doc](https://apollographql.github.io/apollo-kotlin-normalized-cache/garbage-collection.html)).
22
-
*[Partial cache results](https://github.com/apollographql/apollo-kotlin-normalized-cache/issues/57) is also available.
20
+
## Jetpack Compose extensions
23
21
24
-
Using the new cache, early results show a speed improvement. We're currently working on confirming those numbers and improving performance overall. As always, your feedback is greatly appreciated and helps us improve faster.
22
+
[Jetpack Compose](https://developer.android.com/jetpack/compose) is a declarative UI framework for building Android UIs written in Kotlin. We are experimenting with a few different approaches for supporting Compose in the Apollo Kotlin library. Our 3.8.0 release introduced an experimental API for use with Compose but gathered little feedback. We're planning to revisit this with more ambitious goals in terms of fragments colocation, error boundaries and more generally integration with the UI framework.
This pattern is encouraged by [Relay](https://relay.dev/docs/tutorial/fragments-1/) and [Apollo Client (TypeScript)](https://www.apollographql.com/blog/optimizing-data-fetching-with-apollo-client-leveraging-usefragment-and-colocated-fragments) and may prove to be valuable to developers using Compose.
27
25
28
-
The community has given some consistent feedback around testing and data builders in particular. [Apollo Kotlin Faker](https://github.com/apollographql/apollo-kotlin-faker) is now available for rapid schema-driven testing, a pattern that we have seen used with success in other Apollo projects. This library is released in a v0 form - your feedback will be extremely valuable in shaping the API.
26
+
## IntelliJ plugin usability
29
27
30
-
Data builders are still available, but the `FakeResolver` API will eventually be replaced by the analogous functionality in Apollo Kotlin Faker.
28
+
We are planning to remove some of the limitations of the current plugin in order to make it easier to work with (by simplifying configuration, especially for server vs client use cases) as well as consume less resources (by skipping the Gradle daemon). This work is exploratory and will also unlock future improvements for the plugin such as adopting new GraphQL features and directives faster.
31
29
32
-
## Jetpack Compose extensions
30
+
## [Cache improvements](https://github.com/apollographql/apollo-kotlin/issues/2331) (on pause, feedback needed 🙏)
33
31
34
-
_This is currently available as an experimental feature. We will release a stable version after getting sufficient user feedback._
32
+
Apollo Normalized Cache v1 alphas [are available now](https://github.com/apollographql/apollo-kotlin-normalized-cache/releases) and contain lots of new features like [Cache Control](https://apollographql.github.io/apollo-kotlin-normalized-cache/cache-control.html), [garbage collection](https://apollographql.github.io/apollo-kotlin-normalized-cache/garbage-collection.html), TTL, [partial cache results](https://github.com/apollographql/apollo-kotlin-normalized-cache/issues/57), better performance and more...
35
33
36
-
[Jetpack Compose](https://developer.android.com/jetpack/compose) is a declarative UI framework for building Android UIs written in Kotlin. We are experimenting with a few different approaches for supporting Compose in the Apollo Kotlin library. Our 3.8.0 release introduced an experimental API for use with Compose, please do try it out and give us feedback!
34
+
We encourage you to try it out with the (important) caveat that the binary format might still change (your persistent cache might be lost when upgrading to a newer alpha versions, memory cache isn't impacted). Your feedback is greatly appreciated and helps us ship a stable version faster.
37
35
38
-
We are currently in the very early stages of exploring a potential API for encouraging fragment colocation as part of our Jetpack Compose extensions. This pattern is encouraged by [Relay](https://relay.dev/docs/tutorial/fragments-1/) and [Apollo Client (TypeScript)](https://www.apollographql.com/blog/optimizing-data-fetching-with-apollo-client-leveraging-usefragment-and-colocated-fragments) and may prove to be valuable to developers using Compose.
36
+
## [Apollo Kotlin Faker](https://github.com/apollographql/apollo-kotlin-faker) (on pause, feedback needed 🙏)
39
37
40
-
## Future feature releases
38
+
Apollo Kotlin Faker [is now available](https://github.com/apollographql/apollo-kotlin-faker/releases) for rapid schema-driven testing, a pattern that we have seen used with success in other Apollo projects. We encourage you to try it out. Your feedback is greatly appreciated and helps us ship a stable version faster.
41
39
42
-
- Better support for inline value classes.
43
-
- Stable Jetpack Compose extensions - user feedback is critical here, please do try out the experimental extensions and let us know what's working and what could be improved!
44
-
45
-
## Version 3 releases
46
-
47
-
All active feature development is now being done for `4.x` releases on the `main` branch. Critical bugfixes and security patches will land in version 3 via `3.8.x` on the `release-3.x` branch.
0 commit comments