This site is migrating to, which is being maintained by Safing and the community alike.

Portmaster Changelog

Portmaster consists of many individual components that work together. The "primary" version number - the one you see everywhere - is the version of the Portmaster Core Service - simply called "Portmaster" below.

Usually, the other components are released together with a new version number of the Portmaster Core Service. Sometimes, however, minor changes or bug fixes are released without a version update of the Portmaster Core Service in order to get them out faster.

Current Stable Version: v1.4.5 Current Beta Version: v1.4.5

How can I use Beta?

Component: UI v0.7.6
Current Stable Current Beta
  • Fix settings not being sync to the quick-settings toggles


Portmaster v1.4.5

Current Stable Current Beta
  • Update SPN + deps
  • Add support for matching continents
  • Unify and improve country info
Component: SPN v0.6.17
  • Improve account status wording and checking times
  • Add quick setting data for selecting country
  • Add connected country to SPN status
  • Update to new country struct of Portmaster
Component: UI v0.7.5
  • Update to new country info
  • Improve country selection list for exit node selection quick setting
  • Improve feature hints in app view
  • feature-scout: Improve SPN connecting state in
  • Improve app view layout
  • Improve quick settings rendering
  • Add SPN exit country quick setting
  • spn: improve map rendering and initial positioning
  • Save network scout sort order in UI state
  • Apply default values in UIStateService
  • Re-fix memory leak fix in accordion
  • network-scout: change sort icon
  • dashboard: Improve map rendering
  • Add bandwidth statistics to app view
  • Improve edited settings indicator in app list
  • Fix rendering html in tip up titles
  • Improve feature scout and add it for dev ui only for testing
  • api/profiles: use a local cache for watchAppProfile streams to reduce the number of backend subscriptions
  • dashboard: fix country map to better fit the available widget size
  • ui/network-scout: add support for sorting apps
  • api/netquery: add bandwidth data to IProfileStats and use a cache to avoid re-fetching app profiles
  • ui/select: add support to render select inline instead of using a dropdown
  • Disable electron spellchecker to avoid connections for downloading spellcheck dictionary. Fixes #392
  • Fix bug in process details when no environment varaiables are available. Fixes #399
  • Auto-focus the search bar in the application overview. Fixes #419
  • Fix rxjs deprecation warnings
  • Add support to copy connection attributes to clipboard by pressing and holding CTRL. Fixes #425
  • Show a yellow dot for each app that has custom settings. Fixes #442
  • Fix unsubscription in SPN profile watch
  • Fix Memory Leak


Portmaster v1.4.4

  • Update SPN + deps
  • Remove config option from privacy filter subsystem
  • Implement review suggestions
  • Combine geoip country info and add country names
  • Update format of default DNS resolvers
  • Remove unused parameter from resolver URL
  • Update DNS resolver config help
  • Add setting to specify transit node rules
  • Expose tunnel options creation and split tunnel options
  • Update README
Component: SPN v0.6.16
  • Update SPN rule quick setting countries on SPN connect
  • Add support for just global setting in routing simulation
  • Add option to apply profile settings to route simulation
  • Add config option to manually trust nodes
  • Split up navigator options into Hub types


Portmaster v1.4.3

  • Ignore DNS request connection from kernel
Component: UI v0.7.4
  • Reset spn account loading flag on init


Portmaster v1.4.2

  • Recompile ebpf programs
  • Improve bandwidth update logging
  • Update special profile upgrade date
  • Fix network history clear API
  • Update network state tables if state is older than given packet
  • Use DNS request connections to attribute DNS requests
  • Remove check for self-communication (allowed by default)
  • Fix ebpf tcp ipv6
Component: UI v0.7.3
  • Bump portmaster module version
  • Fix country flag URL
  • Fix user profile subscriptions when no account is present or is deleted
  • Update clean history response parsing

Component: UI v0.7.2
  • Improve account and map display
  • Fix account purging


Portmaster v1.4.1

  • Update internal profile settings
  • Stop firewall handler earlier
  • Do not add internal and localhost connections to history
  • Disable connection self-check as it uses the old process detection
  • Improve performance when custom lists are not loaded
  • Correctly finalize DNS requests if filtered
Component: SPN v0.6.15
  • Disable beta flag on network history
Component: UI v0.7.1
  • Fix notifcations not disappearing immediately when acted upon
  • Improve Dashboard Tip Up
  • Add feature scout
  • Improve wording and logging
  • Improve map rendering
  • Fix notification height
  • Improve dashboard queries
  • Add Dashboard intro tip up
  • Fix and improve bandwidth display


Portmaster v1.4.0

  • Bump core version
  • Improve logging and naming
  • Improve clear network history API endpoint
  • Add Cloudflare DNS as fallback quick setting
  • Udpate SPN lib
  • Improve history purging
  • Move history settings from profile to layered profile
  • Add support for history data retention
  • Add support for SUM in netquery
Component: SPN v0.6.14
  • Improve features
  • Add feature definitions
Component: UI v0.7.0
  • Bump portmaster module version
  • Improve network history cleanup wording
  • Use updated function methods in notifier
  • Touch up dashboard and related changes
  • Add support to trigger history data retention
  • Redirect to dashboard when the app is opened
  • Finish dashboard implementation
  • Add first working dashboard version
  • Start work on dashboard


Portmaster v1.3.6

  • Fix cleaning up incomplete connections
  • Fix updating feature flags

Portmaster v1.3.5

  • Update SPN lib
  • Update all connection feature flags on account update
  • Fix filter list update warning on setting change
  • Update network history config option
Component: SPN v0.6.13
  • Shadow User methods on UserRecord to allow nil calls
Component: SPN v0.6.12
  • Add nil user check to MayUse
Component: SPN v0.6.11
  • Add account update event
Component: UI v0.6.2
  • Add and improve tip ups
  • Remove SPN network status
  • Improve and add pointers to Portmaster Plus
  • Improve support page layout and remove FAQ search for now
  • Improve wording on login pop up
  • Remove geo-unblock feature from SPN carousel
  • Add Portmaster Plus and Pro colors


Portmaster v1.3.4

  • Improve logging
  • Fix netquery connection ID generation
  • Fix race condition when setting firewall handler and starting worker
  • Fix and document netquery api endpoint permissions
  • Add support for DNS RRs SVCB and HTTP; improve DNS conn handling
  • Fix expiry times
  • Copy resolver IPScope to DNS connection IPScope
  • Fix eBPD PID detection for UDP on linux and recompile eBPF programs
  • Improve timeouts of compatibility check


Portmaster v1.3.3

  • Add as local multicast source address
  • Do not query the history database by default
Component: UI v0.6.1


  • Improve intro wording of network activity page
  • Move Search History toggle to filters
  • Filter by Internet Scope by default
  • Make history-database optional for netquery. Includes some additional minor fixes
  • Better handling of SPN map pin subscriptions
  • Better handling of subscription cancelation for portmaster api


Portmaster v1.3.2

  • Fix and improve packet handling procedures

Portmaster v1.3.1

  • Bump core version
  • Improve upgraded log message
  • Udpate deps
  • Add ability to upgrade systemd service files
  • Improve logging and fix linter errors
  • Fix handling of connections without process
  • Improve account matching data
  • Fix history database URI on windows
  • Fix PID detection via eBPF
  • Improve ebpf permanent failure detection
Component: SPN v0.6.10
  • Fix and improve error handling of user account mgmt


Portmaster v1.3.0

  • Bump core version
  • Add missing method comment
  • Update SPN to v0.6.9
  • Increase timeout of self-check
  • Improve updating allowed features on connection
  • Improve network history setting
  • Improve logging and make linter happy
  • Update BytesReceived/Sent field names
  • Reduce noisy logging
  • Update links in README
  • Persist bandwidth data in netquery DBs when enabled
  • Update config annotation
  • Update netquery to support history module
  • Make history module optional
  • Better utilize database indexes for UNION selects
  • Research on possible history module implementation using sqlite ATTACH DATABASE
Component: SPN v0.6.9
  • Add InfoURL to access.Package
  • Add account features
  • Fix linter warning about missing comment for exported type
  • Add constants for feature IDs
Component: UI v0.6.0
  • Improve Network Activity view wording
  • Update network history settings key
  • Update setting annotation ID
  • Show bandwidth data for connections when available
  • Add support for the history module


Portmaster v1.2.0

  • Add switch to reboot on internal restart
  • Update deps
  • Update golangci-lint config
  • Fix parsing tagged windows service names
  • Do not suggest using stale DNS cache when disabled by user
  • Match connections without PID only using UndefinedProcessID
  • Improve windows kext bandwidth stats monitor
  • Improve epbf bandwidth stats monitor
  • Improve ebpf connection listener
  • Add InfoPacket and BandwidthUpdate structs for cross platform usage
  • Rename files for clarity
  • Move interception module and better integrate workers
  • Use reported PIDs for DNS requests and improve data gathering process
  • Expose connection ID creation
  • Add and improve InfoOnly and ExpectInfo packet flags
  • Add example for getting bandwidth stats
  • Add missing ebpf compiled object
  • Make default pid to be -1 and remove unsafe code
  • Add ebpf bandwidth monitoring
  • Revamp connection handling flow to fix race condition and support info-only packets
  • Fix ebpf return on error
  • Add ebpf check for failed kernel functions
  • Fix ebpf source port, add event validation and simpify tcp monitoring
  • Add reading of the pid from the kext
  • Add ebpf compiled programs
  • Use datagram_connect for udp ebpf process detection
  • Add udp process detection with ebpf
  • Update libbpf
  • Add tcp process detection with ebpf

Component: UI v0.5.1
  • Fix pin-details in SPN map not showing up


Portmaster v1.1.0

  • Improve debug info order
  • Add API endpoint to retrieve a list of country center coordinates
Component: UI v0.5.0
  • Update country center API path
  • Show Mbit/s instead of MB/s
  • Minor improvements to SPN page
  • Implement review suggestions, add “logout completely” button and only show prompt icon when globally enabled or pending prompts are available
  • Finished migration to angular 16
  • Finished update to angular@16
  • Partial upgrade to angular@15
  • Update typescript to 4.8
  • Major SPN map revamp
  • Use observable directly
  • Always show setting labels when in developer UI mode
  • Fix SPN missing info message


Portmaster v1.0.14

  • Fix slow queries sensor value calculation
  • Update IP of Applied Privacy DNS preset
  • Improve test suite
  • Calibrate process lookup times for Windows
  • Improve compatibility issue notifications


Portmaster v1.0.13

  • Add binary path to integration test utiltool
  • Add integrationtest utility
  • Suggest using stale DNS cache when queries are slow
  • Improve rules config description
  • Add flags to specify custom update server
  • Add config option to always use stale DNS cache entries
  • Reduce running of background tasks on sleep mode
  • Add check for special android ip in online status check
  • Increase max state table lookup time window
  • Fix closing nf conntrack session when stopping during start
  • Improve user agents
  • Fix custom filter list load
  • Fix android update system
Component: SPN v0.6.8
  • Update portbase
  • Reduce health check time tick in sleep mode
  • Fix golang-ci linter in CI
  • Improve user agent


Portmaster v1.0.12

  • Update SPN and portbase
  • Improve portmaster-start update logging
  • Expose network change check trigger
  • Fix special process loading
  • Split auto update settings and add support for registry state
Component: SPN v0.6.7
  • Only use IPv6 to connect to Hub when client has IPv6 enabled
  • Trigger network change detection if remote IP is detected in sluice


Portmaster v1.0.11

  • Improve lookup tries for network state
  • Fix getting updated tables immediately
  • Ignore if parent process does not exist
  • Improve network state caching
  • Fix parent process key an refactoring
  • Fix process identification key
  • Fix matching TCP connections
  • Improve support for disabled IPv6 stack
  • Downgrade gvisor
Component: UI v0.4.6


  • Show subscription plans correctly
  • Adapt to new process key

Component: SPN v0.6.6
  • Fix no activity terminal shutdown and improve flushing timeouts


Portmaster v1.0.10

  • Update SPN
  • Add geoip regions to improve distance estimation
  • Add current time to broadcast matching data
Component: SPN v0.6.5
  • Collect findnearest debug data and add api to test routing
  • Improve routing conditions
  • Retry to initialize map from DB if it fails
  • Ignore session to failing hubs and reset failings when re-connecting
  • Check routes for failed hubs before building
  • Fix ensuring matching IP stacks when finding nearest pins
  • Fix scheduler slot skew and improve stats/metrics
  • Add ConnectAfterlogin flag option


Portmaster v1.0.9

  • Update SPN
  • Warn when query fails
  • Improve network proximity thresholds
  • Fix traceroute location checking
Component: SPN v0.6.4
  • Fix findnearest test
  • Fix connect op in/out data histogram
  • Add connect op TTCR and TTFB metrics
  • Improve home hub errors and home hub routing handling
  • Lower destination cost for better balance in routing
  • Randomize top nearby pins and routes for load balancing
  • Switch to cost-based calculation for finding nearest pins, include more cost data
  • Use new ping op for pinging Home Hub
  • Fix hub comparison for superseding


Portmaster v1.0.8

  • Update SPN + deps
  • Move log cleaner from core to base module
Component: SPN v0.6.3
  • Initialize and reset slot pace stats correctly
  • Improve unit scheduler debugging
  • Test IPv4 and IPv6 connectivity separately
  • Simplify and stabilize unit scheduling
  • Increase the timeout for initial auth and ping checks
  • Merge multiple bootstrap transports from same hub
  • Build hub for arm64
  • Avoid only Hub, not full country if connection fails
  • Add timeout to DFQ flush
  • Measure less often
  • Fix handling of 1 byte crane messages


Portmaster v1.0.7


  • Bump core version
  • Update deps (including SPN)
  • Add technical introduction to Portmaster README
Component: SPN v0.6.2
  • Bump hub version
  • Update deps
  • Update map intel test file
  • Add reachability checking using new ping operation
  • Add ping operation
  • Fix unit leak in capacity operation
  • Fix crane context usage
  • Improve unit scheduling debug messages
  • Do not deliver msgs to stopped operations
  • Raise default hub log level to warning


Portmaster v1.0.6

  • Disable prompting when re-evaluating connections
  • Send DNS queries to special domain only to local resolvers
  • Add resolvers in device’s network to LAN resolvers
  • Force resolvers to reconnect after connecting to SPN
  • Android support for getting network addresses and interfaces (#1056)
Component: SPN v0.6.1
  • Update account subscription data
  • Fix advisory rule application
  • Use public docker image for simple testnet
  • Expose SPN connected event
  • Improve invalid device HTTP status
  • Add patrol module to check network connectivity on hubs and react and client
  • Add cli flag for unit scheduler debugging
  • Fix proper shutdown of connect ops
  • Fix 32 bit support and add desktop client config. (#148)


Portmaster v1.0.5

  • Migrate puddle lib to new version
  • Update deps, including SPN

Component: SPN v0.6.0
  • Improve usage of context and timeouts
  • Enable ui module for SPN Hub.
  • Improve naming of Unit methods
  • Implement review suggestions
  • Fix rate limiting
  • Improve unit scheduler
  • Fix new operation init
  • Improve terminal error handling, stick to idiomatic Go
  • Add different scheduling config for clients
  • Fix and improve scheduling config
  • Add unit scheduling metrics
  • Add epochs to unit slot scheduler
  • Give clearance to all units when stopping
  • Add unit leak debugger and fix unit leaks
  • Update connect request tags
  • Remove submit control and improve terminal
  • Apply unit scheduling to remaining operations
  • Fix crane destruction and expansion terminal init
  • Apply new unit scheduling and terminal interfaces to docks
  • Expose unit scheduler state snapshot
  • Improve unit scheduler
  • Improve terminal and terminal bases, including unit handling
  • Improve operation and operation bases
  • Simplify terminal interfacing and sending upstream
  • Apply unit scheduling to terminal and operation bases
  • Move scheduler to struct and improve documentation
  • Add unit: a packet focused scheduling approach


Portmaster v1.0.4

  • Improve rule doc
  • Add update versions debug data
Component: SPN v0.5.8
  • Fix account updating
Component: UI v0.4.5
  • Fix account showing switches


Portmaster v1.0.3

  • Bump core version
  • Update SPN
  • Improve DNS validation regex doc
  • Fix kext service log wording
  • Delete old kext service on startup
  • Merge branch ‘develop’ into fix/doh-failing
  • Better wording for failed DoH request.
  • revert commit pushed by mistake
  • Fix DoH base64 encoding
  • Fix DoH base64 encoding
  • Added shutdown request for kext
  • Allow single character tld (for internal usage)
  • Add support for snap
Component: SPN v0.5.7
  • Only enable SPN after login if it can be used.
  • Fix and improve account messages
  • Improve SPN client bootstrap error messages
  • Notify user when package is about to end
  • Add account view for consistent messages
Component: UI v0.4.4
  • Bump portmaster module version
  • Fix typos and update URLs
  • Update SPN status widget for new account type
  • Add new account messages to account pop up

Component: SPN v0.5.6
  • Add support for feature IDs to account


Portmaster v1.0.2

  • Improve rule help
  • Fix building


Portmaster v1.0.1

  • Improve SPN routing algorithm setting description
  • More efficient verdict update structure
  • fix sending update verdict info
  • fix stopping of the kext service
  • better kext service handling
  • Removed legacy code and refactoring
  • Add safe fallbacks for untrusted home nodes
  • fix slow system calls windows kext
  • Version and update verdict kernel functions
  • Linux reset verdict of individual connections
  • remove kext glue dll from dependencies
  • Refactoring and more comments
  • Update itsfoss link to newest feature
  • remove the need for the glue library (.dll)
Component: SPN v0.5.5
  • Add bigger timeout to golangci-lint CI test
  • Fix navigator test
  • Improve max delay calculation and documentation
  • Configure microtask threshold
  • Require a trusted home hub when global routing profile requires less than two hops
  • Increase max hops of routing profiles to give more flexibility
  • Expose getting routing profile
  • Expose pin state helpers
  • Fix and improve updating intel data
  • Add API endpoint for importing intel data for testing
  • Remove already logged in check
  • Adapt according to Daniel’s input
  • Update
Component: UI v0.4.3
  • Various improvements for smaller screen sizes. Fix network rating
  • Add default windows icon to ignore list

Component: UI v0.4.2
  • Hide SPN tunnel info for LAN and localhost connections
  • Fix settings not being saved and the SPN feature carousel leaking CSS


Portmaster v1.0.0

  • Bump version to v1.0.0
  • Fix restart button on Windows
Component: Notifier v0.3.5
Current Stable
  • initialize library on startup, lib api update
Component: UI v0.4.1
  • Fix nodejs version for github action
  • Only load app-icon if presentation path is set
  • Fix linting errors and add github action
  • Improve styling of shared “More” dropdown and add “App Settings” link to grouped-by-app row
  • Fix styling of netquery search bar
  • Update side-dash to navigate to app connections and only expand when clicking the chevron
  • Add a “all-done” icon to prompt and notification list if they are empty
  • Fix abort-button not working when editing/creating a new rule
  • Hide app-icon for some special profiles and fix incorrect profile source
  • Fix support page layout changing depending on issue-title length
  • Fix SPN map behaving strange on pan and zoom
  • Do not show path and binary name if they are empty
  • Add tooltips to all main navigation items
  • Fix broken styling of text-input in confirmation dialog used when asking for an email
  • Fix URL query parameter mangling when reloading the current router URL

Component: UI Assets v0.3.1
Current Stable
Component: Notifier v0.3.4
  • Remove security level code
  • Added ActionInvoked check on linux notifications
  • Fix notification event handling

Component: SPN v0.5.4
  • Remove persistent connected notification

Component: SPN v0.5.3
  • Fix fs error handling
Component: UI v0.4.0
  • Add support to open parent process details
  • Add process details dialog. A bunch of minor improvements and fixes
  • Add support to create and edit profiles and fingerprints. Minor improvements for the v1 release
  • Add SPN feature carousel and multiple fixes

Component: SPN v0.5.2
  • Reset SPN exceptions again
  • Add StopTunnel method to TunnelContext
  • Add spn connect event
  • Update portmaster-start in Hub Dockerfile
  • Update deps
  • Add testsuite cmd
  • Expose token zone init
  • Increase default client timeout
Component: Notifier v0.3.3

Component: UI v0.3.6
  • Don’t group by app by default. Load results chart after the first page has been loaded
  • Show tooltip with allow/block reason when hoving the verdict color indicator. Fixes #298
  • Fix different values for boolean allowed filter. Fixes safing/portmaster#804
  • Fix whitespace break in connection reason. Fixes #287
  • Increase button hit box in network scout and correctly handle developermode
  • Fix SPN account state handling in account details and login page
  • Trim whitespace from ordered list before saving. Fixes #221
  • Add inidcation that sub-filter lists are selected. Fixes #296
  • Fix change detection not being triggered correctly in app-icon
  • Reverse collapse/expand button for SPN hub details
  • Reverse the side-dash button in the navigation
  • Fix scrolling when side-dash overflows the app height
  • Apply user-supplied query in exide-node profile stats
  • Fix dialog styles not being applied correctly
  • Fix sfng-select incorrectly adding an empty option
  • Allow bulk deletion of rules and ask for confirmation. Save on enter. Fixes safing/portmaster#806. fixes #220
  • Decrease polling timeout and use correct command to stop on windows. Fixes #234

Component: SPN v0.5.1
  • Add docker support for hub
  • Increase UDP read size for now
  • Only start sluice for IPv6 if IPv6 stack is enabled
  • Stop using module management for the hub
  • Build hub without cgo
  • Fail nicely when Hub is misconfigured

Component: UI v0.3.5
  • Add new side-dash and improved SPN page
  • Add another default app icon from Windows to ignore
  • Fix background color for notification and prompt overlays
  • Fix no-prompts/no-notification position and remove max-height of network-activity widget for now
  • Migrate notification and prompt widgets to overlays accessible from the main menu

Component: SPN v0.5.0
  • Validate stickied Pins and sticky them by profile
  • Improve finding nearest pins with anycast IPs
  • Switch ConnectRequest encoding to CBOR
  • Use global default value for max find matches
  • Enable priority data messages by default
  • Send capacity and latency message with high priority
  • Add new config option: use community nodes

Component: UI App v0.2.5
Current Stable
  • Specifically enable node integration for electron 20+

Component: UI App v0.2.4

Changelog app-electron-v0.2.4:

  • Upgrade electron to v20

Component: UI v0.3.4
  • Bump portmaster module version
  • Fix regression with allow/block buttons
  • Remove debugger statement
  • Fix minor regressions and add support for query parameters in open-page action
  • Add error message to error button and abort change instead of reset
  • Use correct method to get app profile by scoped ID
  • Fix lazy loading of group-by results ignoring the current filter
  • Force a reload of the UI after the Portmaster restarted

Component: SPN v0.4.15
  • Bump portmaster to v0.9.3
  • Add support for running old hub bins in hybrid in simple testing
  • Fix crane context usage

Component: UI v0.3.3
  • Fix environment configuration not being passed to @safing/portmaster-api

Component: UI v0.3.2
  • Fix navigation menu actions not working anymore

Component: SPN v0.4.14
  • Improve op capacity test
  • Improve module dependencies and context usage
  • Update deps
  • Update portbase and portmaster
  • Disable nolintlint linter
  • Add current main intel as test file
  • Increase health check timeout to mitigate flow bug a little
  • Consolidate Hub related intel and add VerifiedOwner
  • Use JSON and CBOR for introducing tags instead
  • Improve find nearest error handling
  • Fix access tests
  • Improve unknown op logging
  • Add more prioritized scheduling
  • Add MsgTypePriorityData and scheduling via prioritized microtasks
  • Fix logging prefixes

Component: SPN v0.4.13
  • Let operations override end error to be sent
  • Add missing doc
  • Add helper to get the exit node