bogdankostic
e84738b9a2
fix: harden deserialization by blocking internal interfaces to prevent RCE ( #12378 )
...
Co-authored-by: Julian Risch <julian.risch@deepset.ai >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-17 21:40:57 +02:00
bogdankostic
efcf6b895f
fix: prevent RCE by hardening deserialization and Jinja sandbox ( #12312 )
2026-08-11 18:22:28 +02:00
Singaraj B
50eebe097b
fix: serialize and deserialize typing.Literal ( #12286 )
2026-08-10 14:08:29 +02:00
Sebastian Husch Lee
49f8d2d549
fix: make strict datetime filter comparison opt-in ( #12257 )
2026-08-07 09:03:19 +02:00
Aarkin Karnik
3ec9d08ace
fix: normalize ISO date equality filters ( #11963 )
...
Co-authored-by: Julian Risch <julian.risch@deepset.ai >
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-04 11:11:10 +02:00
David Pavlovschii
fcc13465c5
fix: round-trip serialization of mixed-type lists in schema-based serialization ( #12202 )
...
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com >
2026-08-04 09:56:38 +02:00
vidigoat
1f460e6207
fix: round-trip serialization of Callable types with an explicit parameter list ( #12122 )
...
Co-authored-by: David S. Batista <dsbatista@gmail.com >
2026-07-30 12:47:47 +02:00
Sebastian Husch Lee
36793a99ae
fix: fix serialization of State and PipelineSnapshot ( #12113 )
2026-07-22 17:36:38 +02:00
Madan kumar
04fe770243
fix: round-trip serialization of Ellipsis in variadic tuple and Callable types ( #12062 )
2026-07-21 07:44:42 +00:00
eeshsaxena
9638ff1458
fix: honor custom timeout on every attempt in request_with_retry ( #11998 )
...
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com >
2026-07-20 07:57:19 +02:00
Sebastian Husch Lee
fb84d454d9
feat: re-add updates to serde of GeneratedAnswer and ExtractedAnswer ( #11983 )
2026-07-13 15:06:05 +02:00
Otis Cui
3cfbaa23c9
fix: reconcile tz-aware and naive datetimes in ordering filters ( #11943 )
2026-07-10 10:28:34 +02:00
David S. Batista
d4d1872fc2
chore!: removing deadcode ( #11905 )
2026-07-08 13:46:42 +00:00
Sebastian Husch Lee
d7260db122
Merge branch 'v3' of github.com:deepset-ai/haystack into merge-v3-into-main
2026-07-08 14:29:43 +02:00
Sebastian Husch Lee
8d037f2ceb
Revert "fix: updating generated answer and extracted answers serialisation ( #11805 )" ( #11895 )
2026-07-07 10:10:13 +02:00
David S. Batista
da17b3e151
fix: raise DeserializationError for unimportable classes ( #11890 )
...
Co-authored-by: Julian Risch <julian.risch@deepset.ai >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 09:35:20 +02:00
Sebastian Husch Lee
c78cc3fc2a
Merge branch 'main' of github.com:deepset-ai/haystack into merge-main-into-v3
2026-07-07 08:16:13 +02:00
Aarkin Karnik
15636144ff
fix: redact token from TokenSecret repr to prevent API key leaks ( #11810 )
2026-07-01 14:47:27 +02:00
Mustafa Amir Khokhar
7fdd1a85f1
test: type-check test/utils and add it to mypy config ( #11728 )
2026-07-01 10:30:42 +02:00
David S. Batista
e40103fc2a
fix: updating generated answer and extracted answers serialisation ( #11805 )
...
Co-authored-by: Julian Risch <julian.risch@deepset.ai >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-30 18:00:52 +02:00
Sebastian Husch Lee
4a5af169f8
fix: fix async tool deserialization ( #11811 )
2026-06-29 15:34:22 +02:00
Muhammad Furqan
1a68ffaefc
fix: raise FilterError on unknown metadata filter operators ( #11795 )
...
Co-authored-by: David S. Batista <dsbatista@gmail.com >
2026-06-29 11:25:07 +02:00
Sebastian Husch Lee
be19e12867
Merge branch 'main' of github.com:deepset-ai/haystack into merge-main-into-v3
2026-06-29 11:04:40 +02:00
milljer
7fc8151ca4
fix: FilterError when comparing string metadata dates with datetime objects ( #11700 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: Julian Risch <julian.risch@deepset.ai >
2026-06-26 10:53:51 +02:00
Stefano Fiorucci
6958876449
fix: better Jinja2 Chat extension security ( #11718 )
2026-06-24 10:05:41 +02:00
Sebastian Husch Lee
f962e67347
chore: Merge main into v3 ( #11715 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Anubhav Anand <76263415+i-anubhav-anand@users.noreply.github.com >
Co-authored-by: Julian Risch <julian.risch@deepset.ai >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Co-authored-by: Srivatsa Kamballa <skamb10@uic.edu >
Co-authored-by: David S. Batista <dsbatista@gmail.com >
Co-authored-by: gyx09212214-prog <gyx09212214@gmail.com >
Co-authored-by: gyx09212214-prog <243787584+gyx09212214-prog@users.noreply.github.com >
Co-authored-by: Haystack Bot <73523382+HaystackBot@users.noreply.github.com >
Co-authored-by: anakin87 <44616784+anakin87@users.noreply.github.com >
Co-authored-by: milljer <milljer@users.noreply.github.com >
Co-authored-by: bogdankostic <48713846+bogdankostic@users.noreply.github.com >
Co-authored-by: julian-risch <4181769+julian-risch@users.noreply.github.com >
Co-authored-by: davidsbatista <7937824+davidsbatista@users.noreply.github.com >
Co-authored-by: AxelRay <raynaldo.axel@gmail.com >
Co-authored-by: Ayush <158567328+Ayushhgit@users.noreply.github.com >
Co-authored-by: bogdankostic <bogdankostic@web.de >
Co-authored-by: Ashith Fernandes <fernandesashith24@gmail.com >
Co-authored-by: Kunal <kkunal_be23@thapar.edu >
Co-authored-by: Aditya Raut <rautaditya2606@gmail.com >
2026-06-22 18:04:43 +02:00
Stefano Fiorucci
dd4bab522c
chore: rename utility function ( #11666 )
2026-06-17 16:24:31 +02:00
Anubhav Anand
6f786afc07
fix: handle non-dict intermediate value in nested metadata filters ( #11649 )
2026-06-16 14:28:44 +02:00
Sebastian Husch Lee
c4db41825a
Merge branch 'main' of github.com:deepset-ai/haystack into merge-main-into-v3
2026-06-16 12:35:30 +02:00
IRONBEEM
2574517f74
fix: keep NoneType argument when serializing typing generics ( #11368 )
...
Co-authored-by: ATOM00blue <219721791+ATOM00blue@users.noreply.github.com >
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com >
2026-06-15 11:37:59 +02:00
Julian Risch
8a48fca96b
Merge main into v3
2026-06-12 12:31:31 +02:00
Ayush
2b4450c0fa
fix: make >= and < filters compare parsed datetimes, not raw strings ( #11584 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 10:57:59 +02:00
bogdankostic
3464f29ec9
feat!: Gate pipeline deserialization through a module allowlist ( #11432 )
...
Co-authored-by: Julian Risch <julian.risch@deepset.ai >
2026-06-12 10:25:23 +02:00
Stefano Fiorucci
ea78fab82d
chore!: remove transformers components ( #11572 )
2026-06-10 13:21:46 +00:00
Sebastian Husch Lee
a193e1476a
refactor: Add new _run_component_async utility method ( #11524 )
2026-06-05 08:54:03 +00:00
Sebastian Husch Lee
aac56ef8b6
chore: Merge main into v3 ( #11495 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: Pragnyan Ramtha <pragnyanramtha@gmail.com >
Co-authored-by: Julian Risch <julian.risch@deepset.ai >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: Aarkin Karnik <56022539+Aarkin7@users.noreply.github.com >
Co-authored-by: Haystack Bot <73523382+HaystackBot@users.noreply.github.com >
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: davidsbatista <7937824+davidsbatista@users.noreply.github.com >
Co-authored-by: bogdankostic <48713846+bogdankostic@users.noreply.github.com >
Co-authored-by: bogdankostic <bogdankostic@web.de >
Co-authored-by: Sachin Yadav <118251564+sachinn854@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: anakin87 <44616784+anakin87@users.noreply.github.com >
Co-authored-by: Abdulhamid Onawole <93547612+HamidOna@users.noreply.github.com >
Co-authored-by: David S. Batista <dsbatista@gmail.com >
Co-authored-by: Aditya Raut <rautaditya2606@gmail.com >
Co-authored-by: Nhat Huy Vu <150295143+MechaCritter@users.noreply.github.com >
Co-authored-by: julian-risch <4181769+julian-risch@users.noreply.github.com >
Co-authored-by: kota <lakotawilsonproton@gmail.com >
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: devteamaegis <devteam.aegis@gmail.com >
Co-authored-by: Ritwij Aryan Parmar <88580521+RitwijParmar@users.noreply.github.com >
Co-authored-by: Srivatsa Kamballa <skamb10@uic.edu >
2026-06-03 11:43:55 +00:00
Sebastian Husch Lee
3b1558fabd
feat: Extend ChatPromptBuilder with messages tag ( #11486 )
2026-06-03 12:02:20 +02:00
Julian Risch
41c272279c
test: use 'is None' instead of '== None' (CodeQL py/test-equals-none) ( #11483 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-02 13:34:50 +02:00
David S. Batista
1661601112
fix: pagination error too many values to unpack ( #11475 )
...
Co-authored-by: devteamaegis <devteam.aegis@gmail.com >
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com >
2026-06-02 09:42:23 +00:00
Sebastian Husch Lee
744198ce52
feat: Add reciprocal rank fusion to MultiRetriever ( #11220 )
2026-04-30 13:33:05 +02:00
Sebastian Husch Lee
2a4f104edf
feat: Add new components TextEmbeddingRetriever and MultiRetriever ( #10872 )
2026-04-29 09:29:01 +02:00
Stefano Fiorucci
f92ae143b7
build: always use httpx instead of requests; improve HTTP errors ( #11047 )
...
* use httpx
* more clean up
* relnote
* add upgrade note
2026-04-07 13:08:46 +00:00
Stefano Fiorucci
4caa742d83
fix: improve Jinja2 Chat extension security ( #10875 )
...
* draft
* relnote + dep
* simplify
* refinements
2026-03-19 12:05:31 +01:00
Sebastian Husch Lee
b970a64b77
feat: Updates to make Haystack compatible with python 3.14 ( #10634 )
...
* start adding python 3.14 support in tests
* start updating tests
* Add reno
* Updates
* Collect tests that should be skipped in python 3.14+
* run tests using python 3.14
* Revert back to 3.10 for testing
* Fix flaky tests
* Skip only spacy tests if python 3.14+
* switch to get_running_loop
2026-03-16 09:22:14 +00:00
David S. Batista
c570f8a8d5
feat: adding _normalize_metadata_field_name to haystack.utils ( #10798 )
...
* initial import
* adding tests
2026-03-12 14:59:31 +01:00
Stefano Fiorucci
819ed7244b
chore: drop pylint ( #10640 )
...
* draft
* progress
* more fixes
* improvs
* strict
* rm pylint
* rm pylint comments
* fix and simplify
* standardize
* more
* alpha order
* final touch
* remove template
* rm ellipsis comments
2026-02-24 07:46:20 +00:00
Amanpreet Singh
d133829af6
refactor: JSON parsing utility function ( #10597 )
...
* Standardize JSON parsing in QueryExpander, LLMEvaluator, and LLMMetadataExtractor
- Introduce haystack.utils.json_utils with extract_json_from_text and parse_json_from_text.
- Expose these utilities in haystack.utils for cleaner imports.
- Refactor QueryExpander, LLMEvaluator, and LLMMetadataExtractor to use parse_json_from_text.
- Standardize error handling and logging for JSON parsing failures.
- Update unit tests to reflect these changes.
* Address CodeRabbit feedback: Handle generic code blocks and remove unused logger
* Fix corrupted test file and add priority test case for json extraction
* formatted files for removing formatting issues
* Fix import sorting in json_utils.py and test_json_utils.py
* Add release note for JSON parsing standardization
* Fix release note formatting: use double backticks for inline code
* Address code review: rename parse_json_from_text to internal _parse_json_from_text, simplify error handling
* removed releasenotes
* Address Code Review Feedback: merged extract to parse_json_to_test
* Address Code Review Feedback: remove markdown support from internal json utility
* Address Code Review Feedback: add raise_on_failure to json utility
* Address CodeRabbit Feedback: add tests for raise_on_failure=False
* Address Formatting Issues: add missing license header
* Address Formatting Issues: use haystack logger and mock in tests
* Address Formatting Issues: fix logging format to use kwargs
* refinements
* fix type
* fixes
* more fixes
---------
Co-authored-by: anakin87 <stefanofiorucci@gmail.com >
2026-02-18 10:52:53 +01:00
Stefano Fiorucci
a6602441bb
feat: add FileContent support for ChatMessage + OpenAIChatGenerator implementation ( #10548 )
...
* FileContent first draft
* progress + tests
* reduce to_openai_dict complexity
* more tests
* schema tests + relnote
* better err msg
* refinement
* remove openai id handling - it is only for uploaded files
2026-02-10 16:07:29 +01:00
bogdankostic
8538744466
feat!: Deduplicate Documents in Rankers ( #10508 )
...
* Deduplicate Documents in Rankers
* Add unit tests
* Deduplicate Documents in run_async in HuggingFaceTEIRanker
* Add release note
* Use only one loop in _deduplicate_documents
* Avoid changing input variable in place
* Deduplicate Documents in MetafieldRanker when weight is set to 0
* Adapt doc strings
* Adapt release note
* Apply suggestion from @julian-risch
Co-authored-by: Julian Risch <julian.risch@deepset.ai >
---------
Co-authored-by: Julian Risch <julian.risch@deepset.ai >
2026-02-05 16:24:10 +01:00
Amanpreet Singh
d1253c48fe
chore!: remove deprecated deserialize_document_store_in_init_params_in… ( #10454 )
...
* chore: remove deprecated deserialize_document_store_in_init_params_inplace
This function was deprecated in 2.23.0 and is no longer used internally.
Removed the function, its exports, its tests, and the deprecation release note.
* Restore deserialize_document_store_in_init_params_in_init_params_inplace
* chore: add release note and fix formatting
* fix: resolve lint errors and formatting
2026-01-28 17:04:58 +01:00