We are very happy to announce the release of Jina 3. This release is all about cloud-readiness and integration, giving our users more power to take their projects from local to production.
This release is the result of a lot of effort from the team and community. Thanks everyone, we couldn't have done it without you! โค๏ธ
๐ช Better, faster, stronger than before
You'll find Jina 3 is more scalable and robust than before with our behind-the-scenes changes, including refactoring the architecture/communication layer to make Executor communication more stable.
โ๏ธ Executors: Try before you "buy"
With Jina's new sandbox you don't even need to download Executors from Jina Hub to test them out. Just use jinahub+sandbox://ExecutorName
and you can run that Executor on the cloud. All of this means you can evaluate Executors faster to find the right one for you, without downloading anything or using local compute.
from docarray import Document
from jina import Flow
flow = Flow().add(uses='jinahub+sandbox://Hello')
with flow:
docs = flow.post('/', inputs=Document(text='world'))
print(docs.texts)
๐ณ Flows: Run with Kubernetes and Docker Compose
- Kubernetes: Generate a set of deployment YAML files from a Flow using
flow.to_k8s_yaml('./k8s_flow')
and use Kubernetes andkubectl
to start and orchestrate your Executors. - Docker Compose: Generate a
docker-compose.yml
file from a Flow usingflow.to_docker_compose_yaml()
and rundocker-compose up
.
๐ DocumentArray: Visualize, share, doc stores, and more
We've split off Jina's DocumentArray into its own docarray
package, allowing Jina itself to focus on scaling out unstructured data processing on the cloud:
2.x
from jina import Document, DocumentArray, Flow
3.0
from docarray import Document, DocumentArray
from jina import Flow
This also means Jina benefits from all the improvements we've made in Document and DocumentArray including powerful visualization and support for multiple document stores.
๐ Find out more!
To find out more check out our migration guide, docs and brand new README.
๐ We'd like to thank all contributors for this new release! In particular,
Han Xiao, Jina Dev Bot, Tobias Jacobowitz, Joan Fontanals, Johannes Messner, AlaeddineAbdessalem, samsja, Nan Wang, Delgermurun, Zhaofeng Miao, Yanlong Wang, cristian, felix-wang, Aziz Belaweid, Wang Bo, dependabot[bot], Mohammad Kalim Akram, David Buchaca Prats, Alex Cureton-Griffiths, ๐
๐ New Features
- [
c07f3c15
] - add sandbox after push (#4349) (Han Xiao) - [
0eae3281
] - add blacken docs to precommit (#4342) (samsja) - [
a5935ab2
] - hub: add --verbose option to "jina hub push" cli (#4278) (Delgermurun) - [
43bf8986
] - sandbox: using given port (#4262) (Zhaofeng Miao) - [
5081722f
] - hubble: upgrade to hubble api v2 (#4269) (Delgermurun) - [
6e24af63
] - hide more parameters from k8s and compose yamls (#4242) (Joan Fontanals) - [
48871dd7
] - change the way parameters are returned from Executors (#4243) (samsja) - [
1d6c0776
] - use external pods from k8s (#4223) (Tobias Jacobowitz) - [
6a9ed78f
] - integrate docarray as external dependency (#4160) (Tobias Jacobowitz) - [
eea04c36
] - support jinahub+sandbox (#4130) (Zhaofeng Miao) - [
a813b151
] - export Flow to docker compose yaml (#4125) (Joan Fontanals) - [
def0a12f
] - flow post return DocumentArray (#4137) (Johannes Messner) - [
6e9e7ef3
] - export Flow into set of k8s yamls (#4089) (Joan Fontanals) - [
933415bf
] - star routing (#3900) (Tobias Jacobowitz)
๐ Bug fixes
- [
3420f5e1
] - fix override of empty docs (#4350) (Joan Fontanals) - [
ae6df58f
] - remove return_results (#4347) (Tobias Jacobowitz) - [
22f0653b
] - template proper import (#4345) (Joan Fontanals) - [
2efe175c
] - return responses (#4343) (Joan Fontanals) - [
f55ec04b
] - fix flow plot (#4336) (Joan Fontanals) - [
23dd1f37
] - helloworld: dump before closing (#4320) (Joan Fontanals) - [
cfa83955
] - fix warning when env vars used (#4291) (Joan Fontanals) - [
ad50d294
] - instruction is now docker compose -f file up (#4279) (samsja) - [
b283672c
] - fix flow plot (#4257) (Joan Fontanals) - [
f1a3bb9e
] - improve error message (#4245) (Joan Fontanals) - [
2f0bb105
] - remove fluent resources (#4244) (Joan Fontanals) - [
d1a08332
] - cli: fix missing type_checking if statement (#4234) (samsja) - [
34db85a9
] - parsing of env vars of the form '{ var }' (#4229) (Johannes Messner) - [
ecaae245
] - uses_request being applied to uses_after and uses_before (#4228) (Johannes Messner) - [
f4f8f314
] - random port assignment (#4139) (Tobias Jacobowitz) - [
3cf7017a
] - fix scalable jinad test (#4218) (Tobias Jacobowitz) - [
1b7711d3
] - replace docker id with uids (#4217) (Tobias Jacobowitz) - [
a58d8669
] - add meaningful error on docarray issue (#4213) (Tobias Jacobowitz) - [
5b6d2bd5
] - flatten proto structure (#4212) (Tobias Jacobowitz) - [
1f2c8635
] - rescue docarray in setup (#4203) (Tobias Jacobowitz) - [
4db20692
] - fix helloworld multimodal (#4198) (Joan Fontanals) - [
f808a9ee
] - runtime: worker grpc proxy env (#4189) (felix-wang) - [
96f421e4
] - tests: replace multiprocessing.Queue.qsize() to enable MacOS compatability (#4187) (Johannes Messner) - [
b09d1d19
] - peapods: the name of a worker is now the name of the pea managing the worker (#4188) (samsja) - [
a088b373
] - use INFO log level in k8s (#4159) (Joan Fontanals) - [
e09ec820
] - build test pip in cd (#4153) (Tobias Jacobowitz) - [
4f5cfbfe
] - fix cd failing (#4152) (Tobias Jacobowitz) - [
2d813678
] - fix test jinad (#4150) (Joan Fontanals) - [
4c6e393b
] - dont test thread backend in jinad (#4148) (Tobias Jacobowitz) - [
0d0e1805
] - get openapi schemas failed (#4143) (Zhaofeng Miao) - [
0f285ae9
] - close peas correctly (#4142) (Tobias Jacobowitz)
๐งผ Code Refactoring
- [
58209134
] - do not expose everything in runtime args (#4261) (Joan Fontanals) - [
4709d24f
] - head deployment name does not need ordinal (#4250) (Joan Fontanals) - [
13edc16d
] - rename pod to deployment (#4230) (Tobias Jacobowitz) - [
f95eb9ed
] - refactor rest API, access what docarray accepts (#4211) (Joan Fontanals) - [
066fb0b1
] - remove fluentd and identity arg (#4199) (Joan Fontanals) - [
dde78e33
] - remove docarray proto from tests and makedocs (#4200) (Joan Fontanals) - [
21e5daf4
] - create orchestrate and serve modules (#4168) (Joan Fontanals) - [
10c577a6
] - remove replica id (#4162) (Johannes Messner) - [
6f22e682
] - take out peas hosts from cli (#4171) (Wang Bo) - [
cea30065
] - use absolute imports (#4167) (Joan Fontanals) - [
782f1060
] - use absolute imports in daemon (#4165) (Joan Fontanals) - [
7cf63fe8
] - change target_peapod to target_executor (#4157) (Joan Fontanals) - [
3617467c
] - clean up replica set (#4141) (Tobias Jacobowitz) - [
bba10dd7
] - remove backwards compatibility from old behaviors (#4138) (Joan Fontanals)
๐ Documentation
- [
0765a24c
] - complete containerization example (#4356) (Tobias Jacobowitz) - [
28af6d97
] - replace flow svg plot (#4355) (Tobias Jacobowitz) - [
7d5e1401
] - improve readme (#4354) (Han Xiao) - [
85271f2b
] - adjust docs to new .post() behaviour (#4344) (Johannes Messner) - [
56eb7556
] - add explain on return (#4351) (Han Xiao) - [
d566e5bd
] - migrate from memmap to sqlite (#4348) (AlaeddineAbdessalem) - [
07e2ef0a
] - adapt to 3.0 (#4254) (Joan Fontanals) - [
7d42d764
] - use new docsqa server address (#4246) (Yanlong Wang) - [
bfd53573
] - add back guide to docstrings (#4236) (cristian) - [
f6e2103b
] - fix Jina on Kubernetes/docker-compose section (#4176) (AlaeddineAbdessalem) - [
31fee0a4
] - fix mesh typo (#4174) (Aziz Belaweid) - [
d8cb09a8
] - bump qabot 0.3 (#4164) (Yanlong Wang) - [
b5e7fb2e
] - update pre-requisite (#4166) (Mohammad Kalim Akram) - [
cdc62c3d
] - update python source code in remarks (#4083) (David Buchaca Prats) - [
eae0510b
] - fix typos and some rephrasing (#4134) (Johannes Messner) - [
1871cc34
] - readme: add link to learning portal, disambiguate difference with docs (#4128) (Alex Cureton-Griffiths) - [
73e3ea58
] - fix bytes link (#4127) (cristian) - [
39766951
] - fix image2image search print (#4126) (Joan Fontanals) - [
73f4219c
] - fix typos (#4121) (Johannes Messner)
๐ Unit Test and CICD
- [
26287a76
] - bump version to 2.7 for testing (#4341) (Nan Wang) - [
6de5e0b2
] - remove fluent logger from extra reqs (#4214) (Joan Fontanals) - [
dfbabd56
] - fix docs to netlify (#4210) (Joan Fontanals) - [
305f4c3b
] - add kubernetes test on connection pool behaviour (#4196) (AlaeddineAbdessalem) - [
62745a78
] - remove docarray-release (#4195) (Joan Fontanals) - [
f197e719
] - bump jina version (#4193) (Joan Fontanals) - [
df0248b2
] - fix cd pipeline (#4192) (Joan Fontanals) - [
d5b1e64e
] - switch test from threading to multiprocessing (#4177) (Johannes Messner) - [
15dfcdf5
] - do not update doc on merge to master but on release (#4123) (Joan Fontanals)
๐น Other Improvements
- [
c1083e24
] - update images (Han Xiao) - [
5e73954e
] - version: the next version will be 3.0.1 (Jina Dev Bot) - [
9ef9e27b
] - fix readme (Han Xiao) - [
d63933a1
] - fix readme image (Han Xiao) - [
775d16fe
] - remove progress image (Han Xiao) - [
ae72ea1e
] - fix image width (Han Xiao) - [
509fad04
] - fix broken image (Han Xiao) - [
a9ccf356
] - fix contributing code (#4353) (Joan Fontanals) - [
beb931f7
] - update announcement in readme and docs (Jina Dev Bot) - [
1dcb50a5
] - docs: update TOC (Jina Dev Bot) - [
ffa680b4
] - contributor: update contributors (Jina Dev Bot) - [
b9ee834f
] - set next release number to 3.0.0 (Han Xiao) - [
6fbae36f
] - update readme (Han Xiao) - [
0feea0ac
] - revert README to 2.x for delayed release (Han Xiao) - [
f8166670
] - fix typo (Han Xiao) - [
d29bd2e5
] - version: the next version will be 2.7.1 (Jina Dev Bot) - [
770a7241
] - remove the legacy docaary GA script (#4325) (Nan Wang) - [
6fb95e4a
] - update docarray minimum version (#4306) (Joan Fontanals) - [
7462b9e4
] - fix a typo (#4276) (Nan Wang) - [
720642d6
] - add PR template (#4238) (Tobias Jacobowitz) - [
5cef9643
] - Revert "fix: rescue docarray in setup" (#4219) (Tobias Jacobowitz) - [
bc9f8e0d
] - deps: bump pillow in /scripts/latency-tracking (#4169) (dependabot[bot]) - [
81ece64b
] - remove tornado (#4140) (Tobias Jacobowitz) - [
9ddf49f4
] - version: the next docarray version will be 0.0.5 (Jina Dev Bot) - [
f6c18617
] - version: the next version will be 2.6.5 (Jina Dev Bot)