Skip to content

Releases: jina-ai/serve

💫 Patch v3.23.2

14 Dec 15:31
9eb4d09
Compare
Choose a tag to compare

Release Note (3.23.2)

Release time: 2023-12-14 15:28:24

This release contains 1 dependency update and 2 bug fixes.

⚙ Dependency update

Update GRPC version requirements (#6110)

The grpc version requirements have been updated to allow grpcio<=1.57.0.

🐞 Bug Fixes

Better handling of Exceptions in dynamic batching (#6128)

An issue was identified when a dynamic batch raises an Exception that could affect some unrelated requests.

Load-balancing streaming based on response type (#6122)

When using Deployment locally with multiple replicas, a load-balancing process is added in front of the replicas.
The load balancer assumed all GET requests to be streaming, but this may not be true for user-added FastAPI endpoints. We have fixed this assumption and now use the response type to determine if a request is streaming.

🤟 Contributors

We would like to thank all contributors to this release:

💫 Patch v3.23.1

01 Dec 09:27
2a56068
Compare
Choose a tag to compare

Release Note (3.23.1)

Release time: 2023-12-01 09:24:22

This release contains 1 bug fix.

🐞 Bug Fixes

Fix dependency on OpenTelemetry Exporter Prometheus (#6118)

We fixed the dependency version with opentelemetry-exporter-prometheus to avoid using deprecated versions.

🤟 Contributors

We would like to thank all contributors to this release:

💫 Patch v3.23.0

20 Nov 10:05
891ee1a
Compare
Choose a tag to compare

Release Note (3.23.0)

Release time: 2023-11-20 10:02:37

This release contains 1 new feature and 1 bug fix.

🆕 Features

Call extend rest interface in worker (#6108)

When running a Deployment with HTTP locally without docker you can now extend the API by using extend_rest_interface, the same as with Flow.

    import jina
    from jina import Deployment
    def extend_rest_function(app):
        @app.get('/hello', tags=['My Extended APIs'])
        async def foo():
            return {'msg': 'hello world'}

        return app

    jina.helper.extend_rest_interface = extend_rest_function
    d = Deployment(protocol='http', port=8080)

    with d:
        response = requests.get(f'http://localhost:8080/hello')
        assert response.status_code == 200
        assert response.json() == {'msg': 'hello world'}

🐞 Bug Fixes

Read CSV with escaped chars (#6102)

There was an issue when using Jina to do batch transformations on SageMaker. Parsing texts with escape characters was not working properly.

🤟 Contributors

We would like to thank all contributors to this release:

💫 Patch v3.22.4

31 Oct 14:36
ab2cc19
Compare
Choose a tag to compare

Release Note (3.22.4)

Release time: 2023-10-31 14:33:21

This release contains 1 bug fix.

🐞 Bug Fixes

Add option to use body for streaming instead of params (#6098)

In order to allow complex nested documents to pass through streaming endpoints, the GET endpoint can now get the data from the body or the parameters of the HTTP request.

🤟 Contributors

We would like to thank all contributors to this release:

💫 Patch v3.22.3

25 Oct 12:05
e1f9774
Compare
Choose a tag to compare

Release Note (3.22.3)

Release time: 2023-10-25 12:03:58

This release contains 1 bug fix.

🐞 Bug Fixes

Add and use POST endpoint for streaming (#6093)

HTTP streaming when using a GET endpoint only allows Documents whose schemas contain only str, int, and float fields.

By adding a POST endpoint and modifying the Jina Client to use it, it is now possible to send Documents with complex nested document schemas over streaming HTTP.

🤟 Contributors

We would like to thank all contributors to this release:

💫 Patch v3.22.2

20 Oct 14:43
2c3d7d3
Compare
Choose a tag to compare

Release Note (3.22.2)

Release time: 2023-10-20 14:42:15

This release contains 1 bug fix and 5 documentation improvements.

🐞 Bug Fixes

Fix check graph compatibility nested types (#6085)

A bug was found that prevented Flows from starting when they had Executors with different but compatible schemas. This is now fixed.

📗 Documentation Improvements

  • Add Jina deployment docs (#6079)
  • Fix typos inside docs/cloud-nativeness (#6080)
  • Fix typos inside docs/concepts directory (#6082)
  • Fix typo inside docs/tutorials (#6083)
  • Fix readme code (#6075)

🤟 Contributors

We would like to thank all contributors to this release:

💫 Patch v3.22.1

06 Oct 13:54
2b7a862
Compare
Choose a tag to compare

Release Note (3.22.1)

Release time: 2023-10-06 13:52:45

This release contains 1 bug fix.

🐞 Bug Fixes

Fix timeout issue with dynamic batching (#6071)

When using dynamic batching (either with the @dynamic_batching decorator on an Executor endpoint or by setting the uses_dynamic_batching parameter on a Deployment, timeouts were not being properly taken into account because the timer might not be triggered until a previous batch finished. This has been fixed.

🤟 Contributors

We would like to thank all contributors to this release:

💫 Release v3.22.0

04 Oct 12:18
2e2bfea
Compare
Choose a tag to compare

Release Note (3.22.0)

Release time: 2023-10-04 12:16:53

This release contains 1 new feature and 2 documentation improvements.

🆕 Features

Change the way dynamic batching is handled (#6066)

This release implements some changes in the way we handle dynamic batching:

  • Jina guarantees that all the batches passed to Executors contain no more than preferred_batch_size documents.
  • Requests are returned to the client as they are processed without waiting for other requests to be ready.

📗 Documentation Improvements

  • Fix dynamic batching documentation (#6068)
  • Fix line explaining dynamic batching in YAML (#6065)

🤟 Contributors

We would like to thank all contributors to this release:

💫 Patch v3.21.1

29 Sep 10:47
31e0c9a
Compare
Choose a tag to compare

Release Note (3.21.1)

Release time: 2023-09-29 10:45:55

This release contains 1 bug fix.

🐞 Bug Fixes

Fix issue with same doc type in different containerized Executors (#6062)

When multiple Executors inside a Flow had the same model name and they were used as docker containers or had set the environment variable JINA_MP_START_METHOD=spawn, there was a problem serving them via HTTP. This has been fixed by making sure that only one model instance is served for each model name.

🤟 Contributors

We would like to thank all contributors to this release:

💫 Release v3.21.0

26 Sep 15:55
9b5bd89
Compare
Choose a tag to compare

Release Note (3.21.0)

Release time: 2023-09-26 15:54:28

This release contains 1 new feature, 4 bug fixes, and 1 documentation improvement.

🆕 Features

Add return_type parameter to gateway streamer methods (#6027)

By default, GatewayStreamer will fetch executor input and output schemas and reconstruct docarray models dynamically. The output schemas will be used to cast the responses at the gateway level.

Although the cast responses are nearly identical to the original schemas defined at the executor level, they might fail some checks. For example, if the gateway receives a document doc from an executor with output MyDoc, the following check will fail:

assert isinstance(doc, MyDoc)

Similarly, adding doc to a DocList[MyDoc] will fail the type checks.

To prevent this, the user of a GatewayStreamer can now use the return_type parameter to explicitly specify the type that will be used to cast the response. Output responses received from gateway streamer methods will always match the specified return type.

🐞 Bug Fixes

Fix topology schema validation (#6057)

Previously, if the endpoint model schemas of different Executors in a Flow did not match exactly, the Flow would fail to start, Even if the difference was as small as a different default value, it would still give rise to this error.

We have fixed this bug by relaxing the model schema checking to only verify that the types of properties match.

Fix consensus module memory leak (#6054)

In the consensus golang module, some allocated strings were not being properly released. We have repaired this.

Document casting in Flow gateway (#6032)

This bug is related to #6027. We now use the return_type parameter in GatewayStreamer to ensure that Documents received at the gateway level are properly cast to the correct schema. This prevents validation and serialization errors that previously occurred.

Remove sandbox (#6047)

Remove support for deploying Executors in the Jina Cloud sandbox, since the sandbox has been deprecated.

📗 Documentation Improvements

  • Make example copy-pastable (#6052)

🤟 Contributors

We would like to thank all contributors to this release: