Repository navigation
Releases: 0x3639/az-vote-delegate
Release list
v0.3.0 — Configurable copy vote delay
Add a configurable delay before copying votes on AZ proposals and phase-payout requests.
- Set Copy vote delay during setup or from the main menu. Choose 0–10,080 whole minutes; 0 preserves immediate copying on existing installations.
- Each request waits independently from when the service observes a vote that needs copying. Live-mode timers survive restarts. A changed delegate vote starts a new timer.
- Manual votes bypass the delay and retain their per-request overrides. Other requests continue normally.
- View waiting votes and their earliest submission times in Pending transactions & manual overrides. Settings apply without restarting the service.
- The README is now a short quick start with links to the full documentation.
Submission occurs on a poll after the delay, subject to node availability, retries and proof of work. Requests may close before a delayed vote can be submitted. A delay does not conceal public voting patterns or guarantee privacy.
Upgrade through Check for updates / upgrade, or rerun the curl installer using the original installation account. Existing configurations default to zero delay. Dry-run observations stay in memory; enabling Live reloads durable state. Config/state files written by this release contain new fields that older versions cannot read; keep a pre-upgrade backup if you need to downgrade, and preserve manual overrides.
Compatibility: Legacy fused plasma / proof of work only. Dynamic Plasma is not supported.
v0.2.7 — AZ vote manager
Fixes the patchy background in the terminal menu.
- Menu text, borders, help and spacing now use the terminal's own background consistently, eliminating the dark blocks and gaps visible with custom terminal colors.
- Text and selection colors adapt to dark or light terminal backgrounds. Confirmation buttons keep their contrasting fills.
Voting, saved settings, manual overrides and service behavior are unchanged.
From v0.2.6, choose Check for updates / upgrade in the main menu to install this release. Older versions can use the curl installer.
Compatibility: This release supports the legacy fused-plasma / proof-of-work voting flow. Dynamic Plasma is not supported.
v0.2.6 — AZ vote manager
Adds application updates to the terminal menu.
- Displays a notice when a newer stable GitHub release is available, with installed and available versions. Checks run when opening the menu and on returning after 15 minutes; the menu option always checks again. No automatic installation occurs.
- Check for updates / upgrade downloads and verifies the matching Linux release, checks the executable version, and atomically replaces the existing binary after confirmation.
- Preserves configuration, voting mode, passwords and persistent manual overrides. Downloads happen while voting continues.
- Restarts only the existing active systemd service with a matching generated unit, then reopens the updated menu. Stopped services stay stopped; foreground processes and custom units receive manual restart instructions. No additional service is created.
- Rejects invalid checksums, wrong versions, downgrades and concurrent upgrades. Reports an installed binary separately from a failed service restart.
Use the curl installer once to upgrade from v0.2.5 or earlier. Subsequent upgrades can use the menu. Update notices appear inside the app, not as notifications while the menu is closed.
Validated offline with HTTP fixtures, temporary executables, keyboard navigation and mocked service commands. Linux amd64 and arm64 binaries and the installer are checked by the release workflow.
Compatibility: This release supports the legacy fused-plasma / proof-of-work voting flow. Dynamic Plasma is not supported.
v0.2.5 — AZ vote manager
Makes repeat installations explicit and verifies persistent manual-vote isolation.
- The installer detects an existing executable and replaces it at the same path. It preserves configuration, voting mode and saved manual overrides, and does not start an additional service.
- Upgrade output prints the restart command for the existing system or user service. The running service uses the old executable until restarted.
- Documents that normal upgrades use the same user, install directory and configuration.
- Adds regression coverage for repeated installation and for manual AZ/phase votes surviving disk reloads while other proposals and phases continue copying. No voting-engine behavior changes were needed.
Manual overrides are per pillar and request ID, with no timed service pause. They remain until copying is explicitly resumed, the request closes, or its confirmed votes reset. Different phase IDs have independent overrides.
Compatibility: This release supports the legacy fused-plasma / proof-of-work voting flow. Dynamic Plasma is not supported.
v0.2.4 — AZ vote manager
Adds Back navigation throughout the terminal menu.
- Press Esc or choose Back to leave a submenu without closing the app.
- Back returns from vote confirmation to request details, then to the unanswered list, then to the main menu. Cancelling does not submit a vote or change voting mode.
- Delegate selection, voting mode, and manual-override confirmations also return to their previous screen.
- Every screen displays the Esc / Ctrl+C shortcut hint. Esc also works while searching; Tab applies a filter and Ctrl+R clears it.
- Esc at the main menu and Ctrl+C exit the menu while the background service keeps running. Esc during first-time setup cancels unsaved setup.
Existing settings and votes are preserved. Back does not undo an already submitted vote.
Compatibility: This release supports the legacy fused-plasma / proof-of-work voting flow. Dynamic Plasma is not supported.
v0.2.3 — AZ vote manager
Makes voting mode an explicit choice during setup and in the main menu.
- Choose Dry run — preview without submitting votes or Live — submit votes. Dry run is selected by default for new setups.
- Setup then shows the chosen mode and a separate Save and start (or Save setup) / Cancel confirmation. Cancel never selects live mode.
- The service starts in the confirmed mode. The main menu's Voting mode: Dry run / Live option uses the same explicit choices.
- Explains password storage separately in plain language, without mixing file-permission details into the mode question.
Existing settings are preserved. Switching to dry run stops new submissions; transactions already submitted may still finish. Both modes apply to AZ proposals and phase payouts.
Compatibility: This release supports the legacy fused-plasma / proof-of-work voting flow. Dynamic Plasma is not supported.
v0.2.2 — AZ vote manager
Renames the producer-key setup option to Use existing znnd configuration, removing the NOMCTL reference.
This is a text-only menu change. Configuration import and voting behavior are unchanged. Run the curl installer again to update and reopen the menu; existing settings are preserved.
Compatibility: This release supports the legacy fused-plasma / proof-of-work voting flow. Dynamic Plasma is not supported.
v0.2.1 — AZ vote manager
Improves terminal-menu readability on dark backgrounds and terminals with customized colors.
- Explicit white text on a dark background for inputs, descriptions, choices, and navigation hints.
- Bright headings and selection indicators; inactive fields stay readable.
- High-contrast Yes/No buttons use explicit foreground/background pairs instead of the terminal's customizable ANSI palette.
Voting behavior and saved configuration are unchanged. Run the curl installer again to update, then reopen the menu. The theme fix applies to the menu immediately; existing v0.2.0 background services remain compatible.
Compatibility: This release supports the legacy fused-plasma / proof-of-work voting flow. Dynamic Plasma is not supported.
v0.2.0 — AZ vote manager
The curl installer now opens terminal setup automatically. Setup asks for confirmation to install and start the background service, then lets the operator select a delegate.
Compatibility: This release supports the legacy fused-plasma / proof-of-work voting flow. Dynamic Plasma is not supported.
- The delegate picker takes the top 30 active pillars by recorded AZ votes, excludes the operator's own pillar, and shuffles the display. Ties are shuffled before the cutoff.
- Each pillar shows participation as a percentage and voted/total request counts. Counts include all project and phase requests retained by the node, including closed requests; they are not adjusted for pillar registration dates.
- Manual project and phase-payout menus fetch fresh votes and show only unanswered requests. Yes, no and abstain all count as answered. Queued manual choices appear in Activity.
- The service rechecks an unanswered request before accepting a manual vote. Activity retains the ability to resume copying after a manual override.
AZ_NO_UI=1skips automatic menu launch for scripted installations; installations without a terminal print the command to run later.
The service starts in dry-run mode. Enable live voting from the menu after reviewing setup. Existing installations should restart their voting service after upgrading.
Validated with offline RPC fixtures, race tests, installer pseudo-terminal tests, checksum checks, and Linux amd64/arm64 binary startup tests. No live-chain votes or operator keys were used.
v0.1.1 — AZ vote manager
First release of the Accelerator-Z vote manager for Zenon pillar operators.
- One-command installer with SHA-256 verification; static Linux amd64 and arm64 binaries.
- NOMCTL-style terminal menu and setup from an existing znnd producer configuration.
- Searchable delegate selection and persistent background service.
- Copy voting and manual yes/no/abstain for project proposals and phase-payout requests.
- Explicit manual overrides, including same-value votes, coordinated by one signer.
- Dry-run by default, persistent pending-transaction tracking and guarded publication.
Manual choices wait for previously submitted votes to execute. They can be applied only while the request remains open. Votes submitted by external tools still have the off-chain detection limitations described in the README.
No live producer-key or mainnet acceptance run was performed. Automated checks use native wallet-format conformance tests and local RPC fixtures.