semantic-release
14330d1a83
0.109.0
...
Automatically generated by python-semantic-release
2026-03-08 22:11:59 +00:00
Christian Krakau-Louis
6376b6d73b
Merge pull request #568 from christianlouis/copilot/add-multi-language-ocr-support
...
feat(ocr): per-pipeline language override for multi-language OCR
2026-03-08 23:11:41 +01:00
github-actions[bot]
2e241dd5f3
chore(release): update build metadata files [skip ci]
2026-03-08 22:11:10 +00:00
semantic-release
5914d9f511
0.108.0
...
Automatically generated by python-semantic-release
2026-03-08 22:11:07 +00:00
Christian Krakau-Louis
32db11f47f
Merge pull request #571 from christianlouis/copilot/build-cli-tool-for-power-users
...
feat(cli): add `docuelevate` CLI tool for power users
2026-03-08 23:10:49 +01:00
github-actions[bot]
5144f03dc8
chore(release): update build metadata files [skip ci]
2026-03-08 22:10:46 +00:00
semantic-release
b701787ef4
0.107.0
...
Automatically generated by python-semantic-release
2026-03-08 22:10:44 +00:00
Christian Krakau-Louis
0bd8b71438
Merge pull request #567 from christianlouis/copilot/build-notification-system
...
feat(notifications): per-user notification system with email, webhook, and in-app inbox
2026-03-08 23:10:27 +01:00
copilot-swe-agent[bot]
a92bf8ec8f
chore: remove accidentally committed =8.0.0 file
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 21:52:01 +00:00
copilot-swe-agent[bot]
a3fd74f117
feat(cli): add docuelevate CLI tool for power users
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 21:50:18 +00:00
copilot-swe-agent[bot]
0b291995b9
fix(ocr): address code review feedback on multi-language OCR
...
- Fix _get_pipeline_ocr_language: remove redundant `or None` in step_config.get()
- Add Session type hint to _get_pipeline_ocr_language db parameter via TYPE_CHECKING
- Update process_with_ocr to use modern str | None syntax instead of Optional[str]
- Fix test_get_pipeline_ocr_language_explicit_pipeline_takes_priority: properly add
sys_step to db_session so the system pipeline step is persisted in the test DB
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 21:49:49 +00:00
copilot-swe-agent[bot]
a2a4c6fc9a
feat(ocr): add multi-language OCR support with per-pipeline language override
...
- Add OCR_LANGUAGES constant (28 languages, EN/DE/FR/ES/IT/PT/RU/ZH/JA/KO/AR/etc.)
- Add TESSERACT_TO_EASYOCR mapping for automatic code translation
- Add optional language constructor arg to TesseractOCRProvider/EasyOCRProvider
- Update get_ocr_providers() to accept and pass per-call language override
- Add language parameter to process_with_ocr Celery task
- Add _get_pipeline_ocr_language() helper to resolve OCR language from pipeline step config
- Update process_document to look up and pass pipeline OCR language to process_with_ocr
- Add ocr_language select config field (28 options) to pipeline OCR step schema
- Add language dropdown to pipeline UI (pipelines.html)
- Update docs/UserGuide.md and docs/API.md with language override documentation
- Add 27 new tests covering language constants, provider overrides, and pipeline lookup
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 21:47:12 +00:00
copilot-swe-agent[bot]
ae075908d1
docs: add per-user notification system documentation to ConfigurationGuide.md
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 21:44:54 +00:00
copilot-swe-agent[bot]
d48e36813e
feat(notifications): build per-user notification system (email, webhook, in-app)
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 21:44:01 +00:00
copilot-swe-agent[bot]
fcefd0978f
feat(notifications): add per-user notification system with inbox, email, and webhook targets
...
- Add UserNotificationTarget, UserNotificationPreference, InAppNotification models
- Add migration 025_add_user_notifications (tables + indexes)
- Add app/utils/user_notification.py dispatch service
- Add app/api/notifications.py REST endpoints (inbox, targets, preferences)
- Add app/views/notifications.py view route
- Add frontend/templates/notifications_dashboard.html Alpine.js dashboard
- Add bell icon with unread badge in base.html nav (desktop + mobile)
- Register routers in app/api/__init__.py and app/views/__init__.py
- Add 32 unit tests in tests/test_notifications_api.py
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-08 21:34:25 +00:00
copilot-swe-agent[bot]
5a77e36ac6
Initial plan
2026-03-08 21:34:13 +00:00
copilot-swe-agent[bot]
b03ea41638
Initial plan
2026-03-08 21:30:08 +00:00
github-actions[bot]
069433ccbc
chore(release): update build metadata files [skip ci]
2026-03-08 21:24:32 +00:00
semantic-release
dce75473a5
0.106.0
...
Automatically generated by python-semantic-release
2026-03-08 21:24:30 +00:00
Christian Krakau-Louis
caf860dd10
Merge pull request #565 from christianlouis/copilot/add-sentry-integration
...
feat(observability): integrate Sentry for error tracking and performance monitoring
2026-03-08 22:24:13 +01:00
copilot-swe-agent[bot]
af44af98b8
Initial plan
2026-03-08 21:17:39 +00:00
copilot-swe-agent[bot]
58af9e5a29
feat(observability): add Sentry error and performance monitoring integration
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 21:09:17 +00:00
github-actions[bot]
95fc54a16d
chore(release): update build metadata files [skip ci]
2026-03-08 21:07:08 +00:00
semantic-release
8ba5d0c15b
0.105.0
...
Automatically generated by python-semantic-release
2026-03-08 21:07:06 +00:00
Christian Krakau-Louis
262551cd83
Merge pull request #566 from christianlouis/copilot/add-codecov-integration
...
feat(ci): add Codecov configuration and setup documentation
2026-03-08 22:06:46 +01:00
copilot-swe-agent[bot]
6d533aae33
feat(ci): integrate Codecov for test coverage analysis and reporting
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 21:00:57 +00:00
copilot-swe-agent[bot]
8fc5a398e3
Initial plan
2026-03-08 20:57:37 +00:00
copilot-swe-agent[bot]
b4c6f75786
Initial plan
2026-03-08 20:57:29 +00:00
github-actions[bot]
289eb422f3
docs(changelog): update changelog [skip ci]
2026-03-08 20:51:29 +00:00
Christian Krakau-Louis
7acefb5f25
Merge pull request #561 from christianlouis/copilot/update-codeql-configuration
...
ci: add javascript-typescript back to CodeQL matrix alongside javascript
2026-03-08 21:51:09 +01:00
github-actions[bot]
bab5967d88
chore(release): update build metadata files [skip ci]
2026-03-08 20:42:51 +00:00
semantic-release
189613b482
0.104.0
...
Automatically generated by python-semantic-release
2026-03-08 20:42:48 +00:00
Christian Krakau-Louis
8faf164e9e
Merge pull request #560 from christianlouis/copilot/add-webhook-snippet-and-api-tokens
...
fix(security): resolve CodeQL clear-text logging and weak hashing alerts
2026-03-08 21:42:28 +01:00
github-actions[bot]
fc9caf4f9b
style: apply ruff auto-fix
...
- Auto-formatted code with ruff format
- Applied ruff linting fixes with --fix
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-08 20:39:10 +00:00
copilot-swe-agent[bot]
a7eff2c033
fix(security): address CodeQL clear-text logging and weak hashing alerts
...
- Convert f-string log interpolation to %s-style formatting in
app/api/pipelines.py and app/api/saved_searches.py to prevent
clear-text logging of request-derived data (CodeQL: clear-text
logging of sensitive information)
- Replace plain hashlib.sha256() with PBKDF2-HMAC-SHA256 via
hash_token() in app/auth.py for Bearer token verification,
consistent with how tokens are stored in api_tokens.py (CodeQL:
use of weak cryptographic hashing on sensitive data)
- Remove redundant {exc} from logger.exception() calls (the
traceback is already captured by logger.exception())
- Update test to verify PBKDF2 hash instead of plain SHA-256
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 19:33:55 +00:00
copilot-swe-agent[bot]
1fe6f86cc0
ci: restore javascript-typescript CodeQL config alongside javascript
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 19:27:01 +00:00
copilot-swe-agent[bot]
54400f8f1c
Initial plan
2026-03-08 19:25:17 +00:00
github-actions[bot]
222f3cf4e7
chore(release): update build metadata files [skip ci]
2026-03-08 19:23:38 +00:00
semantic-release
fce2b4b01c
0.103.0
...
Automatically generated by python-semantic-release
2026-03-08 19:23:36 +00:00
Christian Krakau-Louis
af696daf55
Merge pull request #558 from christianlouis/copilot/fix-user-specific-tokens
...
feat(auth): make OAuth credentials user-specific via UserIntegration records
2026-03-08 20:23:18 +01:00
Christian Krakau-Louis
1ce9e97ad0
Merge pull request #559 from christianlouis/copilot/refactor-multi-tenant-polling-engine
...
feat(tasks): Multi-tenant polling engine for IMAP and watch folder ingestion
2026-03-08 20:23:04 +01:00
Christian Krakau-Louis
52ebbad335
Potential fix for code scanning alert no. 344: Use of a broken or weak cryptographic hashing algorithm on sensitive data
...
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-03-08 20:22:39 +01:00
github-actions[bot]
4cbda5c228
chore(release): update build metadata files [skip ci]
2026-03-08 18:59:34 +00:00
semantic-release
b181799553
0.102.0
...
Automatically generated by python-semantic-release
2026-03-08 18:59:31 +00:00
Christian Krakau-Louis
b7adcb26c7
Merge pull request #557 from christianlouis/copilot/auto-fill-data-for-chat-ticket
...
feat(support): auto-fill Zammad chat/ticket widgets with user context
2026-03-08 19:59:12 +01:00
copilot-swe-agent[bot]
2f95febf71
fix: correct token_prefix comment to match implementation (12 chars)
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 18:54:55 +00:00
copilot-swe-agent[bot]
a9829598c5
docs: add API tokens and webhook ingestion documentation
...
Update API.md with API token management endpoints, usage examples,
and authentication guide. Update UserGuide.md with webhook ingestion
and API tokens sections.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 18:53:51 +00:00
copilot-swe-agent[bot]
fc453be71f
docs(config): document per-user IMAP and watch folder integration polling
...
Update ConfigurationGuide.md to document:
- Per-user IMAP integrations via the Integrations dashboard
- Per-user watch folder integrations with path traversal protection
- Updated unclaimed documents section to clarify attribution behavior
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 18:50:49 +00:00
copilot-swe-agent[bot]
cfc52fd355
feat(auth): make OAuth credentials user-specific via UserIntegration records
...
Setup pages now accept an integration_id query param to save OAuth
credentials to the user's personal UserIntegration record instead
of global settings. The integrations dashboard shows an "Authorize"
button for OAuth types (Dropbox, Google Drive, OneDrive) that need
credentials.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 18:48:11 +00:00
copilot-swe-agent[bot]
4f9f458151
test(tasks): add comprehensive tests for multi-tenant polling functions
...
- Add tests for owner_id passthrough in fetch_attachments_and_enqueue
- Add tests for _pull_user_integration_imap (success, failure, DB error, incomplete config)
- Add tests for _is_safe_watch_path path traversal security
- Add tests for _enqueue_file owner_id forwarding
- Add tests for _scan_user_watch_folder (scan, skip processed, nonexistent dir)
- Add tests for _pull_user_integration_watch_folders (success, unsafe path, failure, DB error)
- Add tests verifying scan_all_watch_folders calls user integration polling
- Add tests verifying pull_all_inboxes calls both legacy and integration polling
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 18:43:18 +00:00