apollo-kotlin

 A strongly-typed, caching GraphQL client for the JVM, Android, and Kotlin multiplatform.

MIT License

Stars
3.7K
Committers
247

Bot releases are visible (Hide)

apollo-kotlin - v1.0.0-alpha3

Published by sav007 almost 6 years ago

Fix mistyped property name (#1033)
Fix issue field type generated with lowercase (#1051)
Handle ApolloCacheHeaders.DO_NOT_STORE in http cache. (#1050)
Handle lowercase enum as default value in input objects (#1058)
Fix issue class name formatted with lower case after singularize it (#1059 #1056)
Added support for Instant Apps (#1067)
Added support for com.android.feature plugin (#1070)
Add transient modifier to all generated metafields (#1086)
Rx support for ApolloStoreOperation (#1073)

apollo-kotlin - 1.0.0-alpha2

Published by sav007 about 6 years ago

Fix issue with toString as a cache key for GraphQL input types(#977, #941)
Fix first letter in field name changed to lower case (#998)
Deffer accessing to apollo extension properties until task execution (#979)
Add option to cascade remove record from Apollo Store (#1007)
Re-create http disk LRU cache after it was deleted (#1020)

apollo-kotlin - 1.0.0-alpha

Published by sav007 over 6 years ago

Add new GraphQLJson type to the CustomTypeValue (#897)
Use pre-installed apollo-codegen (#894)
Fix issue with inline fragment inside the root of regular fragment (#899)
Generate input types hashcode / equals methods (#900)
Handle keywords in input types (#909)
Fix mapping of GraphQl Int type to Java int type instead of Long (#901)
Fix issue with query watcher for empty cache (#915)
Do not escape input types too much (#916)
Replace JSR250 with jetbrains annotations (#913)
Add support connection keep alive message (aka heartbeat) (#922)
Add suppression of rawtypes to javaType method
Send operation name in the POST payload (#924)
Fix issue iterator is not final used in nested inner class (#934)
Fix issue with code generation for list of list of custom scalar types (#938, #937)
Fix issue with list of list input type serialization (#966)
Fix issue with inline fragments mapped to null (#971)
Allow Apollo usage for Java libraries modules (#973)
Update Moshi version to 1.6.0 (#974)

apollo-kotlin - 0.5.0

Published by sav007 over 6 years ago

Add the way to dump normalized cache (#825)
Fix issue with schema relative path for gradle submodules (#845)
Format cache keys as sorted json structure (cross platform cache sharing) (#840)
Encode / decode custom type to JSON supported types. (#844)
Fix issue with enum java reserved words (#854)
Fix issue with duplicated Deprecated annotation (#863)
fix: memory leak due not closed SQLite cursors (#860)
Add subscription connection parameters as payload of init message (#865)
Improve API for clearing normalized cache (#874)
Codegen casts hardcoded values in queries to Strings regardless of type (#880)
Fix useJavaBeansSemanticNaming and boolean field starts with is (#881)

apollo-kotlin - v0.4.4

Published by sav007 over 6 years ago

Making generated OPERATION_NAME public (#751)
Use value equality comparison for CacheKey.NO_KEY (#766)
Make the plugin work a pure kotlin project (#755)
Bump code gen version to 0.18.3 (#770)
Serialize custom scalar type map value to string as a json (#771)
Generate subscription operation models (#774)
Remove 153 synthetic accessors from source files. (#777)
Implement "useJavaBeansSemanticNaming" (#772)
annotate input value as nullable (#782)
Serialize custom scalar type list as json string (#784)
add OPERATION_ID as static field. (#788)
Fix issue with non optional field with inline fragment (#789)
Introduce subscription call (#780)
Escape java reserved word as enum const value (#796)
Make ApolloStoreOperation.Callback public (#798)
Serialize null values during GraphQL operation serialization (#802)
Subscription JavaDocs (#805)
Attach operation name to http headers, add operation id as call tag (#806)
Add support of multi-dimensional arrays for input types (#808)
Clear stale files, trigger re-generation on plugin configuration change (#810)
Fix issue with nested inline fragments (#812)
handle ApolloCacheHeaders.DO_NOT_STORE when merging a collection of records (#765)

apollo-kotlin - v0.4.3

Published by sav007 almost 7 years ago

Bump apollo-codegen to the latest version 0.17.1 (#710)
Wrap optional operation variables with Input type (#711)
Add support of enum unknown values (#712)
Operation json writer (#717)
Change mapping of GraphQL Int to Long (#724)
NetworkFirstFetcher fix to return network exception if cache fetch fails (#725)
Inline fragments as polymorphic type (#735)
SQL cache performance (#737)
Remove mutation cache root key. (#745)

apollo-kotlin - v0.4.2

Published by sav007 about 7 years ago

Drop sync API execute call (#606)
Allow to merge null values in records (#645)
Add support of GraphQLList of GraphQLLists (#649)
Provide explicit schema path option to gradle plugin (#651)
Introduce ApolloCall status event notification (#654)
Throw better exceptions when a required field is null (#659)
Introduce InputType for optional values with undefined state (#658)
Extract operation response parser (#660)
Add default scalar type adapters for java built in types (#665)
Fix cache doesn't respect directives (#666)
Extract http cache as standalone submodule (#667)
Fix input list with default values generates non compiled code (#674)
Fix issue with duplicated enum deprecation annotation (#675)
Fix enforce query variable name to be decapitalized (#676)
Fix issue builder is not generated for inline fragment (#679)
Fix issue with InputType builder and default boolean value (#681)
Make generateModelBuilder generate deep builders (instead of shallow) (#680)
Change gradle-plugin artifact to apollo-gradle-plugin (#694)

apollo-kotlin - v0.4.1

Published by felipecsl about 7 years ago

Apollo Android v0.4.1

  • Fix logic in apolloclient build when using callFactory (#591)
  • Prepare for Optimistic update store (#584)
  • Make NormalizedCache to be chained (#596)
  • Add a method to merge a single Record to the store. (#604)
  • Introduce OptimisticNormalizedCache and API to write/rollback (#607)
  • Rename to mutationId and fix issue with partial optimistic store (#611)
  • Mutation public API with optimistic updates (#613)
  • Replace hardcoded separator with File.separator (#616)
  • Attach X-APOLLO-OPERATION-ID http header to all network requests (#619)
  • Introduce record version history for optimistic store (#618)
  • Treat ID as custom scalar type (#620)
  • Generate data model builder (#622)
  • Fix Cache not working when fields have null values (#624)
  • Fix issue with NetworkOnMainThreadException (#625)
  • Fix FindBugs issue of passing nullable fragment as an argument (#626)
  • Fix code generation for Fragments Mapper with Nullable annotations (#630)
  • Add support of field conditions (#631)
  • Fix windows file separator handling (#634)
  • Add support directives to cache field resolver (#635)
apollo-kotlin - v0.4.0

Published by felipecsl about 7 years ago

Apollo Android v0.4.0

Fix stackoverflow crash in clearing normalized cache, make clear httpcache public (#563)
Handle list with null items (#567)
Add invalidate cached item by key from Apollo store (#568)
Change CacheControl to Interceptor based Fetcher (#556)
Generate operation id and add option to send to server instead of document (#569)
Introduce Apollo Store Operation (#573)
Input field marshaller (#576)
Replace Moshi with generated marshaller for operation json serialization (#578)
Fix issue with serializing list of objects (#580)
Remove Moshi from cache layer (#582)
Builder improvements proposal (#421)
Model ApolloCall/Query/Fetcher state as FSM (#577)
Fix issue with ArrayIndexOutOfBoundsException for list items with null (#586)
Second attempt to fix ArrayIndexOutOfBoundException (#587)

apollo-kotlin - v0.3.3

Published by felipecsl over 7 years ago

Apollo Android v0.3.3

Introduce Apollo store write API for GraphQL operation/fragment
Add flag that indicates whether response came from cache or not

apollo-kotlin - v0.3.2

Published by felipecsl over 7 years ago

Apollo Android v0.3.2

#522 Fix missing symbol for input type with default enum value
#524 Fix issue parentType.getFields is not a function for apollo-codegen
#526 Add JavaDoc generation for input types

apollo-kotlin - v0.3.1

Published by felipecsl over 7 years ago

Apollo Android v0.3.1

#426 Add memoizing toString()/hashCode()
#440, #481 Fix package prefixes
#434 Make generated class structure even more flat
#439 Generate fields javadocs from schema description
#428 Feature application interceptors
#445 Display output of apollo-integration task
#447 Emit whole response instead just data in Rx wrapper
#444 Docs for classes in apollo-api module
#471 ApolloParseException is thrown in case response json data field is null
#458 Custom cache key resolver
#472 CustomTypeAdater cannot map to scalar type
#475 Apply the apollo plugin at an earlier stage
#414 Add CacheHeaders
#473 Introduce ApolloCallCanceledException
#480 Read operation/fragment from store
#485 Refactor HttpCache
#494 Builder for no parameters
#461 Add a schema introspection task
#499 Add Java8 Optional generation
#491 Prepare for query re-fetching
#500 Remove unnecessary null check from equals/hashcode
#505 Handle Java reserved words
#504 Introduce explicit re-fetch query for mutation operation
#506 Add custom GraphQL error attributes
#469 Espresso idling resource for Apollo GraphQL client
#515 Fix bug with input type builder assigning double to int
#509 Add re-fetch query watchers
#517 Add Deprecated annotation generation

apollo-kotlin - v0.3.0

Published by felipecsl over 7 years ago

Apollo Android v0.3.0

#368 Refactor package structure
#379 Introduce ApolloExceptions
#388 Java docs
#392 Flatten class generation
#396 Rename Cache to ApolloStore, CacheStore to Normalized cache; Add ability to clearAll from CacheStore
#405 Add Factory to create NormalizedCaches injected with Scalar adapters
#409 Extract Android specific stuff to separate module
#410 Add Java 8 Optional Api map, flatmap
#407 RxJava2 Module

apollo-kotlin - v0.2.2

Published by marwanad over 7 years ago

Apollo Android v0.2.2

Introduces a new ApolloClient API with caching and RxJava support

#218 Remove apollo-converter
#230 Drop stream response reader support
#226 Allow multiple schema files
#245 Make ApolloClient generic, add CallAdapter
#246 Cache interceptor
#260 Add Normalized Cache structure and Response normalization
#298 SqlStore
#312 Add Query Watching
#313 Introduce Apollo dispatcher for async calls
#322 Generate Optional instead of null
#330 Add read/write transactions to cache interface
#331 Make Response object return optional if such config selected
#339 Add global configuration for cache control
#340 Fix singularize for list only
#341 RxJava1 bindings
#342 Add record field serialization
#348 Add bounded memory LRU cache
#365 Response body empty when HttpException throw
#363 Handle missing record in SqlStore
#371 use compiled sql statements, use update for merge

apollo-kotlin - v0.2.1

Published by felipecsl over 7 years ago

Apollo Android v0.2.1

This will be the latest version that depends on Retrofit. We are currently working on an ApolloClient with Caching which will depend only on Okhttp.

#213 Keep enum const case the same as defined in schema
#211 update the sample with ResponseFieldMappers.MAPPERS
#207 Fix generation enum javadoc with special symbol
#202 Generate map initialized with POJO Mappers
#176 update the README.md to 0.2.1
#200 Drop wildcard generation for lists
#191 Fix generation of nested structures with the same name results in compiler errors
#197 update the setup instructions
#193 Equals and hashcode for POJO
#194 Fix issue with union type
#192 Add toString method generation for POJO
#188 Add final keyword generation for pojo fields
#187 Add missing cast to String for enum field
#182 Fix issue with import object for custom scalar type
#181 Add missing annotation generation
#178 Enable Mapper class generation for abstract models
#177 Add fallback to Object in case if there is no custom scalar type mapping specified
#174 Update sample with latest changes to converter
#168 Move :apollo-converters:pojo to apollo-converter
#165 Add support of handling custom scalar types to OperationRequest
#163 Update sample app with the latest changes to compiler
#156 Update Mapper generation to use factories
#160 Use the same artifactids and jar name as on sonatype
#150 use proper singularized version of species in the sample
#157 Refactor API Field
#158 Fix missing factory accessor method for fragments
#141 fix Fragment class imports in Operation code generation

apollo-kotlin - v0.1.0

Published by felipecsl over 7 years ago

Apollo Android initial release v0.1.0

This is the very first release of Apollo Android.
It provides a basic support for GraphQL model generation. The Android plugin will generate "plain old Java objects" that represent your query according to the schema.json file provided.
We are still working on the documentation (readme, javadocs, etc.) so, in the meantime, please refer to the existing sample project and unit/integration tests for examples of how to use the plugin.