Changes in 0.7¶
0.7.x¶
0.7.5¶
Add sqlalchemy 2 support in PR-163 <https://github.com/evo-company/hiku/pull/163> _
0.7.4¶
Fix requires as list if more that one Link with such requires is used in query
Migrate project to docker compose (v2)
0.7.3¶
Added support for Python 3.12
Fixed fragments merging. Previously we were merging fragments to aggresively, and it broke unions support in some cases. Fixed in PR-151 <https://github.com/evo-company/hiku/pull/151> _
0.7.2¶
Wrap functions in hiku.telemetry.prometheus.py to retain original function name in metrics
[fix] Add missing UnionRef to federation sdl generation
0.7.1¶
Fixed bug in graphql parser with undefined fragment used in query
0.7.0¶
Dropped support for Python 3.6, which ended support on 2021-12-23
Added support for Python 3.10
Added support for Python 3.11
Added support for Apollo Federation (v1)
Added support for Apollo Federation v2 (v2 is default now)
[internal] Refactored introspection directives
Added graph schema directives support
Added
directivesargument tohiku.graph.FieldAdded
directivesargument tohiku.graph.Link
Added
Deprecateddirectivefrom hiku.directives import Deprecated graph = Graph([ Root([ Field('lorem-ipsum', String, func, options=[Option('words', Integer, default=50)], directives=[Deprecated('use another field')]), ]), ])
Or you can use
deprecatedargument tohiku.graph.Field: orhiku.graph.Link:from hiku.directives import Deprecated graph = Graph([ Root([ Field('lorem-ipsum', String, func, options=[Option('words', Integer, default=50)], deprecated='use another field'), ]), ])
Added mypy and typings to codebase
Added checks for link results that can not be hashed and extend errors. This must improve developer experience.
Added result cache - it is possible now to specify
@cacheddirective to cache parts of the query. Check cache documentationLink(requires=['a', 'b'])can be specified as a list of strings. It is useful when you want to require multiple fields at once. It will pass a list of dicts to the resolver.Added hints when failing on return values that are not hashable
Migrated to
pdmpackage managerReformat code with
blackAdded support for custom schema directives Check directives documentation
Added ID type.
Added support for unions Check unions documentation
Added support for interfaces Check interfaces documentation
Added support for enums Check enums documentation
Added support for custom scalars Check custom scalars documentation
Added support for extensions Check extensions documentation
Added
QueryParseCacheextension - cache parsed graphql queries ast.Added
QueryValidationCacheextension - cache query validation.Added
QueryDepthValidatorextension - validate query depthAdded
PrometheusMetricsextension - wrapper aroundGraphMetricsvisitorAdded
PrometheusMetricsAsyncextension - wrapper aroundAsyncGraphMetricsvisitor
Add new method
Engine.execute_context, which acceptsExecutionContext.Engine.executenow dispatches toEngine.execute_context.Add new method
Engine.execute_mutation, which allows to execute query against mutation graphAdd optional
contextargument toGraphqlEndpoint.dispatchmethod
Backward-incompatible changes¶
Dropped Python 3.6 support, minimum supported version now is Python 3.7
Validate Option’s default value. Now if type is not marked as Optiona[…] and default=None, validation will fail.