Skip to content

Commit

Permalink
release 2.22 (#1783)
Browse files Browse the repository at this point in the history
* release 2.22

* respond to changelog review

* Chainweb223Pact ForkNever
  • Loading branch information
chessai authored Nov 24, 2023
1 parent 8d05f74 commit b0bbf8c
Show file tree
Hide file tree
Showing 9 changed files with 41 additions and 7 deletions.
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# `chainweb-node` Changelog

## 2.22 (2023-11-24)
This version replaces all previous versions. Any prior version will stop working
on **2023-12-13T:00:00Z**. Node administrators must upgrade to this version before
that date.

This version will expire on **2023-03-06T:00:00Z**.

To upgrade, pull the latest docker image or download the binary and restart the node.

Changes:

* Node support for webauthn signers, scoped signatures, and webauthn keyset formats in Pact (#1779)
* Block endpoint added to Service API (#1720)
* Fix batch /polling so that it no longer omits results (#1775)
* Add block header to validation failure message (#1752)
* Halt block fill algorithm constructively if we exceeded the tx fetch limit (#1762)
* Be more careful not to write the results of invalid blocks to the pact state (#1740)
* Fix Mac M2 compatibility with older blocks (#1782)

Internal Changes:
* Support aeson-2.2 (#1750)
* Fix benchmarks for block creation and validation (#1767)

## 2.21 (2023-10-05)

This version replaces all previous versions. Any prior version will stop working
Expand Down
4 changes: 2 additions & 2 deletions node/ChainwebNode.hs
Original file line number Diff line number Diff line change
Expand Up @@ -526,10 +526,10 @@ pkgInfoScopes =
-- -------------------------------------------------------------------------- --
-- main

-- SERVICE DATE for version 2.21
-- SERVICE DATE for version 2.22
--
serviceDate :: Maybe String
serviceDate = Just "2023-12-13T00:00:00Z"
serviceDate = Just "2024-03-06T00:00:00Z"

mainInfo :: ProgramInfo ChainwebNodeConfiguration
mainInfo = programInfoValidate
Expand Down
4 changes: 3 additions & 1 deletion src/Chainweb/Version.hs
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ data Fork
| Chainweb220Pact
| Chainweb221Pact
| Chainweb222Pact
| Chainweb223Pact
-- always add new forks at the end, not in the middle of the constructors.
deriving stock (Bounded, Generic, Eq, Enum, Ord, Show)
deriving anyclass (NFData, Hashable)
Expand Down Expand Up @@ -224,6 +225,7 @@ instance HasTextRepresentation Fork where
toText Chainweb220Pact = "chainweb220Pact"
toText Chainweb221Pact = "chainweb221Pact"
toText Chainweb222Pact = "chainweb222Pact"
toText Chainweb223Pact = "chainweb223Pact"

fromText "slowEpoch" = return SlowEpoch
fromText "vuln797Fix" = return Vuln797Fix
Expand Down Expand Up @@ -251,7 +253,7 @@ instance HasTextRepresentation Fork where
fromText "chainweb219Pact" = return Chainweb219Pact
fromText "chainweb220Pact" = return Chainweb220Pact
fromText "chainweb221Pact" = return Chainweb221Pact
fromText "chainweb222Pact" = return Chainweb222Pact
fromText "chainweb223Pact" = return Chainweb223Pact
fromText t = throwM . TextFormatException $ "Unknown Chainweb fork: " <> t

instance ToJSON Fork where
Expand Down
1 change: 1 addition & 0 deletions src/Chainweb/Version/Development.hs
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ devnet = ChainwebVersion
Chainweb220Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 560
Chainweb221Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 580
Chainweb222Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 590
Chainweb223Pact -> AllChains ForkNever

, _versionUpgrades = foldr (chainZip HM.union) (AllChains mempty)
[ forkUpgrades devnet
Expand Down
4 changes: 4 additions & 0 deletions src/Chainweb/Version/Guards.hs
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ module Chainweb.Version.Guards
, chainweb220Pact
, chainweb221Pact
, chainweb222Pact
, chainweb223Pact
, pact44NewTrans
, pactParserVersion
, maxBlockGasLimit
Expand Down Expand Up @@ -245,6 +246,9 @@ chainweb221Pact = checkFork atOrAfter Chainweb221Pact
chainweb222Pact :: ChainwebVersion -> ChainId -> BlockHeight -> Bool
chainweb222Pact = checkFork atOrAfter Chainweb222Pact

chainweb223Pact :: ChainwebVersion -> ChainId -> BlockHeight -> Bool
chainweb223Pact = checkFork atOrAfter Chainweb223Pact

pactParserVersion :: ChainwebVersion -> ChainId -> BlockHeight -> PactParserVersion
pactParserVersion v cid bh
| chainweb213Pact v cid bh = PactParserChainweb213
Expand Down
3 changes: 2 additions & 1 deletion src/Chainweb/Version/Mainnet.hs
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,8 @@ mainnet = ChainwebVersion
Chainweb219Pact -> AllChains (ForkAtBlockHeight $ BlockHeight 3_774_423) -- 2023-06-02 00:00:00+00:00
Chainweb220Pact -> AllChains (ForkAtBlockHeight $ BlockHeight 4_056_499) -- 2023-09-08 00:00:00+00:00
Chainweb221Pact -> AllChains (ForkAtBlockHeight $ BlockHeight 4_177_889) -- 2023-10-20 00:00:00+00:00
Chainweb222Pact -> AllChains ForkNever -- TODO: fill in
Chainweb222Pact -> AllChains (ForkAtBlockHeight $ BlockHeight 4_335_753) -- 2023-12-14 00:00:00+00:00
Chainweb223Pact -> AllChains ForkNever

, _versionGraphs =
(to20ChainsMainnet, twentyChainGraph) `Above`
Expand Down
3 changes: 2 additions & 1 deletion src/Chainweb/Version/Testnet.hs
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,8 @@ testnet = ChainwebVersion
Chainweb219Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 3_299_753 -- 2023-06-01 12:00:00+00:00
Chainweb220Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 3_580_964 -- 2023-09-08 12:00:00+00:00
Chainweb221Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 3_702_250 -- 2023-10-19 12:00:00+00:00
Chainweb222Pact -> AllChains ForkNever -- TODO: fill in
Chainweb222Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 3_859_808 -- 2023-12-13 12:00:00+00:00
Chainweb223Pact -> AllChains ForkNever

, _versionGraphs =
(to20ChainsTestnet, twentyChainGraph) `Above`
Expand Down
2 changes: 2 additions & 0 deletions test/Chainweb/Test/TestVersions.hs
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ fastForks = tabulateHashMap $ \case
Chainweb220Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 30
Chainweb221Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 33
Chainweb222Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 36
Chainweb223Pact -> AllChains ForkNever

-- | A test version without Pact or PoW, with only one chain graph.
barebonesTestVersion :: ChainGraph -> ChainwebVersion
Expand Down Expand Up @@ -262,6 +263,7 @@ slowForkingCpmTestVersion g = buildTestVersion $ \v -> v
Chainweb220Pact -> AllChains $ ForkAtBlockHeight (BlockHeight 85)
Chainweb221Pact -> AllChains $ ForkAtBlockHeight (BlockHeight 100)
Chainweb222Pact -> AllChains $ ForkAtBlockHeight (BlockHeight 115)
Chainweb223Pact -> AllChains ForkNever

-- | CPM version (see `cpmTestVersion`) with forks and upgrades quickly enabled.
fastForkingCpmTestVersion :: ChainGraph -> ChainwebVersion
Expand Down
4 changes: 2 additions & 2 deletions tools/calculate-release/CalculateRelease.hs
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ main = do

putStrLn $ "Mainnet fork height (at " <> show mainnetForkTime <> "): " <> show mainnetForkHeight
putStrLn $ "Testnet fork height (at " <> show testnetForkTime <> "): " <> show testnetForkHeight
let nextServiceDateDay = addDays (8 * 7) serviceDateDay
putStrLn $ "Next service date (+8 weeks): " <> show nextServiceDateDay
let nextServiceDateDay = addDays (12 * 7) serviceDateDay
putStrLn $ "Next service date (+12 weeks): " <> show nextServiceDateDay
where
heightOfChain0 :: String -> IO BlockHeight
heightOfChain0 cutUrl =
Expand Down

0 comments on commit b0bbf8c

Please sign in to comment.