Skip to content

Releases: DiegoGuidaF/PulseWeaver

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 01 Jul 18:16

[0.5.1] - 2026-07-01

Bug Fixes

  • (frontend) Fix important typo on device-pair endpoint (not 'pairing') on device pairing tab information (201705a)

Under the Hood

  • (backend) DB sample seed add more events to ip address log with time gap between them so that it has realistic data to do testing/screenshots on (b6f45f3)
  • (backend) Reclassify redocly/cli as dev dependency (9a2550a)
  • (ci) Make benchmark pipeline only runnable manually since that's the intended behaviour for now and it also reduces pipeline noise from any PR skipping it (b2946e1)
  • Remove unused and outdated docker-compose file (5cfd894)

Docker image: ghcr.io/diegoguidaf/pulseweaver:v0.5.1

docker pull ghcr.io/diegoguidaf/pulseweaver:v0.5.1

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 17:05

[0.5.0] - 2026-06-26

Bug Fixes

  • (ui) keep dashboard entity tables within their cards (5dd3a6e)
  • (ui) Show plain empty message when owner has no devices (0718d30)
  • (ui) Confine pairing toggle click area to its content (91c89c6)
  • (ui) Redirect to login on logout and session-expiry 401 (0805815)
  • Make docker data volume startup reliable (0b418ea)

Documentation

  • Document commit convention in CLAUDE.md (85038ea)
  • Improve documentation for AI agents and properly refresh/replace stale docs (4ae09f8)
  • Improve readme, update screenshots and improve readability by properly organizing it (a861e3a) (d84536a)

Features

  • (ui) lead device pairing tab with link status (4d240fb)
  • (docker) Publish multi-arch images (aarch was missing) (1b1fbce)

Under the Hood

  • DenyReason list to openapi as single source of truth and source it from both backend and frontend (e41d513)
  • Improve dashboard security posture query performance by sourcing from db instead of cache (7571b26)
  • Restructure Makefile with back-/front- command prefixes to make it easier to use (48929e5)
  • (ui) Improve frontend main flows test coverage (92bb838)
  • (ci) Add Go benchmark flow to test how this could look as part of a github runner action (bf46821)

Docker image: ghcr.io/diegoguidaf/pulseweaver:v0.5.0

docker pull ghcr.io/diegoguidaf/pulseweaver:v0.5.0

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 24 Jun 08:56

[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

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 06 May 19:27

[0.3.0] - 2026-05-06

Bug Fixes

  • Properly set default address updated_at value for devices (was 1970) (6b60ee4)
  • Show owner name not id on device provisioning invite creation (6bc3236)
  • On device delete ensure addresses are disabled and API keys removed (e7614c7)

Features

  • Add device ownership with per-user scoping
  • Add Policy Cache Auditing: Allows reviewing active IPs by User. Source of truth is same one as the authorization endpoint used by the proxy
  • Allow simulating a request to check which response the proxy would see. Added to Policy Cache page (the one added by the feature above)
  • Add device provisioning page: Allows creating a device registration code for use by the heartbeat-client application.
  • Remove non-admin user login. Allow only admin user login. Simplify flows accordingly and ask for password on user -> admin promotion (5d7d577)
    • Only bootstrapped admin (the admin account created on first initialization with superadmin role) can create/promote/demote/delete users (bd78411)
  • Add per user host based authorization: Allows restricting users to only specific hosts either individually and/or via host groups.

Miscellaneous

  • Devices List - Visual improvements
  • AccessLog - The user can now copy the headers shown on the item details side panel
  • Dashboard - Hide country map section when no geo data is available (12182b9)
  • Navbar - Add GitHub docs and feedback links (53230db)
  • Requests Traffic charts - Add toggle buttons for Allowed/Denied lines on traffic chart (1557e41)
  • AccessLog | AddressLog - Make device name clickable (67802a6)
  • Devices - Make device api-key optional. Do not create it by default. (70dbd63)
  • Device Settings Tab - Split the rules into a separate Rules tab (bce29cb)

Under the Hood

  • Split openapi.yaml into smaller files to reduce size and context needed for changes. Bundle it into a single file using redocly before sending it to backend or frontend (708d78a)
  • Auto-merge dependabot. Pending enable automerge at github repo level, needs public repo. (8bf0a31)
  • DB - Remove unneeded created_at and id columns for access_log_contributors to reduce size since a lot of records will be there usually (88bd113)
  • DB - Allow multiple open connections on SQLite DB so that slow queries don't block quick ones. WAL mode already enabled. (8ed847e)

Docker image: ghcr.io/diegoguidaf/pulseweaver:v0.3.0

docker pull ghcr.io/diegoguidaf/pulseweaver:v0.3.0

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 02 Apr 15:54

[0.2.1] - 2026-04-02

Bug Fixes

  • (ci) Fix release flow. Remove PR enrichment from cliff since it wasn't needed (dc143d0)
  • (lint) Fix linting (6f525db)
  • (backend) Fix failing test (ca7db6c)
  • (ui) Fix failing test due to API generated code changes. Make tests less flaky by limiting vitest workers to 50% (182cb15)
  • (backend) Make sure "generic" devicetype is replaced everywhere with "static" (154073a)

Features

  • Track avg response time in hourly aggregates and dashboard (1b4727b)
  • (backend) Reject UDP Early-data=1 traffic properly with StatusTooEarly (425). This removes noise from traffic log (it was being seen as if coming from the trusted proxy) and provides a better response than a 403. (54b1c90)
  • (backend) Add max number of active IPs rule per device (be0aa2a)
  • (ui) Add rule config for max number of active addresses per device (b74185a)
  • (backend) Enforce max active address on rule change (0a85186)
  • (backend) Add more properties to device and allow changing the name (fe2da19)

Miscellaneous

  • (ui) Improve traffic map UI (70801b9)
  • (backend) Add verify request duration in microseconds to have metrics on performance (d017fd7)
  • (ci) Put tests on separate workflow so it can be sourced by ci and release. General improvements to it (0fa8f08)
  • (backend) Improve migration testing by testing latest migration with fake seed data (af05cee)
  • (ai) Ensure test migration seed file is kept up to sync whenever a new migration is added (b6d25c5)

Docker image: ghcr.io/diegoguidaf/pulseweaver:v0.2.1

docker pull ghcr.io/diegoguidaf/pulseweaver:v0.2.1