Skip to content

Commit 7cc1861

Browse files
authored
Merge pull request #1837 from weaviate/changelog_417
Cleanup version checks and add changelog for 4.17.0
2 parents 1e71c78 + 3e124e9 commit 7cc1861

File tree

10 files changed

+16
-75
lines changed

10 files changed

+16
-75
lines changed

docs/changelog.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
11
Changelog
22
=========
33

4+
Version 4.17.0
5+
--------------
6+
This minor version includes:
7+
- Remove support for Weaviate versions < 1.27. Please update your Weaviate instances
8+
- Support for new 1.33 features:
9+
- OIDC group support in RBAC
10+
- Uncompressed quantizer
11+
- ContainsNone and Not filter operators
12+
- Add support for ``verbosity`` and ``reasoning effort`` for generative-openai module
13+
- Add alias.exists method
14+
- Add multi2vec-aws and text2vec-morph modules
15+
- Add support for max_tokens for generative-aws module
16+
- Fix weaviate client installation with other packages depending on grpc-health-checking
17+
418
Version 4.16.10
519
--------------
620
This patch version includes:

weaviate/backup/executor.py

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
BackupCanceledError,
2929
BackupFailedException,
3030
EmptyResponseException,
31-
WeaviateInvalidInputError,
3231
WeaviateUnsupportedFeatureError,
3332
)
3433
from weaviate.util import (
@@ -93,16 +92,6 @@ def create(
9392
}
9493

9594
if config is not None:
96-
if self._connection._weaviate_version.is_lower_than(1, 25, 0):
97-
raise WeaviateUnsupportedFeatureError(
98-
"BackupConfigCreate",
99-
str(self._connection._weaviate_version),
100-
"1.25.0",
101-
)
102-
if not isinstance(config, BackupConfigCreate):
103-
raise WeaviateInvalidInputError(
104-
f"Expected 'config' to be of type 'BackupConfigCreate', but got {type(config)}."
105-
)
10695
payload["config"] = config._to_dict()
10796

10897
if backup_location is not None:
@@ -290,13 +279,6 @@ def restore(
290279
}
291280
configPayload = {}
292281
if config is not None:
293-
if self._connection._weaviate_version.is_lower_than(1, 25, 0):
294-
raise WeaviateUnsupportedFeatureError(
295-
"BackupConfigRestore",
296-
str(self._connection._weaviate_version),
297-
"1.25.0",
298-
)
299-
300282
configPayload = config._to_dict()
301283

302284
if backup_location is not None:

weaviate/collections/aggregations/hybrid/executor.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
from weaviate.collections.filters import _FilterToGRPC
1313
from weaviate.connect import executor
1414
from weaviate.connect.v4 import ConnectionType
15-
from weaviate.exceptions import WeaviateUnsupportedFeatureError
1615
from weaviate.proto.v1 import aggregate_pb2
1716
from weaviate.types import NUMBER
1817

@@ -108,10 +107,6 @@ def hybrid(
108107
weaviate.exceptions.WeaviateQueryError: If an error occurs while performing the query against Weaviate.
109108
weaviate.exceptions.WeaviateInvalidInputError: If any of the input arguments are of the wrong type.
110109
"""
111-
if group_by is not None and self._connection._weaviate_version.is_lower_than(1, 25, 0):
112-
raise WeaviateUnsupportedFeatureError(
113-
"Hybrid aggregation", self._connection.server_version, "1.25.0"
114-
)
115110
return_metrics = (
116111
return_metrics
117112
if (return_metrics is None or isinstance(return_metrics, list))

weaviate/collections/collections/executor.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -206,12 +206,6 @@ def create(
206206
weaviate.exceptions.WeaviateConnectionError: If the network connection to Weaviate fails.
207207
weaviate.exceptions.UnexpectedStatusCodeError: If Weaviate reports a non-OK status.
208208
"""
209-
if isinstance(vectorizer_config, list) and self._connection._weaviate_version.is_lower_than(
210-
1, 24, 0
211-
):
212-
raise WeaviateInvalidInputError(
213-
"Named vectorizers are only supported in Weaviate v1.24.0 and higher"
214-
)
215209
if vectorizer_config is not None:
216210
_Warnings.vectorizer_config_in_config_create()
217211
if vector_index_config is not None:

weaviate/collections/grpc/shared.py

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
)
3535
from weaviate.exceptions import (
3636
WeaviateInvalidInputError,
37-
WeaviateUnsupportedFeatureError,
3837
)
3938
from weaviate.proto.v1 import base_pb2, base_search_pb2
4039
from weaviate.types import NUMBER, UUID
@@ -98,18 +97,6 @@ def __target_vector_to_grpc(
9897
if target_vector is None:
9998
return None, None
10099

101-
if self._weaviate_version.is_lower_than(1, 26, 0):
102-
if isinstance(target_vector, str):
103-
return None, [target_vector]
104-
elif isinstance(target_vector, list) and len(target_vector) == 1:
105-
return None, target_vector
106-
else:
107-
raise WeaviateUnsupportedFeatureError(
108-
"Multiple target vectors in search",
109-
str(self._weaviate_version),
110-
"1.26.0",
111-
)
112-
113100
if isinstance(target_vector, str):
114101
return base_search_pb2.Targets(target_vectors=[target_vector]), None
115102
elif isinstance(target_vector, list):
@@ -586,14 +573,6 @@ def _parse_hybrid(
586573
distance: Optional[NUMBER],
587574
target_vector: Optional[TargetVectorJoinType],
588575
) -> Union[base_search_pb2.Hybrid, None]:
589-
if self._weaviate_version.is_lower_than(1, 25, 0) and (
590-
isinstance(vector, _HybridNearText) or isinstance(vector, _HybridNearVector)
591-
):
592-
raise WeaviateUnsupportedFeatureError(
593-
"Hybrid search with NearText or NearVector",
594-
str(self._weaviate_version),
595-
"1.25.0",
596-
)
597576
if self._validate_arguments:
598577
_validate_input(
599578
[

weaviate/collections/queries/bm25/generate/executor.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
from weaviate.collections.queries.base_executor import _BaseExecutor
3333
from weaviate.connect import executor
3434
from weaviate.connect.v4 import ConnectionType
35-
from weaviate.exceptions import WeaviateUnsupportedFeatureError
3635
from weaviate.proto.v1 import search_get_pb2
3736
from weaviate.types import INCLUDE_VECTOR
3837

@@ -400,10 +399,6 @@ def bm25(
400399
weaviate.exceptions.WeaviateQueryError: If the network connection to Weaviate fails.
401400
weaviate.exceptions.WeaviateUnsupportedFeatureError: If a group by is provided and the Weaviate server version is lower than 1.25.0.
402401
"""
403-
if group_by is not None and not self._connection.supports_groupby_in_bm25_and_hybrid():
404-
raise WeaviateUnsupportedFeatureError(
405-
"BM25 group by", self._connection.server_version, "1.25.0"
406-
)
407402

408403
def resp(
409404
res: search_get_pb2.SearchReply,

weaviate/collections/queries/bm25/query/executor.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
from weaviate.collections.queries.base_executor import _BaseExecutor
2929
from weaviate.connect import executor
3030
from weaviate.connect.v4 import ConnectionType
31-
from weaviate.exceptions import WeaviateUnsupportedFeatureError
3231
from weaviate.proto.v1 import search_get_pb2
3332
from weaviate.types import INCLUDE_VECTOR
3433

@@ -334,10 +333,6 @@ def bm25(
334333
weaviate.exceptions.WeaviateQueryError: If the network connection to Weaviate fails.
335334
weaviate.exceptions.WeaviateNotImplementedError: If a group by is provided and the Weaviate server version is lower than 1.25.0.
336335
"""
337-
if group_by is not None and not self._connection.supports_groupby_in_bm25_and_hybrid():
338-
raise WeaviateUnsupportedFeatureError(
339-
"BM25 group by", self._connection.server_version, "1.25.0"
340-
)
341336

342337
def resp(
343338
res: search_get_pb2.SearchReply,

weaviate/collections/queries/hybrid/generate/executor.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
from weaviate.collections.queries.base_executor import _BaseExecutor
3838
from weaviate.connect import executor
3939
from weaviate.connect.v4 import ConnectionType
40-
from weaviate.exceptions import WeaviateUnsupportedFeatureError
4140
from weaviate.proto.v1 import search_get_pb2
4241
from weaviate.types import INCLUDE_VECTOR, NUMBER
4342

@@ -480,10 +479,6 @@ def hybrid(
480479
weaviate.exceptions.WeaviateQueryError: If the network connection to Weaviate fails.
481480
weaviate.exceptions.WeaviateNotImplementedError: If a group by is provided and the Weaviate server version is lower than 1.25.0.
482481
"""
483-
if group_by is not None and not self._connection.supports_groupby_in_bm25_and_hybrid():
484-
raise WeaviateUnsupportedFeatureError(
485-
"Hybrid group by", self._connection.server_version, "1.25.0"
486-
)
487482

488483
def resp(
489484
res: search_get_pb2.SearchReply,

weaviate/collections/queries/hybrid/query/executor.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
from weaviate.collections.queries.base_executor import _BaseExecutor
3434
from weaviate.connect import executor
3535
from weaviate.connect.v4 import ConnectionType
36-
from weaviate.exceptions import WeaviateUnsupportedFeatureError
3736
from weaviate.proto.v1 import search_get_pb2
3837
from weaviate.types import INCLUDE_VECTOR, NUMBER
3938

@@ -416,10 +415,6 @@ def hybrid(
416415
weaviate.exceptions.WeaviateQueryError: If the network connection to Weaviate fails.
417416
weaviate.exceptions.WeaviateNotImplementedError: If a group by is provided and the Weaviate server version is lower than 1.25.0.
418417
"""
419-
if group_by is not None and not self._connection.supports_groupby_in_bm25_and_hybrid():
420-
raise WeaviateUnsupportedFeatureError(
421-
"Hybrid group by", self._connection.server_version, "1.25.0"
422-
)
423418

424419
def resp(
425420
res: search_get_pb2.SearchReply,

weaviate/connect/v4.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -776,9 +776,6 @@ async def _execute() -> None:
776776
except RequestError:
777777
pass # ignore any errors related to requests, it is a best-effort warning
778778

779-
def supports_groupby_in_bm25_and_hybrid(self) -> bool:
780-
return self._weaviate_version.is_at_least(1, 25, 0)
781-
782779
def delete(
783780
self,
784781
path: str,
@@ -1130,10 +1127,10 @@ async def connect(self) -> None:
11301127
raise e
11311128

11321129
# do it after all other init checks so as not to break all the tests
1133-
if self._weaviate_version.is_lower_than(1, 23, 7):
1130+
if self._weaviate_version.is_lower_than(1, 27, 0):
11341131
self._connected = False
11351132
raise WeaviateStartUpError(
1136-
f"Weaviate version {self._weaviate_version} is not supported. Please use Weaviate version 1.23.7 or higher."
1133+
f"Weaviate version {self._weaviate_version} is not supported. Please use Weaviate version 1.27.0 or higher."
11371134
)
11381135

11391136
if not self._skip_init_checks:

0 commit comments

Comments
 (0)