Releases: Joystream/joystream
v12.2004.0 - Petra
What's Changed
- Luxor release by @kdembler in #5132
- Add a really simple QN benchmarking script by @thesan in #5135
- [Colossus] mention env variables for elastic config in the docs by @kdembler in #5085
- fix: eslint issue 'The file does not match your project config' by @zeeshanakram3 in #5137
- Fix syntax error in bash script by @mnaamani in #5133
- Runtime: Argo Bridge by @freakstatic in #5155
- add Argo revert_outbound_transfer extrinsic by @kdembler in #5158
- Argo Bridge: limit revert_outbound_transfer rationale by @freakstatic in #5162
- Adjust funding proposal parameters by @ignazio-bovo in #5161
- [Argo] helper functions, overflow protection, small fixes by @kdembler in #5160
- Argo types + QN support + package bumps by @kdembler in #5159
- Fix/higher funding proposal cap by @ignazio-bovo in #5163
- Fix/petra ci checks by @ignazio-bovo in #5157
- update default argo bridge status by @kdembler in #5166
- Argo bridge weights by @mnaamani in #5167
- Petra integration tests final additions by @ignazio-bovo in #5170
- [QN] fix handling of proposal details between spec versions 2003 and 2004 by @kdembler in #5174
- fix syntax error in bash script by @kdembler in #5154
- aws ec2 instances: update sec policy by @mnaamani in #4865
- Petra runtime release by @kdembler in #5165
Full Changelog: v12.2003.0...v12.2004.0
v12.2003.0 - Luxor
What's Changed
- Colossus/uptime feat by @ignazio-bovo in #5049
- [Nara] polkadot-js/api update by @mnaamani in #5087
- [Colossus] fix: upload aborted error by @zeeshanakram3 in #5094
- @polkadot/api bump to v10.7.1 by @mnaamani in #5102
- Luxor/reduce council budget by @ignazio-bovo in #5062
- genesis config: start with PoS instead of PoA by @mnaamani in #5116
- Luxor/vested wg spending by @ignazio-bovo in #5072
- Remove nara migrations by @mnaamani in #5115
- Feature/crt constraints proposal by @ignazio-bovo in #5103
- Luxor/reward-curve-proposal by @ignazio-bovo in #5086
- Add proxy pallet by @mnaamani in #5122
- Amm buy/sell operations not allowed during revenue split by @mnaamani in #5127
- [QN] CRT constraints proposal support by @thesan in #5124
- Add vested budget spending tests and mappings by @thesan in #5123
- Revert "Fix BudgetSpendingEvent typo" by @thesan in #5128
- [QN] Set era payout damping factor proposal mappings by @thesan in #5129
- Luxor finishing touches by @mnaamani in #5130
- QN bump version to v2.3.0 by @mnaamani in #5131
Full Changelog: v12.2002.0...v12.2003.0
v12.2002.0 - Nara
What's Changed
- amm feature for the CRT pallet by @ignazio-bovo in #4434
- Update hydra dependencies to 5.0.0-alpha.4 by @Lezek123 in #4731
- update changelogs by @mnaamani in #4743
- Improve docker image publish and runtime upgrade test workflow by @mnaamani in #4744
- Nara update from master by @mnaamani in #4751
- Nara crt release by @ignazio-bovo in #4749
- [Argus] add auth options to elastic logs config by @kdembler in #4752
- Update librocksdb-sys from v0.6.1+6.28.2 to v0.6.3+6.28.2 by @mnaamani in #4755
- Argus fix: Cache cleanup not working properly for objects in group
0
by @Lezek123 in #4757 - Orion v2 docker setup by @Lezek123 in #4730
- Fix setup.sh by @mnaamani in #4770
- [Colossus] add support for elasticsearch logs auth by @kdembler in #4776
- fix joystream-node docker build workflow by @mnaamani in #4786
- [Colossus] handle aborted uploads by @mnaamani in #4777
- [Colossus] Add option to not rotate logs on time basis by @mnaamani in #4785
- [Argus] add workerId to status response by @kdembler in #4758
- [Argus] allow specifying elastic logs index by @kdembler in #4759
- Origo: fix unhandled QN exception in Argus by @zeeshanakram3 in #4769
- [Argus] Fix config parsing bug by @zeeshanakram3 in #4788
- Workflow: publish Argus, Colossus and QueryNode as docker images by @mnaamani in #4780
- fix: properly handle prematurely closed requests by @zeeshanakram3 in #4772
- Origo: [Argus] Opentelemetry instrumentation for better metrics & tracing by @zeeshanakram3 in #4779
- Telemetry final changes by @mnaamani in #4798
- Fix typo in docker image name by @mnaamani in #4799
- [Argus] update elastic log level in example config by @kdembler in #4801
- Fix docker image name typo by @mnaamani in #4800
- Fix send extrinsic function for finalized txs by @zeeshanakram3 in #4803
- Docker compose tweaks by @mnaamani in #4804
- Update from node v14 to v18.6.0 by @mnaamani in #4778
- Colossus 3.6.0 by @mnaamani in #4796
- Readme update links to binaries by @mnaamani in #4806
- Standalone joystrea/node docker image by @mnaamani in #4811
- Update to polkadot v0.9.39 by @mnaamani in #4705
- Update bags fix test by @mnaamani in #4821
- [Colossus] CLI command for updating multiple bags by @zeeshanakram3 in #4812
- query-node: hotfix membership metadata handler by @mnaamani in #4838
- Fix/4823 validator profile by @chrlschwb in #4849
- fix orion environment not working by @ignazio-bovo in #4857
- [Argus] increase
cacheCleanup
in example config by @kdembler in #4867 - Nara update from master by @mnaamani in #4873
- [Argus] Improves 'HEAD /assets/{id}' requests latency by implementing caching QN requests by @zeeshanakram3 in #4834
- [Nara] Increase workers runtime limit by @freakstatic in #4882
- [Nara] Increase forum sub categories runtime limit by @freakstatic in #4881
- [Query Node] Adds
StorageBag.objectsSize
field by @zeeshanakram3 in #4818 - [Nara] add new workers limits by @freakstatic in #4888
- [Nara] Change referendum + council parameters by @freakstatic in #4884
- [Nara] Remove channel and video deletion by moderators mappings and CLI commands by @zeeshanakram3 in #4875
- [Nara] Restric curators deletion powers by @mnaamani in #4874
- [Argus] Fix distributor node syncing query by @zeeshanakram3 in #4921
- Docker images: selectively publish package by @mnaamani in #4886
- [QueryNode] Update version and changelog by @mnaamani in #4885
- bump transaction_version to 2 by @mnaamani in #4909
- runtime: add warp-time feature for "fast" runtime by @mnaamani in #4913
- [argus] few tweaks by @kdembler in #4925
- bash scripts: proper error handling when invoking sub shell scripts by @mnaamani in #4917
- fix/linkedin-missing-list-1 by @GoldWolf115 in #4927
- [Nara] Add freeze pallet extrinsic to CRT pallet by @freakstatic in #4922
- Disable express response validation in production by @mnaamani in #4810
- [Argus] fix: Parse Axios error before logging & exporting to the Elasticsearch by @zeeshanakram3 in #4944
- QueryNode, metadata-protobuf and joystream/js package releases by @mnaamani in #4943
- [Nara] make tests dependent of block production time to not run on "fast production" runtime by @freakstatic in #4945
- QueryNode: Run graphql-server with pm2 cluster mode by @mnaamani in #4863
- chainspec builder rename deployment variants by @mnaamani in #4935
- hotfix: QueryNode handling of membership handle by @mnaamani in #4950
- Crt release v1 by @ignazio-bovo in #4871
- Crt release by @mnaamani in #4753
- [Nara] add freeze pallet proposal by @freakstatic in #4946
- QN mappings review & fixes by @zeeshanakram3 in #4856
- Update nara from master by @mnaamani in #4956
- Update to polkadot v0.9.41 by @mnaamani in #4932
- JoystreamJS: Generate commitment from arbitrary bytes source by @thesan in #4584
- Joystream-node embed mainnet chainspec by @mnaamani in #4916
- joystream/js v1.6.0 release by @mnaamani in #4960
- update joystream/js README by @mnaamani in #4961
- Generated Weights by @mnaamani in #4958
- hydra v5.0.0-alpha.7 by @mnaamani in #4959
- github workflow: fix joystream-node-docker-publish.yml by @mnaamani in #4962
- FIX gracefully handle logging exceptions in Argus and Colossus by @zeeshanakram3 in #4963
- [Argus] use ES data streams, enable log correlation by @kdembler in #4964
- [Colossus] Add pruning service by @zeeshanakram3 in #4845
- Drop utils scripts that require sudo by @mnaamani in #4652
- HotFix for Critical sync error: RangeError: Maximum call stack size exceeded by @mnaamani in #4969
- Nara master update by @mnaamani in #4965
- Opentelemetry fixes by @zeeshanakram3 in #4966
- Test script runners refactoring by @mnaamani in #4970
- remove validatorAccount by @eshark9312 in #4974
- [Colossus] Accept pending data objects enhancements by @zeeshanakram3 in #4971
- colossus pruning service by @mnaamani in #4988
- colossus: sync - longer default interval by @mnaamani in #4924
- colossus: do not serve content from pending folder by @mnaamani in #4989
- Verify Validator Membership by @eshark9312 in https://github.com/...
v12.2001.0 (Ephesus)
Overview of the release
- blog post: https://blog.joystream.org/ephesus-liberated/
- blog post original announcement: https://blog.joystream.org/announcing-ephesus/
- onchain runtime upgrade proposal https://pioneerapp.xyz/#/proposals/preview/175
- Proposal executed at block 1775446
New versions of packages, binaries and applications:
- Runtime:
spec_version
changed from1001
to2001
joystream-node
v8.3.0
- npm packages:
@joystream/types@v2.1.0
- published
@joystream/metadata-protobuf@v2.8.1
- published
@joystream/js@v1.4.0
- published
@joystream/cli@v1.2.0
- published - QueryNode
v1.2.0
- you must upgrade from older versions (see instructions below) - Colossus (Storage Node)
v3.2.0
- Argus (Distributor Node)
v1.1.0
Whats new
Runtime
- Bug fix in update_channel_payouts implementation
- proposal creator pays for upload of payload not arbitrary specified account
- Enabled
UpdateChannelPayouts
proposal creation - Exposed content pallet
MinimumCashoutAllowedLimit
andMaximumCashoutAllowedLimit
constants membership:MemberInvited
event payload contains initial balance - #4643- Add support for payments with membership:member_remark()
- Referendum: Add "Opt Out of Voting" feature #2927
- Removed
sudo
pallet - aka "Liberated" #4478 - Adjust constitutionality to max 2 for all proposals #4655
- Tweak worker remarks - #4644
- Full list
Cli @joystream/cli
- New commands added to work with channel payouts:
content:channelPayoutProof
content:channelPayoutProofAtByteOffset
content:channelPayoutsPayloadHeader
content:claimChannelReward
content:directChannelPayment
content:generateChannelPayoutsCommitment
content:generateChannelPayoutsPayload
content:getPayoutsOnchainCommitment
content:updateChannelPayoutsProposal
- New command to fund council budget
council:fundBudget
Argus
No feature changes, primarily code cleanup (no more sudo helper functions) and dependency updates.
dev:batchUpload
command was removed as it relied on no longer availablesudo
extrinsic- Any other references to
sudo
were removed (not affecting any functionality besides the removeddev:batchUpload
command) - Updated
@joystream/types
and@joystream/metadata-protobuf
dependencies - Minor fix for invalid elasticsearch log metadata format in
verbose
mode (#3877)
Colossus
No feature changes, primarily code cleanup (no more sudo helper functions) and dependency updates.
Query-Node
- New mappings to support channel payouts features
- Adds support to the Query Node for successfully processing the events across Runtime upgrades.
- Previously the event type signature generated by
@joystream/hydra-typegen
,e.g., for a MemberRemarked event, looked asMembers.MemberRemarkedEvent
, now the generated event type would look asMembers_MemberRemarkedEvent_V1001
where suffix(V1001
) represents the runtime spec version. - The metadata of each spec version - for which the event type should be generated - needs to be part of single directory with spec version as file name (e.g. 1001.json, 2001.json etc). The directory path then should be provided as typegen source in
manifest.yml
file.
- Previously the event type signature generated by
Upgrading from older version is necessary. Assuming master branch is used locally and upstream remote is the official joystream repo, you can take these steps to upgrade:
git pull upstream master
yarn build:packages
./query-node/reset-processor.sh
It will take several minutes to re-process all blocks, so you should not be actively using the query-node during this time.
@joystream/metadata-protobuf
ChannelPayouts
protobuf message type added
New @joystream/js
library
A utility library to help with interacting with joystream network.
Currently it has functions for working with channel payouts, such as creating channel payout proofs and generating payloads, to help with constructing the claim channel reward extrinsic.
Integration tests
- Integration tests updated to work without depending on
sudo
. - Additional test coverage for channel payouts
joystream-node
New binaries released. If you do not upgrade, your node will still continue to work normally.
Pioneer
Corresponding release https://github.com/Joystream/pioneer/releases/tag/v1.4.0
Atlas
Corresponding release https://github.com/Joystream/atlas/releases
Mainnet chainspec file (unchanged, just added here for quick access)
https://github.com/Joystream/joystream/releases/download/v12.1000.0/joy-mainnet.json
Ephesus release candidate 1
Merge pull request #4729 from Lezek123/processor-reset-script Query node: add `reset-processor.sh` script
Apps Release
This release introduced "Apps"
Supervised Runtime + Application Updates 1
Joystream v12.1001.0
The release contains all changes since mainnet launch v12.1000.0
Runtime
spec_version
: 1001
This has been in production for a while and available in master branch.
The update enabled all functionality on the network.
Application updates
Colossus v3.1.0 #4568
Argus v1.0.0 #4567
Query Node v1.0.1
- Added missing
WorkingGroupBudgetFunded
event mapping - Hydra dependencies updated from
4.0.0-alpha.9
to `4.0.0-alpha.11 - Bug Fix handling deleting channels with collaborators
Types package
Unchanged as version: v0.20.5
v12.1000.0 - Mainnet
Mainnet Release
Binaries (joystream-node
) and chainspec for the Joystream mainnet network joy-mainnet.json
.
Built from commit: 1a0d1f6
Builds done on latest OS version, Linux Ubuntu 22.04, MacOS Latest
Genesis hash
0x6b5e488e0fa8f9821110d5c13f4c468abcd43ce5e297e62b34c53c3346465956
https://polkadot.js.org/apps/?rpc=wss://rpc.joystream.org#/explorer/query/0
Telemetry
https://telemetry.polkadot.io/#/0x6b5e488e0fa8f9821110d5c13f4c468abcd43ce5e297e62b34c53c3346465956
Block Explorer
https://polkadot.js.org/apps/?rpc=wss://rpc.joystream.org#/explorer
GraphQL QueryNode
https://query.joystream.org/graphql
@joystream/types
@joystream/cli
Runtimes
The upcoming runtime upgrades that will be made after release are the supervised.wasm
and liberated.wasm
runtime, included in this release.
To verify them you can follow the steps below (make sure to builds on linux amd64 machine)
git clone https://github.com/joystream/joystream
cd joystream
# Build/or pull the docker images for these runtimes:
git checkout mainnet-supervised
./scripts/runtime-code-shasum.sh
# you should see the following output: df59458769527c5bfa1e4bd12f973035b4efc92c
# make sure to run the build on linux amd64 machine
RUNTIME_PROFILE="" ./build-node-docker.sh
git checkout mainnet-liberated
./scripts/runtime-code-shasum.sh
# you should see the following output: c358f937d8b026c39f77043539b45ecb012bb7be
# make sure to run the build on linux amd64 machine
RUNTIME_PROFILE="" ./build-node-docker.sh
# Extract the WASM blobs
docker create --name supervised --platform linux/amd64 joystream/node:df59458769527c5bfa1e4bd12f973035b4efc92c
docker cp supervised:/joystream/runtime.compact.compressed.wasm supervised.wasm
docker rm supervised
docker create --name liberated --platform linux/amd64 joystream/node:c358f937d8b026c39f77043539b45ecb012bb7be
docker cp liberated:/joystream/runtime.compact.compressed.wasm liberated.wasm
docker rm liberated
# Compute the hashes/checksum:
b2sum -l 256 supervised.wasm
b2sum -l 256 liberated.wasm
# Expected values:
7e5ea687d978415fbd8b39a977e609295151afe266a1b728711688e66368e5ab supervised.wasm
364ab7fb6290559c0f899e08791de6f7f97a97dfaea0ad27d24ad1bc1d0ed6f6 liberated.wasm
v11.3.0 - Carthage
Carthage Testnet Release
Built from commit d224372 - latest carthage runtime.
Tested on Linux ubuntu 22.04 LTS and macos-latest.
To build from source: https://github.com/Joystream/joystream/blob/master/bin/node/README.md#building-from-source
v11.0.0 - Carthage Alpha 1
Carthage pre-release
This is a release only of binaries. No testnet is yet deployed.