Releases/v0.8.0 (#246)

* v0.8.0-rc.1

* cypherapps releases/v0.8.0

* Using published images v0.8.0-rc.1

* v0.8.0-rc.2

* Removed comments in builder and ask arch

* Small improvement to build script

* Right image tags when building locally

* Added release-notes-v0.8.0.md

* v0.8.0-rc.3

* v0.8.0-rc.4

* v0.8.0 final
This commit is contained in:
kexkey
2022-02-28 20:47:01 -05:00
committed by GitHub
parent 74f98c4b7d
commit c0e1be0f74
4 changed files with 124 additions and 29 deletions

View File

@@ -2,15 +2,15 @@
TRACING=1
# CYPHERNODE VERSION "v0.7.0-dev"
CONF_VERSION="v0.7.0-dev-local"
GATEKEEPER_VERSION="v0.7.0-dev-local"
TOR_VERSION="v0.7.0-dev-local"
PROXY_VERSION="v0.7.0-dev-local"
NOTIFIER_VERSION="v0.7.0-dev-local"
PROXYCRON_VERSION="v0.7.0-dev-local"
OTSCLIENT_VERSION="v0.7.0-dev-local"
PYCOIN_VERSION="v0.7.0-dev-local"
# CYPHERNODE VERSION "v0.8.0"
CONF_VERSION="v0.8.0-local"
GATEKEEPER_VERSION="v0.8.0-local"
TOR_VERSION="v0.8.0-local"
PROXY_VERSION="v0.8.0-local"
NOTIFIER_VERSION="v0.8.0-local"
PROXYCRON_VERSION="v0.8.0-local"
OTSCLIENT_VERSION="v0.8.0-local"
PYCOIN_VERSION="v0.8.0-local"
trace()
{

22
dist/setup.sh vendored
View File

@@ -859,17 +859,17 @@ ALWAYSYES=0
SUDO_REQUIRED=0
AUTOSTART=0
# CYPHERNODE VERSION "v0.7.0-dev"
SETUP_VERSION="v0.7.0-dev"
CONF_VERSION="v0.7.0-dev"
GATEKEEPER_VERSION="v0.7.0-dev"
TOR_VERSION="v0.7.0-dev"
PROXY_VERSION="v0.7.0-dev"
NOTIFIER_VERSION="v0.7.0-dev"
PROXYCRON_VERSION="v0.7.0-dev"
OTSCLIENT_VERSION="v0.7.0-dev"
PYCOIN_VERSION="v0.7.0-dev"
CYPHERAPPS_VERSION="dev"
# CYPHERNODE VERSION "v0.8.0"
SETUP_VERSION="v0.8.0"
CONF_VERSION="v0.8.0"
GATEKEEPER_VERSION="v0.8.0"
TOR_VERSION="v0.8.0"
PROXY_VERSION="v0.8.0"
NOTIFIER_VERSION="v0.8.0"
PROXYCRON_VERSION="v0.8.0"
OTSCLIENT_VERSION="v0.8.0"
PYCOIN_VERSION="v0.8.0"
CYPHERAPPS_VERSION="v0.8.0"
BITCOIN_VERSION="v22.0"
LIGHTNING_VERSION="v0.10.2"
TRAEFIK_VERSION="v1.7.9-alpine"

View File

@@ -0,0 +1,76 @@
# Cyphernode v0.8.0
Say hello to PostgreSQL! We moved from SQLite3 to PostgreSQL to take advantage of its enterprise-class features. Here are some of our motivations:
- Better overall performance
- Easier to implement replicas / distributed redundancy
- Running in an independent container: can be used by other containers as well
- More/better administration tools
- Easier to configure C-lightning to use PostgreSQL
- Future development
All of that may also be possible with SQLite3, but with a lot more work.
If you have an existing Cyphernode installation with existing data, Cyphernode will take care of the migration: we built all the required ETL scripts that will hopefully flawlessly move your current instance to the new DBMS.
There are also several improvements and new features in this release. Thanks go to [@pablof7z](https://twitter.com/pablof7z) @phillamy and @schulterklopfer for their valuable contributions, feedbacks and inputs!
## New features
- PostgreSQL: migrating from SQLite3 to PostgreSQL
- Automatic migration from current SQLite3 to new PostgreSQL (ETL)
- New Indexes
- Separate container
- Support for labels when:
- watching addresses
- getting new addresses
- New `ln_paystatus` endpoint
- New `validateaddress` endpoint
- New `deriveindex_bitcoind` endpoint (20x faster than Pycoin), also supports ypub/upub and zpub/vpub notations!
- New `derivepubpath_bitcoind` (20x faster than Pycoin), also supports ypub/upub and zpub/vpub notations!
## Fixes and improvements
- Refactoring of _manage_missed_conf_ and _confirmation management_
- `ln_pay` now first pays using `legacy_pay` (MPP disabled) and on failure (for routing reasons), retry with the `pay` plugin (MPP enabled by default)
- Small fixes in `ln_pay`
- Small fixes in `ln_delinvoice`
- Small fixes in `ln_connectfund`
- Small fixes in LN webhooks
- `ln_listpays` can now take a `bolt11` string argument
- Sometimes, Gatekeeper was not compliant to JWT: now it is but still compatible with previous buggy version
- Fixed CN client examples
- Gatekeeper now returns _401 Unauthorized_ on authentication error and _403 Forbidden_ on authorization error
- Gatekeeper now waits for the Proxy to be ready before listening to requests
- More graceful shutdown on certain containers
- Docker now uses the `helloworld` endpoint to check Proxy's health
- Better way to determine slow machine during setup
- Better tests when starting up
- Fixed a bug when running Cyphernode as current user instead of dedicated user
- When trying to add a batcher that already exists (same `label`), it will now modify existing one
- Got rid of the full rawtx from the database! Let's use Bitcoin Core if needed
- `helloworld` endpoint now returns a JSON compliant response
- Added and improved tests:
- api_auth_docker/tests/test-gatekeeper.sh
- proxy_docker/app/tests/test-manage-missed.sh
- proxy_docker/app/tests/test-batching.sh
- proxy_docker/app/tests/test-derive.sh
- proxy_docker/app/tests/test-watchpub32.sh
- proxy_docker/app/tests/test-watches.sh
- Fixed typos and improved clarity in messages
- Bump ws from 5.2.2 to 5.2.3 in /cyphernodeconf_docker
- Bump path-parse from 1.0.6 to 1.0.7 in /cyphernodeconf_docker
- Bump tmpl from 1.0.4 to 1.0.5 in /cyphernodeconf_docker
- Bump validator from 10.11.0 to 13.7.0 in /cyphernodeconf_docker
- Code cleaning
## Upgrades
- C-lightning from v0.10.0 to v0.10.2
- Bitcoin Core from v0.21.1 to v22.0
## Cypherapps
- Batcher from v0.1.2 to v0.2.0
- Spark Wallet from v0.2.17 to v0.3.0
- Specter from v1.3.1 to v1.7.1

View File

@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
# Must be logged to docker hub:
# docker login -u cyphernode
@@ -59,18 +59,37 @@ x86_docker="amd64"
arm_docker="arm"
aarch64_docker="arm64"
v1="v0"
v2="v0.8"
v3="v0.8.0"
# Build amd64 and arm64 first, building for arm will trigger the manifest creation and push on hub
#arch_docker=${arm_docker}
#arch_docker=${aarch64_docker}
echo -e "\nBuild ${v3} for:\n"
echo "1) AMD 64 bits (Most PCs)"
echo "2) ARM 64 bits (RPi4, Mac M1)"
echo "3) ARM 32 bits (RPi2-3)"
echo -en "\nYour choice (1, 2, 3): "
read arch_input
case "${arch_input}" in
1)
arch_docker=${x86_docker}
;;
2)
arch_docker=${aarch64_docker}
;;
3)
arch_docker=${arm_docker}
;;
*)
echo "Not a valid choice."
exit 1
;;
esac
v1="v0"
v2="v0.7"
v3="v0.7.0"
echo "\nBuilding Cyphernode Core containers\n"
echo "arch_docker=$arch_docker\n"
echo -e "\nBuilding Cyphernode Core containers\n"
echo -e "arch_docker=$arch_docker\n"
image "gatekeeper" "api_auth_docker/" ${arch_docker} \
&& image "proxycron" "cron_docker/" ${arch_docker} \