What's Changed
- fix(provider): return 400 not 500 for CAPTCHA.INVALID_SOLUTION by @forgetso in #2894
- feat(vector): ship job-runner and orchestrator logs to OpenObserve by @forgetso in #2902
- chore(deps): upgrade Vite 6 → 8 (Rolldown) and Vitest 3 → 4 by @HughParry in #2850
- chore(deps): combine open dependabot bumps into one PR by @HughParry in #2908
- feat(procaptcha): block on SIMD readings at solution submit by @HughParry in #2911
- perf(config): honour pure annotations so the widget ships less dead code by @HughParry in #2912
- fix(vector): pin base image to 0.55 instead of latest-debian by @goastler in #2915
- test(dotenv): unit tests for env discovery and loading by @goastler in #2913
- test(file-server): unit tests + injectable units by @goastler in #2916
- test(http-blackhole): unit tests + injectable units by @goastler in #2914
- test(procaptcha-wrapper): add unit tests and fix script-loading defects by @goastler in #2917
- test(file-server): add vitest type tests for the server API by @goastler in #2920
- fix(ci): build workspace declarations before running tests by @goastler in #2925
- fix(procaptcha-wrapper): export ProcaptchaLanguages as a usable type by @goastler in #2921
- test(dotenv): add vitest type tests for the env API by @goastler in #2918
- test(http-blackhole): add vitest type tests for the server API by @goastler in #2919
- test(api-route): cover the endpoint contract, and export ApiRouteLimit by @goastler in #2922
- test(workspace): unit + type tests, fix root path encoding and coverage detection by @goastler in #2927
- feat(util): add arrayBufferToBase64 by @goastler in #2923
- test(ipinfo): unit + type tests, fix abuser score and response union defects by @goastler in #2924
- feat(traffic-filter): add datacenterNameDenylist alongside allowlist by @forgetso in #2936
- Release v3.6.75 by @prosoponator-app[bot] in #2937
Full Changelog: v3.6.74...v3.6.75