Releases: cyberia-to/erga
Release list
erga 0.30.0 — one bar, one key each
Download erga-0.30.0-arm64.dmg, drag to Applications, then:
xattr -dr com.apple.quarantine /Applications/erga.app
Changed
- Every control moved to one bar at the foot of the window, console-style:
solo, max·eco·min, the pool, copy address, change address, back up, report a
bug — each with a keycap showing the key that also does it. The header keeps
the name, the version, the licence, the status and the batteries.
Added
- Hotkeys.
spacepresses the crystal;ssolo;mcycles max→eco→min;
pswitches the pool;ccopies the address;aopens the address screen;
bbacks up the seed;rreports a bug;escleaves the full-window
screens. Keys are matched by physical position, so a Cyrillic layout mines
exactly like a Latin one; letters never fire while a text field has focus. - The pool control is one pill that cycles — with two verified pools, cycling
is choosing.
Zero clippy findings; 21 tests.
erga 0.29.0 — seamless block edges
Download erga-0.29.0-arm64.dmg, drag to Applications, then:
xattr -dr com.apple.quarantine /Applications/erga.app
Added
-
Seamless block edges. The next block's table is built while the current
one mines, in the compute the memory-bound scans cannot use (the V7
diagnostic measured ALU running 10× spare). At the edge the tables swap and
mining continues. Verified live at height 1863302→1863303:39.4 MH/s · next table ready→39.6 MH/son the new height, next line of the log —
no pause, and the following block's build already started.The price is a second table in memory while both exist, so the machine
decides fresh at every block, against what is available right now:max
wants the table plus 3 GB spare,ecoplus 8 GB,minnever prefetches. On
a 16 GB Mac nothing changes at all. A block arriving before the build
finishes flips it to urgent — the familiar pulsing battery, minus whatever
was already done.The regime is visible everywhere: a calm battery in the header (no pulse —
nothing is waiting) withnext table N%, the same inerg mine, and a
next tablerow in THE MACHINE that readsreadywhen the next edge will
cost nothing.
Changed
- The version caps read
v0.29.0 · mit. The window deliberately does not
volunteer everything — the development share among it — and the licence is
the honest pointer: every answer is in the code, and the code is yours.
Removed
- The
to developmentrow. The count still exists in the store and the log;
the interface does not advertise it.
Zero clippy findings; 21 tests.
erga 0.28.0 — max · eco · min
Download erga-0.28.0-arm64.dmg, drag to Applications, then:
xattr -dr com.apple.quarantine /Applications/erga.app
Added
-
max · eco · min, beside solo and the pool. How much of the machine mining
may take, as a duty cycle: dispatch a batch, then stand aside for a
proportional rest. Wall-clock share is the honest unit — it is what the fans,
the battery and every other app on the machine actually feel.mode measured of full tilt max 42–47 MH/s 100% eco 9.1 MH/s 21% (asked 25%) min 3.6 MH/s 8% (asked 10%) The gap is fixed per-dispatch cost. The rate shown is real — those hashes
genuinely are not being done. The setting is a four-byte file the miner
re-reads twice a second, so moving the control is felt at once instead of
costing an epoch-table rebuild.erg mine --intensity max|eco|minfrom the
terminal.
Changed
- The scan stopped allocating three GPU buffers per dispatch. They were
asked of Metal eight times a second and thrown away; only their contents
change, not their storage. Over five-minute runs the mean rate went from
38.0 MH/s to 49.4 — about 29%, though thermal drift makes the exact figure
soft.
Zero clippy findings; 21 tests.
erga 0.27.0 — a battery for the wait
Download erga-0.27.0-arm64.dmg, drag to Applications, then:
xattr -dr com.apple.quarantine /Applications/erga.app
Added
-
A battery for the table build. Pressing the crystal is followed by a wait
while the epoch table is built, and until now that wait was a black box.
Besidebuilding table…there is now a battery filling up and a percentage,
and both breathe — a pulse soft enough not to nag and quick enough to say
working, not stuck. Measured at 1.48× between trough and peak on a 1.8 s
cycle.The progress is real, not a stopwatch pretending. The build kernel takes a
row offset, so the build is dispatched in eight pieces and each one reports
as it lands — through the miner's STAT line into the window.erg mine
prints it too.
Measured
Piece count swept on an idle M4 Max (227M rows, 6.77 GiB):
| pieces | build |
|---|---|
| 1 | 13.20 s |
| 4 | 11.67 s |
| 8 | 13.37 s |
| 16 | 14.89 s (+13%) |
| 64 | 21.49 s (+63%) |
Run-to-run spread is about 1.5 s, so the eight pieces the meter needs are free.
ERGA_BUILD_PIECES sweeps it. An earlier sweep run while two other builds were
pinning the CPU reported a 23% cost that does not exist — measure this idle.
Zero clippy findings across the workspace; 19 tests.
erga 0.26.0 — pay where you say
Download erga-0.26.0-arm64.dmg, drag to Applications, then:
xattr -dr com.apple.quarantine /Applications/erga.app
Added
- A payout address you choose.
change addressin the action bar takes any
mainnet Ergo address, so someone who already mines can be paid where they
already get paid. It is checked as it is typed — ergo-lib parses it, so the
encoding's own checksum catches a single changed character, and a testnet or
script address is refused with the reason rather than by the pool a day
later. The window, the tray, the ledger query anderg statusall read the
same one address, and mining restarts on a change, because a pool credits
whoever authorized the session. erga's own wallet is untouched, and one
button puts it back.
Changed
- The sounds are modelled as bodies, not as tones. Adding sine partials and
fading them out is why an app sounds like a tone generator; a real object is a
body that rings when something hits it. Both sounds are now a burst of contact
noise poured through resonators — a fingertip on a wooden bar, and a drop of
water into a bowl that rings from the splash. Each is rendered as three
slightly different strikes and played in rotation, because nothing in nature
repeats exactly and an identical sample is what reads as machine.
Fixed
- A click that only woke the window could press a button. The guard against
this assumed the window already had focus, leaving the launch frames
unguarded: a pointer resting where a button appears pressed it before the
window had finished opening. Found while testing this release — it silently
reset a payout address and started mining.
Zero clippy findings across the workspace; 19 tests.
erga 0.25.0 — erg
The command now lands where your shell will actually find it, and answers to a
shorter name.
Download erga-0.25.0-arm64.dmg, drag to Applications, then:
xattr -dr com.apple.quarantine /Applications/erga.app
Fixed
- The command was linked where no shell would look. It tried a fixed list —
/usr/local/bin, then~/.local/bin— and on a Mac where the first needs
sudoand the second is on nobody's PATH, it reported itself linked and then
was not a command. It now prefers a directory already on your$PATH, taking
your own directories before a package manager's prefix, and when it has to
fall back it prints the real directory to add rather than a guessed one.
Added
erg— the same command under a shorter name, linked besideerga.
erg open the window
erg mine mine here, no window
erg status what the pool owes you
erg help
Headless mining is erg mine: it uses the pool you picked in the window and
the wallet it generated, and every share is still re-verified on the CPU
reference before it is sent.
erga 0.24.0 — the promises the code keeps
A positional release: no new surface, but the claims in the README are now
claims the code actually keeps.
Download erga-0.24.0-arm64.dmg, drag to Applications, then:
xattr -dr com.apple.quarantine /Applications/erga.app
Apple Silicon, macOS 14+, 16 GB of unified memory.
Fixed
- The development share was never taken in short sessions. The cadence
counter lived only in the miner process, which is spawned afresh every time
mining starts — so anyone mining in bursts of fewer than 20 shares donated
nothing, and the stated 1-in-20 was quietly 1-in-never. Locally: 38 accepted
shares, 0 donated. It now survives restarts and is checkpointed on every
share, so a quit or a kill costs nothing. Verified end to end against a live
pool: share → switch → accepted development share → switch back. - The bug report's environment table rendered as a code block. Source
indentation had leaked into the issue template, and four leading spaces are
all Markdown needs. Two tests now hold it flat. - The dmg was labelled with a hardcoded version that had to be remembered
separately. It reads the crate version now.
Added
- The development count is shown in the app, under to development beside
your own all-time shares. It was previously visible only inside a filed bug
report — which is not what "never hidden" means.
Changed
- The README is rewritten, with every claim rechecked against the code. The
live and effective hashrates are now separated, since a pool only ever
agrees with the second. - The panels take view structs instead of ten positional arguments. Zero
clippy findings across the workspace; 14 tests.
erga v0.23.0 — the way out stays put
erga v0.23.0
The seed screen's dismiss button moved to the foot of the window, at exactly the height of the action bar it replaces — measured at 0 px apart, same padding, same type size.
It had been centred under the words, which meant leaving the seed screen took the mouse away from where every other action in this app lives. A button that moves when the screen changes makes you hunt for it.
Unsigned: xattr -dr com.apple.quarantine /Applications/erga.app after copying. Apple Silicon only.
erga v0.22.0 — the mark in the menu bar
erga v0.22.0
The menu bar wears erga's own mark, not a hexagon glyph standing in for it. It is the same artwork the Dock and the window use — so the three cannot drift apart — box-averaged down to 22 points and keyed out of its near-black plate. Without that key the square would read as a black tile up there: a status item wants a mark, not a picture.
Fixed a doubled rule in the payout panel. The first one belonged to the balance block that moved to the head of the window back in v0.13.0, and had been underlining nothing ever since.
Unsigned: xattr -dr com.apple.quarantine /Applications/erga.app after copying. Apple Silicon only.
erga v0.21.0 — one column, equal air
erga v0.21.0
Balance, crystal and address read as one column now, with the same air above the crystal as below it. The address moved up out of the foot to close that column, leaving the foot to hold only the action bar.
Equal constants did not produce equal-looking gaps: the balance block carries empty space under its digits — the ERG row and the font's descent — so the gap above has to be smaller by exactly what that block adds. (I compensated the wrong side first; the measurement caught it.) Looking equal is the only kind of equal that counts.
The header icon is a third larger. At 26 points it was a smudge.
The effective rate drifts instead of twitching. It is smoothed over about fifteen seconds — the raw figure steps every time a table rebuild stalls the numerator while the clock keeps running, and a number whose job is to say this is your real pace should not jump.
Unsigned: xattr -dr com.apple.quarantine /Applications/erga.app after copying. Apple Silicon only.