The Golem Alpha IV release is out and this means that we’re here to update you on changes, particularly for those developing apps that already run on the testnet (see Awesome Golem for a list) or that are looking to create apps on the upcoming official mainnet release. This release contains important changes to backwards compatibility that we will cover at the end.

Before we dive in it’s good to note that this release is in essence a release candidate for mainnet that will be Tested In Production (TIP). As such, there are some mainnet functionalities included and already Golem users are able to use real GLM for payment.

This release contains important changes to backwards compatibility that we will cover. Applications built on this release will be compatible with the upcoming official mainnet release so for any creators, developers and requestors you have the potential to get started early with updating your Apps or creating new ones targeting the official mainnet release!

Important changes for requestors

The Alpha IV release (Yagna v0.6.0) is not backwards compatible with the previous Alpha release (Yagna v0.5.0). This is on the Yagna network protocol level, which means that nodes running the previous Alpha will not be able to communicate with those running this latest release.

There are new versions of the Yagna Python API (YaPAPI v0.5.0) and Yagna JS API (YaJSAPI v0.3.0). Here it’s important to note that the APIs are not backward-compatible, so for developers of applications using Golem in previous releases, the apps themselves would have to be updated for them to run with the Alpha IV.

As for Golem VM Images, these remain compatible, so there is no need to make any changes to the images for them to run.

We are looking into potential incentivizations for developers updating their applications for the new APIs although it won’t be before the next release. In the meantime, we will continue to support requestors running Alpha III and community.3 subnet up to the next release.

Important Changes for Providers

While this isn’t the official mainnet release, due to it being a TIP release candidate for mainnet it does include some mainnet functionality. If you want to run your provider on testnet then you can include a flag --payment-network rinkeby when starting your provider. golemsp run with no flag will start the provider on mainnet. After starting as a provider on your preferred network, all settings on a provider can be kept at default for it to start and run successfully on a supported system. For more information on playing with your provider settings, see the Provider CLI.

To get started with the latest release!

As a requestor there are some changes to the initialization process that you can follow in the Requestor Flash tutorial. Here you can also find the Yagna (v0.6.0) binaries.

As a provider the startup flow is the same from a user experience perspective. Those who have run as a provider in the past (or as part of the provider bounties) might notice some quality of life improvements to the status table.

Remember that if you’ve run previous versions of Yagna in that past that you should purge stale working directories first. This release will use the subnet community.4 by default.

Yagna Changelogs

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").

The full changelogs for Yagna can be found here and includes updates to; Payment Service, Payment's part of Event API refactor, Activity Service / ExeUnit, Activity part of Event API refactor, SGX, Market Service, Market's part of Event API refactor, Service Bus, GFTP, Metrics Service, Identity Service, Version Service, Provider, goth and among others improvements.

Before we finish up, here’s a fun fact; there were 124 Pull Requests merged in the Yagna repository between the previous release and the Alpha IV. That’s a lot of coding - we cannot be prouder of the Golem team!

Thank you for reading, if you have any questions or feedback about this release the please join the Golem Discord chat and let us know.

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