Skip to content

Commit

Permalink
Releases/v0.8.0 (#246)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
Kexkey authored Mar 1, 2022
1 parent 74f98c4 commit c0e1be0
Show file tree
Hide file tree
Showing 4 changed files with 126 additions and 31 deletions.
18 changes: 9 additions & 9 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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()
{
Expand Down
22 changes: 11 additions & 11 deletions dist/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
76 changes: 76 additions & 0 deletions doc/release-notes/release-notes-v0.8.0.md
Original file line number Diff line number Diff line change
@@ -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
41 changes: 30 additions & 11 deletions docker-build.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash

# Must be logged to docker hub:
# docker login -u cyphernode
Expand Down Expand Up @@ -59,18 +59,37 @@ x86_docker="amd64"
arm_docker="arm"
aarch64_docker="arm64"

# 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}
arch_docker=${x86_docker}

v1="v0"
v2="v0.7"
v3="v0.7.0"
v2="v0.8"
v3="v0.8.0"

# Build amd64 and arm64 first, building for arm will trigger the manifest creation and push on hub

echo "\nBuilding Cyphernode Core containers\n"
echo "arch_docker=$arch_docker\n"
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

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} \
Expand Down

0 comments on commit c0e1be0

Please sign in to comment.