v3.5.2
This release adds a Connectors dashboard for centralizing and testing every external integration, hardens stored connector credentials with proper Fernet encryption, introduces an OIDC_CREATE_USER setting to restrict SSO login to pre-existing accounts, and fixes a series of table pagination and date-picker bugs across Legitimate Domains, Site Monitoring, and DNS Finder.
Update Procedure
⚠️ This release includes database schema changes. Run migrations after updating:
python manage.py migrate
- New optional environment variable, safe default, no action required:
OIDC_CREATE_USER=True # set to False to disable SSO auto-provisioning of new accounts
What's Changed
Connectors Dashboard
A new /connectors page (superuser only) centralizes configuration and health-check testing for every external integration Watcher can talk to: SMTP, Slack, Citadel, TheHive, MISP, LDAP, SSO/OIDC, CertStream, SearxNG, the CyberWatch feeds, WIPO UDRP, and the primary MySQL database.
- Live overrides: editing a value from the dashboard takes effect immediately across the app, with a "From .env" / "Manually set" badge and a reset-to-env button per field.
- Test runs a real connectivity check per connector and reports Healthy / Unhealthy / Not tested yet, in addition to a Configured / Incomplete / Disabled status.
- A scheduled job tests every connector every Monday at 06:00 and raises a Pending Action alert only for configured connectors that fail, without duplicating alerts on repeated failures.
- Sensitive fields (passwords, tokens, API keys) are now encrypted at rest with Fernet instead of Django's signing framework, and existing stored values are re-encrypted automatically by the migration above.
- Added Server banner / X-Powered-By monitoring as a connector-backed check.
- Added a
connectors/contrib/_templatescaffold to speed up building new connectors.
SSO / OIDC
- New
OIDC_CREATE_USERsetting: set toFalseto only allow SSO login for accounts already created by an admin, instead of auto-provisioning a new account on first login. (#309) - Fixed the SSO login button being invisible on the login page (was styled
btn-outline-primary, blending into the background; switched to solidbtn-primary).
Table Pagination & Date Pickers (Legitimate Domains, Site Monitoring, DNS Finder)
- Fixed the "Items per page" selector silently reverting to "Auto-fit" after picking a manual value: an unrelated background data refresh was forcing the whole table component to remount and lose its state.
- Fixed the manually-chosen page size being silently overridden on tables with tall rows: the table area now scrolls within the panel when content doesn't fit, instead of clamping down to a smaller row count or clipping data with no way to reach it.
- Fixed the auto-fit table area not resizing live while dragging a dashboard panel bigger or smaller.
- "Registered At" / "Domain Created At" date pickers no longer accept a future date, since a domain can't be registered in the future.
- Added quick-pick shortcut buttons (1 month / 3 months / 6 months / 1 year) to the Expiry Date, SSL Expiry Date, and End of Monitoring date pickers.
Dependencies
- Bump
axiosfrom 1.16.0 to 1.18.0 - redirect/URL-handling security hardening. (#310) - Bump
djangofrom 6.0.5 to 6.0.6 - fixes 5 CVEs (cache Vary handling, Authorization header caching, cookie salt collision, SMTP connection handling, cache-control directive casing). (#307) - Bump
tmp(transitive, via cypress) from 0.2.3 to 0.2.7 - fixes GHSA-52f5-9888-hmc6. (#295)
Full Changelog: v3.5.1...v3.5.2