Marqo

Latest version: v3.9.1

Safety actively analyzes 683322 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 8 of 11

1.1.0

New features

- New field `numberOfVectors` in the `get_stats` response object (https://github.com/marqo-ai/marqo/pull/553).
This field counts all vectors from all documents in a given index. See [here](https://docs.marqo.ai/1.1.0/API-Reference/stats/) for detailed usage.

- New per-index health check endpoint `GET /indexes/{index-name}/health` (https://github.com/marqo-ai/marqo/pull/552).
This replaces the cluster-level health check endpoint, `GET /health`,
which is deprecated and will be removed in Marqo 2.0.0. See [here](https://docs.marqo.ai/1.1.0/API-Reference/health/) for detailed usage.

Bug fixes and minor changes

- Improved image download validation and resource management (https://github.com/marqo-ai/marqo/pull/551). Image downloading in Marqo is more stable and resource-efficient now.

- Adding documents now returns an error when `tensorFields` is not specified explicitly (https://github.com/marqo-ai/marqo/pull/554). This prevents users accidentally creating unwanted tensor fields.

Contributor shout-outs

- Thank you for the vibrant discussion in our [forum](https://community.marqo.ai/). We love hearing your questions and about your use cases.

1.0.0

Breaking Changes

- New parameter `tensor_fields` will replace `non_tensor_fields` in the `add_documents` endpoint (https://github.com/marqo-ai/marqo/pull/538). Only fields in `tensor_fields` will have embeddings generated, offering more granular control over which fields are vectorised. See [here](https://docs.marqo.ai/1.0.0/API-Reference/documents/#add-or-replace-documents) for the full list of `add_documents` parameters and their usage. The `non_tensor_fields` parameter is deprecated and will be removed in a future release. Calls to `add_documents` with neither of these parameters specified will now fail.

- Multiple tensor field optimisation ([530](https://github.com/marqo-ai/marqo/pull/530)). This optimisation results in faster and more stable searches across multiple tensor fields. Please note that indexed documents will now have a different internal document structure, so documents indexed with previous Marqo versions cannot be searched with this version, and vice versa.

- The `add_documents` endpoint's request body is now an object, with the list of documents under the `documents` key ([535](https://github.com/marqo-ai/marqo/pull/535)). The query parameters `use_existing_tensors`, `image_download_headers`, `model_auth`, and `mappings` have been moved to the body as optional keys, and support for these parameters in the query string is deprecated. This change results in shorter URLs and better readability, as values for these parameters no longer need to be URL-encoded. See [here](https://docs.marqo.ai/1.0.0/API-Reference/documents/#add-or-replace-documents) for the new `add_documents` API usage. Backwards compatibility is supported at the moment but will be removed in a future release.

- Better validation for index creation with custom models (https://github.com/marqo-ai/marqo/pull/530). When creating an index with a `model` not in the registry, Marqo will check if `model_properties` is specified with a proper `dimension`, and raise an error if not. See [here](https://docs.marqo.ai/1.0.0/Models-Reference/bring_your_own_model) for a guide on using custom models. This validation is now done at index creation time, rather than at add documents or search time.

- Stricter `filter_string` syntax for `search` ([530](https://github.com/marqo-ai/marqo/pull/530)). The `filter_string` parameter must have special Lucene characters escaped with a backslash (`\`) to filter as expected. This will affect filtering on field names or content that contains special characters. See [here](https://lucene.apache.org/core/2_9_4/queryparsersyntax.html) for more information on special characters and see [here](https://docs.marqo.ai/1.0.0/query_dsl) for a guide on using Marqo filter strings.

- Removed server-side batching (`batch_size` parameter) for the `add_documents` endpoint ([527](https://github.com/marqo-ai/marqo/pull/527)). Instead, client-side batching is encouraged (use `client_batch_size` instead of `server_batch_size` in the python client).

New Features
- Multi-field pagination ([530](https://github.com/marqo-ai/marqo/pull/530)). The `offset` parameter in `search` can now be used to paginate through results spanning multiple `searchable_attributes`. This works for both `TENSOR` and `LEXICAL` search. See [here](https://docs.marqo.ai/1.0.0/API-Reference/search/#search-result-pagination) for a guide on pagination.
- Optimised default index configuration (https://github.com/marqo-ai/marqo/pull/540).

Bug Fixes & Minor Changes
- Removed or updated all references to outdated features in the examples and the README (https://github.com/marqo-ai/marqo/pull/529).
- Enhanced bulk search test stability (https://github.com/marqo-ai/marqo/pull/544).

Contributor shout-outs
- Thank you to our 3.2k stargazers!
- We've finally come to our first major release, Marqo 1.0.0! Thanks to all our users and contributors, new and old, for your feedback and support to help us reach this huge milestone. We're excited to continue building Marqo with you. Happy searching!

0.1.0

New features
- Telemetry. Marqo now includes various timing metrics for the `search`, `bulk_search` and `add_documents` endpoints
when the query parameter `telemetry=True` is specified (https://github.com/marqo-ai/marqo/pull/506). The metrics will be
returned in the response body and provide a breakdown of latencies for various stages of the API call.
- Consolidate default device to CUDA when available (https://github.com/marqo-ai/marqo/pull/508). By default,
Marqo now uses CUDA devices for search and indexing if available.
See [here](https://docs.marqo.ai/0.1.0/API-Reference/search/#query-parameters) for more information. This helps ensure
you get the best indexing and search experience without having to explicitly add the device parameter to search and
add_documents calls.
- Model download integrity verification (https://github.com/marqo-ai/marqo/pull/502). Model files are validated and
removed if corrupted during download. This helps ensure that models are not loaded if they are corrupted.

Breaking changes
- Remove deprecated `add_or_update_documents` endpoint (https://github.com/marqo-ai/marqo/pull/517).
- Disable automatic index creation. Marqo will no longer automatically create an index if it does not exist
(https://github.com/marqo-ai/marqo/pull/516).
Attempting to add documents to a non-existent index will now result in an error. This helps provide more certainty about
the properties of the index you are adding documents to, and also helps prevent accidental indexing to the wrong index.
- Remove parallel indexing (https://github.com/marqo-ai/marqo/pull/523). Marqo no longer supports server-side parallel
indexing. This helps deliver a more stable and efficient indexing experience. Parallelisation can still be implemented
by the user.

Bug fixes and minor changes
- Improve error messages (https://github.com/marqo-ai/marqo/pull/494, https://github.com/marqo-ai/marqo/pull/499).
- Improve API request validation (https://github.com/marqo-ai/marqo/pull/495).
- Add new multimodal search example (https://github.com/marqo-ai/marqo/pull/503).
- Remove autocast for CPU to speed up vectorisation on ARM64 machines (https://github.com/marqo-ai/marqo/pull/491).
- Enhance test stability (https://github.com/marqo-ai/marqo/pull/514).
- Ignore `.kibana` index (https://github.com/marqo-ai/marqo/pull/512).
- Improve handling of whitespace when indexing documents (https://github.com/marqo-ai/marqo/pull/521).
- Update CUDA version to 11.4.3 (https://github.com/marqo-ai/marqo/pull/525).

Contributor shout-outs
- Thank you to our 3.1k stargazers!

0.0.21

New features
- Load custom SBERT models from cloud storage with authentication (https://github.com/marqo-ai/marqo/pull/474).
Marqo now supports fetching your fine-tuned public and private SBERT models from Hugging Face and AWS s3. Learn more about using your own SBERT model [here](https://docs.marqo.ai/0.0.21/Models-Reference/bring_your_own_model/#bring-your-own-hugging-face-sbert-models). For instructions on loading a private model using authentication, check
[model auth during search](https://docs.marqo.ai/0.0.19/API-Reference/search/#model-auth) and
[model auth during add_documents](https://docs.marqo.ai/0.0.19/API-Reference/documents/#model-auth).

- Bulk search score modifier and context vector support (https://github.com/marqo-ai/marqo/pull/469).
Support has been added for [score modifiers](https://docs.marqo.ai/0.0.21/API-Reference/search/#score-modifiers)
and [context vectors](https://docs.marqo.ai/0.0.21/API-Reference/search/#context) to our bulk search API.
This can help enhance throughput and performance for certain workloads. Please see [documentation](https://docs.marqo.ai/0.0.21/API-Reference/bulk/) for usage.

Bug fixes and minor changes
- README enhancements (https://github.com/marqo-ai/marqo/pull/482, https://github.com/marqo-ai/marqo/pull/481).

Contributor shout-outs
- A special thank you to our 3.0k stargazers!

0.0.20

New features
- Custom model pre-loading (https://github.com/marqo-ai/marqo/pull/475). Public CLIP and OpenCLIP models specified by URL can now be loaded on Marqo startup via the `MARQO_MODELS_TO_PRELOAD` environment variable. These must be formatted as JSON objects with `model` and `model_properties`.
See [here (configuring pre-loaded models)](https://marqo.pages.dev/0.0.20/Advanced-Usage/configuration/#configuring-preloaded-models) for usage.

Bug fixes and minor changes
- Fixed arm64 build issue caused by package version conflicts (https://github.com/marqo-ai/marqo/pull/478)

0.0.19

New features
- Model authorisation(https://github.com/marqo-ai/marqo/pull/460). Non-public OpenCLIP and CLIP models can now be loaded
from Hugging Face and AWS s3 via the `model_location` settings object and `model_auth`.
See [here (model auth during search)](https://docs.marqo.ai/0.0.19/API-Reference/search/#model-auth)
and [here (model auth during add_documents)](https://docs.marqo.ai/0.0.19/API-Reference/documents/#model-auth) for usage.
- Max replicas configuration (https://github.com/marqo-ai/marqo/pull/465).
Marqo admins now have more control over the max number of replicas that can be set for indexes on the Marqo instance.
See [here](https://docs.marqo.ai/0.0.19/Advanced-Usage/configuration/#configuring-usage-limits) for how to configure this.

Breaking changes
- Marqo now allows for a maximum of 1 replica per index by default (https://github.com/marqo-ai/marqo/pull/465).

Bug fixes and minor changes
- README improvements (https://github.com/marqo-ai/marqo/pull/468)
- OpenCLIP version bumped (https://github.com/marqo-ai/marqo/pull/461)
- Added extra tests (https://github.com/marqo-ai/marqo/pull/464/)
- Unneeded files are now excluded in Docker builds (https://github.com/marqo-ai/marqo/pull/448, https://github.com/marqo-ai/marqo/pull/426)

Contributor shout-outs
- Thank you to our 2.9k stargazers!
- Thank you to community members for the increasingly exciting discussions on our Slack channel.
Feedback, questions and hearing about use cases helps us build a great open source product.
- Thank you to [jalajk24](https://github.com/jalajk24) for the PR to exclude unneeded files from Docker builds!

Page 8 of 11

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.