Releases: golemfactory/yagna
v0.6.5 Kord
Beta.1 Patch.4 Release
This release contains the next portion of networking performance improvements which are intended to stabilize the network, especially when it comes to underlying market broadcasts and payment-related requests.
This release is a tribute to recently died Kazimierz Kord Polish conductor, and former long-term Music Director of Warsaw Philharmonic Orchestra.
Full Changelog:
Net Service
- #1291 Added metrics to get track how often network reconnects happen and for how long it is broken
Market Service
- #1265 Added queue for sending broadcasts so they are rate-limited to 5 seconds per broadcast.
- #1252 Added
DEFAULT_SUBSCRIPTION_TTL
env var to configure offer expiration (for integration tests) - #1288 Additional metrics for market broadcasts
- #1237, #1250 semi-integration tests hardening
Payment Service
- #1290 More logs and metrics for
send_invoice
,cancel_invoice
,accept_invoice
,send_debit_note
,cancel_debit_note
andaccept_debit_note
to track how often they report Gateway Timeout (504
) and why.
Others
- #1243 fix for yagna version reporting within logs
Compatibility
This version is backward compatible with yagna v0.6.0
which means nodes with versions 0.6.0
through 0.6.5
can cooperate to form a single Golem Network.
API Library Compatibility
This version is compatible with below high-level libraries
Library | Version | Suggested Version |
---|---|---|
yapapi | 0.5 | 0.5.4 or higher 0.5.x |
yajsapi | 0.3 | 0.3.4 or higher 0.3.x |
By installing & running this software you declare that you have read, understood, and hereby accept the disclaimer and privacy warning published at https://handbook.golem.network/see-also/terms
v0.6.4 Edmund Gettier
Beta.1 Patch.3 Release
This release contains mainly performance improvements related to networking and broadcasting because we are observing a significant increase in the number of nodes joining the Golem Network. Yay! We are glad to see things going in that direction.
This release is a tribute to recently died Edmund Gettier best known for his short 1963 article "Is Justified True Belief Knowledge?" aka Gettier problem.
Full Changelog:
GSB (Golem Service Bus)
- #1191 (GSB#18), #1221 (GSB#19) increase network connectivity check frequency from every
60s
to every20s
and fix local router recconnection issue (GSB#21).
Provider
- #1192 incremental delay for invoice resending: start with
15s
and increase it by 150% with every failed attempt, with maximum1h
interval repeating forever (instead of previously used strategy: resend every50s
)
Market Service
- #1203 Increase mean broadcasts interval from
1min
to4mins
and make it configurable via env - #1211 Offers broadcasts performance improvements:
- use broadcasts interval with a random factor (uniformly distributed) from the range
0.5-1.5x
instead of0-2x
- do not send empty broadcasts
- skip broadcast handling when processing other (broadcasts are repeated so eventually will reach all nodes)
- use broadcasts interval with a random factor (uniformly distributed) from the range
Payment Service
- #1184 Check account balance before making a zkSync account unlock or withdrawal
- #1227 update zkSync RPC url to point at Glolem's proxy server in preparation of the batch tx provider
Metrics Service
- #1185 Increase metrics pusher interval from every
5s
to every60s
Others
- #1197 Upgrade AWC to 2.0 to fix DNS resolution on Ubuntu
20.04
and match AWC version with the rest of the project.
Compatibility
This version is backward compatible with yagna v0.6.0
which means nodes with versions 0.6.0
through 0.6.4
can cooperate to form a single Golem Network.
API Library Compatibility
This version is compatible with below high-level libraries
Library | Version | Suggested Version |
---|---|---|
yapapi | 0.5 | 0.5.3 or higher 0.5.x |
yajsapi | 0.3 | 0.3.3 or higher 0.3.x |
By installing & running this software you declare that you have read, understood and hereby accept the disclaimer and privacy warning published at https://handbook.golem.network/see-also/terms
v0.6.4-rc1 #163
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
v0.6.3 Snowbird
Beta.1 Patch.2 Release
This release contains a single performance improvement, to increase the number of Providers, that can work for a single Requestor at the same time.
This release is in memory of the events at Snowbird, Utah in 2001 (XX anniversary) when 17 devs met to discuss lightweight development methods, which yielded:
Manifesto for Agile Software Development.
Full Changelog:
Provider
- #1182 Send less Debit Notes
Compatibility
This version is backward compatible with yagna v0.6.0
which means nodes with versions 0.6.0
through 0.6.3
can cooperate to form a single Golem Network.
API Library Compatibility
This version is compatible with below high-level libraries
Library | Version | Suggested Version |
---|---|---|
yapapi | 0.5 | 0.5.2 or higher 0.5.x |
yajsapi | 0.3 | 0.3.2 or higher 0.3.x |
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
v0.6.2 Zagajewski Armstrong
Beta.1 Patch Release
After the Beta.1 release, we saw the yagna network falling into unresponsive state from time to time.
We took out our blasters flappers and went hunting for bugs within our low-level GSB protocol.
At the same time we reworked our local data persistance layer -- fare well r2d2] database is locked
!
Some of our most active users were asking for prolongation of default maximum Agreement duration,
so here it is: we increased it from 30 mins to 3h.
We strongly encourage upgrading from v0.6.1
to v0.6.2
to fix previous daemon instability issues
This release is a tribute to recenlty died Adam Zagajewski and to famous Neil Armstrong, to paraphrase him:
That's one small step for the provider, one giant leap for the network's functionality.
Full Changelog:
GSB (Golem Service Bus)
Provider
- #1108 Agreement termination when there is no activity created within arbirtrary timeout
- #1117 Agreement idle timeout made configurable with default of 90 sec.
- #1166 Increase default maximum agreement expiration from 30 sec to 90 sec.
Local Persistance Service (SQLite)
- #1082 Get rid of "Database is locked" during normal operation
Market Service
- #1020 Added timeout (3sec) for getting offer details over GSB, to not block broadcast handling
Payment Service
- #1158 added trace logs to hunt down
504 Gateway Timeout
when accepting Invoices & Debit Notes.
Version Service
- #1155 wrap
self_update
calls tu use tokio thread where blocking is acceptable
Goth (Golem Test Harness)
Others
- #1139 Filter only
v[0-9]*
andpre-rel-[0-9]*
git tags when determining compile time version - #1166 Make time gray in logs
Compatibility
This version is backward compatible with yagna v0.6.0
which means nodes with versions 0.6.0
, 0.6.1
and 0.6.2
can cooperate to form a single Golem Network but we highly encourage you to upgrade to the v0.6.2
as v0.6.1
is causing instability.
API Library Compatibility
This version is compatible with below high-level libraries
Library | Version | Suggested Version |
---|---|---|
yapapi | 0.5 | 0.5.2 or higher 0.5.x |
yajsapi | 0.3 | 0.3.2 or higher 0.3.x |
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
v0.6.1 Grace Hopper
Golem's New Implementation First Public Beta
Three weeks ago we created the final Alpha stage release for the new implementation of Golem (Yagna). It was already capable to operate using the Ethereum mainnet through both: plain ERC-20 token transfers and Layer 2 ZkSync.
Now Golem enters the Beta phase, which is a hardened and polished version of the above.
While it still lacks P2P support, verification mechanisms and low-level protocol encryption and signing, it has all other features that we wanted to achieve as the MVP for the Golem:
- Decentralised market implementation
- Computational environments: VM and WASI
- Support for per task and per-usage pricing schemes
- Payments with GLM (L1 and L2)
(See README for the full list).
We're excited to see this Beta release in action and to hear from anyone joining the network to give us feedback.
Not only that, soon you can benefit from breaking our tools, as we are re-starting our bug bounty program. So we encourage you to try and break something.
Have fun!
This release is a tribute to Grace Hopper, AKA "Grandma COBOL" or sometimes even the "Queen of software" (which she more or less agreed with).
Full Changelog:
Payment Service
- #1003 Safely decode received payment details
- #1013 Use GLM in user facing parts instead old GNT-related
- #1037 Zero-amount Invoices & Debit Notes to be settled immediately
- #1105 Rename REST API's
pollTimeout
totimeout
to conform with Payment API specification
Payment drivers
- #1071 Fallback for failing DNS resolution
ZkSync
- #926 Retry submitting transaction
- #1000 Get faucet URL from env var or resolve SRV record
- #1039 Increase faucet call timeout from 5s -> 60s
- #1065 Updated zkSync SDK to
0.3.0
- #1068 Fix DNS resolution in zkSync faucet same way as for Erc20 (due to a bug in
awc
crate on Windows) - #1072 Unlock wallet before withdrawal
- #1077 Fixed token name in withdraw
Erc20
- #1114 Fix: do not panic when Geth node is down
Activity Service / ExeUnit
- #1061 Increase GSB call timeout by 1s to handle remote timeouts properly
- #1097 Fix ExeUnit to properly handle shutdown conditions (due to changed GSB errors)
- #1105 Rename REST API's
pollTimeout
totimeout
to conform with Activity API specification
Market Service
- #1038 Reject Agreement mocked to return
200
OK instead500
Provider
- #1102 Fix Debit Notes property within Agreement to properly support "Debit Notes keep-alive"
- #1106 Terminate Agreement on unreachable requestor
- #1109 Fix: process Activity events sequentially and each event only once
- #1116 Decrease default maximum Agreement expiration (from
3h
to30min
) used with Debit Notes keep-alive - #1125 Change default subnet to
public-beta
GSB (Golem Service Bus)
- #1027 Use UNIX socket as default GSB endpoint (with TCP fallback for Windows)
- #1067 Bump ya-sb-proto to
0.3.0
and ya-service-bus to0.4.1
Goth (Golem Test Harness)
- #1047 Use self-hosted runners for goth integration tests
- #1054 Use Python 3.8.0 for integration tests
Others
- #1001 Bump dependencies: ya-client to the newest version and BigDecimal to
0.2
- #1073 Update
.env-template
file regarding payment drivers
Compatibility
This version is backward compatible with yagna v0.6.0
which means nodes with both versions (0.6.0
and 0.6.1
) can cooperate to form a single New Golem Network.
API Library Compatibility
This version is compatible with below high-level libraries
Library | Version | Suggested Version |
---|---|---|
yapapi | 0.5 | 0.5.1 or higher 0.5.x |
yajsapi | 0.3 | 0.3.1 or higher 0.3.x |
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
v0.6.0 Tytus, Romek & A'Tomek
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
toINFO
- #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
- #962 All Service Bus crates was moved to a separate repository https://github.com/golemfactory/ya-service-bus
- #979 reconnect fix
GFTP
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
andya-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
andya-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 togoth
(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
andya-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
v0.5.0 Golem: Layer 2 Payments. Public Devnet.
With this release, we are excited to share zkSync L2 Payment Driver support.
The default payment method is now "GLM on zkSync" with fee's paid in GLM.
- Providers will support both L1 ( GLM on Ethereum ) and L2 ( GLM on zkSync ) out of the box.
- Requestors
yagna payment init -r
will now use zkSync as default payment method - Faucet will deposit funds on zksync directly, no need to wait for ETH, making faucet requests much faster.
- This is the minimum viable implementation of zkSync: We only support transfers, not yet deposit and withdrawal.
Existing L1 on-chain Payment Driver is also available to be used as a fallback or simply by the user's choice. Just restart yagna service and run payment init -r --driver=ngnt
( NOTE: we will rename this next release to GLM )
Another cool payments-related feature is the ability to use your existing (eg. MetaMask) wallet address to receive tokens being Golemr Provider (#826).
CHANGELOG:
-
GolemSP:
- Support
golemsp stop
(#787)
- Support
-
Provider:
-
Metrics:
- Yagna Deamon is now pushing the metrics to the central metrics server ( metrics.golem.network:9091 by default). It can be changed or disabled via CLI option (#762)
-
ExeUnit:
-
Payments:
- Add payment platform negotiation in preparation of zkSync (#678)
- Ensure max 18 digits in
compute_costs()
(#828) - Ensure max 18 decimals in invoice (#807)
- Enable all drivers for providers, let requestors pick driver (#823)
- Add timeout to
yagna payment init -r
when driver iszksync
(#790) - Check available funds before allowing to make allocation (#791)
-
Payment driver:
- Add zksync driver (#737 - pay/zksync)
- Make
zksync
the default payment driver (#784) - Freeze zksync version for release (#801)
- Add persistance to zksync payment driver (#779)
- Store zksync nonce locally for each batch of transactions (#811)
- Update zksync-rs to version 1.1 (#815)
- Add retry to zksync faucet requests (#797)
-
Market:
-
Others:
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
v0.4.1 Golem Provider Sneak Peek Release
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
v0.4.0 Decentralized Marketplace
We are proud to introduce a Decentralized Market implementation to yagna.
With this release, we are supporting all three main OS platforms: Linux, macOS and Windows for the Requestor side.
Being a Provider is also supported this time:
- Linux with both VM and WASM/WASI runtimes
- and for macOS with WASM/WASI runtime only.
There are lots of minor improvements and fixes included:
- Metrics endpoint introduced (open; without authorization) #534, #599, #622, #683
- New binary to facilitate Provider setup (
golemsp
aka Golem Sneak Peak) #515, #623, #645, #668 - Windows compatibility #499, #623
- Payment Service
- New Payment Driver API #344, #395, #401, #415, #487, #615, #618
- Cancelling invoices support #452
- Payment Account initialization from file #459 , #600
- GNT to NGNT rename #469
- Allocation soft release support #621
- Lowered required confirmations from 5 to 1 on rinkeby since it PoA #641
- Proper faucet error handling #666, #674, #686, #687
- ExeUnit
- ya-provider
- Proper signal (SIGTERM, SIGINT...) handling #585
- More user friendly log messages across most of the internal crates #512, #548, #581, #655
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