Pangolin

Developer Tools

A self-hosted tunneled reverse proxy with identity and access control.

Latest 1.21.1 · by FossorialWebsitefosrl/pangolin

Release activity

Release activity — 10 releases across 9 days since Jun 11, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Jun 11, 2026. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026
MondayNo releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 20261 release on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026
TuesdayNo releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026
WednesdayNo releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 20261 release on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
Thursday1 release on Jun 11, 2026No releases on Jun 18, 20261 release on Jun 25, 2026No releases on Jul 2, 20261 release on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 20261 release on Jul 30, 2026No releases on Aug 6, 2026
Friday2 releases on Jun 12, 2026No releases on Jun 19, 20261 release on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 20261 release on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026

10 releases since Jun 11, 2026, busiest day 2

Changelog

1.21.1

Changed 1
  • Improve batch status histories
Fixed 5
  • Fix IdP org ownership on save policy
  • Fix newt command on credentials screen
  • Fix labels dropdown flicker if no changes applied
  • Fix redirect to /auth/initial-setup after hitting auth rate limit
  • Fix Punycode domain validation
Security 1
  • Security updates
Read the 1.21 Announcement

Read the full announcement with discussion of new features: Pangolin 1.21: Same Network Detection

What's Changed
New Contributors

Full Changelog: https://github.com/fosrl/pangolin/compare/1.21.0...1.21.1

How to Update

[!IMPORTANT] Always back up your config app-data before updating. This will allow you to easily roll back if the update breaks your configuration. You will not be able to easily downgrade otherwise.

View documentation

View originalPermalink
How 1.21.1 went

1.21.0

Added 7
  • Add same network detection for clients and sites so connections don't relay when they are on the same network
  • Add option to associate an access token to a specific account user
  • Add optional access token session persistence when access token is passed via a query parameter or header
  • Add remember last used IdP and mark as last used
  • Add enabled toggle to private resources
  • Add pending resource state to resources created on a pending site via a provisioning key and provisioning blueprint
  • Add site provisioning key routes to integration API
Changed 2
  • Improve integration API for consistency in PUT/PATCH, route naming, and Swagger organization
  • Improve general UI
Fixed 2
  • Fix improper query param encoding for email addresses preventing plus characters in emails
  • Add cleanup of pending resources if reject pending site
Security 1
  • Apply dependency security updates
Read the 1.21 Announcement

Read the full announcement with discussion of new features: Pangolin 1.21: Same Network Detection

What's Changed
  • Add same network detection for clients and sites, so connection don’t relay when they are on the same network (requires updated clients and sites)
  • Add option to associate an access token (share link) to a specific account user
  • Add optional access token (share link) session persistence when access token is passed via a query parameter or a header, so they don't have to passed on every request
  • Add remember last used IdP and mark as last used
  • Add enabled toggle to private resources
  • Add pending resource state to resources created on a pending site via a provisioning key and provisioning blueprint
  • Add clean up pending resources if reject pending site
  • Add site provisioning key routes to integration API
  • Improve integration API for consistency in PUT/PATCH, route naming, and Swagger organization
  • Fix improper query param encoding for email addresses preventing + characters in emails
  • Dependency security updates
  • General UI improvements
  • Various other bug fixes

Full Changelog: https://github.com/fosrl/pangolin/compare/1.20.0...1.21.0

How to Update

[!IMPORTANT] Always back up your config app-data before updating. This will allow you to easily roll back if the update breaks your configuration. You will not be able to easily downgrade otherwise.

View documentation

View originalPermalink
How 1.21.0 went

1.21.0-rc.0

Pre-release
Added 8
  • Same network detection for clients and sites to prevent connection relay when on the same network
  • Option to associate an access token (share link) to a specific account user
  • Optional access token (share link) session persistence when access token is passed via query parameter or header
  • Remember last used IdP and mark as last used
  • Enabled toggle to private resources
  • Pending resource state for resources created on a pending site via provisioning key and provisioning blueprint
  • Clean up pending resources when rejecting a pending site
  • Site provisioning key routes to integration API
Changed 1
  • General UI improvements
Fixed 1
  • Improper query param encoding for email addresses preventing + characters in emails
Security 1
  • Dependency security updates
RC

A Release Candidate (RC) is a near-final software version, stable but undergoing last tests before official release. It has all features and no known bugs.

  • Users: Use cautiously due to potential undiscovered bugs. Not for critical systems unless prepared for issues. Report bugs.
  • Developers/Testers: Perform crucial final validation and thorough testing, especially of recent changes, to catch last-minute major issues.
  • Backup: Always back up data before installing an RC to allow rollback if problems arise.
  • Feedback: Provide feedback; it's vital for a robust final release.

[!NOTE] Keep a backup of the last stable database as you will be unable to update from a RC to the next stable version. Database migrations may change between release candidates and stable versions.

What's Changed
  • Add same network detection for clients and sites, so connection don’t relay when they are on the same network (requires updated clients and sites)
  • Add option to associate an access token (share link) to a specific account user
  • Add optional access token (share link) session persistence when access token is passed via a query parameter or a header, so they don't have to passed on every request
  • Add remember last used IdP and mark as last used
  • Add enabled toggle to private resources
  • Add pending resource state to resources created on a pending site via a provisioning key and provisioning blueprint
  • Add clean up pending resources if reject pending site
  • Add site provisioning key routes to integration API
  • Fix improper query param encoding for email addresses preventing + characters in emails
  • Dependency security updates
  • General UI improvements
  • Various other bug fixes

Full Changelog: https://github.com/fosrl/pangolin/compare/1.20.0...1.21.0-rc.0

How to Update

[!IMPORTANT] Always back up your config app-data before updating. This will allow you to easily roll back if the update breaks your configuration. You will not be able to easily downgrade otherwise.

View documentation

View originalPermalink
How 1.21.0-rc.0 went

1.20.0

Added 4
  • Add resource launcher page with configurable and savable views available to non-admins and admins
  • Add global command palette to navigate the dashboard and search for sites and resources
  • Add Country Is Not matching type to resource geoblocking rules
  • Add username field to VNC auth form
Changed 3
  • Improve private resource edit and create UI consistency to match dashboard UX patterns by migrating from dialog to dedicated pages
  • Release EE feature gate on labels feature
  • VNC auth form now works with macOS
Fixed 1
  • Fix redirect back to resource after completing session expired checkpoint
Security 1
  • Apply dependency security updates
Read the 1.20 Announcement

Read the full announcement with discussion of new features: Pangolin 1.20: Resource Launcher & Global Command Palette

What's Changed
  • Add resource launcher page with configurable and savable views; available to non-admins and admins (CE)
  • Add global command palette to navigate the dashboard and search for sites and resources (CE)
  • Add Country Is Not matching type to resource geoblocking rules (CE)
  • Add username field to VNC auth form; now works with macOS (CE)
  • Improve private resource edit and create UI consistency to match dashboard UX patterns (migrate from dialog to dedicated pages)
  • Release EE feature gate on labels feature
  • Fix redirect back to resource after completing session expired checkpoint
  • Dependency security updates
  • General UI improvements
  • Various other bug fixes
New Contributors

Full Changelog: https://github.com/fosrl/pangolin/compare/1.19.4...1.20.0

How to Update

[!IMPORTANT] Always back up your config app-data before updating. This will allow you to easily roll back if the update breaks your configuration. You will not be able to easily downgrade otherwise.

View documentation

View originalPermalink
How 1.20.0 went

1.20.0-rc.0

Pre-release
Added 3
  • Add resource launcher page with configurable and savable views available to non-admins and admins
  • Add global command palette to navigate the dashboard and search for sites and resources
  • Add Country Is Not matching type to resource geoblocking rules
Changed 2
  • Improve private resource edit and create UI consistency to match dashboard UX patterns by migrating from dialog to dedicated pages
  • Release EE feature gate on labels feature
Fixed 1
  • Fix redirect back to resource after completing session expired checkpoint
Security 1
  • Dependency security updates
RC

A Release Candidate (RC) is a near-final software version, stable but undergoing last tests before official release. It has all features and no known bugs.

  • Users: Use cautiously due to potential undiscovered bugs. Not for critical systems unless prepared for issues. Report bugs.
  • Developers/Testers: Perform crucial final validation and thorough testing, especially of recent changes, to catch last-minute major issues.
  • Backup: Always back up data before installing an RC to allow rollback if problems arise.
  • Feedback: Provide feedback; it's vital for a robust final release.

[!NOTE] Keep a backup of the last stable database as you will be unable to update from a RC to the next stable version. Database migrations may change between release candidates and stable versions.

What's Changed
  • Add resource launcher page with configurable and savable views; available to non-admins and admins
  • Add global command palette to navigate the dashboard and search for sites and resources
  • Add Country Is Not matching type to resource geoblocking rules
  • Improve private resource edit and create UI consistency to match dashboard UX patterns (migrate from dialog to dedicated pages)
  • Release EE feature gate on labels feature
  • Fix redirect back to resource after completing session expired checkpoint
  • Dependency security updates
  • General UI improvements
  • Various other bug fixes
New Contributors

Full Changelog: https://github.com/fosrl/pangolin/compare/1.19.4...1.20.0-rc.0

How to Update

[!IMPORTANT] Always back up your config app-data before updating. This will allow you to easily roll back if the update breaks your configuration. You will not be able to easily downgrade otherwise.

View documentation

View originalPermalink
How 1.20.0-rc.0 went

1.19.4

Fixed 1
  • Fix newly created clients from logging in on a new device or adding a new user causing a No client found for provided orgId error
Read the 1.19 Announcement

Read the full announcement with discussion of new features: Pangolin 1.19: Browser Remote Access — SSH, RDP, VNC & More

What's Changed

Refer to the original 1.19 notes for a complete list of what changed since 1.18.

  • Fix newly created clients from logging in on a new device or adding a new user causing a No client found for provided orgId error

[!NOTE] If this effects you please update to this version then delete the user using the server admin panel, invite them back, and have them reauthenticate in their client.

Full Changelog: https://github.com/fosrl/pangolin/compare/1.19.3...1.19.4

How to Update

[!WARNING] This version includes a new mode of private resource: SSH. If you had previously used host resources and configured the SSH access tab, you will now need to switch these to SSH resources in order to manage the SSH config. If you do not switch they will continue to function as before but you will be unable to adjust settings.

[!IMPORTANT] 1.19 browser-based SSH requires the Badger Traefik plugin to be on the latest version v1.4.1. The migration will automatically do this if it can find the Traefik config in the standard location BUT YOU WILL NEED TO RESTART TRAEFIK TO PULL THE NEW PLUGIN. Otherwise, please ensure your Badger is up to date.

[!IMPORTANT] Browser-based RDP, SSH, and VNC as well as the new Pangolin SSH mode requires Newt version 1.13.0 or greater.

[!IMPORTANT] Always back up your config app-data before updating. This will allow you to easily roll back if the update breaks your configuration. You will not be able to easily downgrade otherwise.

View documentation

View originalPermalink
How 1.19.4 went

1.19.3

Added 4
  • Add update notifications for different client types
  • Add delete resources associated with site
  • Add country flags
  • Add warning about not using .local aliases
Changed 2
  • Improve efficiency and concurrency when changing site resources
  • Improve org policy error message responses
Fixed 9
  • Fix no data in status history when last data was over 90 days ago
  • Fix split by space causing issues with commands in role form
  • Fix inconsistent query params for limit and page size by enforcing strict inputs
  • Fix inconsistent API data in get vs update with policies
  • Fix request logs not loading on initial page open in CE
  • Fix ALL ASN not allowed as an input
Removed 1
  • Remove NoNewPrivileges from default systemd install
Read the 1.19 Announcement

Read the full announcement with discussion of new features: Pangolin 1.19: Browser Remote Access — SSH, RDP, VNC & More

What's Changed

Refer to the original 1.19 notes for a complete list of what changed since 1.18.

  • Add update notifications for different client types
  • Add delete resources associated with site
  • Add country flags
  • Add warning about not using .local aliases
  • Fix no data in status history when last data was over 90 days ago
  • Fix split by space causing issues with commands in role form
  • Fix inconsitant query params for limit and page size by enforcing strict inputs
  • Fix inconsistant API data in get vs update with policies
  • Fix request logs not loading on initial page open in CE
  • Fix remove NoNewPrivileges from default systemd install
  • Fix ALL ASN not allowed as an input
  • Fix add missing delete global idp route to integration api
  • Fix unescaped regex chars in rules
  • Fix supporter footer on resource login page to remove supporter
  • Improve efficiency and concurrency when changing site resources
  • Improve org policy error message responses
New Contributors

Full Changelog: https://github.com/fosrl/pangolin/compare/1.19.2...1.19.3

How to Update

[!WARNING] This version includes a new mode of private resource: SSH. If you had previously used host resources and configured the SSH access tab, you will now need to switch these to SSH resources in order to manage the SSH config. If you do not switch they will continue to function as before but you will be unable to adjust settings.

[!IMPORTANT] 1.19 browser-based SSH requires the Badger Traefik plugin to be on the latest version v1.4.1. The migration will automatically do this if it can find the Traefik config in the standard location BUT YOU WILL NEED TO RESTART TRAEFIK TO PULL THE NEW PLUGIN. Otherwise, please ensure your Badger is up to date.

[!IMPORTANT] Browser-based RDP, SSH, and VNC as well as the new Pangolin SSH mode requires Newt version 1.13.0 or greater.

[!IMPORTANT] Always back up your config app-data before updating. This will allow you to easily roll back if the update breaks your configuration. You will not be able to easily downgrade otherwise.

View documentation

View originalPermalink
How 1.19.3 went

1.19.2

Fixed 6
  • Fix mode missing in possible migration edge case
  • Fix SSH public resource not working with roles other than admin
  • Fix SSH public resource not respecting ssh action restriction on roles
  • Fix missing translations
  • Fix private SSH resource edge case with missing host
  • Fix blueprint server side error with bad containers
Read the 1.19 Announcement

Read the full announcement with discussion of new features: Pangolin 1.19: Browser Remote Access — SSH, RDP, VNC & More

What's Changed

Refer to the original 1.19 notes for a complete list of what changed since 1.18.

  • Fix mode missing in possible migration edge case
  • Fix SSH public resource not working with roles other than admin
  • Fix SSH public resource not respecting ssh action restriction on roles
  • Fix missing translations
  • Fix private SSH resource edge case with missing host
  • Fix blueprint server side error with bad containers
How to Update

[!WARNING] This version includes a new mode of private resource: SSH. If you had previously used host resources and configured the SSH access tab, you will now need to switch these to SSH resources in order to manage the SSH config. If you do not switch they will continue to function as before but you will be unable to adjust settings.

[!IMPORTANT] 1.19 browser-based SSH requires the Badger Traefik plugin to be on the latest version v1.4.1. The migration will automatically do this if it can find the Traefik config in the standard location BUT YOU WILL NEED TO RESTART TRAEFIK TO PULL THE NEW PLUGIN. Otherwise, please ensure your Badger is up to date.

[!IMPORTANT] Browser-based RDP, SSH, and VNC as well as the new Pangolin SSH mode requires Newt version 1.13.0 or greater.

[!IMPORTANT] Always back up your config app-data before updating. This will allow you to easily roll back if the update breaks your configuration. You will not be able to easily downgrade otherwise.

View documentation

View originalPermalink
How 1.19.2 went

1.19.1

Added 10
  • Add resource policies for public resources
  • Add browser based RDP access via public resources
  • Add browser based VNC access via public resources
  • Add browser based SSH access via public resources
  • Add native Pangolin SSH mode for private and public resources that does not require configuring OpenSSH server and PAM
  • Add auto update Newt option for all sites in the org or specific sites
Changed 2
  • Improve OpenAPI response payloads
  • Improve SSH configuration on private resources
Fixed 8
  • Fix public resource showing as degraded when WireGuard targets were added alongside healthy Newt targets
  • Fix custom branding logo URL not accepting links
  • Fix pasting the device code not accepting paste
  • Fix enforce absolute paths in sudo commands
  • Fix refresh end time on logs tables
  • Fix accept partially valid Docker labels instead of rejecting all
  • Fix restarting container on RC version causing migration errors
  • Fix cross site target assignment
Read the 1.19 Announcement

Read the full announcement with discussion of new features: Pangolin 1.19: Browser Remote Access — SSH, RDP, VNC & More

What's Changed
  • Add resource policies for public resources
  • Add browser based RDP access via public resources (requires newt >1.13.0)
  • Add browser based VNC access via public resources (requires newt >1.13.0)
  • Add browser based SSH access via public resources (requires newt >1.13.0)
  • Add native Pangolin SSH mode (for private and public resources) that does not require configuring OpenSSH server and PAM (requires newt >1.13.0)
  • Add auto update Newt option for all sites in the org or specific sites (requires newt >1.13.0)
  • Add searchable and filterable custom labels on sites and resources
  • Add share link post authentication redirect path
  • Add pangctl command to make more than one user server admin
  • Add PostgreSQL and Redis install options in the installer
  • Fix public resource showing as degraded when WireGuard targets were added alongside healthy Newt targets
  • Fix custom branding logo URL not accepting links
  • Fix pasting the device code not accepting paste
  • Fix enforce absolute paths in sudo commands
  • Fix refresh end time on logs tables
  • Fix accept partially valid Docker labels instead of rejecting all
  • Fix restarting container on RC version causing migration errors
  • Fix cross site target assignment
  • Improve OpenAPI response payloads
  • Improve SSH configuration on private resources
  • Improve sort resource filter options in audit logs
  • Improve performance in certain hot paths
  • Improve clients get error when holepunching fails instead of getting stuck registering
  • Improve speed of API endpoints with thousands of sites and users
  • Improve add loading icons on all logs tables
  • Improve auto create roles added in Blueprints
  • Dependency security updates
  • General UI improvements
  • Various other bug fixes
How to Update

[!WARNING] This version includes a new mode of private resource: SSH. If you had previously used host resources and configured the SSH access tab, you will now need to switch these to SSH resources in order to manage the SSH config. If you do not switch they will continue to function as before but you will be unable to adjust settings.

[!IMPORTANT] 1.19 browser-based SSH requires the Badger Traefik plugin to be on the latest version v1.4.1. The migration will automatically do this if it can find the Traefik config in the standard location BUT YOU WILL NEED TO RESTART TRAEFIK TO PULL THE NEW PLUGIN. Otherwise, please ensure your Badger is up to date.

[!IMPORTANT] Browser-based RDP, SSH, and VNC as well as the new Pangolin SSH mode requires Newt version 1.13.0 or greater.

[!IMPORTANT] Always back up your config app-data before updating. This will allow you to easily roll back if the update breaks your configuration. You will not be able to easily downgrade otherwise.

View documentation

View originalPermalink
How 1.19.1 went

1.19.0

Added 4
  • Add SSH as a new mode of private resource
  • Add browser-based SSH access
  • Add browser-based RDP access
  • Add browser-based VNC access
Fixed 1
  • Fix migration issue when there are no public resources
Read the 1.19 Announcement

Read the full announcement with discussion of new features: Pangolin 1.19: Browser Remote Access — SSH, RDP, VNC & More

What's Changed

Refer to the original 1.19 notes for a complete list of what changed since 1.18.

  • Fix migration issue when there are no public resources
How to Update

[!WARNING] This version includes a new mode of private resource: SSH. If you had previously used host resources and configured the SSH access tab, you will now need to switch these to SSH resources in order to manage the SSH config. If you do not switch they will continue to function as before but you will be unable to adjust settings.

[!IMPORTANT] 1.19.0 browser-based SSH requires the Badger Traefik plugin to be on the latest version v1.4.1. The migration will automatically do this if it can find the Traefik config in the standard location. Otherwise, please ensure your Badger is up to date.

[!IMPORTANT] Browser-based RDP, SSH, and VNC as well as the new Pangolin SSH mode requires Newt version 1.13.0 or greater.

[!IMPORTANT] Always back up your config app-data before updating. This will allow you to easily roll back if the update breaks your configuration. You will not be able to easily downgrade otherwise.

View documentation

View originalPermalink
How 1.19.0 went
View all

Discussion