v0.4.0
[0.4.0] - 2026-06-23
Documentation
- Add per-feature documentation and restructure README with latest changes
- Improve setup documentation and fix Caddy devices endpoint missing X-Real-IP header (
93c32ef)
Features
- Improve user flows in all pages based on use-case based analysis
- Implement network policies management for CIDR addresses
- Add more information to the dashboard and improve performance of queries.
- Dashboard info tooltips, clickable attribution rows, reorder (
22cc7c4) - Make device list user centered and improve device creation flow
- Add cleanup job for access log and address event log data. Defaults to 1month configurable via ENV_VARIABLE (
d267edf) - Improve device recommendations by warning the user when a device with an API_KEY present has no rules
- IPv6-native engine on canonical netip.Addr; fix 4-in-6 asymmetry (
adb6dc3) - Improve access verification page (previously named policy cache audit)
- Allow disabling a device so that no addresses can be added and current ones are disabled. Meant as a temporary measure
- Change provisioning to a device pairing concept. Allowing easy pairing and re-pairing of existing devices.
- Device pairing - Show QR code to easily copy the pairing code (
236ed50) - Add more filtering capabilities to existing tables as well as pages listing devices, addresses.. and such
- Improve onboarding. On missing entities (missing hosts, groups, devices...) guide user on how to create them. (
13ea68e) - Add geoip enrichment on all IP fields shown in the frontend
- Host assignation can only happen via groups to simplify the model and avoid confusion. Individual host assigment
together with group based can easily result in complex UI and difficulty knowing which hosts are actually allowed
on each user if user list grows - Improve group badges color and contrast to facilitate visual discrimination and accessibility.
- Add new branding (
af5baed) - Improve feedback when trying to add trusted_proxy as a device address (
051ab8b) - Do not allow sending IP on heartbeat endpoints. There's no current valid usecase and it can be a security issue if misused (
05f52af) - Remove device type concept from devices, if needed will be added later with more context and how that should look like
- Address log - Add information regarding time gap and ttl to each row in order to facilitate spotting users with short TTL or device misconfiguration (
dee6b76) - Allow users with null email. Email is just metadata for now (
7419768)
Under the Hood
- Add sample database seeding to facilitate local development, testing and showcasing (such as taking screenshots for the README)
- Allow compiling a pprof exposing binary under a build tag on a loopback listener to facilitate analyzing CPU and HEAP usage on critical flows (
aa925fa) - Improve performance of access log query (
4c0bb2c) - Reorganize the frontend pages into folders matching routing to facilitate navigating them (
29997f3) - (ci) Run backend and frontend test concurrently to speedup ci/cd (
c7c220d) - Add cross-domain integration tests to fully validate critical flows
- Add GO benchmarks to critical flows and improve them based on that (access log query, policy evaluation...)
- (backend) Generate openapi test client to help with handler tests by using it instead of implementing the http client code (
1d3eddf) - (backend) Do not do time.sleep for cross-domain integration testing when waiting for policy refresh. Do a poll-based approach (
99496cc) - (backend) Delete devices and addresses when deleting a user (
c1f91a5) - (backend) Add Squirrel Go library to facilitate building dynamic queries (
b4a5a36) (a7c6290) (bb79213) - (backend) Improve logging output by reducing noise (such as moving some from error to debug where applicable) and ensuring UI actions resulting in changes have proper logging
- (backend) Remove device_type from database since it no longer makes sense as a stored type (it will be calculated depending on conditions such as rules) (
b55eb6d) - Greatly improve frontend test speed by removing CSS imports from Mantine and improving general setup (
68b685d) (332133e) - (backend) Bound host suggestions scan to last 7 days to reduce old noise and improve performance (
27513c7)
Docker image: ghcr.io/diegoguidaf/pulseweaver:v0.4.0
docker pull ghcr.io/diegoguidaf/pulseweaver:v0.4.0