Releases: jina-ai/serve
💫 Patch v3.23.2
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
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:
- Joan Fontanals (@JoanFM)
💫 Patch v3.23.0
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:
- Joan Fontanals Martinez (@JoanFM )
- Deepankar Mahapatro (@deepankarm )
💫 Patch v3.22.4
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:
- Narek Amirbekian (@NarekA )
💫 Patch v3.22.3
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:
- Peter Willemsen (@peterwilli )
- Narek Amirbekian (@NarekA )
💫 Patch v3.22.2
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:
- Deepankar Mahapatro (@deepankarm )
- Joan Fontanals (@JoanFM )
- Parikshit Adhikari (@parikshitadhikari )
- Subba Reddy Veeramreddy (@subbuv26 )
- Антон (@BouFFaNTCRiB )
- Abhijit (@AbhiGaunker)
💫 Patch v3.22.1
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:
- Joan Fontanals (@JoanFM )
💫 Release v3.22.0
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
🤟 Contributors
We would like to thank all contributors to this release:
- Joan Fontanals (@JoanFM)
- Johannes Messner (@JohannesMessner )
💫 Patch v3.21.1
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:
- Joan Fontanals (@JoanFM )
💫 Release v3.21.0
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:
- Joan Fontanals (@JoanFM )
- Naymul Islam (@ai-naymul )
- Deepankar Mahapatro (@deepankarm )
- AlaeddineAbdessalem (@alaeddine-13 )
- Han Xiao (@hanxiao )
- XXIV (@thechampagne )