]> git.ipfire.org Git - thirdparty/paperless-ngx.git/log
thirdparty/paperless-ngx.git
14 hours agoAuto translate strings dev
GitHub Actions [Sun, 26 Apr 2026 05:44:42 +0000 (05:44 +0000)] 
Auto translate strings

14 hours agoFix(dev): catch llm configuration error on get suggestions (#12647)
shamoon [Sun, 26 Apr 2026 05:43:04 +0000 (22:43 -0700)] 
Fix(dev): catch llm configuration error on get suggestions (#12647)

30 hours agoAuto translate strings
GitHub Actions [Sat, 25 Apr 2026 13:41:46 +0000 (13:41 +0000)] 
Auto translate strings

30 hours agoFix: Use FileResponse for file API responses (#12638)
Trenton H [Sat, 25 Apr 2026 13:40:09 +0000 (06:40 -0700)] 
Fix: Use FileResponse for file API responses (#12638)

* Updates code to use a FileResponse for streaming and unlink the file, but keep a handle to it

* Transitions the rest of the code to use FileResponse instead of a basic response, fixes up tests which assumed .content exists

* While here, let's add schema for it

47 hours agoAuto translate strings
GitHub Actions [Fri, 24 Apr 2026 20:36:44 +0000 (20:36 +0000)] 
Auto translate strings

47 hours agoFix: v9 API task response, removing pagination (#12637)
Trenton H [Fri, 24 Apr 2026 20:34:53 +0000 (13:34 -0700)] 
Fix: v9 API task response, removing pagination (#12637)

2 days agoAuto translate strings
GitHub Actions [Fri, 24 Apr 2026 17:33:15 +0000 (17:33 +0000)] 
Auto translate strings

2 days agoChore: Paginate the task listing (#12633)
Trenton H [Fri, 24 Apr 2026 17:31:37 +0000 (10:31 -0700)] 
Chore: Paginate the task listing (#12633)

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2 days agoAuto translate strings
GitHub Actions [Fri, 24 Apr 2026 16:13:23 +0000 (16:13 +0000)] 
Auto translate strings

2 days agoEnhancement: show small task summary in system status (#12634)
shamoon [Fri, 24 Apr 2026 16:11:42 +0000 (09:11 -0700)] 
Enhancement: show small task summary in system status (#12634)

3 days agoAuto translate strings
GitHub Actions [Thu, 23 Apr 2026 16:13:36 +0000 (16:13 +0000)] 
Auto translate strings

3 days agoSecurity: Rejects a default secret key where the user did not, in fact, change-me...
Trenton H [Thu, 23 Apr 2026 16:11:41 +0000 (09:11 -0700)] 
Security: Rejects a default secret key where the user did not, in fact, change-me (#12630)

3 days agoChore(deps): Bump uuid (#12627)
dependabot[bot] [Thu, 23 Apr 2026 06:18:16 +0000 (23:18 -0700)] 
Chore(deps): Bump uuid (#12627)

Bumps the npm_and_yarn group with 1 update in the /src-ui directory: [uuid](https://github.com/uuidjs/uuid).

Updates `uuid` from 13.0.0 to 14.0.0
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v13.0.0...v14.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-version: 14.0.0
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 days agoReplaces two sentinel files with .index_settings.json which can properly store multip...
Trenton H [Thu, 23 Apr 2026 02:38:26 +0000 (19:38 -0700)] 
Replaces two sentinel files with .index_settings.json which can properly store multiple values and handle None (#12625)

3 days agoAuto translate strings
GitHub Actions [Thu, 23 Apr 2026 00:42:28 +0000 (00:42 +0000)] 
Auto translate strings

3 days agoEnhancement: new Tasks UI (#12614)
shamoon [Thu, 23 Apr 2026 00:41:01 +0000 (17:41 -0700)] 
Enhancement: new Tasks UI (#12614)

3 days agoFix: Changes bare metal webserver to use uvloop (#12626)
Trenton H [Thu, 23 Apr 2026 00:34:25 +0000 (17:34 -0700)] 
Fix: Changes bare metal webserver to use uvloop (#12626)

3 days agoAuto translate strings
GitHub Actions [Wed, 22 Apr 2026 20:50:26 +0000 (20:50 +0000)] 
Auto translate strings

3 days agoFeature: Allow monitoring access to tasks summary (#12624)
Trenton H [Wed, 22 Apr 2026 20:48:54 +0000 (13:48 -0700)] 
Feature: Allow monitoring access to tasks summary (#12624)

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
4 days agoChore(deps): Bump lxml in the uv group across 1 directory (#12619)
dependabot[bot] [Wed, 22 Apr 2026 16:58:15 +0000 (09:58 -0700)] 
Chore(deps): Bump lxml in the uv group across 1 directory (#12619)

Bumps the uv group with 1 update in the / directory: [lxml](https://github.com/lxml/lxml).

Updates `lxml` from 6.0.2 to 6.1.0
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-6.0.2...lxml-6.1.0)

---
updated-dependencies:
- dependency-name: lxml
  dependency-version: 6.1.0
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4 days agoPerformance: Increases workflow related M2M prefetching (#12618)
Trenton H [Tue, 21 Apr 2026 22:01:51 +0000 (15:01 -0700)] 
Performance: Increases workflow related M2M prefetching (#12618)

4 days agoAuto translate strings
GitHub Actions [Tue, 21 Apr 2026 21:50:36 +0000 (21:50 +0000)] 
Auto translate strings

4 days agoTweak: remove 'stale' indicator for index in system status (#12616)
shamoon [Tue, 21 Apr 2026 21:49:04 +0000 (14:49 -0700)] 
Tweak: remove 'stale' indicator for index in system status (#12616)

5 days agoAuto translate strings
GitHub Actions [Tue, 21 Apr 2026 18:02:57 +0000 (18:02 +0000)] 
Auto translate strings

5 days agoFix: Exact custom field monetary exact searching (#12592)
Trenton H [Tue, 21 Apr 2026 18:01:27 +0000 (11:01 -0700)] 
Fix: Exact custom field monetary exact searching (#12592)

5 days agoAuto translate strings
GitHub Actions [Tue, 21 Apr 2026 17:26:25 +0000 (17:26 +0000)] 
Auto translate strings

5 days agoFix: Prefetches the custom field instance and the custom field all at once (#12617)
Trenton H [Tue, 21 Apr 2026 17:24:51 +0000 (10:24 -0700)] 
Fix: Prefetches the custom field instance and the custom field all at once (#12617)

5 days agoFix: prevent sidebar animation at startup (#12615)
shamoon [Tue, 21 Apr 2026 06:17:16 +0000 (23:17 -0700)] 
Fix: prevent sidebar animation at startup (#12615)

5 days agoChore: Refactors all of the mail tests to use model factories instead of bare create...
Trenton H [Mon, 20 Apr 2026 22:43:43 +0000 (15:43 -0700)] 
Chore: Refactors all of the mail tests to use model factories instead of bare create (#12613)

5 days agoEnhancement: add highlighting to title + content searches (#12593)
shamoon [Mon, 20 Apr 2026 21:28:02 +0000 (14:28 -0700)] 
Enhancement: add highlighting to title + content searches (#12593)

6 days agoAuto translate strings
GitHub Actions [Mon, 20 Apr 2026 20:21:27 +0000 (20:21 +0000)] 
Auto translate strings

6 days agoChore: Structured consume task return values (#12612)
Trenton H [Mon, 20 Apr 2026 20:19:54 +0000 (13:19 -0700)] 
Chore: Structured consume task return values (#12612)

6 days agoAuto translate strings
GitHub Actions [Mon, 20 Apr 2026 18:41:41 +0000 (18:41 +0000)] 
Auto translate strings

6 days agoChore: Converts all call sites and test asserts to use apply_async and headers (...
Trenton H [Mon, 20 Apr 2026 18:40:04 +0000 (11:40 -0700)] 
Chore: Converts all call sites and test asserts to use apply_async and headers (#12591)

6 days agoAuto translate strings
GitHub Actions [Mon, 20 Apr 2026 18:06:35 +0000 (18:06 +0000)] 
Auto translate strings

6 days agoChore: Update API schema fields (#12611)
Trenton H [Mon, 20 Apr 2026 18:05:00 +0000 (11:05 -0700)] 
Chore: Update API schema fields (#12611)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
6 days agoAuto translate strings
GitHub Actions [Mon, 20 Apr 2026 16:30:23 +0000 (16:30 +0000)] 
Auto translate strings

6 days agoFeature: Redesign the task system (#12584)
Trenton H [Mon, 20 Apr 2026 16:28:41 +0000 (09:28 -0700)] 
Feature: Redesign the task system (#12584)

* feat(tasks): replace PaperlessTask model with structured redesign

Drop the old string-based PaperlessTask table and recreate it with
Status/TaskType/TriggerSource enums, JSONField result storage, and
duration tracking fields. Update all call sites to use the new API.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(tasks): rewrite signal handlers to track all task types

Replace the old consume_file-only handler with a full rewrite that tracks
6 task types (consume_file, train_classifier, sanity_check, index_optimize,
llm_index, mail_fetch) with proper trigger source detection, input data
extraction, legacy result string parsing, duration/wait time recording,
and structured error capture on failure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* test(tasks): add traceback and revoked state coverage to signal tests

* refactor(tasks): remove manual PaperlessTask creation and scheduled/auto params

All task records are now created exclusively via Celery signals (Task 2).
Removed PaperlessTask creation/update from train_classifier, sanity_check,
llmindex_index, and check_sanity. Removed scheduled= and auto= parameters
from all 7 call sites. Updated apply_async callers to use trigger_source
headers instead. Exceptions now propagate naturally from task functions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(tasks): auto-inject trigger_source=scheduled header for all beat tasks

Inject `headers: {"trigger_source": "scheduled"}` into every Celery beat
schedule entry so signal handlers can identify scheduler-originated tasks
without per-task instrumentation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(tasks): update serializer, filter, and viewset with v9 backwards compat

- Replace TasksViewSerializer/RunTaskViewSerializer with TaskSerializerV10
  (new field names), TaskSerializerV9 (v9 compat), TaskSummarySerializer,
  and RunTaskSerializer
- Add AcknowledgeTasksViewSerializer unchanged (kept existing validation)
- Expand PaperlessTaskFilterSet with MultipleChoiceFilter for task_type,
  trigger_source, status; add is_complete, date_created_after/before filters
- Replace TasksViewSet.get_serializer_class() to branch on request.version
- Add get_queryset() v9 compat for task_name/type query params
- Add acknowledge_all, summary, active actions to TasksViewSet
- Rewrite run action to use apply_async with trigger_source header
- Add timedelta import to views.py; add MultipleChoiceFilter/DateTimeFilter
  to filters.py imports

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(tasks): add read_only_fields to TaskSerializerV9, enforce admin via permission_classes on run action

* test(tasks): rewrite API task tests for redesigned model and v9 compat

Replaces the old Django TestCase-based tests with pytest-style classes using
PaperlessTaskFactory. Covers v10 field names, v9 backwards-compat field
mapping, filtering, ordering, acknowledge, acknowledge_all, summary, active,
and run endpoints. Also adds PaperlessTaskFactory to factories.py and fixes
a redundant source= kwarg in TaskSerializerV10.related_document_ids.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* test(tasks): fix two spec gaps in task API test suite

Move test_list_is_owner_aware to TestGetTasksV10 (it tests GET /api/tasks/,
not acknowledge). Add test_related_document_ids_includes_duplicate_of to
cover the duplicate_of path in the related_document_ids property.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* test(tasks): address code quality review findings

Remove trivial field-existence tests per project conventions. Fix
potentially flaky ordering test to use explicit date_created values.
Add is_complete=false filter test, v9 type filter input direction test,
and tighten TestActive second test to target REVOKED specifically.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(tasks): update TaskAdmin for redesigned model

Add date_created, duration_seconds to list_display; add trigger_source
to list_filter; add input_data, duration_seconds, wait_time_seconds to
readonly_fields.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(tasks): update Angular types and service for task redesign

Replace PaperlessTaskName/PaperlessTaskType/PaperlessTaskStatus enums
with new PaperlessTaskType, PaperlessTaskTriggerSource, PaperlessTaskStatus
enums. Update PaperlessTask interface to new field names (task_type,
trigger_source, input_data, result_message, related_document_ids).
Update TasksService to filter by task_type instead of task_name.
Update tasks component and system-status-dialog to use new field names.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* chore(tasks): remove django-celery-results

PaperlessTask now tracks all task results via Celery signals. The
django-celery-results DB backend was write-only -- nothing reads
from it. Drop the package and add a migration to clean up the
orphaned tables.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* test: fix remaining tests broken by task system redesign

Update all tests that created PaperlessTask objects with old field names
to use PaperlessTaskFactory and new field names (task_type, trigger_source,
status, result_message). Use apply_async instead of delay where mocked.
Drop TestCheckSanityTaskRecording — tests PaperlessTask creation that was
intentionally removed from check_sanity().

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* test(tasks): improve test_api_tasks.py structure and add api marker

- Move admin_client, v9_client, user_client fixtures to conftest.py so
  they can be reused by other API tests; all three now build on the
  rest_api_client fixture instead of creating APIClient() directly
- Move regular_user fixture to conftest.py (was already done, now also
  used by the new client fixtures)
- Add docstrings to every test method describing the behaviour under test
- Move timedelta/timezone imports to module level
- Register 'api' pytest marker in pyproject.toml and apply pytestmark to
  the entire file so all 40 tests are selectable via -m api

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor(tasks): simplify task tracking code after redesign

- Extract COMPLETE_STATUSES as a class constant on PaperlessTask,
  eliminating the repeated status tuple across models.py, views.py (3×),
  and filters.py
- Extract _CELERY_STATE_TO_STATUS as a module-level constant instead of
  rebuilding the dict on every task_postrun
- Extract _V9_TYPE_TO_TRIGGER_SOURCE and _RUNNABLE_TASKS as class
  constants on TasksViewSet instead of rebuilding on every request
- Extract _TRIGGER_SOURCE_TO_V9_TYPE as a class constant on
  TaskSerializerV9 instead of rebuilding per serialized object
- Extract _get_consume_args helper to deduplicate identical arg
  extraction logic in _extract_input_data, _determine_trigger_source,
  and _extract_owner_id
- Move inline imports (re, traceback) and Avg to module level
- Fix _DOCUMENT_SOURCE_TO_TRIGGER type annotation key type to
  DocumentSource instead of Any
- Remove redundant truthiness checks in SystemStatusView branches
  already guarded by an is-None check

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor(tasks): add docstrings and rename _parse_legacy_result

- Add docstrings to _extract_input_data, _determine_trigger_source,
  _extract_owner_id explaining what each helper does and why
- Rename _parse_legacy_result -> _parse_consume_result: the function
  parses current consume_file string outputs (consumer.py returns
  "New document id N created" and "It is a duplicate of X (#N)"),
  not legacy data; the old name was misleading

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(tasks): extend and harden the task system redesign

- TaskType: add EMPTY_TRASH, CHECK_WORKFLOWS, CLEANUP_SHARE_LINKS;
  remove INDEX_REBUILD (no backing task — beat schedule uses index_optimize)
- TRACKED_TASKS: wire up all nine task types including the three new ones
  and llmindex_index / process_mail_accounts
- Add task_revoked_handler so cancelled/expired tasks are marked REVOKED
- Fix double-write: task_postrun_handler no longer overwrites result_data
  when status is already FAILURE (task_failure_handler owns that write)
- v9 serialiser: map EMAIL_CONSUME and FOLDER_CONSUME to AUTO_TASK
- views: scope task list to owner for regular users, admins see all;
  validate ?days= query param and return 400 on bad input
- tests: add test_list_admin_sees_all_tasks; rename/fix
  test_parses_duplicate_string (duplicates produce SUCCESS, not FAILURE);
  use PaperlessTaskFactory in modified tests

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(tasks): fix MAIL_FETCH null input_data and postrun double-query

- _extract_input_data: return {} instead of {"account_ids": None} when
  process_mail_accounts is called without an explicit account list (the
  normal beat-scheduled path); add test to cover this path
- task_postrun_handler: replace filter().first() + filter().update() with
  get() + save(update_fields=[...]) — single fetch, single write,
  consistent with task_prerun_handler

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(tasks): add queryset stub to satisfy drf-spectacular schema generation

TasksViewSet.get_queryset() accesses request.user, which drf-spectacular
cannot provide during static schema generation.  Adding a class-level
queryset = PaperlessTask.objects.none() gives spectacular a model to
introspect without invoking get_queryset(), eliminating both warnings
and the test_valid_schema failure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* test(tasks): fill coverage gaps in task system

- test_task_signals: add TestTaskRevokedHandler (marks REVOKED, ignores
  None request, ignores unknown id); switch existing direct
  PaperlessTask.objects.create calls to PaperlessTaskFactory; import
  pytest_mock and use MockerFixture typing on mocker params
- test_api_tasks: add test_rejects_invalid_days_param to TestSummary
- tasks.service.spec: add dismissAllTasks test (POST acknowledge_all +
  reload)
- models: add pragma: no cover to __str__, is_complete, and
  related_document_ids (trivial delegates, covered indirectly)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Well, that was a bad push.

* Fixes v9 API compatability with testing coverage

* fix(tasks): restore INDEX_OPTIMIZE enum and remove no-op run button

INDEX_OPTIMIZE was dropped from the TaskType enum but still referenced
in _RUNNABLE_TASKS (views.py) and the frontend system-status-dialog,
causing an AttributeError at import time. Restore the enum value in the
model and migration so the serializer accepts it, but remove it from
_RUNNABLE_TASKS since index_optimize is a Tantivy no-op. Remove the
frontend "Run Task" button for index optimization accordingly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(tasks): v9 type filter now matches all equivalent trigger sources

The v9 ?type= query param mapped each value to a single TriggerSource,
but the serializer maps multiple sources to the same v9 type value.
A task serialized as "auto_task" would not appear when filtering by
?type=auto_task if its trigger_source was email_consume or
folder_consume. Same issue for "manual_task" missing web_ui and
api_upload sources. Changed to trigger_source__in with the full set
of sources for each v9 type value.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(tasks): give task_failure_handler full ownership of FAILURE path

task_postrun_handler now early-returns for FAILURE states instead of
redundantly writing status and date_done. task_failure_handler now
computes duration_seconds and wait_time_seconds so failed tasks get
complete timing data. This eliminates a wasted .get() + .save() round
trip on every failed task and gives each handler a clean, non-overlapping
responsibility.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(tasks): resolve trigger_source header via TriggerSource enum lookup

Replace two hardcoded string comparisons ("scheduled", "system") with a
single TriggerSource(header_source) lookup so the enum values are the
single source of truth. Any valid TriggerSource DB value passed in the
header is accepted; invalid values fall through to the document-source /
MANUAL logic. Update tests to pass enum values in headers rather than raw
strings, and add a test for the invalid-header fallback path.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(tasks): use TriggerSource enum values at all apply_async call sites

Replace raw strings ("system", "manual") with PaperlessTask.TriggerSource
enum values in the three callers that can import models. The settings
file remains a raw string (models cannot be imported at settings load
time) with a comment pointing to the enum value it must match.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* test(tasks): parametrize repetitive test cases in task test files

test_api_tasks.py:
- Collapse six trigger_source->v9-type tests into one parametrized test,
  adding the previously untested API_UPLOAD case
- Collapse three task_name mapping tests (two remaps + pass-through)
  into one parametrized test
- Collapse two acknowledge_all status tests into one parametrized test
- Collapse two run-endpoint 400 tests into one parametrized test
- Update run/ assertions to use TriggerSource enum values

test_task_signals.py:
- Collapse three trigger_source header tests into one parametrized test
- Collapse two DocumentSource->TriggerSource mapping tests into one
  parametrized test
- Collapse two prerun ignore-invalid-id tests into one parametrized test

All parametrize cases use pytest.param with descriptive ids.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Handle JSON serialization for datetime and Path.  Further restrist the v9 permissions as Copilot suggests

* That should fix the generated schema/browser

* Use XSerializer for the schema

* A few more basic cases I see no value in covering

* Drops the migration related stuff too.  Just in case we want it again or it confuses people

* fix: annotate tasks_summary_retrieve as array of TaskSummarySerializer

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: annotate tasks_active_retrieve as array of TaskSerializerV10

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Restore task running to superuser only

* Removes the acknowledge/dismiss all stuff

* Aligns v10 and v9 task permissions with each other

* Short blurb just to warn users about the tasks being cleared

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
6 days agoFix (dev): retain backwards compatibility with natural-date keywords in tantivy ...
shamoon [Mon, 20 Apr 2026 15:26:33 +0000 (08:26 -0700)] 
Fix (dev): retain backwards compatibility with natural-date keywords in tantivy (#12602)

6 days agoAdd anti-slop job PR template requirement
shamoon [Mon, 20 Apr 2026 08:36:00 +0000 (01:36 -0700)] 
Add anti-slop job PR template requirement

7 days agoOops, it should be dark
shamoon [Sat, 18 Apr 2026 23:02:09 +0000 (16:02 -0700)] 
Oops, it should be dark

8 days agoFix: added date check visibility (#12600)
shamoon [Sat, 18 Apr 2026 12:14:31 +0000 (05:14 -0700)] 
Fix: added date check visibility (#12600)

8 days agoFix: prevent intermediate change event when CustomFieldQueryAtom operator changes...
Gaëtan GOUZI [Fri, 17 Apr 2026 23:23:48 +0000 (01:23 +0200)] 
Fix: prevent intermediate change event when CustomFieldQueryAtom operator changes type (#12597)

* fix: prevent intermediate change event when CustomFieldQueryAtom operator changes type

* Add regression test

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
10 days agoChore(deps): Bump hono (#12585)
dependabot[bot] [Thu, 16 Apr 2026 03:12:23 +0000 (20:12 -0700)] 
Chore(deps): Bump hono (#12585)

Bumps the npm_and_yarn group with 1 update in the /src-ui directory: [hono](https://github.com/honojs/hono).

Updates `hono` from 4.12.12 to 4.12.14
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](https://github.com/honojs/hono/compare/v4.12.12...v4.12.14)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.14
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
10 days agoAuto translate strings
GitHub Actions [Wed, 15 Apr 2026 23:22:00 +0000 (23:22 +0000)] 
Auto translate strings

10 days agoFeature: paginate search highlights and remove 10k document search limit (#12518)
Trenton H [Wed, 15 Apr 2026 23:20:31 +0000 (16:20 -0700)] 
Feature: paginate search highlights and remove 10k document search limit (#12518)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
10 days agoFeature: Tune SQLite default settings for increased speed (#12580)
Trenton H [Wed, 15 Apr 2026 22:26:00 +0000 (15:26 -0700)] 
Feature: Tune SQLite default settings for increased speed (#12580)

10 days agoFeature: Document fuzzy match improvements (#12579)
Trenton H [Wed, 15 Apr 2026 20:59:43 +0000 (13:59 -0700)] 
Feature: Document fuzzy match improvements (#12579)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
11 days agoAuto translate strings
GitHub Actions [Wed, 15 Apr 2026 18:58:56 +0000 (18:58 +0000)] 
Auto translate strings

11 days agofix: Return HTTP 400 instead of HTTP 500 on DELETE /api/documents/{id}/notes/ with...
Gaëtan GOUZI [Wed, 15 Apr 2026 18:56:15 +0000 (20:56 +0200)] 
fix: Return HTTP 400 instead of HTTP 500 on DELETE /api/documents/{id}/notes/ with missing or invalid note id (#12582)

11 days agoAuto translate strings
GitHub Actions [Tue, 14 Apr 2026 22:15:38 +0000 (22:15 +0000)] 
Auto translate strings

11 days agoMerge branch 'main' into dev
shamoon [Tue, 14 Apr 2026 22:11:23 +0000 (15:11 -0700)] 
Merge branch 'main' into dev

# Conflicts:
# docs/usage.md
# src/documents/signals/handlers.py
# src/documents/tests/test_api_documents.py
# src/documents/views.py

11 days agoBreaking: Remove the positional arguments from the pre/post consume scripts. Environm...
Trenton H [Tue, 14 Apr 2026 21:18:20 +0000 (14:18 -0700)] 
Breaking: Remove the positional arguments from the pre/post consume scripts. Environment has been preferred for quite some time now (#12573)

11 days agoDocumentation: Add v2.20.14 changelog (#12577)
github-actions[bot] [Tue, 14 Apr 2026 21:03:26 +0000 (14:03 -0700)] 
Documentation: Add v2.20.14 changelog (#12577)

* Changelog v2.20.14 - GHA

* Reorganize

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
11 days agoChore(deps): Bump follow-redirects (#12575)
dependabot[bot] [Tue, 14 Apr 2026 20:24:03 +0000 (20:24 +0000)] 
Chore(deps): Bump follow-redirects (#12575)

Bumps the npm_and_yarn group with 1 update in the /src-ui directory: [follow-redirects](https://github.com/follow-redirects/follow-redirects).

Updates `follow-redirects` from 1.15.11 to 1.16.0
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
12 days agoBump version to 2.20.14 v2.20.14
shamoon [Tue, 14 Apr 2026 20:11:48 +0000 (13:11 -0700)] 
Bump version to 2.20.14

12 days agoMerge branch 'release/v2.20.x'
shamoon [Tue, 14 Apr 2026 20:10:52 +0000 (13:10 -0700)] 
Merge branch 'release/v2.20.x'

12 days agoUpdate usage.md
shamoon [Tue, 14 Apr 2026 20:10:40 +0000 (13:10 -0700)] 
Update usage.md

12 days agoChore(deps): Bump pillow in the uv group across 1 directory (#12574)
dependabot[bot] [Tue, 14 Apr 2026 17:38:23 +0000 (10:38 -0700)] 
Chore(deps): Bump pillow in the uv group across 1 directory (#12574)

Bumps the uv group with 1 update in the / directory: [pillow](https://github.com/python-pillow/Pillow).

Updates `pillow` from 12.1.1 to 12.2.0
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/12.1.1...12.2.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 12.2.0
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
12 days agoChore(deps-dev): Bump pytest in the uv group across 1 directory (#12568)
dependabot[bot] [Tue, 14 Apr 2026 15:42:39 +0000 (08:42 -0700)] 
Chore(deps-dev): Bump pytest in the uv group across 1 directory (#12568)

Bumps the uv group with 1 update in the / directory: [pytest](https://github.com/pytest-dev/pytest).

Updates `pytest` from 9.0.2 to 9.0.3
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/9.0.2...9.0.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.3
  dependency-type: direct:development
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
12 days agoAuto translate strings
GitHub Actions [Mon, 13 Apr 2026 21:14:40 +0000 (21:14 +0000)] 
Auto translate strings

12 days agoChore: Add generic type params and update our baselines (#12566)
Trenton H [Mon, 13 Apr 2026 21:12:59 +0000 (14:12 -0700)] 
Chore: Add generic type params and update our baselines (#12566)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
13 days agoAuto translate strings
GitHub Actions [Mon, 13 Apr 2026 20:12:04 +0000 (20:12 +0000)] 
Auto translate strings

13 days agoFixes an N+1 query in matching with the version content fetching by prefetching versi...
Trenton H [Mon, 13 Apr 2026 20:10:28 +0000 (13:10 -0700)] 
Fixes an N+1 query in matching with the version content fetching by prefetching versions (#12562)

13 days agoFix: do not submit permissions for non-owners (#12571)
shamoon [Mon, 13 Apr 2026 19:43:06 +0000 (12:43 -0700)] 
Fix: do not submit permissions for non-owners (#12571)

13 days agoFix: Use an iterator in the sanity checking (#12563)
Trenton H [Mon, 13 Apr 2026 19:32:22 +0000 (12:32 -0700)] 
Fix: Use an iterator in the sanity checking (#12563)

13 days agoChore: Upgrades Django manually, since dependabot is failing. Resolves security...
Trenton H [Mon, 13 Apr 2026 17:20:35 +0000 (10:20 -0700)] 
Chore: Upgrades Django manually, since dependabot is failing.  Resolves security alerts (#12567)

2 weeks agoUpdate SECURITY.md
shamoon [Fri, 10 Apr 2026 19:34:47 +0000 (12:34 -0700)] 
Update SECURITY.md

2 weeks agoAdd tests
shamoon [Fri, 10 Apr 2026 19:06:28 +0000 (12:06 -0700)] 
Add tests

2 weeks agoEnhancement: validate and sanitize uploaded logos (#12551)
shamoon [Fri, 10 Apr 2026 18:50:58 +0000 (11:50 -0700)] 
Enhancement: validate and sanitize uploaded logos (#12551)

2 weeks agoChore(deps): Bump the utilities-minor group with 19 updates (#12540)
dependabot[bot] [Wed, 8 Apr 2026 22:09:42 +0000 (15:09 -0700)] 
Chore(deps): Bump the utilities-minor group with 19 updates (#12540)

Bumps the utilities-minor group with 19 updates:

| Package | From | To |
| --- | --- | --- |
| [dateparser](https://github.com/scrapinghub/dateparser) | `1.3.0` | `1.4.0` |
| [drf-spectacular-sidecar](https://github.com/tfranzel/drf-spectacular-sidecar) | `2026.3.1` | `2026.4.1` |
| llama-index-embeddings-huggingface | `0.6.1` | `0.7.0` |
| llama-index-embeddings-openai | `0.5.2` | `0.6.0` |
| llama-index-llms-ollama | `0.9.1` | `0.10.1` |
| llama-index-llms-openai | `0.6.26` | `0.7.5` |
| llama-index-vector-stores-faiss | `0.5.3` | `0.6.0` |
| [openai](https://github.com/openai/openai-python) | `2.26.0` | `2.30.0` |
| [regex](https://github.com/mrabarnett/mrab-regex) | `2026.2.28` | `2026.3.32` |
| [sentence-transformers](https://github.com/huggingface/sentence-transformers) | `5.2.3` | `5.3.0` |
| [torch](https://github.com/pytorch/pytorch) | `2.10.0` | `2.11.0` |
| [faker](https://github.com/joke2k/faker) | `40.8.0` | `40.12.0` |
| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |
| [pytest-env](https://github.com/pytest-dev/pytest-env) | `1.5.0` | `1.6.0` |
| [celery-types](https://github.com/sbdchd/celery-types) | `0.24.0` | `0.26.0` |
| [mypy](https://github.com/python/mypy) | `1.19.1` | `1.20.0` |
| [pyrefly](https://github.com/facebook/pyrefly) | `0.55.0` | `0.59.0` |
| [types-channels](https://github.com/python/typeshed) | `4.3.0.20250822` | `4.3.0.20260408` |
| [types-dateparser](https://github.com/python/typeshed) | `1.3.0.20260206` | `1.4.0.20260328` |

Updates `dateparser` from 1.3.0 to 1.4.0
- [Release notes](https://github.com/scrapinghub/dateparser/releases)
- [Changelog](https://github.com/scrapinghub/dateparser/blob/master/HISTORY.rst)
- [Commits](https://github.com/scrapinghub/dateparser/compare/v1.3.0...v1.4.0)

Updates `drf-spectacular-sidecar` from 2026.3.1 to 2026.4.1
- [Commits](https://github.com/tfranzel/drf-spectacular-sidecar/compare/2026.3.1...2026.4.1)

Updates `llama-index-embeddings-huggingface` from 0.6.1 to 0.7.0

Updates `llama-index-embeddings-openai` from 0.5.2 to 0.6.0

Updates `llama-index-llms-ollama` from 0.9.1 to 0.10.1

Updates `llama-index-llms-openai` from 0.6.26 to 0.7.5

Updates `llama-index-vector-stores-faiss` from 0.5.3 to 0.6.0

Updates `openai` from 2.26.0 to 2.30.0
- [Release notes](https://github.com/openai/openai-python/releases)
- [Changelog](https://github.com/openai/openai-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/openai/openai-python/compare/v2.26.0...v2.30.0)

Updates `regex` from 2026.2.28 to 2026.3.32
- [Changelog](https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt)
- [Commits](https://github.com/mrabarnett/mrab-regex/compare/2026.2.28...2026.3.32)

Updates `sentence-transformers` from 5.2.3 to 5.3.0
- [Release notes](https://github.com/huggingface/sentence-transformers/releases)
- [Commits](https://github.com/huggingface/sentence-transformers/compare/v5.2.3...v5.3.0)

Updates `torch` from 2.10.0 to 2.11.0
- [Release notes](https://github.com/pytorch/pytorch/releases)
- [Changelog](https://github.com/pytorch/pytorch/blob/main/RELEASE.md)
- [Commits](https://github.com/pytorch/pytorch/compare/v2.10.0...v2.11.0)

Updates `faker` from 40.8.0 to 40.12.0
- [Release notes](https://github.com/joke2k/faker/releases)
- [Changelog](https://github.com/joke2k/faker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/joke2k/faker/compare/v40.8.0...v40.12.0)

Updates `pytest-cov` from 7.0.0 to 7.1.0
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v7.0.0...v7.1.0)

Updates `pytest-env` from 1.5.0 to 1.6.0
- [Release notes](https://github.com/pytest-dev/pytest-env/releases)
- [Commits](https://github.com/pytest-dev/pytest-env/compare/1.5.0...1.6.0)

Updates `celery-types` from 0.24.0 to 0.26.0
- [Commits](https://github.com/sbdchd/celery-types/commits)

Updates `mypy` from 1.19.1 to 1.20.0
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.19.1...v1.20.0)

Updates `pyrefly` from 0.55.0 to 0.59.0
- [Release notes](https://github.com/facebook/pyrefly/releases)
- [Commits](https://github.com/facebook/pyrefly/compare/0.55.0...0.59.0)

Updates `types-channels` from 4.3.0.20250822 to 4.3.0.20260408
- [Commits](https://github.com/python/typeshed/commits)

Updates `types-dateparser` from 1.3.0.20260206 to 1.4.0.20260328
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: dateparser
  dependency-version: 1.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: drf-spectacular-sidecar
  dependency-version: 2026.4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: llama-index-embeddings-huggingface
  dependency-version: 0.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: llama-index-embeddings-openai
  dependency-version: 0.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: llama-index-llms-ollama
  dependency-version: 0.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: llama-index-llms-openai
  dependency-version: 0.7.5
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: llama-index-vector-stores-faiss
  dependency-version: 0.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: openai
  dependency-version: 2.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: regex
  dependency-version: 2026.3.32
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: sentence-transformers
  dependency-version: 5.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: torch
  dependency-version: 2.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: faker
  dependency-version: 40.12.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: pytest-cov
  dependency-version: 7.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: pytest-env
  dependency-version: 1.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: celery-types
  dependency-version: 0.26.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: mypy
  dependency-version: 1.20.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: pyrefly
  dependency-version: 0.59.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
- dependency-name: types-channels
  dependency-version: 4.3.0.20260408
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: utilities-minor
- dependency-name: types-dateparser
  dependency-version: 1.4.0.20260328
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: utilities-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 weeks agoChore(deps): Bump cryptography in the uv group across 1 directory (#12546)
dependabot[bot] [Wed, 8 Apr 2026 21:01:39 +0000 (14:01 -0700)] 
Chore(deps): Bump cryptography in the uv group across 1 directory (#12546)

Bumps the uv group with 1 update in the / directory: [cryptography](https://github.com/pyca/cryptography).

Updates `cryptography` from 46.0.6 to 46.0.7
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.6...46.0.7)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 46.0.7
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 weeks agoChore(deps-dev): Bump types-python-dateutil (#12542)
dependabot[bot] [Wed, 8 Apr 2026 20:46:05 +0000 (13:46 -0700)] 
Chore(deps-dev): Bump types-python-dateutil (#12542)

Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.9.0.20260305 to 2.9.0.20260323.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-version: 2.9.0.20260323
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 weeks agoChore(deps-dev): Bump types-pytz (#12541)
dependabot[bot] [Wed, 8 Apr 2026 20:03:54 +0000 (13:03 -0700)] 
Chore(deps-dev): Bump types-pytz (#12541)

Bumps [types-pytz](https://github.com/python/typeshed) from 2025.2.0.20251108 to 2026.1.1.20260304.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  dependency-version: 2026.1.1.20260304
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 weeks agoChore(deps): Bump django-guardian in the utilities-patch group (#12539)
dependabot[bot] [Wed, 8 Apr 2026 18:59:35 +0000 (11:59 -0700)] 
Chore(deps): Bump django-guardian in the utilities-patch group (#12539)

Bumps the utilities-patch group with 1 update: [django-guardian](https://github.com/django-guardian/django-guardian).

Updates `django-guardian` from 3.3.0 to 3.3.1
- [Release notes](https://github.com/django-guardian/django-guardian/releases)
- [Commits](https://github.com/django-guardian/django-guardian/compare/3.3.0...3.3.1)

---
updated-dependencies:
- dependency-name: django-guardian
  dependency-version: 3.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: utilities-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 weeks agoChore(deps-dev): Bump zensical in the development group (#12532)
dependabot[bot] [Wed, 8 Apr 2026 18:19:50 +0000 (18:19 +0000)] 
Chore(deps-dev): Bump zensical in the development group (#12532)

Bumps the development group with 1 update: [zensical](https://github.com/zensical/zensical).

Updates `zensical` from 0.0.29 to 0.0.31
- [Release notes](https://github.com/zensical/zensical/releases)
- [Commits](https://github.com/zensical/zensical/compare/v0.0.29...v0.0.31)

---
updated-dependencies:
- dependency-name: zensical
  dependency-version: 0.0.31
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 weeks agoChore(deps): Bump pdfjs-dist from 5.4.624 to 5.6.205 in /src-ui (#12536)
dependabot[bot] [Wed, 8 Apr 2026 17:31:39 +0000 (17:31 +0000)] 
Chore(deps): Bump pdfjs-dist from 5.4.624 to 5.6.205 in /src-ui (#12536)

Bumps [pdfjs-dist](https://github.com/mozilla/pdf.js) from 5.4.624 to 5.6.205.
- [Release notes](https://github.com/mozilla/pdf.js/releases)
- [Commits](https://github.com/mozilla/pdf.js/compare/v5.4.624...v5.6.205)

---
updated-dependencies:
- dependency-name: pdfjs-dist
  dependency-version: 5.6.205
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 weeks agoChore(deps): Bump the actions group with 4 updates (#12538)
dependabot[bot] [Wed, 8 Apr 2026 17:23:38 +0000 (10:23 -0700)] 
Chore(deps): Bump the actions group with 4 updates (#12538)

Bumps the actions group with 4 updates: [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv), [codecov/codecov-action](https://github.com/codecov/codecov-action), [github/codeql-action](https://github.com/github/codeql-action) and [crowdin/github-action](https://github.com/crowdin/github-action).

Updates `astral-sh/setup-uv` from 7.3.1 to 8.0.0
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/5a095e7a2014a4212f075830d4f7277575a9d098...cec208311dfd045dd5311c1add060b2062131d57)

Updates `codecov/codecov-action` from 5.5.2 to 6.0.0
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/671740ac38dd9b0130fbe1cec585b89eea48d3de...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)

Updates `github/codeql-action` from 4.32.5 to 4.35.1
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v4.32.5...c10b8064de6f491fea524254123dbe5e09572f13)

Updates `crowdin/github-action` from 2.15.0 to 2.16.0
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/8818ff65bfc4322384f983ea37e3926948c11745...7ca9c452bfe9197d3bb7fa83a4d7e2b0c9ae835d)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: codecov/codecov-action
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: github/codeql-action
  dependency-version: 4.35.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: crowdin/github-action
  dependency-version: 2.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 weeks agoChore(deps-dev): Bump the frontend-eslint-dependencies group (#12535)
dependabot[bot] [Wed, 8 Apr 2026 16:50:57 +0000 (16:50 +0000)] 
Chore(deps-dev): Bump the frontend-eslint-dependencies group (#12535)

Bumps the frontend-eslint-dependencies group in /src-ui with 3 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) and [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils).

Updates `@typescript-eslint/eslint-plugin` from 8.57.2 to 8.58.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.57.2 to 8.58.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.0/packages/parser)

Updates `@typescript-eslint/utils` from 8.57.2 to 8.58.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/utils/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.0/packages/utils)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.58.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-eslint-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.58.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-eslint-dependencies
- dependency-name: "@typescript-eslint/utils"
  dependency-version: 8.58.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-eslint-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 weeks agoChore(deps): Bump the frontend-angular-dependencies group (#12533)
dependabot[bot] [Wed, 8 Apr 2026 16:33:58 +0000 (16:33 +0000)] 
Chore(deps): Bump the frontend-angular-dependencies group (#12533)

Bumps the frontend-angular-dependencies group in /src-ui with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@ng-select/ng-select](https://github.com/ng-select/ng-select) | `21.5.2` | `21.7.0` |
| [@angular-devkit/core](https://github.com/angular/angular-cli) | `21.2.3` | `21.2.6` |
| [@angular-devkit/schematics](https://github.com/angular/angular-cli) | `21.2.3` | `21.2.6` |
| [@angular/build](https://github.com/angular/angular-cli) | `21.2.3` | `21.2.6` |
| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.3` | `21.2.6` |

Updates `@ng-select/ng-select` from 21.5.2 to 21.7.0
- [Release notes](https://github.com/ng-select/ng-select/releases)
- [Changelog](https://github.com/ng-select/ng-select/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ng-select/ng-select/compare/v21.5.2...v21.7.0)

Updates `@angular-devkit/core` from 21.2.3 to 21.2.6
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/v21.2.3...v21.2.6)

Updates `@angular-devkit/schematics` from 21.2.3 to 21.2.6
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/v21.2.3...v21.2.6)

Updates `@angular/build` from 21.2.3 to 21.2.6
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/v21.2.3...v21.2.6)

Updates `@angular/cli` from 21.2.3 to 21.2.6
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/v21.2.3...v21.2.6)

---
updated-dependencies:
- dependency-name: "@ng-select/ng-select"
  dependency-version: 21.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular-devkit/core"
  dependency-version: 21.2.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular-devkit/schematics"
  dependency-version: 21.2.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular/build"
  dependency-version: 21.2.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular/cli"
  dependency-version: 21.2.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 weeks agoChore(deps-dev): Bump jest-preset-angular from 16.1.1 to 16.1.2 in /src-ui in the...
dependabot[bot] [Wed, 8 Apr 2026 16:11:53 +0000 (16:11 +0000)] 
Chore(deps-dev): Bump jest-preset-angular from 16.1.1 to 16.1.2 in /src-ui in the frontend-jest-dependencies group across 1 directory (#12534)

* Chore(deps-dev): Bump jest-preset-angular

Bumps the frontend-jest-dependencies group in /src-ui with 1 update: [jest-preset-angular](https://github.com/thymikee/jest-preset-angular).

Updates `jest-preset-angular` from 16.1.1 to 16.1.2
- [Release notes](https://github.com/thymikee/jest-preset-angular/releases)
- [Changelog](https://github.com/thymikee/jest-preset-angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/thymikee/jest-preset-angular/compare/v16.1.1...v16.1.2)

---
updated-dependencies:
- dependency-name: jest-preset-angular
  dependency-version: 16.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-jest-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
* Circumvent setSystemTime bug

See https://github.com/sinonjs/fake-timers/issues/557

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2 weeks agoChore(deps-dev): Bump @playwright/test from 1.58.2 to 1.59.0 in /src-ui (#12537)
dependabot[bot] [Wed, 8 Apr 2026 15:52:49 +0000 (15:52 +0000)] 
Chore(deps-dev): Bump @playwright/test from 1.58.2 to 1.59.0 in /src-ui (#12537)

* Chore(deps-dev): Bump @playwright/test from 1.58.2 to 1.59.0 in /src-ui

Bumps [@playwright/test](https://github.com/microsoft/playwright) from 1.58.2 to 1.59.0.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.58.2...v1.59.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-version: 1.59.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
* bump Playwright docker images

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2 weeks agoAuto translate strings
GitHub Actions [Wed, 8 Apr 2026 15:42:05 +0000 (15:42 +0000)] 
Auto translate strings

2 weeks agoEnhancement: add view_global_statistics and view_system_status permissions (#12530)
shamoon [Wed, 8 Apr 2026 15:39:47 +0000 (08:39 -0700)] 
Enhancement: add view_global_statistics and view_system_status permissions (#12530)

2 weeks agoHandle the final batch of zizmor warnings
shamoon [Wed, 8 Apr 2026 15:06:00 +0000 (08:06 -0700)] 
Handle the final batch of zizmor warnings

2 weeks agoChore: address more zizmor flags (#12529)
shamoon [Wed, 8 Apr 2026 14:16:09 +0000 (07:16 -0700)] 
Chore: address more zizmor flags (#12529)

2 weeks agoChore(deps): Bump the npm_and_yarn group across 1 directory with 2 updates (#12531)
dependabot[bot] [Wed, 8 Apr 2026 04:39:44 +0000 (21:39 -0700)] 
Chore(deps): Bump the npm_and_yarn group across 1 directory with 2 updates (#12531)

Bumps the npm_and_yarn group with 2 updates in the /src-ui directory: [@hono/node-server](https://github.com/honojs/node-server) and [hono](https://github.com/honojs/hono).

Updates `@hono/node-server` from 1.19.12 to 1.19.13
- [Release notes](https://github.com/honojs/node-server/releases)
- [Commits](https://github.com/honojs/node-server/compare/v1.19.12...v1.19.13)

Updates `hono` from 4.12.9 to 4.12.12
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](https://github.com/honojs/hono/compare/v4.12.9...v4.12.12)

---
updated-dependencies:
- dependency-name: "@hono/node-server"
  dependency-version: 1.19.13
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: hono
  dependency-version: 4.12.12
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 weeks agoClarify User permission scope in docs
shamoon [Tue, 7 Apr 2026 20:38:24 +0000 (13:38 -0700)] 
Clarify User permission scope in docs

2 weeks agoFix: prevent duplicate parent tag IDs (#12522)
shamoon [Tue, 7 Apr 2026 04:59:11 +0000 (21:59 -0700)] 
Fix: prevent duplicate parent tag IDs (#12522)

2 weeks agoChore: Resolves some zizmor reported code scan findings (#12516)
Trenton H [Mon, 6 Apr 2026 23:03:29 +0000 (16:03 -0700)] 
Chore: Resolves some zizmor reported code scan findings (#12516)

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2 weeks agoAuto translate strings
GitHub Actions [Mon, 6 Apr 2026 22:51:57 +0000 (22:51 +0000)] 
Auto translate strings

2 weeks agoBreaking: Decouple OCR control from archive file control (#12448)
Trenton H [Mon, 6 Apr 2026 22:50:21 +0000 (15:50 -0700)] 
Breaking: Decouple OCR control from archive file control (#12448)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
3 weeks agoSecurity: add static analysis CI workflow (#12466)
shamoon [Sat, 4 Apr 2026 04:17:23 +0000 (21:17 -0700)] 
Security: add static analysis CI workflow (#12466)

3 weeks agoFix: Don't create a new note highlight generator per note in the loop (#12512)
Trenton H [Sat, 4 Apr 2026 00:34:15 +0000 (17:34 -0700)] 
Fix: Don't create a new note highlight generator per note in the loop (#12512)

3 weeks agoDocumentation: note required secret key in v3 guide (#12513)
shamoon [Fri, 3 Apr 2026 22:41:38 +0000 (15:41 -0700)] 
Documentation: note required secret key in v3 guide (#12513)

3 weeks agoEnhancement: include sharelinks + bundles in export/import (#12479)
shamoon [Fri, 3 Apr 2026 21:51:57 +0000 (14:51 -0700)] 
Enhancement: include sharelinks + bundles in export/import (#12479)

3 weeks agoChore: Better typed status manager messages (#12509)
Trenton H [Fri, 3 Apr 2026 21:18:01 +0000 (14:18 -0700)] 
Chore: Better typed status manager messages (#12509)

3 weeks agoAuto translate strings
GitHub Actions [Fri, 3 Apr 2026 20:55:14 +0000 (20:55 +0000)] 
Auto translate strings

3 weeks agoEnhancement: unify text search to use tantivy (#12485)
shamoon [Fri, 3 Apr 2026 20:53:45 +0000 (13:53 -0700)] 
Enhancement: unify text search to use tantivy (#12485)

3 weeks agoFeature: Update consumer logging to include task ID for log correlation (#12510)
Trenton H [Fri, 3 Apr 2026 20:31:40 +0000 (13:31 -0700)] 
Feature: Update consumer logging to include task ID for log correlation (#12510)