Skip to content

v0.6.0 Tytus, Romek & A'Tomek

Compare
Choose a tag to compare
@github-actions github-actions released this 15 Feb 18:46
· 2495 commits to master since this release
v0.6.0
ed55e85

Hello Mainnet

With this release, New Golem users are able to use real GLMs for payments.

Event API

We have also seriously reworked our REST APIs by unifying Event-related calls across all of them (Market API, Activity API, and Payment API), which is called internally "Event API".

Longer tasks via Debit Notes "keep alive"

Providers and Requestors are able to negotiate and conclude long-lasting Agreements for long-running tasks/activities. This requires the Requestor to continuously accept Debit Notes issued by the Provider (aka "keep alive").

This release is a tribute to recently died "Papcio Chmiel" - the author of Tytus, Romek & A'Tomek.

Full Changelog:

Payment Service

  • #912, #936 Payment Service multi-network (mainnet/rinkeby) support
  • #795 allocation validation
  • #796 gasless transactions readme
  • #845 allow receiving funds without initialising an account
  • #855 payment notification to send order ids
  • #887, #978 run payment "cron" jobs more often
  • #908 query string serialization refactor
  • #931 payment enter/exit/transfer CLI commands introduced
  • #935, #941 payment status CLI upgrade
  • #952 payment status/init/accounts CLI unified + NGNT --> GLM rename
  • #982 zero-amount invoices not being paid + non-binding debit notes payment amount fix
  • #998 core-model and CLI update + disable filtering Provider(receiver) Payment account via REST

Payment drivers

  • #947, #974 ERC20 driver multi-network (mainnet/rinkeby) support
  • #957, #1016 zkSync driver multi-network (mainnet/rinkeby) support
  • #903 replace Ethereum's GNT token address with GLM one
  • #909 zkSync driver withdrawal
  • #825 require at least one payment driver (feature) enabled
  • #853 verify zkSync transaction hash
  • #964, #996 zkSync driver to support fund command
  • #939 zkSync driver to support exit command
  • #976 tGLM fix for zkSync on rinkeby
  • #984 env vars for the contract addresses
  • #999 env var for zkSync RPC
  • #1017 use proxy for rinkeby geth's

Payment's part of Event API refactor

  • #857 REST API regrouping
  • #861 Payment events with new parameters
  • #867 new events
  • #870, #876 payment updates
  • #871 support filtering by app_session_id
  • #877 persist data during DB migration
  • #879 examples adjusted to Event API
  • #888 DB views
  • #894, #898 invoice events fix (backward compatibility)

Activity Service / ExeUnit

  • #767 ExeUnit Runtime API: propagate process status
  • #844 fix for used CPUs within the VM & hardware change detection
  • #929 default log level within exe-unit set from DEBUG to INFO
  • #983 fix activity status CLI
  • #927 preserve runtime output stream order
  • #881 transfer retries
  • #840 tool for debugging server-mode runtimes
  • #848 forbid activity creation for not approved Agreement

Activity part of Event API refactor

  • #902 adapt to the new Activity API spec

SGX

  • #735 limit subset of SGX metrics

Market Service

  • #858 simplification of the Proposal/Agreement rejection reason
  • #873, #930, #995 "respawn" Proposal after Agreement termination (disabled)
  • #914 forbid reaction to own Proposal
  • #953, #1014 fix race condition during Agreement approval
  • #988, #993 reject initial Proposal (Requestor's side) fix
  • #1015 Agreement approval ack introduced to comply with Market Service Specification and fix Agreement state inconsistency between Provider and Requestor
  • #1036 negotiation events ordering: counter-proposals in incoming order, but new proposals randomly to shuffle offers

Market's part of Event API refactor

  • #832 terminate agreement endpoint
  • #793 support app_session_id
  • #864 GetAgreement via GSB with Role
  • #859 reject proposal + adaptation to new Market API spec (e.g. deprecated endpoints removal)
  • #889 align HTTP response codes to the new Market API spec
  • #765 fix REST API responses
  • #803 use NewOffer/NewDemand/NewProposal aliases
  • #869 agreement events with common fields

Service Bus

GFTP

  • #954 improve transfer speed
  • #968 gftp -V version reporting unified with yagna -V

Metrics Service

  • #822 metrics CLI clean-up
  • #863 use https to send the metrics
  • #933, #1009 report yagna version (major, minor, patch) as three separate metrics

Identity Service

  • #981 key backup command in CLI yagna id export

Version Service

To inform users there is a new Yagna version released (pre-releases do not count).

  • #934 yagna GitHub releases checker
  • #961 version service introduced
  • #955, #966 version REST API
  • #958 SQL migrations for versions
  • #959 do not prune version entries in DB
  • #960 fixed GitHub API release date parsing
  • #985 fix version.skip metric invocation
  • #991 skipped versions still visible via CLI and GSB

Provider

  • #1004 golemsp and ya-provider multi-network (mainnet/rinkeby) support
  • #808 support for multi-activity within single Agreement
  • #897, #990 debit note keep-alive (enables longer agreements for long running activities)
  • #830 clean ya-provider datadir on start
  • #905 provider runtime testing (at start) added
  • #915 fix runner app_session_id
  • #944 golemsp status CLI refresh & upgrade
  • #952 golemsp status and ya-provider CLI unified + NGNT --> GLM rename
  • #956 lower default price (0.1 GLM per hour) in golemsp
  • #986 time based (flaky) tests behind compilation flag (feature)
  • #997 prepare for agreement approval
  • #1025 golemsp run CLI fix
  • #1033 fix Agreement termination attempt in already terminated state

goth

  • #723 integration tests made part of CI workflow
  • #860 yagna-integration renamed to goth (aka Golem Test Harness)
  • #865 disable goth's interactive tests in CI workflow
  • #875 use poetry to setup goth
  • #924 remove goth logs after CI finish

Others

  • #786 bump web3 lib dependencies
  • #862, #963 code ownership updated
  • #872 resolve ya-provider compilation errors
  • #895 logging to the file for yagna and ya-provider
  • #904 rust 1.49 build fix
  • #911 bump flexi_logger version
  • #925 ya-requestor dropped
  • #938 bump secp256k1 version + cargo update
  • #943 bump prost to improve security
  • #946 housekeeping (Cargo.toml and main.rs)
  • #965 fix Payment API example
  • #975 check Cargo.lock within CI builds
  • #980 SSL certificates fix
  • #1025 log colors improved
  • #1024 agreement view pretty display in logs
  • #1041 bump sub-crates versions for publishing some of them @ https://crates.io

Compatibility

This version is not backward compatible with previous versions of yagna, because we have optimized our GSB (a low-level protocol that is used to transport network traffic between the nodes and within the nodes).

API Library Compatibility

Library Version
yapapi 0.5.0
yajsapi 0.3.0

By installing & running this software you declare that you have read
understood and hereby accept the disclaimer and
privacy warning found at https://handbook.golem.network/see-also/terms