semantic-release
bb8f324e90
0.120.0
...
Automatically generated by python-semantic-release
2026-03-12 00:14:55 +00:00
Christian Krakau-Louis
80dd117ebf
Merge pull request #587 from christianlouis/copilot/add-apple-drive-icloud-support
...
feat(storage): add Apple iCloud Drive storage provider
2026-03-12 01:14:37 +01:00
github-actions[bot]
3a4f7452c0
chore(release): update build metadata files [skip ci]
2026-03-12 00:13:30 +00:00
semantic-release
09c485cede
0.119.0
...
Automatically generated by python-semantic-release
2026-03-12 00:13:27 +00:00
Christian Krakau-Louis
83e83fff73
Merge pull request #583 from christianlouis/copilot/add-compliance-templates
...
fix(migrations): merge main and rechain compliance migration as 031
2026-03-12 01:13:08 +01:00
copilot-swe-agent[bot]
e94844a55e
Merge: prefer rebased local over stale remote
2026-03-12 00:00:52 +00:00
copilot-swe-agent[bot]
054af636e3
fix(migrations): merge main and rechain compliance migration as 031 after 030_add_mobile_devices
...
Merge main branch into compliance templates feature branch.
Main had advanced with migrations 027-030 (ensure_shared_links,
audit_logs, user_language_preference, mobile_devices) since this
branch forked. Our compliance migration was 027 with down_revision
026, which conflicted with main's 027_ensure_shared_links_table.
Changes:
- Merge main (including i18n, audit logs, mobile, GraphQL features)
- Resolve conflicts in app/api/__init__.py, app/models.py, tests/conftest.py
- Rename 027_add_compliance_templates → 031_add_compliance_templates
- Rechain: down_revision 026_add_scheduled_jobs → 030_add_mobile_devices
- Add ComplianceTemplate to migrations/env.py imports
- Alembic now has single head: 031_add_compliance_templates
2026-03-12 00:00:29 +00:00
copilot-swe-agent[bot]
50af0ea679
fix(tests): add iCloud mocks to all test files and address code review feedback
...
- Add _should_upload_to_icloud mock to test_coverage_uploads_notification.py
(_all_should_upload_false helper + 3 inline patch blocks)
- Add cfg.icloud_username/password = None to all onboarding test mocks
- Add iCloud creds to fully-configured onboarding test
- Fix noqa comment accuracy (unofficial third-party, not first-party)
- Replace generic Exception with RuntimeError in upload error handler
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-11 23:59:19 +00:00
github-actions[bot]
78a245d3a5
chore(release): update build metadata files [skip ci]
2026-03-11 23:43:31 +00:00
semantic-release
8b07f7201f
0.118.0
...
Automatically generated by python-semantic-release
2026-03-11 23:43:28 +00:00
Christian Krakau-Louis
39db5fc564
Merge pull request #600 from christianlouis/copilot/add-graphql-api
...
feat: add GraphQL API alongside REST at /graphql
2026-03-12 00:43:10 +01:00
copilot-swe-agent[bot]
528f0a624d
fix: remove accidental pip artifact file and update docs for iCloud Drive
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-11 23:38:35 +00:00
copilot-swe-agent[bot]
30f06e0b32
feat(storage): add Apple iCloud Drive storage provider
...
Add iCloud Drive as a new storage destination using the pyicloud library.
Includes upload task, configuration, user integration handler, provider
status, onboarding support, and comprehensive tests.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-11 23:38:35 +00:00
copilot-swe-agent[bot]
9bc23aa40b
test(tasks): add _should_upload_to_icloud mock to send_to_all tests
...
Add icloud upload check mock alongside existing _should_upload_to_*
function mocks in all TestSendToAllDestinations test methods.
Changes:
- Import _should_upload_to_icloud from app.tasks.send_to_all
- Add @patch decorator for _should_upload_to_icloud in 9 test methods
- Add mock_icloud parameter to each test method signature
- Set mock_icloud.return_value = False where other mocks are set to False
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-11 23:38:34 +00:00
copilot-swe-agent[bot]
9c71e9aabf
Initial plan
2026-03-11 23:38:34 +00:00
github-actions[bot]
40d976ed82
chore(release): update build metadata files [skip ci]
2026-03-11 23:34:40 +00:00
semantic-release
39671ad3b9
0.117.1
...
Automatically generated by python-semantic-release
2026-03-11 23:34:37 +00:00
Christian Krakau-Louis
1c4a261f01
Merge pull request #599 from christianlouis/copilot/fix-main-test-failures
...
fix: resolve 47 failing CI tests across i18n, templates, and migrations
2026-03-12 00:34:18 +01:00
copilot-swe-agent[bot]
df4c91a586
fix: resolve all 47 failing tests in main
...
- Fix detect_language() to safely handle unhashable session values and
requests missing cookies/headers attributes (TypeError + AttributeError)
- Add default English `_()` translation function to Jinja2 template
environment globals so error pages always have it available
- Fix app/main.py exception handlers to use a dedicated error templates
instance with `_` registered, keeping it separate from view templates
to avoid test patches breaking error rendering
- Fix app/views/plans.py to import shared templates from app.views.base
instead of creating its own Jinja2Templates instance
- Make migration 029_add_user_language_preference idempotent: skip
ALTER TABLE if user_profiles table does not exist
- Update test_i18n.py expectations to reflect 31 supported languages
- Create 21 missing translation files (nb, da, sv, fi, is, ga, lb, ca,
cs, sk, hu, sl, hr, ro, bg, el, et, lv, lt, tr, uk) with English
placeholder translations
- Update de.json with 117 missing translation keys including proper
German translations
- Update es, fr, it, nl, pl, pt, ru, zh translation files with missing
keys using English fallbacks
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-11 22:28:01 +00:00
copilot-swe-agent[bot]
a41ded535f
feat(api): add GraphQL endpoint at /graphql with Strawberry
...
- Add strawberry-graphql[fastapi] dependency
- Implement GraphQL schema covering documents, pipelines, settings, users
- Enable GraphiQL playground at /graphql
- Mount GraphQL router in main.py
- Add 24 tests for all query types and auth enforcement
- Update docs/API.md with GraphQL documentation section
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-11 22:17:25 +00:00
copilot-swe-agent[bot]
2b834d1405
Initial plan
2026-03-11 22:06:22 +00:00
github-actions[bot]
26a6eb81a1
chore(release): update build metadata files [skip ci]
2026-03-11 21:57:57 +00:00
semantic-release
acd1572b53
0.117.0
...
Automatically generated by python-semantic-release
2026-03-11 21:57:54 +00:00
Christian Krakau-Louis
4389e64269
Merge pull request #590 from christianlouis/copilot/build-mobile-apps
...
feat(mobile): add iOS/Android app with re-chained migrations and main merge
2026-03-11 22:57:19 +01:00
copilot-swe-agent[bot]
00f5e5bc1a
Initial plan
2026-03-11 21:54:05 +00:00
copilot-swe-agent[bot]
6bcabfef77
fix(merge): resolve conflicts in app/api/__init__.py and migrations/env.py against main
...
Merge main into branch to pull in translation files, audit log templates,
CI workflow updates, and other changes from PRs #595 , #597 , #598 .
Keep mobile_router and MobileDevice additions from this branch.
2026-03-11 21:53:00 +00:00
copilot-swe-agent[bot]
1d5eee4281
fix(migrations): re-chain mobile devices migration against main and restore merge conflicts
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-11 20:43:29 +00:00
github-actions[bot]
ab19ae5706
docs(changelog): update changelog [skip ci]
2026-03-11 19:07:04 +00:00
Christian Krakau-Louis
38452a51ae
Merge pull request #598 from christianlouis/copilot/update-translation-files-and-languages
...
Add 21 new translation files and expand 8 existing ones to full 483-key coverage
2026-03-11 20:06:44 +01:00
github-actions[bot]
c5b67fe364
docs(changelog): update changelog [skip ci]
2026-03-11 16:39:29 +00:00
Christian Krakau-Louis
06c728cd21
Merge pull request #595 from christianlouis/copilot/test-docs-updates-language-support
...
feat(i18n): expand test and documentation coverage from 10 to 31 languages
2026-03-11 17:39:06 +01:00
copilot-swe-agent[bot]
bc1c644eec
Initial plan
2026-03-11 16:35:37 +00:00
github-actions[bot]
eb22a58065
docs(changelog): update changelog [skip ci]
2026-03-11 14:28:17 +00:00
Christian Krakau-Louis
ebf1fdb2a6
Merge pull request #597 from christianlouis/copilot/fix-ci-actions-annotations
...
ci: opt into Node.js 24 for all GitHub Actions workflows
2026-03-11 15:27:50 +01:00
copilot-swe-agent[bot]
bea9dae957
feat(i18n): replace hardcoded English text with translation keys in help, index, search templates
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-11 12:39:20 +00:00
copilot-swe-agent[bot]
64577f2d92
i18n: translate 6 HTML Jinja2 templates with _() calls
...
Replace all hardcoded English visible text with {{ _("key") }} calls in:
- queue_dashboard.html: headings, stat cards, table headers, empty states
- api_tokens.html: form labels, table headers, status badges, aria-labels
- similarity_dashboard.html: headings, stat labels, controls, empty states
- backup.html: buttons, config labels, table, retention section, confirm dialog
- shared_links.html: form labels/options, table headers, status badges
- duplicates.html: tabs, role tags, near-dup form, explanation bullets
Follows i18n rules: placeholder/aria-label/title attrs translated,
JS strings in <script> left as-is, Alpine.js bindings use Jinja2
server-side evaluation pattern for dynamic translated strings.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-11 12:22:46 +00:00
copilot-swe-agent[bot]
fdff970e59
feat(ui): i18n-translate credentials and audit_logs templates
...
Replace all hardcoded English text in credentials.html and audit_logs.html
with {{ _("key") }} translation function calls.
New keys added:
credentials.*: page_title, title, subtitle, total_credentials, configured,
not_configured, legend_title, legend_db, legend_env_before, legend_env_after,
legend_missing, legend_restart, col_credential, col_source, col_action,
table_for, restart_title, status_missing, source_db_title, source_env_title,
edit_in_settings, manage_settings, raw_json
audit.*: page_title, title, subtitle, siem_enabled_title, siem_off,
siem_disabled_title, refresh_label, filter_action, filter_all_actions,
filter_user, filter_all_users, filter_severity, filter_resource_type,
filter_resource_placeholder, filters_section_label, col_timestamp,
col_resource, col_ip, table_label, no_events, no_events_hint,
pagination_label, prev_label, prev, next_label, next, critical
Reused existing keys: common.description, common.status, common.actions,
common.edit, common.all, common.info, common.warning, common.error,
common.refresh, common.details, common.loading
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-11 12:08:14 +00:00
copilot-swe-agent[bot]
c306d80755
ci: opt into Node.js 24 for all GitHub Actions workflows
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-11 11:52:35 +00:00
copilot-swe-agent[bot]
50a4f76f9c
Initial plan
2026-03-11 11:50:11 +00:00
copilot-swe-agent[bot]
3f4562df0a
Initial plan
2026-03-11 11:47:49 +00:00
copilot-swe-agent[bot]
e58706e97f
Initial plan
2026-03-11 11:47:35 +00:00
github-actions[bot]
6b31ddac8e
chore(release): update build metadata files [skip ci]
2026-03-11 11:44:23 +00:00
semantic-release
691ed13074
0.116.0
...
Automatically generated by python-semantic-release
2026-03-11 11:44:20 +00:00
Christian Krakau-Louis
9f7d6c8548
Merge pull request #578 from christianlouis/copilot/implement-ui-i18n-support
...
feat(i18n): expand to 31 European languages, localize all in-product copy, merge with main
2026-03-11 12:43:59 +01:00
Christian Krakau-Louis
cbc04977ed
Merge branch 'main' into copilot/implement-ui-i18n-support
2026-03-11 12:39:39 +01:00
copilot-swe-agent[bot]
652fad758f
feat(i18n): expand to 31 European languages, localize all in-product copy, merge with main
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 22:50:23 +00:00
copilot-swe-agent[bot]
a66eb4b2a2
fix: merge main into i18n branch and relink migration to 029
...
- Resolve conflict in app/api/__init__.py (keep both audit_logs_router and i18n_router)
- Incorporate AuditLog model, audit_service, audit_logs API/views from main
- Relink migration from 026→027 to 028→029 (chain after 028_add_audit_logs)
- Update migrations/env.py with full model import list from main
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 21:59:58 +00:00
github-actions[bot]
d6fb78715a
docs(changelog): update changelog [skip ci]
2026-03-10 21:51:54 +00:00
Christian Krakau-Louis
40274f00d5
Merge pull request #582 from christianlouis/copilot/enhance-code-coverage-100
...
test(views): boost view module coverage — 27/29 files at 100%
2026-03-10 22:51:33 +01:00
github-actions[bot]
2375758a39
chore(release): update build metadata files [skip ci]
2026-03-10 21:51:21 +00:00