1.2.0
Though 1.2 is a minor version bump, a critical problem was addressed in this version that requires a small breaking change during the upgrade. While we strive to make the upgrade path for minor versions seamless, this issue could not be reasonably resolved without requiring this migration.
For most users, this migration will only require a single change to your SchemaConfiguration.swift
file.
For a detailed explanation of the breaking changes and a guide on how to migrate to v1.2, see our migration guide.
Breaking
- Cache Key Configuration API Changes (#2990): The API for configuring custom cache keys has had a minor change in this version. The signature of the
cacheKeyInfo(for:object:)
function, defined in your generated SchemaConfiguration.swift file, has been modified. For more information, see our migration guide.
Improved
- Improved performance of GraphQL execution (#2990): Improvements to the
GraphQLExecutor
resulted in a ~15-20% reduction in execution time for parsing and mapping network response or cache data onto generated models. - Improved performance of generated model initialization and type conversions (#2990): The
DataDict
used to store the data for generated models has been updated to use copy-on-write value semantics. This resulted in a ~70-80% reduction in the execution time of initialization and type case conversions in the generated models.
Fixed
- Pruning generated files for
.relative(subpath:)
operations (#2969): See PR #2994. Thank you to @jimisaacs for raising the issue. - InputObjects generated with incorrect getter/setter key (#2858): See PR #2996. Thank you to @Austinpayne for raising the issue.
- Generates conflicting types for fields of singular and plural names (#2850): See PR #3009. Thank you to @sgade for raising the issue.
- Equality operator shows incorrect values based on value of
__fulfilled
(#2944): See PR #2990. Thank you to @scottasoutherland for raising the issue.
New
- Add option to generate objects with
internal
access modifier (#2630): See PR #2917. Thank you to @simonbilskyrollins for the feature request.