Skip to content

Commit ca020d5

Browse files
committed
Release 3.0.0a0
1 parent d235646 commit ca020d5

21 files changed

Lines changed: 109 additions & 29 deletions

CHANGELOG.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,68 @@
77
-->
88

99
<!-- towncrier release notes start -->
10+
## 3.0.0a0 (2026-08-24)
11+
12+
### Backend
13+
14+
15+
#### New features:
16+
17+
- Support the new Volto editor's (Plate) block storage in the RAG chunking - both kinds of pages coexist in the same site. @reebalazs [#79](https://github.com/kitconcept/kitconcept-solr/issues/79)
18+
- Ship the German RAG test corpus as a plone.exportimport dump in setuphandlers/examplecontent (curated export of the fictional intranet demo site: 409 objects, 80 images, 7 example users), with an import-example-content make target, an importer script that skips uninstalled portal types, and a SITE_DEFAULT_LANGUAGE option for create-site. @reebalazs [#79](https://github.com/kitconcept/kitconcept-solr/issues/79)
19+
- Hybrid retrieval for the RAG search: parent-level Reciprocal Rank Fusion of the knn chunk ranking with the classic keyword query (an exact copy of the @solr main query incl. searchwords boost and showinsearch exclusion); prompt context labeled by document title instead of leaking bracketed reference numbers. @reebalazs [#79](https://github.com/kitconcept/kitconcept-solr/issues/79)
20+
- Add the @rag-search endpoint: single-turn RAG search on a query pipeline (embed, permission-trimmed knn chunk retrieval, parent collapse, grounded answer generation) with structured error results. Exclude Image content from chunking. @reebalazs [#79](https://github.com/kitconcept/kitconcept-solr/issues/79)
21+
- Suggest: support the ``extra_conditions`` filter parameter - the same
22+
mechanism and encoding as the ``@solr`` endpoint - so livesearch
23+
consumers can filter by type, creator, modification date or review
24+
state. An explicit type filter wins over the built-in type exclusion
25+
list. @reebalazs [#121](https://github.com/kitconcept/kitconcept-solr/issues/121)
26+
27+
28+
#### Bug fixes:
29+
30+
- RAG: strip the model's reasoning also when the completion contains only a
31+
closing ``</think>`` tag (some model templates consume the opening tag,
32+
observed with qwen3:4b via Ollama), so chain-of-thought is never shown to
33+
users. @reebalazs [#79](https://github.com/kitconcept/kitconcept-solr/issues/79)
34+
- RAG: fix Plate chunking, by extracting text also from blocks that are not listed in
35+
``blocks_layout`` @reebalazs [#112](https://github.com/kitconcept/kitconcept-solr/issues/112)
36+
37+
38+
39+
### Frontend
40+
41+
#### Feature
42+
43+
- solrSearchSuggestions accepts encoded extra conditions (new
44+
encodeExtraConditions helper), and the search page keeps the
45+
extra_conditions URL parameter across in-page interactions. @reebalazs [#121](https://github.com/kitconcept/kitconcept-solr/issue/121)
46+
- A local (subtree) search on the search page also scopes the AI retrieval, so the answer's grounding matches the classic results: the ragSearch action takes an optional pathPrefix. @reebalazs
47+
48+
49+
50+
### Project
51+
52+
53+
#### Feature
54+
55+
- Add the foundations of the RAG AI search: LLM client (embeddings + chat), the AI search toggle with LLM endpoint configuration, structure-aware chunking, index-time chunk embedding into Solr, and full-reindex support. The feature is off unless configured. @reebalazs
56+
Add the @rag-search endpoint: single-turn RAG search returning a generated answer with the source documents, permission-trimmed vector retrieval, structured errors. @reebalazs
57+
Hybrid retrieval for the RAG search: keyword (BM25) and vector rankings fused with Reciprocal Rank Fusion. @reebalazs [#79](https://github.com/kitconcept/kitconcept-solr/pull/79)
58+
- Ship the German RAG test corpus as a plone.exportimport dump (curated export of the fictional intranet demo site) with an import-example-content make target. @reebalazs [#79](https://github.com/kitconcept/kitconcept-solr/pull/79)
59+
60+
61+
#### Internal
62+
63+
- Run the changelog check also for pull requests against maintenance branches (`*.x`), not only `main`. @reebalazs
64+
65+
66+
#### Documentation
67+
68+
- Add specification and implementation plan for the AI search (RAG) feature. @reebalazs [#79](https://github.com/kitconcept/kitconcept-solr/pull/79)
69+
70+
71+
1072
## 2.0.0 (2026-08-22)
1173

1274
### Backend

backend/CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,31 @@
99

1010
<!-- towncrier release notes start -->
1111

12+
## 3.0.0a0 (2026-08-24)
13+
14+
15+
### New features:
16+
17+
- Support the new Volto editor's (Plate) block storage in the RAG chunking - both kinds of pages coexist in the same site. @reebalazs [#79](https://github.com/kitconcept/kitconcept-solr/issues/79)
18+
- Ship the German RAG test corpus as a plone.exportimport dump in setuphandlers/examplecontent (curated export of the fictional intranet demo site: 409 objects, 80 images, 7 example users), with an import-example-content make target, an importer script that skips uninstalled portal types, and a SITE_DEFAULT_LANGUAGE option for create-site. @reebalazs [#79](https://github.com/kitconcept/kitconcept-solr/issues/79)
19+
- Hybrid retrieval for the RAG search: parent-level Reciprocal Rank Fusion of the knn chunk ranking with the classic keyword query (an exact copy of the @solr main query incl. searchwords boost and showinsearch exclusion); prompt context labeled by document title instead of leaking bracketed reference numbers. @reebalazs [#79](https://github.com/kitconcept/kitconcept-solr/issues/79)
20+
- Add the @rag-search endpoint: single-turn RAG search on a query pipeline (embed, permission-trimmed knn chunk retrieval, parent collapse, grounded answer generation) with structured error results. Exclude Image content from chunking. @reebalazs [#79](https://github.com/kitconcept/kitconcept-solr/issues/79)
21+
- Suggest: support the ``extra_conditions`` filter parameter - the same
22+
mechanism and encoding as the ``@solr`` endpoint - so livesearch
23+
consumers can filter by type, creator, modification date or review
24+
state. An explicit type filter wins over the built-in type exclusion
25+
list. @reebalazs [#121](https://github.com/kitconcept/kitconcept-solr/issues/121)
26+
27+
28+
### Bug fixes:
29+
30+
- RAG: strip the model's reasoning also when the completion contains only a
31+
closing ``</think>`` tag (some model templates consume the opening tag,
32+
observed with qwen3:4b via Ollama), so chain-of-thought is never shown to
33+
users. @reebalazs [#79](https://github.com/kitconcept/kitconcept-solr/issues/79)
34+
- RAG: fix Plate chunking, by extracting text also from blocks that are not listed in
35+
``blocks_layout`` @reebalazs [#112](https://github.com/kitconcept/kitconcept-solr/issues/112)
36+
1237
## 2.0.0 (2026-08-22)
1338

1439

backend/news/112.bugfix

Lines changed: 0 additions & 2 deletions
This file was deleted.

backend/news/121.feature

Lines changed: 0 additions & 5 deletions
This file was deleted.

backend/news/79.bugfix

Lines changed: 0 additions & 4 deletions
This file was deleted.

backend/news/79.feature

Lines changed: 0 additions & 1 deletion
This file was deleted.

backend/news/79.feature.1

Lines changed: 0 additions & 1 deletion
This file was deleted.

backend/news/79.feature.2

Lines changed: 0 additions & 1 deletion
This file was deleted.

backend/news/79.feature.3

Lines changed: 0 additions & 1 deletion
This file was deleted.

backend/src/kitconcept/solr/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import logging
66

77

8-
__version__ = "2.0.0"
8+
__version__ = "3.0.0a0"
99

1010
PACKAGE_NAME = "kitconcept.solr"
1111
_ = MessageFactory(PACKAGE_NAME)

0 commit comments

Comments
 (0)