docs: backport release notes for v7. Simplify release process.
This commit is contained in:
parent
9b70c29494
commit
7f8ecc5c0c
6 changed files with 300 additions and 74 deletions
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
## v7.0.0
|
||||
|
||||
**When upgrading to this version of hsd, you must pass `--wallet-migrate=4` when
|
||||
**When upgrading to this version of hsd, you must pass `--wallet-migrate=5` when
|
||||
you run it for the first time.**
|
||||
|
||||
### Primitives
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ HSD
|
|||
## Links
|
||||
- [Install](./install.md)
|
||||
- [Configuration](https://hsd-dev.org/guides/config.html)
|
||||
- [Release schedule](./release-schedule.md)
|
||||
- [Release process](./release-process.md)
|
||||
- [Release files](./release-files.md)
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ Releasing hsd and hs-client
|
|||
This document contains information about bundling, signing and
|
||||
distributing the files.
|
||||
|
||||
`hsd/hs-client` is distributed through several platforms: `github`, `npm`, `brew`.
|
||||
`hsd/hs-client` is distributed through several platforms: `github`, `npm`.
|
||||
|
||||
<!-- markdown-toc -i release-files.md -->
|
||||
|
||||
|
|
@ -17,8 +17,6 @@ distributing the files.
|
|||
- [Minor, Patch](#minor-patch)
|
||||
* [Deploying to npm](#deploying-to-npm)
|
||||
+ [Deploying latest version, minor and patches included](#deploying-latest-version-minor-and-patches-included)
|
||||
+ [Deploying support versions (previous and life-support)](#deploying-support-versions-previous-and-life-support)
|
||||
* [Deploying to homebrew](#deploying-to-homebrew)
|
||||
* [Deploying to handshake.org](#deploying-to-handshakeorg)
|
||||
+ [Building tarball](#building-tarball)
|
||||
+ [Signing and upload](#signing-and-upload)
|
||||
|
|
@ -46,8 +44,6 @@ After you are [ready](./release-process.md) to publish files (for example
|
|||
- `git tag --force -s latest` - Tag `v4.0.0` as `latest`.
|
||||
- `git checkout v3.x.x` - latest `v3` version.
|
||||
- `git tag --force -s previous` - Tag latest `v3` as `previous`.
|
||||
- `git checkout v2.x.x` - latest `v2` version.
|
||||
- `git tag --force -s life-support` - Tag latest `v2` as `life-support`.
|
||||
|
||||
#### Minor, Patch
|
||||
If we are updating minor/patch versions, regardless of the `major`, we
|
||||
|
|
@ -61,8 +57,8 @@ it will update `previous` tag. We will have full example with `major`:
|
|||
|
||||
## Deploying to npm
|
||||
Maintainer needs access rights to the npm repository. Releasing
|
||||
on npm by default tags the release with `latest`, so releasing latest
|
||||
and supporting older versions is different.
|
||||
on npm by default tags the release with `latest`.
|
||||
`previous` tag is not released on npm.
|
||||
|
||||
NOTE: You can use `npm publish --dry-run` to see the details before actual
|
||||
release.
|
||||
|
|
@ -74,27 +70,6 @@ Major, minor and patch of the latest version deployment (for example v4.1.0):
|
|||
|
||||
NOTE: `package.json` should have been updated in `v4.1.0` tag to `4.1.0`.
|
||||
|
||||
### Deploying support versions (previous and life-support)
|
||||
Older versions can have additional tags for `previous` and `life-support`:
|
||||
- `git checkout v3.1.0` - switch to the tag for the `previous` version.
|
||||
- `npm publish --tag previous` - update appropriate npm tag for the release.
|
||||
or
|
||||
- `git checkout v2.4.1` - switch to the tag for the `life-support` version.
|
||||
- `npm publish --tag life-support` - update appropriate npm tag for the
|
||||
release.
|
||||
|
||||
NOTE: `package.json` should have been updated in `v3.1.0` tag to `3.1.0`.
|
||||
|
||||
## Deploying to homebrew
|
||||
To deploy to the popular MacOS package manager [brew][homebrew], you will
|
||||
need to create Pull request to the [Hombrew Core repository][homebrew-repo].
|
||||
Formula for the `hsd` can be found at `homebrew-core/Formula/hsd.rb`
|
||||
- Update `homebrew-core/Formula/hsd.rb`. (e.g. [hsd 3.0.1][homebrew-update])
|
||||
- You can check the steps when formula was introduced
|
||||
[hsd formula][homebrew-new-formula] or review the
|
||||
[Guidelines][homebrew-guidelines].
|
||||
- Additionally double check if `nodejs` version needs update.
|
||||
|
||||
## Deploying to handshake.org
|
||||
Handshake.org website is hosted via github and can be found at
|
||||
[handshake-org/handshake-web][handshake-web]. Website contains easy to install
|
||||
|
|
@ -149,11 +124,6 @@ publish by itself, only generate files to review locally.
|
|||
release.
|
||||
|
||||
|
||||
[homebrew]: https://brew.sh/
|
||||
[homebrew-repo]: https://github.com/Homebrew/homebrew-core
|
||||
[homebrew-new-formula]: https://github.com/Homebrew/homebrew-core/pull/51014
|
||||
[homebrew-update]: https://github.com/Homebrew/homebrew-core/pull/87779/files
|
||||
[homebrew-guidelines]: https://github.com/Homebrew/homebrew-core/blob/master/CONTRIBUTING.md
|
||||
[handshake-web]: https://github.com/handshake-org/handshake-web/
|
||||
[bpkg]: https://github.com/chjj/bpkg
|
||||
[hsclient]: https://github.com/handshake-org/hs-client
|
||||
|
|
|
|||
287
docs/release-notes/release-notes-7.x.md
Normal file
287
docs/release-notes/release-notes-7.x.md
Normal file
|
|
@ -0,0 +1,287 @@
|
|||
v7.x Release notes
|
||||
==================
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
- [v7.0.0](#v700)
|
||||
* [How to Upgrade](#how-to-upgrade)
|
||||
* [Notable Changes](#notable-changes)
|
||||
+ [Primitives](#primitives)
|
||||
+ [Node Changes](#node-changes)
|
||||
- [Node HTTP API](#node-http-api)
|
||||
+ [hs-client node](#hs-client-node)
|
||||
+ [Wallet Changes](#wallet-changes)
|
||||
- [Wallet Configuration](#wallet-configuration)
|
||||
- [Wallet API](#wallet-api)
|
||||
* [Wallet HTTP API](#wallet-http-api)
|
||||
* [Examples](#examples)
|
||||
* [Wallet RPC](#wallet-rpc)
|
||||
* [Wallet CLI (hsw-cli)](#wallet-cli-hsw-cli)
|
||||
+ [hs-client wallet](#hs-client-wallet)
|
||||
* [Changelog](#changelog)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
# v7.0.0
|
||||
## How to Upgrade
|
||||
When upgrading to this version, you must use the `--wallet-migrate=5` flag
|
||||
the first time you run it. It is strongly recommended to back up your wallet
|
||||
before proceeding with the upgrade
|
||||
([#782](https://github.com/handshake-org/hsd/pull/782),
|
||||
[#896](https://github.com/handshake-org/hsd/pull/896),
|
||||
[#888](https://github.com/handshake-org/hsd/pull/888)).
|
||||
|
||||
## Notable Changes
|
||||
### Primitives
|
||||
- TX
|
||||
- tx.test no longer updates the filter,
|
||||
instead `.testAndMaybeUpdate` is used for testing and potentially updating
|
||||
([#856](https://github.com/handshake-org/hsd/pull/856)).
|
||||
|
||||
### Node Changes
|
||||
Add support for the interactive rescan, that allows more control over
|
||||
rescan process and allows parallel rescans
|
||||
([#856](https://github.com/handshake-org/hsd/pull/856)).
|
||||
|
||||
#### Node HTTP API
|
||||
- `GET /` or `getInfo()` now has more properties
|
||||
([#869](https://github.com/handshake-org/hsd/pull/869)):
|
||||
- `treeRootHeight` - height at which the block txns are accumulated
|
||||
in the current branch.
|
||||
- `indexers`
|
||||
- `indexTX` - is tx indexer enabled.
|
||||
- `indexAddress` - is addr indexer enabled.
|
||||
- `options`
|
||||
- `spv` is the Node SPV?
|
||||
- `prune` does node have pruning enabled.
|
||||
- `treeCompaction`
|
||||
- `compacted` - whethere tree is compacted or not.
|
||||
- `compactOnInit` - is tree compaction on init enabled.
|
||||
- `compactInterval` - what is the current compaction interval config.
|
||||
- `nextCompaction` - when will the next compaction trigger after restart.
|
||||
- `lastCompaction` - when was the last compaction run.
|
||||
- Introduce `scan interactive` hook (start, filter, fullLock)
|
||||
([#883](https://github.com/handshake-org/hsd/pull/883)).
|
||||
- Add `get median time` hook to get median time past for a blockhash
|
||||
([#888](https://github.com/handshake-org/hsd/pull/888)).
|
||||
- Add `get entries` hook to get entries. Similar to `get hashes`, but
|
||||
returns encoded entries
|
||||
([#888](https://github.com/handshake-org/hsd/pull/888)).
|
||||
|
||||
### hs-client node
|
||||
- Introduce `scanInteractive` method that starts interactive rescan
|
||||
([#856](https://github.com/handshake-org/hsd/pull/856)).
|
||||
- expects ws hook for `block rescan interactive` params `rawEntry, rawTXs`
|
||||
that returns scanAction object.
|
||||
- expects ws hook for `block rescan interactive abort` param `message`.
|
||||
- Add `getMempoolRejectionFilter` and `checkMempoolRejectionFilter` NodeClient
|
||||
aliases. ([#882](https://github.com/handshake-org/hsd/pull/882)).
|
||||
- Add `getFee`, an HTTP alternative to estimateFee socket call
|
||||
([#882](https://github.com/handshake-org/hsd/pull/882)).
|
||||
- Adds `getEntries(start, end)` that returns encoded chain entries
|
||||
([#882](https://github.com/handshake-org/hsd/pull/882)).
|
||||
|
||||
### Wallet Changes
|
||||
- Add migration that recalculates txdb balances to fix any inconsistencies
|
||||
([#782](https://github.com/handshake-org/hsd/pull/782)).
|
||||
- Wallet will now use `interactive scan` for initial sync(on open) and rescan
|
||||
([#883](https://github.com/handshake-org/hsd/pull/883)).
|
||||
|
||||
#### Wallet Configuration
|
||||
- Wallet now has option `wallet-migrate-no-rescan`/`migrate-no-rescan` if you
|
||||
want to disable rescan when migration recommends it. It may result in the
|
||||
incorrect txdb state, but can be useful if you know the issue does not affect
|
||||
your wallet or is not critical ([#859](https://github.com/handshake-org/hsd/pull/859)).
|
||||
- Add `--wallet-preload-all` (or `--preload-all` for standalone wallet node)
|
||||
that will open all wallets before starting other services (e.g. HTTP).
|
||||
By default this is set to `false` ([#803](https://github.com/handshake-org/hsd/pull/803)).
|
||||
- Add `--wallet-max-history-txs` (or `--max-history-txs` for standalone wallet
|
||||
node) that will be the hard limit of confirmed and unconfirmed histories
|
||||
([#888](https://github.com/handshake-org/hsd/pull/888)).
|
||||
|
||||
#### Wallet API
|
||||
|
||||
- WalletNode now emits `open` and `close` events
|
||||
([#883](https://github.com/handshake-org/hsd/pull/883)).
|
||||
- WalletDB Now emits events for: `open`, `close`, `connect`, `disconnect`
|
||||
([#859](https://github.com/handshake-org/hsd/pull/859)).
|
||||
- WalletDB
|
||||
- `open()` no longer calls `connect` and needs separate call `connect`
|
||||
([#859](https://github.com/handshake-org/hsd/pull/859)).
|
||||
- `open()` no longer calls scan, instead only rollbacks and waits for
|
||||
sync to do the rescan
|
||||
([#859](https://github.com/handshake-org/hsd/pull/859)).
|
||||
- emits events for: `open`, `close`, `connect`, `disconnect`, `sync done`
|
||||
([#859](https://github.com/handshake-org/hsd/pull/859)).
|
||||
- Wallet now has additional methods for quering history
|
||||
([#888](https://github.com/handshake-org/hsd/pull/888)):
|
||||
- `listUnconfirmed(acc, { limit, reverse })` - Get first or last `limit`
|
||||
unconfirmed transactions.
|
||||
- `listUnconfirmedAfter(acc, { hash, limit, reverse })` - Get first or last `limit`
|
||||
unconfirmed transactions after/before tx with hash: `hash`.
|
||||
- `listUnconfirmedFrom(acc, { hash, limit, reverse })` - Get first or last `limit`
|
||||
unconfirmed transactions after/before tx with hash `hash`, inclusive.
|
||||
- `listUnconfirmedByTime(acc, { time, limit, reverse })` - Get first or last
|
||||
`limit` unconfirmed transactions after/before `time`, inclusive.
|
||||
- `listHistory(acc, { limit, reverse })` - Get first or last `limit`
|
||||
unconfirmed/confirmed transactions.
|
||||
- `listHistoryAfter(acc, { hash, limit, reverse })` - Get first or last `limit`
|
||||
unconfirmed/confirmed transactions after/before tx with hash `hash`.
|
||||
- `listHistoryFrom(acc, { hash, limit, reverse })` - Get first or last `limit`
|
||||
confirmed/unconfirmed transactions after/before tx with hash `hash`, inclusive.
|
||||
- `listUnconfirmedByTime(acc, { time, limit, reverse })` - Get first or last
|
||||
`limit` confirmed/unconfirmed transactions after/before `time`, inclusive.
|
||||
- NOTE: Default is ascending order, from the oldest.
|
||||
|
||||
##### Wallet HTTP API
|
||||
- All transaction creating endpoints now accept `hardFee` for specifying the
|
||||
exact fee ([#845](https://github.com/handshake-org/hsd/pull/845)).
|
||||
- All transaction sending endpoints now fundlock/queue tx creation. (no more
|
||||
conflicting transactions)
|
||||
([#845](https://github.com/handshake-org/hsd/pull/845))
|
||||
- Add options to `getNames` for passing `own`
|
||||
([#882](https://github.com/handshake-org/hsd/pull/882)).
|
||||
- Rename `createAuctionTxs` to `createAuctionTXs`
|
||||
([#899](https://github.com/handshake-org/hsd/pull/899)).
|
||||
- All `bid` serializations will include `height` of the bid. (`-1` if
|
||||
it was migrated not-owned bid)
|
||||
([#896](https://github.com/handshake-org/hsd/pull/896))
|
||||
- `GET /wallet/:id/auction` (`getAuctions`)
|
||||
- `GET /wallet/:id/auction/:name` (`getAuctionByName`)
|
||||
- `GET /wallet/:id/bid` (`getBids`)
|
||||
- `GET /wallet/:id/bid/:name` (`getBidsByName`)
|
||||
- All `reveal` serializations will include `bidPrevout` of the bid. (`null` if
|
||||
it was migrated not-owned reveal)
|
||||
([#896](https://github.com/handshake-org/hsd/pull/896))
|
||||
- `GET /wallet/:id/auction` (`getAuctions`)
|
||||
- `GET /wallet/:id/auction/:name` (`getAuctionByName`)
|
||||
- `GET /wallet/:id/reveal` (`getReveals`)
|
||||
- `GET /wallet/:id/reveal/:name` (`getRevealsByName`)
|
||||
- `GET /wallet/:id/tx/history` - The params are now `time`, `after`,
|
||||
`limit`, and `reverse`.
|
||||
([#888](https://github.com/handshake-org/hsd/pull/888))
|
||||
- `GET /wallet/:id/tx/unconfirmed` - The params are are same as above.
|
||||
([#888](https://github.com/handshake-org/hsd/pull/888))
|
||||
|
||||
These endpoints have been deprecated
|
||||
([#888](https://github.com/handshake-org/hsd/pull/888)):
|
||||
- `GET /wallet/:id/tx/range` - Instead use the `time` param for the history and
|
||||
unconfirmed endpoints.
|
||||
- `GET /wallet/:id/tx/last` - Instead use `reverse` param for the history and
|
||||
unconfirmed endpoints.
|
||||
|
||||
##### Examples
|
||||
|
||||
Pagination examples ([#888](https://github.com/handshake-org/hsd/pull/888)):
|
||||
|
||||
```
|
||||
GET /wallet/:id/tx/history?after=<txid>&limit=50&reverse=false
|
||||
GET /wallet/:id/tx/history?after=<txid>&limit=50&reverse=true
|
||||
```
|
||||
By using `after=<txid>` we can anchor pages so that results will not shift
|
||||
when new blocks and transactions arrive. With `reverse=true` we can change
|
||||
the order the transactions are returned as _latest to genesis_. The
|
||||
`limit=<number>` specifies the maximum number of transactions to return
|
||||
in the result.
|
||||
|
||||
```
|
||||
GET /wallet/:id/tx/history?time=<median-time-past>&limit=50&reverse=false
|
||||
GET /wallet/:id/tx/history?time=<median-time-past>&limit=50&reverse=true
|
||||
```
|
||||
The param `time` is in epoch seconds and indexed based on median-time-past
|
||||
(MTP) and `date` is ISO 8601 format. Because multiple transactions can share
|
||||
the same time, this can function as an initial query, and then switch to the
|
||||
above `after` format for the following pages.
|
||||
|
||||
```
|
||||
GET /wallet/:id/tx/unconfirmed?after=<txid>&limit=50&reverse=false
|
||||
GET /wallet/:id/tx/unconfirmed?after=<txid>&limit=50&reverse=true
|
||||
GET /wallet/:id/tx/unconfirmed?time=<time-received>&limit=50&reverse=false
|
||||
```
|
||||
The same will apply to unconfirmed transactions. The `time` is in epoch
|
||||
seconds and indexed based on when the transaction was added to the wallet.
|
||||
|
||||
##### Wallet RPC
|
||||
The following new methods have been added
|
||||
([#888](https://github.com/handshake-org/hsd/pull/888)):
|
||||
- `listhistory` - List history with a limit and in reverse order.
|
||||
- `listhistoryafter` - List history after a txid _(subsequent pages)_.
|
||||
- `listhistorybytime` - List history by giving a timestamp in epoch seconds
|
||||
_(block median time past)_.
|
||||
- `listunconfirmed` - List unconfirmed transactions with a limit and in
|
||||
reverse order.
|
||||
- `listunconfirmedafter` - List unconfirmed transactions after a txid
|
||||
_(subsequent pages)_.
|
||||
- `listunconfirmedbytime` - List unconfirmed transactions by time they
|
||||
where added.
|
||||
|
||||
The following methods have been deprecated
|
||||
([#888](https://github.com/handshake-org/hsd/pull/888)):
|
||||
- `listtransactions` - Use `listhistory` and the related methods and the
|
||||
`after` argument for results that do not shift when new blocks arrive.
|
||||
|
||||
##### Wallet CLI (hsw-cli)
|
||||
- `history` now accepts new args on top of `--account`: `--reverse`,
|
||||
`--limit`, `--after`, `--after`
|
||||
([#888](https://github.com/handshake-org/hsd/pull/888)).
|
||||
- `pending` now accepts new args, same as above
|
||||
([#888](https://github.com/handshake-org/hsd/pull/888)).
|
||||
|
||||
|
||||
### hs-client wallet
|
||||
- `getHistory` and `Wallet.getHistory` no longer accept `account`,
|
||||
instead accepts object with properties: `account`, `time`, `after`,
|
||||
`limit`, and `reverse`
|
||||
([#888](https://github.com/handshake-org/hsd/pull/888)).
|
||||
|
||||
- `getPending` and `Wallet.getPending` have the same changes as
|
||||
`getHistory` above
|
||||
([#888](https://github.com/handshake-org/hsd/pull/888)).
|
||||
|
||||
## Changelog
|
||||
- \[[`0a4cc496`](https://github.com/handshake-org/hsd/commit/0a4cc496)] - [#888](https://github.com/handshake-org/hsd/pull/888) - **SEMVER-MAJOR wallet**: Wallet TX Count and time indexing - (@nodech - Nodari Chkuaselidze and @braydonf - Braydon Fuller)
|
||||
- \[[`5294be7e`](https://github.com/handshake-org/hsd/commit/5294be7e)] - [#896](https://github.com/handshake-org/hsd/pull/896) - **SEMVER-MAJOR wallet**: Link bid and reveal - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`d754b863`](https://github.com/handshake-org/hsd/commit/d754b863)] - [#899](https://github.com/handshake-org/hsd/pull/899) - **SEMVER-MAJOR wallet-client**: rename createAuctionTxs to createAuctionTXs. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`9ddb69e2`](https://github.com/handshake-org/hsd/commit/9ddb69e2)] - [#883](https://github.com/handshake-org/hsd/pull/883) - **SEMVER-MAJOR wallet**: Wallet Sync Updates - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`fc23f410`](https://github.com/handshake-org/hsd/commit/fc23f410)] - [#782](https://github.com/handshake-org/hsd/pull/782) - **SEMVER-MAJOR txdb**: Txdb tests and updates - (@nodech - Nodari Chkuaselidze and @pinheadmz - Matthew Zipkin)
|
||||
- \[[`bb7da60e`](https://github.com/handshake-org/hsd/commit/bb7da60e)] - [#859](https://github.com/handshake-org/hsd/pull/859) - **SEMVER-MAJOR wallet**: Add open/close and connect/disconnect events. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`509ffe5f`](https://github.com/handshake-org/hsd/commit/509ffe5f)] - [#882](https://github.com/handshake-org/hsd/pull/882) - **SEMVER-MINOR clients**: Update wallet and node clients - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`f749f5cc`](https://github.com/handshake-org/hsd/commit/f749f5cc)] - [#885](https://github.com/handshake-org/hsd/pull/885) - **SEMVER-MINOR wallet**: set icannlockup to true for wallets. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`419924b2`](https://github.com/handshake-org/hsd/commit/419924b2)] - [#856](https://github.com/handshake-org/hsd/pull/856) - **SEMVER-MINOR chain**: Fullnode interactive rescan. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`79994774`](https://github.com/handshake-org/hsd/commit/79994774)] - [#803](https://github.com/handshake-org/hsd/pull/803) - **SEMVER-MINOR wallet**: --preload-all option to load all wallet on open. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`aac7fa7b`](https://github.com/handshake-org/hsd/commit/aac7fa7b)] - [#869](https://github.com/handshake-org/hsd/pull/869) - **SEMVER-MINOR node-http**: Add node/chain parameters to the getInfo (`/`) - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`7bd2078c`](https://github.com/handshake-org/hsd/commit/7bd2078c)] - [#866](https://github.com/handshake-org/hsd/pull/866) - **SEMVER-MINOR covenant**: set methods on covenant. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`7aeb668b`](https://github.com/handshake-org/hsd/commit/7aeb668b)] - [#845](https://github.com/handshake-org/hsd/pull/845) - **SEMVER-MINOR wallet-http**: put send transaction endpoints behind fund locks. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`ceab2a81`](https://github.com/handshake-org/hsd/commit/ceab2a81)] - [#900](https://github.com/handshake-org/hsd/pull/900) - **migrations**: Update migrations - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`53780989`](https://github.com/handshake-org/hsd/commit/53780989)] - [#906](https://github.com/handshake-org/hsd/pull/906) - **net**: Remove offline seed node - (@Falci - Fernando Falci)
|
||||
- \[[`dc4f4f42`](https://github.com/handshake-org/hsd/commit/dc4f4f42)] - [#884](https://github.com/handshake-org/hsd/pull/884) - **net**: add nathan.woodburn nodes to seed - (@Nathanwoodburn - Nathan Woodburn)
|
||||
- \[[`1b331eed`](https://github.com/handshake-org/hsd/commit/1b331eed)] - [#904](https://github.com/handshake-org/hsd/pull/904) - **wallet**: Add more specific error when linked inputs are pending. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`45c6ac1d`](https://github.com/handshake-org/hsd/commit/45c6ac1d)] - [#902](https://github.com/handshake-org/hsd/pull/902) - **types**: Update types - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`e88734fb`](https://github.com/handshake-org/hsd/commit/e88734fb)] - [#901](https://github.com/handshake-org/hsd/pull/901) - **mtx**: - Resolve coins from coinview as well during coinselection. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`e93bd53e`](https://github.com/handshake-org/hsd/commit/e93bd53e)] - [#898](https://github.com/handshake-org/hsd/pull/898) - **wallet**: Add nowFn to wdb options and txdb. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`680a9da7`](https://github.com/handshake-org/hsd/commit/680a9da7)] - [#897](https://github.com/handshake-org/hsd/pull/897) - **pkg**: Update bdb and other deps. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`1daebd8a`](https://github.com/handshake-org/hsd/commit/1daebd8a)] - [#895](https://github.com/handshake-org/hsd/pull/895) - **test**: change ownership resolver from google to cloudflare. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`fe336aec`](https://github.com/handshake-org/hsd/commit/fe336aec)] - [#893](https://github.com/handshake-org/hsd/pull/893) - **test**: disable dns-test until c-ares fix. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`0a4f24bd`](https://github.com/handshake-org/hsd/commit/0a4f24bd)] - [#887](https://github.com/handshake-org/hsd/pull/887) - **pkg**: update lint and docs. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`5f943173`](https://github.com/handshake-org/hsd/commit/5f943173)] - [#881](https://github.com/handshake-org/hsd/pull/881) - **test**: Test cleanup - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`349d203b`](https://github.com/handshake-org/hsd/commit/349d203b)] - [#875](https://github.com/handshake-org/hsd/pull/875) - **test**: Cover reorg for double open index - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`c9e39855`](https://github.com/handshake-org/hsd/commit/c9e39855)] - [#879](https://github.com/handshake-org/hsd/pull/879) - **test**: add in memory dns cache. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`5955e913`](https://github.com/handshake-org/hsd/commit/5955e913)] - [#870](https://github.com/handshake-org/hsd/pull/870) - **wallet**: add tests for the chain state and fix markState - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`b6778c4b`](https://github.com/handshake-org/hsd/commit/b6778c4b)] - [#876](https://github.com/handshake-org/hsd/pull/876) - **pkg**: update to es2020. Use latest bslint - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`b01d39c2`](https://github.com/handshake-org/hsd/commit/b01d39c2)] - [#858](https://github.com/handshake-org/hsd/pull/858) - **net**: add a new permanently hard-coded seed node - @handshake-enthusiast
|
||||
- \[[`43e13006`](https://github.com/handshake-org/hsd/commit/43e13006)] - [#871](https://github.com/handshake-org/hsd/pull/871) - **wallet**: fix batch styles and jsdocs. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`e3e5e01c`](https://github.com/handshake-org/hsd/commit/e3e5e01c)] - [#873](https://github.com/handshake-org/hsd/pull/873) - **chain**: remove unnecessary critical error. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`64468280`](https://github.com/handshake-org/hsd/commit/64468280)] - [#861](https://github.com/handshake-org/hsd/pull/861) - **wallet**: don't add coinbase txs to the pending list. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`bc3c1728`](https://github.com/handshake-org/hsd/commit/bc3c1728)] - [#868](https://github.com/handshake-org/hsd/pull/868) - **wallet**: rescan deadlock fix - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`0690c6f3`](https://github.com/handshake-org/hsd/commit/0690c6f3)] - [#860](https://github.com/handshake-org/hsd/pull/860) - **pkg**: clean up unused params. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`4a70d700`](https://github.com/handshake-org/hsd/commit/4a70d700)] - [#863](https://github.com/handshake-org/hsd/pull/863) - **test**: add unit tests for cipher state - (@nodech - Nodari Chkuaselidze and @kilpatty - Sean Kilgarriff)
|
||||
- \[[`5582e791`](https://github.com/handshake-org/hsd/commit/5582e791)] - [#865](https://github.com/handshake-org/hsd/pull/865) - **test**: abstract some mining heights - (@nodech - Nodari Chkuaselidze and @tynes - Mark Tyneway)
|
||||
- \[[`5c287c9d`](https://github.com/handshake-org/hsd/commit/5c287c9d)] - [#853](https://github.com/handshake-org/hsd/pull/853) - **net**: Delete duplicates from seed nodes - @handshake-enthusiast
|
||||
- \[[`e4245e53`](https://github.com/handshake-org/hsd/commit/e4245e53)] - [#852](https://github.com/handshake-org/hsd/pull/852) - **txdb**: fix conflict event bug. - (@nodech - Nodari Chkuaselidze and @braydonf - Braydon Fuller)
|
||||
- \[[`7fe7ce41`](https://github.com/handshake-org/hsd/commit/7fe7ce41)] - [#555](https://github.com/handshake-org/hsd/pull/555) - **namestate**: improve "stats" object for transfers, expiry and revoke - (@pinheadmz - Matthew Zipkin and @nodech - Nodari Chkuaselidze)
|
||||
- \[[`2ede2c29`](https://github.com/handshake-org/hsd/commit/2ede2c29)] - [#851](https://github.com/handshake-org/hsd/pull/851) - **pkg**: update bdb to 1.5.1 and use @handshake-org/bfilter. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`4e87fb1d`](https://github.com/handshake-org/hsd/commit/4e87fb1d)] - [#850](https://github.com/handshake-org/hsd/pull/850) - **script**: add redundant tests to math ops. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`ab611036`](https://github.com/handshake-org/hsd/commit/ab611036)] - [#849](https://github.com/handshake-org/hsd/pull/849) - **pkg**: ci no longer update npm on build. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`61ae19c2`](https://github.com/handshake-org/hsd/commit/61ae19c2)] - [#844](https://github.com/handshake-org/hsd/pull/844) - **docs**: backport release schedule and v6.x notes. - (@nodech - Nodari Chkuaselidze)
|
||||
- \[[`9b70c294`](https://github.com/handshake-org/hsd/commit/9b70c294)] - [#910](https://github.com/handshake-org/hsd/pull/844) - **net**: remove unstable seed. (@nodech - Nodari Chkuaselidze)
|
||||
|
||||
|
|
@ -25,8 +25,8 @@ This document describes the release process and branching strategy
|
|||
for hsd.
|
||||
|
||||
## Release schedule and release candidates
|
||||
We release 2 major versions of the hsd per year (October and April). We
|
||||
release the `release candidate` for the next major version one month early to
|
||||
We release up to 2 major versions of the hsd per year. We release
|
||||
the `release candidate` for the next major version one week early to
|
||||
allow others to join the testing of the `hsd`. `Release candidates` can be
|
||||
released several times until the final release date.
|
||||
|
||||
|
|
@ -42,7 +42,6 @@ This document uses following definitions for the versions:
|
|||
- `next` version (`major+1.x.x`) - The version that will be released
|
||||
on the next major release date.
|
||||
- `previous` version (`major-1.x.x`).
|
||||
- `life-support` version (`major-2.x.x`).
|
||||
|
||||
Some useful tips for PRs:
|
||||
- Does it need database migration ? - major upgrade.
|
||||
|
|
@ -53,18 +52,13 @@ Some useful tips for PRs:
|
|||
get removed from the `next` release.
|
||||
|
||||
## Support period
|
||||
We release 2 major version per year and we want to support each version at
|
||||
least for a year. This means that we will support 2 more versions on top of the
|
||||
`latest` version. For example current version `3.x.x` will get at least security
|
||||
fixes, until version `6.x.x` is released. Support types:
|
||||
We release up to 2 major version per year, but only latest 2 will be
|
||||
supported (`latest` and `previous`).
|
||||
Support types:
|
||||
- `latest` version (`major.x.x`) - active minor and patche releases.
|
||||
- `previous` version (`major-1.x.x`) - backport patches and minor fixes
|
||||
only if it improves performance or has high impact.
|
||||
- `life-support` version (`major-2.x.x`)- only backport security fixes.
|
||||
- `previous` version (`major-1.x.x`) - only backport critical fixes.
|
||||
- Anything prior to these is discontinued.
|
||||
|
||||
NOTE: We should also collect stats for the active node versions in the network.
|
||||
|
||||
## Changelog and release notes
|
||||
CHANGELOG will only report backwards-incompatible API changes and actions
|
||||
users need to take to upgrade.
|
||||
|
|
@ -79,7 +73,6 @@ version.
|
|||
be used in production. Each released version lives in a separate branch:
|
||||
- `latest` in `major.x` branch.
|
||||
- `previous` in `major-1.x` branch.
|
||||
- `life-support` in `major-2.x` branch.
|
||||
|
||||
Minor and patch releases of these versions are released from these branches and
|
||||
updates are backported from the `master`. Merges to the released version
|
||||
|
|
@ -91,7 +84,6 @@ Process below will be described as procedures for the situations:
|
|||
- release `next` major version. (becomes `latest`)
|
||||
- release `latest` minor and patch versions.
|
||||
- release `previous` minor and patch versions.
|
||||
- release `life-support` minor and patch versions.
|
||||
|
||||
Process for the `latest` and `previous` minor/patch releases is the same.
|
||||
At the same time only these branches should exist in the repo
|
||||
|
|
@ -101,9 +93,6 @@ At the same time only these branches should exist in the repo
|
|||
- `v4.x-proposal` - active backport and PR base.
|
||||
- `v3.x` - just become `previous` version.
|
||||
- `v3.x-proposal` - import minor/patch backport and PR base.
|
||||
- `v2.x` - just become `life-support` version.
|
||||
- `v2` does not have proposal, because it only supports critical fixes, which
|
||||
wont go through standard PR release process.
|
||||
|
||||
### master branch and package.json version
|
||||
`master` branch only accumulates changes from PRs and is mostly untested(other
|
||||
|
|
@ -133,8 +122,8 @@ Process example (e.g. `latest` was `3.1.0` and we are releasing `4.0.0-rc.1`):
|
|||
- update `package-lock.json` by running `npm install`.
|
||||
- optional: In case we want to omit some changes from the `master`,
|
||||
you can also rebase and discard those commits.
|
||||
- Create Release doc file for the
|
||||
`docs/release-notes/release-notes-4.x-draft.md`.
|
||||
- Create Release doc
|
||||
`docs/release-notes/release-notes-4.x.md`.
|
||||
- Update CHANGELOG file with the incompatibilities and actions to take.
|
||||
- Create PR: `Release v4.0.0-rc.1` from branch `4.x-proposal` to `4.x`.
|
||||
- PR description containing list of PRs (similar to release notes)
|
||||
|
|
@ -155,7 +144,7 @@ Process example:
|
|||
- update `package.json` version to `4.0.0-rc.2` in the `4.x-proposal`.
|
||||
- update `package-lock.json` by running `npm install`.
|
||||
- Update Release doc file for the
|
||||
`docs/release-notes/release-notes-4.x-draft.md`.
|
||||
`docs/release-notes/release-notes-4.x.md`.
|
||||
- Update CHANGELOG file with the incompatibilities and actions to take.
|
||||
(should not be any)
|
||||
- Create PR `Release v4.0.0-rc.2` from branch `4.x-proposal` to `4.x`.
|
||||
|
|
@ -169,18 +158,13 @@ Process example:
|
|||
Above process continues until last week where we do the actual release:
|
||||
- update `package.json` version to `4.0.0` in the `4.x-proposal` branch.
|
||||
- update `package-lock.json` by running `npm install`.
|
||||
- Rename relase doc file from
|
||||
`docs/release-notes/release-notes-4.x-draft.md` to
|
||||
`docs/release-notes/release-notes-4.x.md`
|
||||
- CHANGELOG should be up to date.
|
||||
- Create PR `Release v4.0.0` from the branch `4.x-proposal` to `4.x`.
|
||||
- PR list from prev PRs.
|
||||
- Final review before release
|
||||
- [Release files][release-files] for the `4.0.0`
|
||||
- Update [schedule][schedule] if necessary
|
||||
- Update `latest` tag.
|
||||
- Update `previous` tag.
|
||||
- Update `life-support` tag.
|
||||
- Backport release notes to `master`.
|
||||
|
||||
### Release minor and patches
|
||||
|
|
@ -201,8 +185,6 @@ release minor(process is the same for `previous` minor and patch releases):
|
|||
- Depending on the version we are upgrading, update relevant tag:
|
||||
- `latest` if we are releasing from the last `major`.
|
||||
- `previous` if we are updating `previous` versions `minor`.
|
||||
- `life-support` if we are updating `life-support` versions `minor`.
|
||||
- Backport release notes to `master`.
|
||||
|
||||
[release-files]: ./release-files.md
|
||||
[schedule]: ./release-schedule.md
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
Maintenance period
|
||||
==================
|
||||
|
||||
| Version | Release Date | Maintenance End | End of Life |
|
||||
| ------- | ------------ | --------------- | ----------- |
|
||||
| v3.x | 2021-10-14 | 2022-10-31 | 2023-04-30 |
|
||||
| v4.x | 2022-04-30 | 2023-04-30 | 2023-10-31 |
|
||||
| v5.x | 2023-01-19 | 2023-10-31 | 2024-04-30 |
|
||||
| v6.x | 2023-08-10 | 2024-04-30 | 2024-10-31 |
|
||||
| v7.x | 2024-04-30 | 2024-10-31 | 2024-04-30 |
|
||||
| v8.x | 2024-10-31 | 2025-04-30 | 2025-10-31 |
|
||||
| v9.x | 2025-04-30 | 2025-10-30 | 2026-04-30 |
|
||||
Loading…
Add table
Reference in a new issue