Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
407 commits
Select commit Hold shift + click to select a range
313fade
Merge pull request #41 from encryption4all/rm-frontend
rubenhensen Feb 12, 2026
ba426ff
Merge pull request #43 from encryption4all/add-arm64-builds
rubenhensen Feb 12, 2026
35ce38c
Add dockerignore to cut build context
rubenhensen Feb 23, 2026
8853d91
Rename cryptify-backend to cryptify
rubenhensen Feb 23, 2026
62a9c75
Change email url
rubenhensen Feb 23, 2026
1e6df0b
Fix CI deployment
rubenhensen Feb 25, 2026
81b2ff6
Add better error msg for pkg fetch
rubenhensen Feb 25, 2026
1b8ea07
Change error to properly print url
rubenhensen Feb 25, 2026
4dc3010
Add 10s timeout to PKG fetch to prevent silent startup hang
rubenhensen Feb 25, 2026
88a847b
Add SMTP logging and connection timeout to email sending
rubenhensen Feb 25, 2026
8295248
Change url send confirmation
rubenhensen Feb 25, 2026
7a24d12
Merge pull request #46 from encryption4all/rm-frontend
rubenhensen Feb 26, 2026
fd008ab
Change email template to match design
rubenhensen Mar 2, 2026
682fbc6
Add poll watching for claude code
rubenhensen Mar 2, 2026
f542fae
Split Docker build into native amd64/arm64 jobs, add cargo-chef caching
rubenhensen Mar 2, 2026
8c47324
Move imdage name from cryptify-backend to cryptify
rubenhensen Mar 2, 2026
6505249
ci: upgrade anchore/scan-action to v7.3.2 and codeql-action to v4
rubenhensen Mar 3, 2026
6d2db88
chore(deps): bump keccak from 0.1.5 to 0.1.6 in /cryptify
dependabot[bot] Mar 3, 2026
b3f6808
chore(deps): bump bytes from 1.10.1 to 1.11.1 in /cryptify
dependabot[bot] Mar 3, 2026
45f940a
chore(deps): bump time from 0.3.44 to 0.3.47 in /cryptify
dependabot[bot] Mar 3, 2026
c818afc
Merge pull request #48 from encryption4all/dependabot/cargo/cryptify/…
rubenhensen Mar 3, 2026
b5f1fce
Merge pull request #49 from encryption4all/dependabot/cargo/cryptify/…
rubenhensen Mar 3, 2026
043a650
Merge pull request #50 from encryption4all/dependabot/cargo/cryptify/…
rubenhensen Mar 3, 2026
19acf3b
fix: replace SVG with PNG in email template (#29)
rubenhensen Mar 5, 2026
3bb7db2
fix: replace checkmark SVG with HTML/unicode equivalent in email (#29)
rubenhensen Mar 6, 2026
ab02c62
Merge pull request #51 from encryption4all/fix/issue-29-postguard-web…
rubenhensen Mar 12, 2026
c47f84e
chore(deps): bump rustls-webpki from 0.103.8 to 0.103.10 in /cryptify
dependabot[bot] Mar 21, 2026
614dfc7
Merge pull request #53 from encryption4all/dependabot/cargo/cryptify/…
rubenhensen Mar 23, 2026
e622153
Split smtp credentials into username password
rubenhensen Mar 26, 2026
7ba5d17
Merge pull request #57 from encryption4all/fix/issue-56-smtp-credenti…
rubenhensen Mar 26, 2026
a890002
Add release-plz
rubenhensen Mar 26, 2026
cc91f84
Update pipeline action versions
rubenhensen Mar 26, 2026
375fd29
Merge pull request #58 from encryption4all/feat/release-plz
rubenhensen Mar 26, 2026
d03bc17
chore: add repository and license metadata to Cargo.toml
rubenhensen Mar 26, 2026
97d9422
Merge pull request #59 from encryption4all/test/release-plz-trigger
rubenhensen Mar 26, 2026
6bbfb58
chore: update Rust edition from 2018 to 2021
rubenhensen Mar 26, 2026
04a581c
Merge pull request #60 from encryption4all/test/release-plz-trigger-2
rubenhensen Mar 26, 2026
b95bc56
chore: add package description to Cargo.toml
rubenhensen Mar 26, 2026
aa19d46
Merge pull request #61 from encryption4all/test/release-plz-trigger-3
rubenhensen Mar 26, 2026
f870ae4
fix: remove invalid command value from release-plz workflow
rubenhensen Mar 26, 2026
c2d9c17
Merge pull request #62 from encryption4all/fix/release-plz-command
rubenhensen Mar 26, 2026
60d7d85
chore: release v0.1.1
github-actions[bot] Mar 26, 2026
68c8542
Merge pull request #63 from encryption4all/release-plz-2026-03-26T16-…
rubenhensen Mar 26, 2026
e75c707
fix: trigger delivery on tag push so semver Docker tags are applied
rubenhensen Mar 26, 2026
d51f5b1
Merge pull request #65 from encryption4all/fix/delivery-semver-tags
rubenhensen Mar 26, 2026
fe0d21c
chore: release v0.1.2
github-actions[bot] Mar 26, 2026
c9e7556
Merge pull request #64 from encryption4all/release-plz-2026-03-26T16-…
rubenhensen Mar 26, 2026
c9b10e3
chore: release v0.1.3
github-actions[bot] Mar 26, 2026
61dc6b9
Merge pull request #66 from encryption4all/release-plz-2026-03-26T16-…
rubenhensen Mar 27, 2026
a294c5e
fix: trigger delivery on tag push so semver Docker tags are applied
rubenhensen Mar 26, 2026
13a38b1
fix: add initial v0.1.0 changelog entry to prevent release-plz from i…
rubenhensen Mar 27, 2026
b498453
Merge pull request #68 from encryption4all/fix/release-plz-setup
rubenhensen Mar 27, 2026
f545331
chore: release v0.1.4
github-actions[bot] Mar 27, 2026
323462b
Merge pull request #67 from encryption4all/release-plz-2026-03-27T08-…
rubenhensen Mar 27, 2026
94f7ffc
refactor: move Rust crate from cryptify/ subdirectory to repo root
rubenhensen Mar 27, 2026
eb6084e
Merge pull request #70 from encryption4all/refactor/flatten-crate-str…
rubenhensen Mar 27, 2026
7daad6f
chore: release v0.1.5
github-actions[bot] Mar 27, 2026
b72caee
Merge pull request #69 from encryption4all/release-plz-2026-03-27T08-…
rubenhensen Mar 27, 2026
0335bc9
fix: scope config.toml gitignore pattern to repo root only
rubenhensen Mar 27, 2026
120bceb
Merge pull request #71 from encryption4all/fix/gitignore-config-path
rubenhensen Mar 27, 2026
9d19d51
chore: release v0.1.6
github-actions[bot] Mar 27, 2026
fcfe037
Merge pull request #72 from encryption4all/release-plz-2026-03-27T08-…
rubenhensen Mar 27, 2026
475231f
Reset release-plz to defaults
rubenhensen Mar 27, 2026
006a775
Merge pull request #74 from encryption4all/fix/release-plz-reset
rubenhensen Mar 27, 2026
5481903
chore: release v0.1.7
github-actions[bot] Mar 27, 2026
c1e91e5
Merge pull request #73 from encryption4all/release-plz-2026-03-27T08-…
rubenhensen Mar 27, 2026
a1324c0
Add id-token write
rubenhensen Mar 27, 2026
40d818f
Disable release-plz cargo publishing
rubenhensen Mar 27, 2026
b4b7ed9
fix: semver version on release
rubenhensen Mar 27, 2026
a49d7c0
chore: release v0.1.8
github-actions[bot] Mar 27, 2026
ae3e4d1
Merge pull request #75 from encryption4all/release-plz-2026-03-27T09-…
rubenhensen Mar 27, 2026
8c7a7fb
chore: release v0.1.9
github-actions[bot] Mar 27, 2026
df804c4
Merge pull request #76 from encryption4all/release-plz-2026-03-27T09-…
rubenhensen Mar 27, 2026
134f5df
Add rlsplz dependency
rubenhensen Mar 27, 2026
7804fb8
chore: release v0.1.10
github-actions[bot] Mar 27, 2026
0e71025
Merge pull request #77 from encryption4all/release-plz-2026-03-27T09-…
rubenhensen Mar 27, 2026
fb34899
Try other tag based flow
rubenhensen Mar 27, 2026
6426f91
chore: release v0.1.11
github-actions[bot] Mar 27, 2026
c5a919b
Merge pull request #78 from encryption4all/release-plz-2026-03-27T09-…
rubenhensen Mar 27, 2026
55214c3
Run on release-plz completion
rubenhensen Mar 27, 2026
f900267
chore: release v0.1.12
github-actions[bot] Mar 27, 2026
6f91ed1
Merge pull request #79 from encryption4all/release-plz-2026-03-27T09-…
rubenhensen Mar 27, 2026
eecca05
Run on tag push
rubenhensen Mar 27, 2026
f4031c7
chore: release v0.1.13
github-actions[bot] Mar 27, 2026
b153991
Merge pull request #80 from encryption4all/release-plz-2026-03-27T09-…
rubenhensen Mar 27, 2026
467e598
use one workflow file
rubenhensen Mar 27, 2026
2d94b90
chore: release v0.1.14
github-actions[bot] Mar 27, 2026
e31b597
Merge pull request #81 from encryption4all/release-plz-2026-03-27T10-…
rubenhensen Mar 27, 2026
b9f48ed
try the rlsplz way
rubenhensen Mar 27, 2026
1e55782
chore: release v0.1.15
github-actions[bot] Mar 27, 2026
8628ae1
Merge pull request #82 from encryption4all/release-plz-2026-03-27T10-…
rubenhensen Mar 27, 2026
ef18edf
Disable main build on push
rubenhensen Mar 27, 2026
e6ce477
chore: release v0.1.16
github-actions[bot] Mar 27, 2026
9804e4c
Merge pull request #83 from encryption4all/release-plz-2026-03-27T10-…
rubenhensen Mar 27, 2026
8de90e0
Try 100 version of automated release
rubenhensen Mar 27, 2026
ae5f3e4
Disable arm/amd build publish
rubenhensen Mar 27, 2026
a5da155
Move anchore scan
rubenhensen Mar 27, 2026
76b20c4
Switch to docker specified workflow
rubenhensen Mar 27, 2026
cfff6a9
Upload to ghcr instead of docker
rubenhensen Mar 27, 2026
879b1ad
chore: release v0.1.17
github-actions[bot] Mar 27, 2026
a7d9bf9
Merge pull request #84 from encryption4all/release-plz-2026-03-27T13-…
rubenhensen Mar 27, 2026
eaea2dc
Try 24375738 to make the pipeline work
rubenhensen Mar 30, 2026
e49ba99
Use native runners
rubenhensen Mar 30, 2026
19e7bbe
chore: release v0.1.18
github-actions[bot] Mar 30, 2026
a586448
Merge pull request #85 from encryption4all/release-plz-2026-03-27T14-…
rubenhensen Mar 30, 2026
5c97e04
add CI pipeline explanation
rubenhensen Mar 30, 2026
244aac0
Update build pipeline versions
rubenhensen Mar 30, 2026
6af45aa
Merge branch 'main' into add-explanation
rubenhensen Mar 30, 2026
a654ca1
Merge pull request #87 from encryption4all/add-explanation
rubenhensen Mar 30, 2026
e575642
chore: release v0.1.19
github-actions[bot] Mar 30, 2026
18816c7
Merge pull request #86 from encryption4all/release-plz-2026-03-30T07-…
rubenhensen Mar 30, 2026
60e4fe6
Use high-res PostGuard logo with text in email template
rubenhensen Apr 3, 2026
edcd104
Merge pull request #89 from encryption4all/fix-email-logo
rubenhensen Apr 3, 2026
ac7f668
chore: release v0.1.20
github-actions[bot] Apr 3, 2026
e9605c1
Merge pull request #88 from encryption4all/release-plz-2026-03-30T07-…
rubenhensen Apr 3, 2026
9a51da3
Fix release-plz creating PRs when nothing changed
rubenhensen Apr 3, 2026
904e534
Merge pull request #91 from encryption4all/fix-release-plz-loop
rubenhensen Apr 3, 2026
d19ade6
Standardize README
dobby-coder[bot] Apr 14, 2026
685df0a
Add PostGuard logo to README
dobby-coder[bot] Apr 15, 2026
53308c5
chore: cargo update to refresh dependencies and resolve advisories
dobby-coder[bot] Apr 20, 2026
7fb91a6
Merge pull request #95 from encryption4all/chore/update-dependencies
rubenhensen Apr 20, 2026
1ba391f
chore: release v0.1.21
github-actions[bot] Apr 20, 2026
858e384
Merge pull request #92 from encryption4all/release-plz-2026-04-03T16-…
rubenhensen Apr 20, 2026
133976a
docs: remove outdated cryptify-frontend/backend references
dobby-coder[bot] Apr 20, 2026
fb31429
Merge pull request #94 from encryption4all/standardize-readme
rubenhensen Apr 20, 2026
d27e1e3
feat: enforce server-side upload limits (5 GiB/upload, 15 GiB rolling…
dobby-coder[bot] Apr 21, 2026
70a085e
Merge pull request #103 from encryption4all/feat/server-side-upload-l…
rubenhensen Apr 23, 2026
22d7d64
feat: tiered upload limits for API key users, 10 MiB chunks, resets_a…
rubenhensen Apr 23, 2026
dcf5344
Merge pull request #104 from encryption4all/feat/tiered-upload-limits
rubenhensen Apr 23, 2026
448f82e
fix: validate cryptifytoken header in upload_finalize
dobby-coder[bot] Apr 23, 2026
66bfaa5
fix(upload): raise Rocket data limits to match CHUNK_SIZE
dobby-coder[bot] Apr 23, 2026
81fa679
feat(email): add X-PostGuard header to outgoing notifications
dobby-coder[bot] Apr 23, 2026
0bc95a2
fix(email): avoid 'NaN B' file size for zero-byte uploads
dobby-coder[bot] Apr 23, 2026
972c1f0
Merge pull request #99 from encryption4all/fix/validate-cryptify-toke…
rubenhensen Apr 24, 2026
278bf76
Merge pull request #105 from encryption4all/fix/upload-chunk-data-limit
rubenhensen Apr 24, 2026
699d747
Merge pull request #107 from encryption4all/fix/format-file-size-zero
rubenhensen Apr 24, 2026
6c92f70
Merge branch 'main' into feat/x-postguard-email-header
dobby-coder[bot] Apr 24, 2026
68d7cec
Merge pull request #106 from encryption4all/feat/x-postguard-email-he…
rubenhensen Apr 24, 2026
24bcd16
Add end-to-end upload-pipeline integration test harness
dobby-coder[bot] Apr 24, 2026
98e831e
fix: use GB instead of GiB in API description
rubenhensen Apr 24, 2026
968a353
Merge pull request #110 from encryption4all/fix/gib-to-gb
rubenhensen Apr 24, 2026
2b9aa09
fix: align upload limits to round GB values (5 GB / 100 GB)
rubenhensen Apr 24, 2026
0a63fd7
Merge pull request #111 from encryption4all/fix/gb-byte-values
rubenhensen Apr 24, 2026
b93c119
feat: make chunk size configurable via TOML, default 5 MB
rubenhensen Apr 24, 2026
b164d6f
Merge pull request #112 from encryption4all/feat/configurable-chunk-size
rubenhensen Apr 24, 2026
29dc4fa
chore: release v0.1.22
github-actions[bot] Apr 24, 2026
a31dbf1
Merge pull request #98 from encryption4all/release-plz-2026-04-20T12-…
rubenhensen Apr 24, 2026
ceb2e8e
Merge main into integration-test-harness
dobby-coder[bot] Apr 25, 2026
d16869d
docs(api): align upload limit descriptions with current constants
dobby-coder[bot] Apr 25, 2026
58883a8
Merge pull request #114 from encryption4all/docs/align-api-descriptio…
rubenhensen Apr 26, 2026
4060167
chore: release v0.1.23
github-actions[bot] Apr 26, 2026
cecdb1e
chore(deps): bump strum and strum_macros to 0.28
dobby-coder[bot] Apr 28, 2026
551b37a
chore(deps): bump askama to 0.15
dobby-coder[bot] Apr 28, 2026
5f949c9
chore(deps): bump reqwest to 0.13
dobby-coder[bot] Apr 28, 2026
39d8f2b
chore(deps): bump sha2 to 0.11 and rand to 0.10
dobby-coder[bot] Apr 28, 2026
66b4911
chore(deps): bump pg-core to 0.5
dobby-coder[bot] Apr 28, 2026
1a811b2
Merge pull request #115 from encryption4all/release-plz-2026-04-26T10…
rubenhensen Apr 30, 2026
d91159d
Merge pull request #122 from encryption4all/dobby/pg-core-0.5
rubenhensen Apr 30, 2026
bcc990c
Merge pull request #121 from encryption4all/dobby/sha2-rand
rubenhensen Apr 30, 2026
2f53904
Merge remote-tracking branch 'origin/main' into dobby/reqwest-0.13
rubenhensen Apr 30, 2026
0d66732
Merge pull request #120 from encryption4all/dobby/reqwest-0.13
rubenhensen Apr 30, 2026
02a711c
Bump openssl from 0.10.76 to 0.10.78
dependabot[bot] Apr 30, 2026
2f394ca
Bump rustls-webpki from 0.103.12 to 0.103.13
dependabot[bot] Apr 30, 2026
c8ff9bd
Merge remote-tracking branch 'origin/main' into chore/strum-0.28
rubenhensen Apr 30, 2026
4b3b583
Merge pull request #118 from encryption4all/chore/strum-0.28
rubenhensen Apr 30, 2026
f48b9cd
Merge pull request #128 from encryption4all/dependabot/cargo/openssl-…
rubenhensen Apr 30, 2026
97032e0
Merge pull request #113 from encryption4all/dependabot/cargo/rustls-w…
rubenhensen Apr 30, 2026
ac1da4d
chore: release v0.1.24
github-actions[bot] Apr 30, 2026
3e05dfd
Merge pull request #127 from encryption4all/release-plz-2026-04-30T18…
rubenhensen Apr 30, 2026
234df3f
chore: fix clippy useless_format warning in email.rs
dobby-coder[bot] May 1, 2026
777a8c2
fix: parse recipient before creating file in upload_init
dobby-coder[bot] May 1, 2026
3791085
fix(store): extend upload session deadline on each chunk PUT
dobby-coder[bot] May 1, 2026
bc6d0dc
Merge pull request #129 from encryption4all/chore/fix-clippy-useless-…
rubenhensen May 1, 2026
8e93bdd
feat(upload): add notifyRecipients toggle on /fileupload/init
rubenhensen May 1, 2026
723c8db
Merge pull request #135 from encryption4all/feat/notify-recipients-to…
rubenhensen May 2, 2026
3dcf4c7
chore: release v0.1.25
github-actions[bot] May 2, 2026
a058c3d
Merge pull request #133 from encryption4all/release-plz-2026-05-01T08…
rubenhensen May 2, 2026
0ae20f9
ci: add Rust quality job (fmt, clippy, test)
rubenhensen May 5, 2026
0be8c7c
Merge pull request #137 from encryption4all/ci/add-rust-quality-job
rubenhensen May 5, 2026
c3d3707
fix: validate API key against pg-pkg, not a local allowlist (closes #…
rubenhensen May 6, 2026
ae2ce4e
Merge pull request #139 from encryption4all/fix/api-key-validate-via-pkg
rubenhensen May 6, 2026
aab3630
build(deps): bump openssl from 0.10.78 to 0.10.79
dependabot[bot] May 6, 2026
70407ed
chore: update dependencies
dobby-coder[bot] May 6, 2026
590f7dc
Merge pull request #143 from encryption4all/chore/update-deps
rubenhensen May 7, 2026
5c78776
Merge remote-tracking branch 'origin/main' into fix/upload-init-orpha…
dobby-coder[bot] May 7, 2026
33905c3
Merge pull request #131 from encryption4all/fix/upload-init-orphan-fi…
rubenhensen May 7, 2026
7dbfb8f
Merge pull request #141 from encryption4all/dependabot/cargo/openssl-…
rubenhensen May 7, 2026
132d450
Merge pull request #132 from encryption4all/fix/extend-upload-evictio…
rubenhensen May 7, 2026
49d3fdb
feat(upload): structured 404 body, configurable session TTL
rubenhensen May 7, 2026
51bf439
Merge pull request #144 from encryption4all/feat/upload-session-not-f…
rubenhensen May 7, 2026
d7c0d54
feat(upload): idempotent retry of the last committed chunk
rubenhensen May 7, 2026
2a6dac1
refactor(upload): apply review feedback from #145
rubenhensen May 7, 2026
13661c7
Merge pull request #145 from encryption4all/feat/idempotent-chunk-retry
rubenhensen May 7, 2026
c26b635
chore: release v0.1.26
github-actions[bot] May 7, 2026
05aa554
Merge pull request #138 from encryption4all/release-plz-2026-05-05T16…
rubenhensen May 7, 2026
8e0794b
feat(upload): GET /fileupload/{uuid}/status for cross-refresh resume
rubenhensen May 7, 2026
f799086
test(upload): cover /status preflight + deadline-extension AC
rubenhensen May 7, 2026
4c30e53
Merge pull request #148 from encryption4all/feat/upload-status-endpoint
rubenhensen May 7, 2026
191135a
chore: bump tokio 1.52.2 → 1.52.3
dobby-coder[bot] May 12, 2026
5ecba3e
feat: staging_mode config that logs instead of sending email
dobby-coder[bot] May 13, 2026
ca6be91
Merge pull request #152 from encryption4all/feat/staging-mail-mode
rubenhensen May 13, 2026
9ba416e
Merge pull request #151 from encryption4all/chore/bump-tokio-1.52.3
rubenhensen May 13, 2026
be5ce39
style: apply cargo fmt
dobby-coder[bot] May 13, 2026
32f86f5
Merge remote-tracking branch 'origin/main' into integration-test-harness
dobby-coder[bot] May 13, 2026
d9ca928
fix: add HTTP Range support to /filedownload
dobby-coder[bot] May 13, 2026
b1eff69
Merge pull request #154 from encryption4all/fix/153-download-range-su…
rubenhensen May 13, 2026
f51acd1
chore: resolve conflicts with main (download route)
dobby-coder[bot] May 13, 2026
850cdd2
Merge pull request #109 from encryption4all/integration-test-harness
rubenhensen May 13, 2026
d2b40aa
chore: bump pg-core 0.5 → 0.6
dobby-coder[bot] May 13, 2026
832b8b6
fix: address dead UUID check and copy-paste error in upload_chunk
dobby-coder[bot] May 15, 2026
33d9fb2
test: add regression test for invalid_uuid reason on upload_chunk
dobby-coder[bot] May 15, 2026
935eca6
Merge pull request #158 from encryption4all/fix/upload-chunk-cleanups
rubenhensen May 16, 2026
1588976
Merge pull request #156 from encryption4all/chore/bump-pg-core-0.6.0
rubenhensen May 16, 2026
b35ec58
chore: release v0.1.27
github-actions[bot] May 16, 2026
f88807a
Merge pull request #149 from encryption4all/release-plz-2026-05-07T19…
rubenhensen May 16, 2026
e700804
chore: bump lettre 0.11.21 → 0.11.22 (RUSTSEC-2026-0141)
dobby-coder[bot] May 16, 2026
6a003d2
Merge pull request #160 from encryption4all/chore/cargo-audit-159
rubenhensen May 17, 2026
5388195
ci: add semantic PR title check workflow (#162)
rubenhensen May 17, 2026
9418c57
chore: bump pg-core 0.6.0 → 0.6.1 (#164)
dobby-coder[bot] May 18, 2026
ffeedb6
feat: expose Prometheus /metrics endpoint for usage dashboards (#102)
dobby-coder[bot] May 18, 2026
2af3ba0
feat(metrics): pre-seed known channels at zero on startup (#165)
rubenhensen May 18, 2026
7816df8
fix(email): address postguard#197 deliverability + show disclosed sig…
rubenhensen Jun 2, 2026
63066a1
feat(email): staging-only /staging/preview/<uuid> + shared render API…
rubenhensen Jun 3, 2026
313bd8b
feat(email): replace unicode checkmark with inline PNG image (#172)
rubenhensen Jun 4, 2026
edd5257
feat(email): remove circle around signer-verified checkmark (#173)
rubenhensen Jun 4, 2026
76bada3
feat(metrics): capture X-POSTGUARD-CLIENT-VERSION client identity (#174)
rubenhensen Jun 19, 2026
cfe66c6
chore: replace pkg_url with https://pkg.postguard.eu/ (#178)
dobby-coder[bot] Jun 19, 2026
7f6bfb3
chore(deps): cargo update lockfile (#168)
dobby-coder[bot] Jun 19, 2026
b0bcef3
fix(cors): allow Office add-in origins (addin.postguard.eu + localhos…
dobby-coder[bot] Jun 24, 2026
71b7e21
chore: update dependencies (#181)
dobby-coder[bot] Jul 2, 2026
8531b28
fix: require validated API key on GET /usage (GHSA-5rhx-xgvv-h78h) (#…
dobby-coder[bot] Jul 6, 2026
0946c06
feat: add GET /email-template endpoint keyed on API key (#175)
dobby-coder[bot] Jul 10, 2026
fe25450
fix: return generic body from 5xx responses, log detail server-side (…
dobby-coder[bot] Jul 10, 2026
d064c07
feat: persist rolling-quota usage to SQLite (usage_db) (#176)
dobby-coder[bot] Jul 10, 2026
b316445
fix(email): larger, selectable download-link code block in recipient …
dobby-coder[bot] Jul 14, 2026
ccc638f
feat(metrics): require a bearer token on /metrics when configured (#177)
rubenhensen Jul 14, 2026
82fa1e9
fix(cors): allow X-Cryptify-Source in browser preflights (#189)
rubenhensen Jul 14, 2026
dd83946
docs: extend CLAUDE.md with migrated agent notes (#190)
rubenhensen Jul 15, 2026
7ac79a6
fix: retry the startup verifying-key fetch instead of panicking (#192)
rubenhensen Jul 16, 2026
e4a6182
feat: configurable email attribute type for the finalize sender check…
rubenhensen Jul 17, 2026
e25ab8a
chore: remove unused qrcode, strum and strum_macros deps (#195)
dobby-coder[bot] Jul 21, 2026
e10088c
chore: remove unused irma dependency (#199)
dobby-coder[bot] Jul 27, 2026
ef51da2
docs: true up api-description.yaml with the mounted routes (#200)
dobby-coder[bot] Jul 27, 2026
25f0f0a
ci: add the oasdiff breaking-change gate (#201)
rubenhensen Jul 27, 2026
4df67fa
ci: tune the oasdiff gate's severity settings and pin them with a tes…
dobby-coder[bot] Jul 29, 2026
9c32420
Add 'cryptify/' from commit '4df67faccfa4487c061c07d91c8f1d99d5381d2f'
rubenhensen Jul 30, 2026
cacf0bc
spike(cryptify): wire the imported crate into the workspace
rubenhensen Jul 30, 2026
f3120b1
fix(ci): untrack-proof the JWT rotation fixtures so release-plz can run
rubenhensen Jul 30, 2026
cf6949b
spike(cryptify): fix the pg-pkg image for the enlarged workspace
rubenhensen Jul 30, 2026
50e0d98
Merge origin/main into the cryptify import
rubenhensen Jul 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@
# clean tree. Keeping the stored bytes is also what makes the oasdiff gate's
# verdict reproducible off a local checkout.
pg-pkg/api-description.yaml -text

# cryptify's `mod api_gate_tests` in src/main.rs pins its own gate the same
# way, with anchors copied verbatim out of its spec. Same reasoning.
cryptify/api-description.yaml -text
25 changes: 21 additions & 4 deletions .github/workflows/api-diff.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
name: API diff
#
# Breaking-change gate on the pg-pkg OpenAPI contract (#249).
# Breaking-change gate on both OpenAPI contracts (#249, cryptify#196/#202).
#
# Two specs, one matrix: pg-pkg/api-description.yaml (versioned /v2 routes)
# and cryptify/api-description.yaml (unversioned). The matrix is not
# cosmetic. Both pg-pkg/tests/api_gate.rs and cryptify's `mod
# api_gate_tests` read this file and require exactly one `fail-on:` and one
# `include-checks:` line, so that neither can claim a setting the committed
# job does not use. Two separate oasdiff steps would give two of each and
# fail both suites; the matrix varies only the spec paths, leaving the two
# settings written once. Keep it that way: moving `fail-on` into the matrix
# would remove the literal both tests look for.
#
# pg-pkg/api-description.yaml is the pinned v2 HTTP contract (#242), one of the
# three seams COMPATIBILITY.md guarantees. This job diffs the PR's spec against
Expand Down Expand Up @@ -73,8 +83,15 @@ permissions:
jobs:

breaking-changes:
name: API breaking changes (oasdiff)
name: API breaking changes (${{ matrix.spec }})
runs-on: ubuntu-latest
strategy:
# One spec's verdict must not cancel the other's.
fail-fast: false
matrix:
spec:
- pg-pkg/api-description.yaml
- cryptify/api-description.yaml
steps:
- name: Check out the pull request
uses: actions/checkout@v6
Expand All @@ -94,8 +111,8 @@ jobs:
# `oasdiff v1.26.1` reproduces what CI decides here.
uses: oasdiff/oasdiff-action/breaking@0ab8ad204b00d25acc5ae87106281433e288d0c1 # v0.1.10
with:
base: base/pg-pkg/api-description.yaml
revision: pg-pkg/api-description.yaml
base: base/${{ matrix.spec }}
revision: ${{ matrix.spec }}
fail-on: WARN
# Both of these rate ERR but are opt-in, so they do not run unless
# named: a changed non-success status (401 -> 403) and an enum value
Expand Down
33 changes: 22 additions & 11 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,46 +26,57 @@ jobs:
# uses: SonarSource/sonarqube-scan-action@v6
# env:
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
# The matrix keys on the crate directory rather than a `pg-` suffix, because
# `cryptify` does not carry that prefix. This renames the check contexts from
# `Test workspace (core)` to `Test workspace (pg-core)`; nothing required
# points at them today (only the two `Wire compat` contexts are required), but
# a ruleset added later must use the new names.
test:
name: Test workspace
strategy:
matrix:
workspace: [core, pkg, cli, ffi]
crate: [pg-core, pg-pkg, pg-cli, pg-ffi, cryptify]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- if: ${{ matrix.workspace == 'core' }}
run: cargo test --manifest-path pg-${{ matrix.workspace }}/Cargo.toml --features test,rust,stream
- if: ${{ matrix.workspace != 'core' }}
run: cargo test --manifest-path pg-${{ matrix.workspace }}/Cargo.toml --all-features
- if: ${{ matrix.crate == 'pg-core' }}
run: cargo test --manifest-path pg-core/Cargo.toml --features test,rust,stream
# cryptify declares no features of its own, so `--all-targets` (what its
# own CI ran) is the equivalent invocation.
- if: ${{ matrix.crate == 'cryptify' }}
run: cargo test --manifest-path cryptify/Cargo.toml --all-targets
- if: ${{ matrix.crate != 'pg-core' && matrix.crate != 'cryptify' }}
run: cargo test --manifest-path ${{ matrix.crate }}/Cargo.toml --all-features

format:
name: Format workspace
strategy:
matrix:
workspace: [core, pkg, cli, ffi]
crate: [pg-core, pg-pkg, pg-cli, pg-ffi, cryptify]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo fmt --manifest-path pg-${{ matrix.workspace }}/Cargo.toml --all -- --check
- run: cargo fmt --manifest-path ${{ matrix.crate }}/Cargo.toml --all -- --check

clippy:
name: Clippy workspace
strategy:
matrix:
workspace: [core, pkg, cli, ffi]
crate: [pg-core, pg-pkg, pg-cli, pg-ffi, cryptify]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- if: ${{ matrix.workspace == 'core' }}
- if: ${{ matrix.crate == 'pg-core' }}
run: cargo clippy --manifest-path pg-core/Cargo.toml --all-targets --features test,rust,stream -- -D warnings
- if: ${{ matrix.workspace != 'core' }}
run: cargo clippy --manifest-path pg-${{ matrix.workspace }}/Cargo.toml --all-targets --all-features -- -D warnings
- if: ${{ matrix.crate == 'cryptify' }}
run: cargo clippy --manifest-path cryptify/Cargo.toml --all-targets -- -D warnings
- if: ${{ matrix.crate != 'pg-core' && matrix.crate != 'cryptify' }}
run: cargo clippy --manifest-path ${{ matrix.crate }}/Cargo.toml --all-targets --all-features -- -D warnings

test-wasm-browsers:
name: Run wasm tests in browsers
Expand Down
Loading
Loading