With 1.28.8 live and witnesses deploying, it's a great time to look at what's active on chain. Hive shipped nine releases in under a year, with no formal launch events and very little noise. We're a community that builds what we need and makes all of it FOSS to share with everyone, but yes, we tend to love to do the work more than we like to brag about it. There's been a ton of momentum this year, however... and that's worth talking about! Version 1.28.8, the newest release tagged on 5 October 2026, ties it all together and it's the version every node should run now.
Hardfork 28 kicked off an incredible streak of building this year (and there's still plenty of time until 2027!)
In short... for people who use Hive apps, 1.28 means votes that count in full, keys that are even more carefully scoped to individual jobs, and a network that limits damage and keeps blocks flowing when a peer misbehaves. For builders, it means a chain you can read over plain HTTP and sign for from TypeScript or Python without even running a node, and a brand new exchange can get fired up in under an hour from a snapshot. That's a pretty simplistic overview, so here's the anatomy of 1.28 release by release and layer by layer.
All the goodies, at a glance
- ♦️ Your "full" vote is always counted as full. Since Hardfork 28, a 100% vote always carries its full value.
- ♦️ Each key does only its own job. A post or vote must be signed with the posting key; active and owner keys can no longer stand in for them.
- ♦️ Several regular payments to one account. One wallet can now run several recurring transfers to the same recipient.
- ♦️ A bad peer gets cut off alone. Only the node that delivered a bad block is disconnected now, and those disconnects are capped.
- ♦️ New exchange nodes in under an hour. Ultra quickstart exchange nodes can be spun up from a snapshot of about 6 GB, instead of replaying a block log of about 550 GB.
- ♦️ The chain is an even faster database. HAF loads every block into PostgreSQL, and can now tell apps about each new block as it lands.
- ♦️ Five public REST APIs, each with a spec. Each API on api.hive.blog publishes an OpenAPI 3.1 description of its calls.
- ♦️ One library: more than one language. wax builds and signs transactions from TypeScript and Python using the same C++ code that runs the chain.
This is all the new stuff that started happening seamlessly on top of the chain you already know and love: all of it still paid for with Resource Credits from staked HIVE, irreversible in sub-second spans, and final after one block. ### We don't wait around, and we don't spend our assets just to use our assets.
The 1.28.year in numbers
Since Hardfork 28, the chain has filled 99.7% of its block slots and carried more than 182 million transactions; all of them speedy, and of course, never with a fee per action. The numbers are pretty wild: underneath that beautiful chain of data, more than 2,200 commits landed in core repositories on more than 200 days. REST endpoints in Hive's app layer grew from 54 to more than 110. There was no downtime and we never saw a day with less than 300,000 transactions. (Seriously. This paragraph alone is worthy of a mic drop.) Here's a highlight reel and some bite sized facts:
Achievements since HF28 release (Tagged 1.28.0 on October 24, 2025)
| Stable releases of hived | 9: from 1.28.0 (24 October 2025) to 1.28.8 (5 October 2026) |
| Commits to the four core repos (hived, HAF, wax, workerbee) | 2,215: on 211 days in 49 weeks |
| People committing to the core repos | 29 |
| REST endpoints in the HAF apps | from 54 ⇾ 111, with 77 live on api.hive.blog today |
| HAF apps in the API node stack | from 7 ⇾ 10 |
| Block slots filled | 99.7% (9,637,928 of 9,667,098) |
| Total transactions | more than 182 million: about 544,000 a day |
| Busiest day | 643,850 transactions (4 December 2025); no day fell below 346,495 |
| Votes cast and custom_json operations by apps and games writing to the chai) | 67.5 million votes, 100.5 million custom json |
| Accounts on chain | 2,621,584: with 23,568 newly created |
| Unique witnesses that produced a block | 117 |
Code counts cover 24 October 2025 to 5 October 2026 (non-merge commits; bots excluded; AI agents not counted as people). Chain counts run from Hardfork 28 (19 November 2025 13:00 UTC) to 21 October 2026; transaction and operation totals start 20 November 2025. Counted from git and public chain data on 20 and 21 October 2026.
A 1.28 series cheat sheet
Nine tagged releases, eight distinct builds, a lot to remember, and a few things you might have missed.
| Date Tagged | Version Number | What it changed |
|---|---|---|
| 2026-10-05 | 1.28.8 | Peer-to-peer hardening, snapshot-first nodes, HAF on PostgreSQL 18; no consensus changes |
| 2026-07-10 | 1.28.7 | Fix for the July peer storms (hived and HAF only) |
| 2026-05-05 | 1.28.6 | IPv6 peer messages, HAF lite mode, faster hivemind sync, API breaking changes; release candidates |
| 2025-11-19 | 1.28.5 | Retags of 1.28.4 |
| 2025-11-12 | 1.28.4 | Default API thread pool cut memory saving |
| 2025-11-01 | 1.28.3 | Snapshot fixes |
| 2025-10-29 to 2025-10-30 | 1.28.1, 1.28.2 | Small fixes before the fork |
| 2025-10-24 | 1.28.0 | Hardfork 28 |
Hardfork 28: the Release Arc ♦️
As a quick recap of where we started: Hardfork 28 shipped via 1.28.0, and was activated seamlessly on 19 November 2025 at block 101,319,928 and we've now had almost a full year with the immediate improvements. Some of the biggest changes of the release impacted vote strength: now worked out from your maximum voting mana, so a 100% vote always carries its full value. (The trade-off is you can run out of mana sooner.) Posting actions signed only by an active or owner key are now rejected, because each operation now needs its own authority. Allowing a higher tier key to act on the every day stuff gives you more chances to use it in a situation where a mistake can get made, so the onus is shifted to apps to ask only for what they need. One account can now run several recurring transfers to the same recipient concurrently. HBD in the DHF no longer counts toward inflation, so new reward issuance is lower, and witness-voted block size and HBD interest settings have taken effect with the new witness schedule.
The July peer storms and the fixes that followed
On 9 and 10 July 2026, an experimental, independent Go client called Gopherd served old blocks while presenting itself as in sync. This went on to make history in August as the first client other than hived to serve a block... but it also exposed a weakness that had sat in hived for years! Nodes misread the old blocks and disconnected each other in waves. While it was a bit hectic, it also ended up being a really impressive reflection of Hive's architecture: no transactions were lost. Pending transactions waited as expected and completed a few seconds later, with the longest gap between blocks coming in at 15 seconds. The chain still processed 494,000 transactions on 9 July and 490,000 on 10 July.
1.28.7 shipped on 10 July, and stopped the false alarms a disconnect ripples: blocks older than the fork window are now treated as unlinkable, instead of invalid. Alongside the other improvements across the year, lastest release 1.28.8 goes even further to account for unexpected node behavior. Only the peer that delivered a bad block is punished, and punitive disconnects are capped at 5 per 60 seconds. Any node stuck more than 20 blocks behind restarts its sync after a 60-second stall.
New nodes from a snapshot
Starting a Hive node usually means replaying the whole chain from a block log of about 550 GB. 1.28.8 adds a docker/exchange Compose setup that boots from a published state snapshot of about 6 GB in under an hour. The 1.28.8 exchange snapshot, hive-1.28.8-20261008-exchange.tgz is posted at gtg.openhive.network... @gtg notes the same snapshot serves seed and witness nodes too. We're just walking exchange partners through some of the new features, and the ones who have tried out the new speeds have been pretty surprised by the improvements. ("Wait, it's done?!")
HAF: the chain as a SQL database, now faster
HAF indexes every block into PostgreSQL, so apps can query the chain with plain SQL. In 1.28.8 it moves to PostgreSQL 18, and apps wake on each new block through LISTEN/NOTIFY instead of polling. A new app registry and a reference driver let an app register its processing instead of writing its own loop. Apps that use the new wake-up hear about each block as it lands so the feeds, wallets and explorers built on them stay closer to the chain.
| Measure | Before | After |
|---|---|---|
| hivemind full replay, fastest machines (1.28.6 cycle) | more than 2.5 days | about 1 day |
| Block explorer median time per block (vote-cache refresh, one mainnet node) | 346 ms | 146 ms |
| Block explorer write-ahead log per block | about 4.9 MB | about 25 KB |
| How apps learn about a new block | 1.5 s sleep loop | LISTEN/NOTIFY |
| Oversized empty shadow tables on affected nodes | 0.4 to 1.1 s per block | truncated |
The Sweet 1.28 Details for Everyone 🐝
Vote sliders now mean what they say. Apps have to ask for the right key for each job, instead of reaching for a catchall one that can move your funds. A transaction may now mix owner, active and posting operations, as long each is signed by its own key. Redundant signatures are accepted, and transactions may expire further out than before. When one machine misbehaves, the nodes your app talks to now stay connected, so your post or transfer keeps a steady path to the next block. A node that's cheaper to start means more people can run one, and every independent copy makes the Hive network harder to stop.
If you're only interested in the overview, are a layperson or end user who's interested in features but isn't really into the technical jargon, or aren't particularly interested at all as long as it works: this is a good place for you to wrap it up!

A Section for the Builders: 1.28.8 and You ❤️
If you're a developer, a project owner, or someone ready to start experimenting with everything Hive has to offer, here's a quick overview of what's new with 1.28.8 so you can get straight to the good part. Hive gives you human-readable accounts, feeless writes and three-second blocks. You don't need to run a node to start, and when your app builds transactions with the same code the chain uses to check them, there's less room for the two to disagree.
APIs for questions people actually ask
New REST endpoints answer everyday questions directly. What might my posts and curation earn? Hivemind returns a pending reward basis per account. How has my staked HIVE changed? The balance tracker adds vesting history. How are proposals doing? The block explorer adds proposal votes and vote history.
All five REST apps are live on api.hive.blog under /hafah-api, /balance-api, /hafbe-api, /reputation-api and /hivemind-api. Each root serves an OpenAPI 3.1 spec. Wallets and explorers can now show these answers with one call.
New endpoints
- Hivemind:
/hivemind-api/accounts/{account-name}/pending-author-rewardsand/hivemind-api/accounts/{account-name}/pending-curation-rewards(a reward basis, not a final payout). - Balance tracker (
/balance-api):/accounts/{account-name}/vesting-history,/accounts/{account-name}/vesting-statsand a global/vesting-stats./accounts/{account-name}/rc-delegationshas been there since 1.28.6. - Block explorer (
/hafbe-api):/proposals,/proposals/votes,/proposals/{proposal-id}/votes/history,/operation-type-statistics,/hbd/statusand/total_wallet_addresses.get_accountgains raw interest-accrual inputs such ashbd_seconds, not a computed interest figure. - Every HAF app:
GET /sync-status.
One client library in more than one language
wax builds, signs and broadcasts Hive transactions from TypeScript and Python on the same C++ protocol code that hived runs, with a Rust pre-release on crates.io. Signer packages cover Keychain, PeakVault, MetaMask, beekeeper and external signers. wax, Beekeeper and Workerbee are the preferred stack.
| Layer | What you get | Version or where |
|---|---|---|
| Public REST APIs | Five HAF apps, each with an OpenAPI 3.1 spec at its root | api.hive.blog: /hafah-api, /balance-api, /hafbe-api, /reputation-api, /hivemind-api |
| Balances | Liquid, savings and staked balances per account | /balance-api/accounts/{account-name}/balances |
| Account history | Every operation an account touched | /hafah-api/accounts/{account-name}/operations |
| JSON-RPC | The classic node API, plus hived's OpenAPI 3.1 spec (215 paths) | api.hive.blog; spec in the hive repo at 1.28.8 |
| HAF SQL | The whole chain in PostgreSQL (Hive Application Framework) | haf 1.28.8 (PostgreSQL 18; 17 image available) |
| TypeScript | wax, plus signers @hiveio/wax-signers-keychain, -peakvault, -metamask, -beekeeper, -external |
@hiveio/wax 2.0.2, signers 2.0.2 (npm); docs at https://doc.openhive.network/wax/ |
| Python | wax | hiveio-wax 2.0.1 (PyPI), Python 3.12+ |
| Rust | wax | hiveio-wax 2.0.3-rc0 (crates.io), pre-release |
| Bots | workerbee | npm 1.28.4-rc1, release candidate; docs at https://doc.openhive.network/workerbee/ |
| Keys | beekeeper, a key store for signing | npm latest 1.28.7-rc0, release candidate |
| CLI wallet | clive | v1.28.8.2 features (RC delegation, multisign autosign) |
| Your own API node | haf_api_node | 1.28.8 |
| A snapshot-only node | docker/exchange in the hive repo |
1.28.8 with a 6.29 GB snapshot |
For node operators and witnesses:
It's time! Upgrading to 1.28.8 ⚠️
Every node needs a full replay or a 1.28.8 snapshot, including nodes already on 1.28.7. The state layout and the HAF schema changed but the block log format did not. 1.28.8 has no consensus changes.
| You run | What to do |
|---|---|
| Witness or seed node | Load the 1.28.8 snapshot or replay |
| Exchange node | Use docker/exchange with the 1.28.8 exchange snapshot; pin the version |
| Account-history node on 1.28.6 or 1.28.7 | Upgrade soon to ensure your node stays online |
| HAF or API node | Full replay or snapshot; follow the haf_api_node checklist |
Breaking changes and migration notes
- PostgreSQL 18: HAF moves to PostgreSQL 18; a PostgreSQL 17 image (
registry.hive.blog/haf/pg17) stays available. The data directories aren't interchangeable: switching means removinghaf_db_storeand replaying. - pg_search: preloaded by default; a custom postgresql.conf must add it to
shared_preload_libraries. - haf-stats and haf-fyp: opt-in profiles. Their images don't resolve on registry.hive.blog yet, so set the image variables by hand.
- haf_api_node: p2p port 2001 published by default; a fast 503 under overload; PostgREST v14.15 and HAProxy 3.2.21. Runtime images move to Ubuntu 26.04.
- Downloads: Docker image
hiveio/hive:1.28.8on Docker Hub (pushed 6 October 2026); snapshothive-1.28.8-20261008-exchange.tgzat gtg.openhive.network/get/snapshot/exchange/; binarieshived-1.28.8andcli_wallet-1.28.8at gtg.openhive.network/get/bin/; block log at gtg.openhive.network/get/blockchain/; default seedseed.openhive.network:2001 - 1.28.8:
get_dynamic_global_propertiesno longer returnstotal_reward_fund_hiveortotal_reward_shares2. Read the reward fund withget_reward_fundorget_reward_funds. - 1.28.8: balance tracker
/transfer-statisticsamounts are now{nai, amount, precision}objects. - 1.28.8:
/last-synced-blockis deprecated (still served) in favour of/sync-status. Regenerate clients from the corrected hivemind, condenser and bridge schemas. - 1.28.6: hived's old social calls are gone (condenser
get_discussions_by_*,get_followers,get_content,get_state,get_blog,get_feedand more; database_apifind_comments,list_votes,find_votes). Hivemind serves them; direct calls to hived now fail. - 1.28.6: internal
post_idand comment and voteidfields are removed from bridge, condenser and database_api output; bridgenet_rsharesis now a string. - 1.28.6:
HIVE_ENABLE_SMTis removed fromget_config. - 1.28.6:
get_reblogged_bynow lists self-reblogs. Grayed posts carrystats.muted_reasonson the public API stack, an added field rather than a break. - Hardfork 28 (1.28.0): posting operations must be signed with the posting key, and active operations no longer accept the owner key.
Post Sources and Links
- @blocktrades: HAF API stack 1.28.8 release notes (6 October 2026)
- @blocktrades: Release of new HAF API stack 1.28.6 next week (10 April 2026)
- @gtg: Brace yourself, HardFork is coming (28 October 2025)
- @gtg: Hive HardFork 28 Jump Starter Kit (18 November 2025)
- @gtg: How to lose all your peers in one block (18 July 2026)
- @howo: Cheers to a healthy hard fork 28 (19 November 2025)
- @howo: the Go client's block and the July forks (12 August 2026)
- Snapshots, block log and binaries: gtg.openhive.network
- Live REST APIs and OpenAPI specs: api.hive.blog
- Developer quickstart: developers.hive.io/quickstart
- Source code: gitlab.syncad.com/hive, mirrored at github.com/openhive-network


