Repository navigation
Releases: web3blind/hermes-vk-platform
Release list
v0.2.5 — compatible approval buttons
Fix native VK approval-button detection on current Hermes while retaining the legacy send_exec_approval entry point. Both APIs share the same VK sender and preserve approval scope, restricted choices, callback binding, custom prompt text and project-lane routing. Includes regression coverage for both entry points and gateway dispatch. Verified with the full plugin test suite against Hermes main and v2026.9.14. Restart the gateway after updating to load the new adapter.
v0.2.4 — per-conversation mention requirements
Changes
- Add require_mention_by_peer: opt selected conversations in or out of mention requirements without changing the global policy.
- Accept strict YAML booleans with string or numeric peer IDs. Missing or invalid entries inherit the global setting.
- Preserve authorization checks before invocation filtering; the override does not grant access.
- Document configuration and test raw message intake, global fallback, authorization and YAML precedence.
Requires Hermes >=0.21.3. Existing YAML allowed_users_by_peer support is unchanged. No private configuration, credentials or client data are included.
Verification
- 352 local tests passed through the canonical Hermes test runner.
- GitHub CI passed against Hermes main and v2026.9.14 for the release commit.
- CI: https://github.com/web3blind/hermes-vk-platform/actions/runs/35995340947
This release does not modify installed user configuration or restart gateways.
v0.2.3 — profile isolation and native handlers
Profile isolation and native handler fixes
- Read VK credentials, ACL/config values, connection enablement, standalone-send credentials and redaction tokens through the active Hermes profile secret scope. Missing scoped values no longer borrow process-global default-profile values.
- Keep scoped YAML values on the current profile configuration instead of exporting them into the process environment. Accept dictionary and object config forms while preserving an existing canonical token.
- Wire native handler factories registered by other plugins during successful VK connection.
Requires Hermes >=0.21.3; the tested released baseline remains GitHub v2026.9.14. Existing v0.2.2 registration guards and optional target-parser handling are retained. No private configuration or credentials are included.
Verification
- 348 plugin tests passed on v2026.9.14 and upstream main d7b836ab1c0cddaafc109ed24c9a83b6191cdc88 via scripts/run_tests.sh.
- New disposable-profile integration tests use external plugin discovery for dotenv, canonical YAML and legacy YAML, verify no token/ACL borrowing and unchanged process environment, and revisit profiles to detect contamination.
- Native-handler regression exercises real PluginContext registration and base wiring through connect with controlled VK transport.
- GitHub CI main/release jobs passed: https://github.com/web3blind/hermes-vk-platform/actions/runs/35452621418
- Fresh published-source admission validation passed, including security scan: safe. Syntax/diff checks passed; no unreviewed secret findings (two explicitly synthetic fixture lines are allowlisted).
Offline checks only: no live VK E2E, production installation changes, profile changes or gateway restart.
v0.2.2 — explicit Hermes 0.21.3 baseline
Requires Hermes >=0.21.3. Tested released baseline: GitHub tag v2026.9.14, package version 0.21.3; unreleased main is not required. PyPI 0.19.0 is unsupported.
This follow-up to v0.2.1 declares the supported version floor and rejects missing MessageEvent.allow_gateway_control / BasePlatformAdapter._event_session_key before registering VK. The optional target-parser guard remains narrow. Skipping parse_target_ref_fn alone does not make PyPI 0.19.0 compatible.
Verification: 338 tests passed on the release baseline and the catalog PR core checkout; GitHub CI main/release matrix passed. The actual PyPI 0.19.0 wheel was imported in an isolated process and rejected before registration with an explicit diagnostic. Fresh published-source plugin validation passed with security scan: safe. No live VK E2E or production changes.
CI: https://github.com/web3blind/hermes-vk-platform/actions/runs/35451329841
v0.2.1 — Hermes registration compatibility
Compatibility fix
Registration now checks the actual host PlatformEntry signature. Only the optional parse_target_ref_fn callback is omitted when unsupported. ACL, configuration and standalone-send callbacks remain registered; unrelated TypeErrors still surface. A warning explains that lane-qualified outbound targets require a host supporting the callback.
Verification
- 335 plugin tests passed on Hermes v2026.9.14 and the catalog PR checkout.
- New real plugin-loader tests cover both the current API and an enforced missing-field contract.
- GitHub CI now covers main and v2026.9.14 through the canonical test runner; both jobs passed.
- Published-source plugin validation passed, including security scan: safe.
This release also includes the previously published main-branch work since v0.2.0: callback controls, optional reactions, invocation settings, persistent-keyboard settings, bounded attachment intake and fallback message-history polling. The existing default-on fallback poller and its explicit environment disable switch are now documented and declared in optional_env; its behavior is unchanged by this fix.
These are offline checks, not a live VK inbound/outbound smoke report. The reporter's exact Hermes build is still unknown. This fallback does not promise compatibility with every older release or restore lane-qualified target support to hosts without that API.
v0.2.0
Highlights
- VK Project Lanes: virtual project contexts inside one VK chat
- Accessible project list, pagination, command buttons, and pin/unpin controls
- Canonical project-lane config, importer, and autosave
- Project list sorting by pinned state and latest Hermes synthetic-thread activity
- Cron delivery to VK project lanes with reply-to-cron lane routing
- Maintainer docs for project lanes and future Hermes updates
Verified
- python3 -m py_compile adapter.py setup_helper.py init.py
- python3 -m pytest -q