Jina 3.13.1 Update

Jina is a MLOps framework that empowers anyone to build cross-modal and multi-modal applications on the cloud

Black circuit board backdrop with a blue magnifying glass highlighting a CPU and version text "3.13.1 NEW RELEASE"

Jina is a MLOps framework that empowers anyone to build cross-modal and multi-modal applications on the cloud. It uplifts a PoC into a production-ready service. Jina handles the infrastructure complexity, making advanced solution engineering and cloud-native technologies accessible to every developer.

Release ๐Ÿ’ซ Patch v3.13.1 ยท jina-ai/jina
Release Note (3.13.1) Release time: 2022-12-21 12:58:15 This release contains 3 bug fixes and 1 documentation improvement.๐Ÿž Bug FixesSupport Gateway with multiple protocols for Kubernetes expor...

Release Note (3.13.1)

This release contains 3 bug fixes and 1 documentation improvement.

๐Ÿž Bug Fixes

Support Gateway with multiple protocols for Kubernetes export (#5532)

You can now export Flows with multiple protocols to Kubernetes. Previously this would cause an error.

flow = Flow().config_gateway(protocol=['http', 'grpc'])
flow.to_kubernetes_yaml('k8s_flow_folder')

Fix Python 3.11 support (#5529)

It was previously impossible to install Jina with Python 3.11 due to a grpcio dependency problem. grpcio added support for Python 3.11 only with version 1.49.0, causing potential problems when used by Jina and other projects.

In this release grpcio>=1.49.0 is installed alongside Jina when using Python 3.11. However, be aware of potential problems related to grpc hanging.

Unary RPC from Client respects results_in_order (#5513)

In prior releases, calling the post method of a client with grpc and using stream=False did not respect the results_in_order parameter and results were always returned in order:

# this returns results in wrong order
c = Client(protocol='grpc')
c.post(on='/', inputs=DocumentArray.empty(10000), stream=False, results_in_order=False)  

Also this implied that using the Client with asyncio=True and stream=False in the post call would return results in the order that they were returned by the Flow, rather than respecting the input order:

# this returns results wrong in order
c = Client(protocol='grpc', asyncio=True)

async for resp in c.post(on='/', inputs=DocumentArray.empty(10000), stream=False, results_in_order=False)
    print(resp)

This release fixes the ordering bug.

๐Ÿ“— Documentation Improvements

  • Document inheritance of arguments from Flow API to Executors and Gateway (#5535)

๐Ÿค˜ Contributors

We would like to thank all contributors to this release: