Release/v0.3.0#42
Merged
Merged
Conversation
Co-authored-by: Copilot <copilot@github.com>
There was a problem hiding this comment.
Pull request overview
This release PR prepares Learn2RAG v0.3.0 by replacing the Open WebUI pipelines subsystem with a direct OpenAI-compatible RAG API, adding continuous/delta import infrastructure, expanding loaders, and restructuring UI templates and packaging.
Changes:
- Adds scheduled imports, direct Qdrant ingestion, delta import state, Drupal/SharePoint support, and
source-based payload handling. - Removes
open-webui-pipelines, updates Open WebUI packaging/startup, and adds OpenAI-style pipeline endpoints. - Splits UI templates into page/list/add partials, adds pipeline cleanup/status UI, and updates release metadata/dependencies.
Reviewed changes
Copilot reviewed 71 out of 72 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
.gitmodules |
Removes open-webui-pipelines submodule. |
CHANGELOG.md |
Adds v0.3.0 release notes. |
Distfiles |
Removes deleted pipeline/setup assets. |
LICENSE |
Adds MIT license. |
build-python |
Stops building open-webui-pipelines. |
drupal/README.md |
Adds Drupal test environment docs. |
drupal/docker-compose.yml |
Adds Drupal dev compose file. |
install |
Stops installing open-webui-pipelines. |
learn2rag/__main__.py |
Adds scheduled launcher support. |
learn2rag/compose/__init__.py |
Cleans compose logging/health output. |
learn2rag/evaluation/docker-compose.yml |
Removes unused pipeline volume. |
learn2rag/evaluation/tools.py |
Disables outdated evaluation ingestion path. |
learn2rag/importer/loaders/directory_loader.py |
Updates hashing and PDF loading. |
learn2rag/importer/loaders/drupal_loader.py |
Adds Drupal delta helpers. |
learn2rag/importer/loaders/html_loader.py |
Adds full-site crawl and source-level documents. |
learn2rag/importer/loaders/process_loaders.py |
Adds direct/delta import processing. |
learn2rag/importer/loaders/sharepoint_loader.py |
Adds SharePoint hashing and delta helpers. |
learn2rag/importer/main.py |
Adds delta/direct-ingest CLI flow. |
learn2rag/importer/readme.md |
Documents importer v0.3-era behavior. |
learn2rag/importer/tests/test_loaders.py |
Expands loader/delta tests. |
learn2rag/importer/utils/import_state.py |
Adds persistent import state. |
learn2rag/pipeline/CONFIG_PARAMS.md |
Adds pipeline config docs. |
learn2rag/pipeline/app.py |
Adds OpenAI-style API endpoints. |
learn2rag/pipeline/embeddings.py |
Adds sparse/ColBERT embedding modes. |
learn2rag/pipeline/generate.py |
Reads source payload key. |
learn2rag/pipeline/ingestion.py |
Changes ingestion to accept documents directly. |
learn2rag/pipeline/json_loader.py |
Removes old JSON loader. |
learn2rag/pipeline/main.py |
Updates demo script for new ingestion flow. |
learn2rag/pipeline/opt_config.json |
Adds rewrite/rerank settings. |
learn2rag/pipeline/rewrite.py |
Adds query rewrite helpers. |
learn2rag/pipeline/search.py |
Refactors search, rewrite, and reranking. |
learn2rag/pipeline/store.py |
Adds Qdrant document/store operations. |
learn2rag/ui/__init__.py |
Adds new UI data flow, cleanup, locale, and config handling. |
learn2rag/ui/templates/_pipelines_list_table.html |
Removes old pipeline table partial. |
learn2rag/ui/templates/base.html |
Updates HTMX error indicator behavior. |
learn2rag/ui/templates/compose/pipelines/continuous.yml |
Adds continuous import/chat compose template. |
learn2rag/ui/templates/compose/pipelines/import.yml |
Updates one-time import template. |
learn2rag/ui/templates/compose/pipelines/pipeline.yml |
Updates chat-only compose template. |
learn2rag/ui/templates/firststeps_pipelines.html |
Starts default continuous pipeline. |
learn2rag/ui/templates/models_add.html |
Adds model creation partial. |
learn2rag/ui/templates/models_list.html |
Converts model table to partial. |
learn2rag/ui/templates/models_page.html |
Adds full models page wrapper. |
learn2rag/ui/templates/pipelines_add.html |
Adds pipeline creation partial. |
learn2rag/ui/templates/pipelines_list.html |
Converts pipeline list/status/actions. |
learn2rag/ui/templates/pipelines_page.html |
Adds full pipelines page wrapper. |
learn2rag/ui/templates/sources_add.html |
Adds source creation accordion. |
learn2rag/ui/templates/sources_add_drupal.html |
Adds Drupal source form. |
learn2rag/ui/templates/sources_add_local.html |
Adds local source form. |
learn2rag/ui/templates/sources_add_sharepoint.html |
Adds SharePoint source form. |
learn2rag/ui/templates/sources_add_web.html |
Adds web source form. |
learn2rag/ui/templates/sources_list.html |
Converts source table to partial. |
learn2rag/ui/templates/sources_page.html |
Adds full sources page wrapper. |
open-webui-pipelines/langgraph_stream_pipeline.py |
Removes legacy pipeline adapter. |
open-webui-pipelines/langgraph_stream_pipeline/valves.json |
Removes legacy pipeline config. |
package-linux |
Updates Open WebUI packaging and removes pipelines binary. |
package-windows |
Updates Open WebUI packaging and removes pipelines binary. |
pyproject.toml |
Pins dependencies and adds scheduler dependency. |
services/install-open-webui |
Recreates Open WebUI venv during install. |
services/install-open-webui-pipelines |
Removes legacy install script. |
services/setup-open-webui |
Removes legacy setup script. |
services/start-import |
Runs importer directly with shell tracing. |
services/start-import.linux |
Removes separate ingestion step. |
services/start-import.windows.bat |
Removes separate ingestion step. |
services/start-open-webui-pipelines |
Removes legacy service launcher. |
start.linux |
Removes pipeline initialization step. |
start.windows.bat |
Removes pipeline initialization step. |
uninstall.linux |
Fixes pyapp removal paths. |
uv.lock |
Updates resolved dependencies. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+390
to
+392
| except Exception as e: | ||
| logger.error(f"process_delta_imports: error processing loader '{loader_id}': {e}", exc_info=True) | ||
|
|
| if parsed_url.netloc != parsed_base.netloc: | ||
| return False | ||
| base_path = parsed_base.path.rstrip('/') | ||
| return not base_path or parsed_url.path.startswith(base_path) |
Collaborator
Author
|
carowa292
approved these changes
May 27, 2026
…rator into release/v0.3.0
Matching the version of the client library used
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See
CHANGELOG.md