Hangar Connect releases
Hangar Connect — WordPress site agent for Hangar (pairing, REST, Activity Reports bridge)
by Guilherme Souza · github.com/barbas-digital/hangar-connect · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/barbas-digital/hangar-connect/releases/download/v0.3.1/hangar-connect.zipReadme
Hangar Connect
WordPress site agent for Hangar: pairing keys, own REST API, and productivity reports via WP Activity Log (no Activity Reports dependency).
Free and open: public GitHub repo, no license token. Updates come from GitHub Releases (hangar-connect.zip).
Admin UI source strings are English (i18n); languages/hangar-connect-pt_BR.po + .mo provide Portuguese (Brazil).
Slug: hangar-connect (immutable). Display name defaults to Hangar Connect; filter hangar_connect_display_name for white-label ({company} Connect).
Features
- Settings -> Hangar Connect -- connections list, generate pairing key (copy once), rotate when pending, disconnect / disconnect all.
- One active Hangar pairing at a time: New connection card and "Generate new key" are hidden while connected.
- REST namespace
/wp-json/hangar-connect/v1/...(never/wp/v2). - Legacy alias
/wp-json/barbas-connect/v1/...for older Hangar images still calling the pre-rebrand path. - Pairing secret encrypted at rest (OpenSSL AES via shared crypto helpers).
- GET
/healthpublic discovery; POST/pairfor Hangar handshake; HMAC-protected/capabilitiesand productivity reports via WP Activity Log (no Activity Reports dependency). - WordPress updates from public GitHub Releases (Plugin Update Checker) -- no Barbas Update license tab.
- Migrates leftover
barbas-connect/plugin folder tohangar-connect/after updates. - WP-CLI:
wp hangar-connect status|doctor|snapshot|capabilities(see Command line below).
Installation
- WordPress -> Plugins -> Add New -> Upload Plugin
- File:
hangar-connect.zip - Activate
- Settings -> Hangar Connect -> generate a pairing key
- Paste the key in Hangar to pair the site
If updating from barbas-connect, prefer upload of hangar-connect.zip (or wait for the in-plugin folder migration on 0.2.5+).
REST routes
| Method | Route | Auth |
|---|---|---|
| GET | /hangar-connect/v1/health | Public |
| POST | /hangar-connect/v1/pair | Public (one-time pairing key) |
| GET | /hangar-connect/v1/capabilities | HMAC |
| GET | /hangar-connect/v1/activity/users | HMAC |
| GET | /hangar-connect/v1/activity/report | HMAC (query: user, from, to, format) |
| GET | /hangar-connect/v1/wp/users | HMAC |
| GET | /hangar-connect/v1/wp/snapshot | HMAC (query: refresh) |
Legacy: the same routes under /barbas-connect/v1/....
POST /pair body: { "pairing_key": "bc_..." } -> { ok, connection_id, site_url, site_name }.
Structure
hangar-connect/
|-- hangar-connect.php
|-- uninstall.php
|-- readme.txt
|-- includes/
| |-- hangar-connect-admin.php
| |-- hangar-connect-activity.php
| |-- hangar-connect-changelog-data.php <- the changelog, single source
| |-- hangar-connect-connections.php
| |-- hangar-connect-hmac.php
| |-- hangar-connect-migrate.php
| |-- hangar-connect-rest.php
| |-- barbas-changelog.php <- shared renderer, copied as-is
| |-- barbas-update-*.php
| \-- cli/
|-- assets/
|-- languages/
\-- lib/plugin-update-checker/
Command line
Every Barbas plugin answers on the command line. Hangar Connect keeps a small, read-only surface - issuing a pairing key stays on the Connections screen, because a key is shown exactly once and belongs to a person, not to a script.
wp hangar-connect status pairing state, connections, what it reports
wp hangar-connect doctor everything needed to answer Hangar; non-zero exit on failure
wp hangar-connect snapshot the fleet payload; non-zero exit when updates are waiting
wp hangar-connect capabilities what this site tells Hangar it can do
doctor and snapshot exit non-zero when something needs attention, so a sweep
across the fleet can pick out the sites that do by exit code alone:
wp hangar-connect doctor || echo "$SITE needs attention"
Changelog source
The changelog is written once, in includes/hangar-connect-changelog-data.php,
and every surface is generated from it - the == Changelog == section of
readme.txt (which is what the WordPress "View version details" window shows)
and the changelog and version badge below.
php scripts/sync-readme.php # regenerate readme.txt and README.md
php scripts/sync-readme.php --check # exit 1 if either has drifted
scripts/build-zip.php runs that check, so a release whose readme has drifted,
or whose newest changelog entry is not the version in the plugin header, cannot
be built. Never edit a changelog anywhere but the data file.
Changelog
0.3.1 - 2026-09-09
- Improved Fixed the WordPress version number in this plugin's own metadata; it carried a trailing ".0" that WordPress.org does not expect.
0.3.0 - 2026-09-03
- New Command line: Hangar Connect now answers on the command line: wp hangar-connect status, doctor, snapshot and capabilities. Written for running unattended across a fleet - a missing prerequisite is a non-zero exit code, never a silent no-op.
- New Command line: wp hangar-connect doctor checks the things that keep a site from reporting to Hangar - pairing, encryption of the stored secret, REST reachability, WP Activity Log readiness and the update source - and exits non-zero when any of them fails, so a sweep across many sites tells you which need attention by exit code alone.
- Improved The changelog is now written once, in a single data file, and every place that shows it is generated from that one source. The readme and the project page had already drifted apart from each other.
- Fixed Updates: The release zip no longer includes .gitattributes or .gitignore - repository files with no reason to be on a live site. A build check now refuses to package them, so it cannot happen unnoticed again.
- Fixed Removed the em dash from the plugin details text, which could render as a broken character depending on the WordPress locale.
0.2.21
- Improved Tested up to WordPress 7.1.
0.2.20
- Improved Updates: Barbas Update hub 2.2.28. Connect registers as a hub candidate only and remains free, with no licence tab.
- Fixed The admin screens stayed in English on WordPress 6.7 and later even with the site in Portuguese. The plugin now loads its own translation file on init.
0.2.19
- Fixed Connections: The Status column came back to the connections table, with the badge centred in it.
Read the full README on GitHub →
Releases
| Tag | Published | Asset | Downloads |
|---|---|---|---|
| v0.3.1 | Sep 9, 2026 | hangar-connect.zip | 2 |
| v0.3.0 | Sep 4, 2026 | hangar-connect.zip | 3 |
| v0.2.21 | Aug 24, 2026 | hangar-connect.zip | 1 |
| v0.2.20 | Aug 4, 2026 | hangar-connect.zip | 2 |
| v0.2.19 | Jul 25, 2026 | hangar-connect.zip | 1 |
| v0.2.18 | Jul 25, 2026 | hangar-connect.zip | 4 |
| v0.2.17 | Jul 25, 2026 | hangar-connect.zip | 0 |
| v0.2.16 | Jul 25, 2026 | hangar-connect.zip | 1 |
| v0.2.15 | Jul 25, 2026 | hangar-connect.zip | 1 |
| v0.2.14 | Jul 24, 2026 | hangar-connect.zip | 1 |
| v0.2.13 | Jul 24, 2026 | hangar-connect.zip | 1 |
| v0.2.12 | Jul 24, 2026 | hangar-connect.zip | 0 |
| v0.2.11 | Jul 24, 2026 | hangar-connect.zip | 1 |
| v0.2.10 | Jul 24, 2026 | hangar-connect.zip | 1 |
| v0.2.4 | Jul 24, 2026 | hangar-connect.zip | 1 |
| v0.2.0 | Jul 24, 2026 | hangar-connect.zip | 0 |
| v0.1.1 | Jul 20, 2026 | barbas-connect.zip | 0 |