sling_gql 1.3.2
sling_gql: ^1.3.2 copied to clipboard
GraphQL client for Flutter where the widget is the query — read a field, get the query.
1.3.2 #
1.3.0 #
- FEAT(sling_gql_gen): slingSchema.fields lists the mutation and subscription roots. (0a0f4445)
1.1.0 #
- PERF(sling_gql): a miss builds its singleton tree only when a batch is in flight. (91a26d1c)
- PERF(sling_gql): TypePolicy.keyFields are looked up once per selection node. (9787e674)
- FEAT(sling_gql): TypePolicy.keyFields, the fields a custom identify reads. (6aed5de7)
- FEAT(sling_gql): cancelQueries drops the responses in flight on sign-out. (49b6e9b0)
- DOCS(sling_gql): keyFields example without app vocabulary. (3e925fc9)
1.0.1 #
1.0.0 #
Note: This release has breaking changes.
-
First stable release. Upgrading from 0.x: see Upgrading to 1.0.
-
FIX(sling_gql): whole-selection fetches carry the rows' fields. (963f0033)
-
FEAT(sling_gql): PaginatedQueryBuilder takes QueryBuilder's options (#73). (a7926895)
-
FEAT(sling_gql): keep retryable replays queued; clearMutationQueue for sign-out. (c4b0e99e)
-
FEAT(sling_gql): SlingSchema.fields, the schema shape for stores (#72). (61f10b02)
-
DOCS(sling_gql): drop the proof-of-concept wording; Versioning section (#73). (6368a9a8)
-
BREAKING REFACTOR(sling_gql): settle the 1.0 public surface (#73). (0f1e6992)
-
BREAKING FEAT(sling_gql): typed error model, errorPolicy, timeouts, retry and auth. (24b1761d)
-
BREAKING FEAT(sling_gql): type policies and relay connection merging (#50). (5852ab63)
-
BREAKING FEAT(sling_gql): Cache.compact(upTo:) drops the change records a store holds. (88960781)
-
BREAKING FEAT(sling_gql): operation roots in CacheDelta field by field; NormalizedCache.adopt. (011cf15d)
0.2.1 #
- REFACTOR(sling_gql): drop unused selection parameter from Cache.writeResponse (#27). (a52046cb)
- PERF(sling_gql): allocation-free read path, memoized aliases and scalar parsing (#17, #18). (f2c8fbac)
- FIX(sling_gql): Cache.batch asserts a synchronous body (#21). (ecfcf389)
- FIX(sling_gql): builders see their own run's isStale and background isLoading. (bc918a0c)
- FIX(sling_gql): partial mutation errors roll back before writing resolved fields (#29). (389908ab)
- FIX(sling_gql): 64-bit FNV-1a argument aliases; depKey is unambiguous with dotted ids (#33, #26). (f9df3ae2)
- FEAT(sling_gql): list-index dependency keys for inline lists (#54). (d97091c4)
- FEAT(sling_gql): export debugOwnerLabel from internal.dart for adapters (#47). (b037226c)
- FEAT(sling_gql): public QueryState/MutationState/SubscriptionState constructors for adapters (#47). (0b455d5d)
- FEAT(sling_gql): coalesced Cache.onChange and incremental changesSince deltas (#21). (d50a4d43)
- FEAT(sling_gql): request log and in-app request overlay attributing requests to widgets (#46). (3572870e)
- FEAT(sling_gql): automatic cache gc after N responses, keeping what live scopes read (#22). (37d7e390)
- FEAT(sling_gql): type-qualified response keys for fields repeated across fragments (#57). (3f07c0d0)
- FEAT(sling_gql): MutationState.data, latest call wins (#28). (32337429)
- FEAT(sling_gql): SlingClient(schema:) takes the root factory and key field (#25). (be7a00ce)
- FEAT(sling_gql): QueryBuilder(scheduler:) (#24). (ab11bcc7)
- DOCS(sling_gql): onChange lists the inline-list element/length keys (#54). (b60fa0f2)
0.2.0 #
Note: This release has breaking changes.
- PERF(sling_gql): per-row rebuilds with SlingRow; structural compare for inline containers (#19, #20). (e8729bc0)
- FEAT(sling_gql): unions and interfaces via inline fragments (#31). (608f3a9c)
- FEAT(sling_gql): subscriptions over SSE, SubscriptionBuilder, list rules. (de298c66)
- FEAT(sling_gql): fetch policies and maxAge stale-while-revalidate (#23, #52). (21a4d4d6)
- FEAT(sling_gql): SlingClient.isIdle / whenIdle. (54db8e5a)
- BREAKING REFACTOR(sling_gql): split the public API surface (#32). (048cfac8)
0.1.1 #
example/main.dart: a complete, self-contained app (query, mutation, optimistic write) shown on the pub.dev Example tab.- Repository: pub workspace + melos, CI on every push, releases via
melos version.
0.1.0 #
Initial release — proof of concept.
QueryBuilder/MutationBuilder/SlingScope: read typed accessors duringbuild(), get the query.- Selection recording, per-frame batching into one GraphQL document, argument → variable extraction with deterministic aliases.
- Normalized cache (
__typename:identities, by-id lookups,evict,gc,snapshot/onChange), per-field rebuild notifications. - Skeleton state before data arrives,
preparefor conditional reads, waterfall warnings in dev mode. - Mutations with optimistic writes, journaled and rolled back on failure.
- Partial
errors[]handling, sticky errors withrefetch, retry cooldown. - Cursor pagination helpers,
CacheScope.listfor list membership updates.