Skip to content

chore(release): prepare for v0.1.0 release candidate - #245

Merged
grezle merged 10 commits into
mainfrom
release/v0.1.0-preview.1.rc
Aug 13, 2025
Merged

chore(release): prepare for v0.1.0 release candidate#245
grezle merged 10 commits into
mainfrom
release/v0.1.0-preview.1.rc

Conversation

@grezle

@grezle grezle commented Aug 4, 2025

Copy link
Copy Markdown
Contributor

Summary

v0.1.0 elevates DevKit from local experiments to public testnet deployments

⚠️ Important

  • v0.1.0 brings testnet deployments to devkit adding the following commands:

    • devkit avs deploy contracts l1
    • devkit avs deploy contracts l2
  • To deploy to testnet you must first configure a testnet context using:

    • devkit avs context create --context testnet
    • devkit avs config --set project.context="testnet"
    • devkit avs context --edit --context testnet

Breaking changes for template migration (to > v0.0.17)

  • In your projects contracts/src/l2-contracts/AVSTaskHook.sol, implement the following method:
    function handlePostTaskResultSubmission(address caller, bytes32 taskHash) external {
        //TODO: Implement
    }

Changes

0904c13: feat: eigen runtime spec support for devkit driven by avs template by @bdchatham (#235)
6a071b9: feat: allow any context to feed core commands by @grezle (#233)
f3af4b9: fix: arbitrary file access during archive extraction ("Zip Slip") by @grezle (#239)
0894887: feat: l1/l2 deploy commands for testnet/mainnet by @grezle (#234)
33f0904: feat: restrict devnet only cmds by @grezle (#238)
c514bed: feat: update TableCalculator addresses by @grezle (#241)
962cf2e: fix: allow AVS setup to be skipped from context "flag" by @grezle (#242)
51c333d: fix: disable rpc rate limiting by @grezle (#243)
8f08003: fix: fixing workflow permissions by @anupsv (#236)
eee71f8: fix: ensure we're consistently using v6.5.2 of golangci/golangci-lint-action by @grezle (#244)
65c1221: feat: allow operators to define keys for each operatorSet by @grezle (#245)

Full Changelog: v0.0.10...v0.1.0-preview.2.rc

Pre-Release Preparation

  • Versioning
    • Update version number consistently across:
      • README.md
      • Codebase
      • Release notes
  • Release Notes
    • Clearly document all user-facing changes, fixes, and known issues.
  • Prerelease Artifacts
    • Ensure release pipeline generates binaries/packages for each target architecture:
      • Linux (amd64, arm64)
      • macOS (amd64, arm64)

Communication

  • Announce new release internally (Slack, email, etc.) and externally as appropriate.

@grezle
grezle requested a review from a team August 4, 2025 17:14
seanmcgary
seanmcgary previously approved these changes Aug 13, 2025
<!-- 
    🚨 ATTENTION! 🚨 
    
This PR template is REQUIRED. PRs not following this format will be
closed without review.
    
    Requirements:
- PR title must follow commit conventions:
https://www.conventionalcommits.org/en/v1.0.0/
- Label your PR with the correct type (e.g., 🐛 Bug, ✨ Enhancement, 🧪
Test, etc.)
    - Provide clear and specific details in each section
-->

**Motivation:**
<!--
Explain here the context, and why you're making that change. What is the
problem you're trying to solve.
-->
As a user of Devkit, I need to be able to define multiple keys for my
Operators so that I can assign the same operator to multiple
operatorSets.

**Modifications:**
<!--
Describe the modifications you've done from a high level. What are the
key technical decisions and why were they made?
-->
- Adds a `keystores` entry to the `operators` to list out all available
keys
- Adds a migration to move us to context version `v0.1.0`
- Removes remnant `skip-setup` context entry
- Adds tests for `v0.0.9` and `v0.1.0` context migrations

**Result:**
<!--
*After your change, what will change.
-->
- Users can assign multiple keys to their operators for different
operatorSets

**Testing:**
<!--
*List testing procedures taken and useful artifacts.
-->
- Migration tests have been added and other tests updated

**Open questions:**
<!--
(optional) Any open questions or feedback on design desired?
-->
- depends on:
Layr-Labs/hourglass-avs-template#96
@grezle grezle changed the title chore(release): prepare for v0.1.0-preview.1.rc release chore(release): prepare for v0.1.0 release Aug 13, 2025
@grezle grezle changed the title chore(release): prepare for v0.1.0 release chore(release): prepare for v0.1.0 release candidate Aug 13, 2025
Comment thread pkg/common/contract_caller.go

@bdchatham bdchatham left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No blocking issues. Just questions on odd nil parameters.

Comment thread pkg/common/contract_caller.go
@grezle
grezle merged commit 032a300 into main Aug 13, 2025
23 of 26 checks passed
@grezle
grezle deleted the release/v0.1.0-preview.1.rc branch August 13, 2025 01:58
@grezle grezle mentioned this pull request Sep 3, 2025
6 tasks
grezle added a commit that referenced this pull request Sep 3, 2025
## Summary
`v0.1.0` elevates DevKit from local experiments to public `testnet`
deployments introducing ECDSA keys for signing.

##  ⚠️ Important
- `v0.1.0` brings `testnet` deployments to `devkit` adding the following
commands:
  - `devkit avs deploy contracts l1` 
  - `devkit avs deploy contracts l2`
  
- To deploy to `testnet` you must first configure a `testnet` context
using:
  - `devkit avs context create testnet` 

## Breaking changes for template migration (to `v0.0.25`)

- In your projects `contracts/src/l2-contracts/AVSTaskHook.sol`,
implement the following method:

```
    function handlePostTaskResultSubmission(address caller, bytes32 taskHash) external {
        //TODO: Implement
    }
```

- Upgrade go dependencies (go.mod):
```
    -- github.com/Layr-Labs/hourglass-monorepo/ponos v0.0.0-20250516160557-195c62a908e3	
    ++ github.com/Layr-Labs/hourglass-monorepo/ponos v0.0.0-20250819223025-195764c9457a

	-- github.com/Layr-Labs/protocol-apis v1.12.1
	++ github.com/Layr-Labs/protocol-apis v1.17.0
```
> then run `go mod tidy` && `devkit avs build`

## Changes

0904c13: feat: eigen runtime spec
support for devkit driven by avs template by @bdchatham
(#235)
6a071b9: feat: allow any context to
feed core commands by @grezle
(#233)
f3af4b9: fix: arbitrary file access
during archive extraction ("Zip Slip") by @grezle
(#239)
0894887: feat: l1/l2 deploy commands
for testnet/mainnet by @grezle
(#234)
33f0904: feat: restrict devnet only
cmds by @grezle (#238)
c514bed: feat: update TableCalculator
addresses by @grezle (#241)
962cf2e: fix: allow AVS setup to be
skipped from context "flag" by @grezle
(#242)
51c333d: fix: disable rpc rate limiting
by @grezle (#243)
8f08003: fix: fixing workflow
permissions by @anupsv
(#236)
eee71f8: fix: ensure we're consistently
using v6.5.2 of golangci/golangci-lint-action by @grezle
(#244)
65c1221: feat: allow operators to
define keys for each operatorSet by @grezle
(#245)
5a05c46: fix: add missing migration
details by @grezle (#247)
3810bd6: feat: expose language
selection to relevant template scripts by @grezle
(#224)
89f4abc: fix: export chainInfo into
outputs artifacts by @grezle
(#248)
93999c7: fix: load templateBaseUrl from
config correctly by @grezle
(#251)
a8a651f: feat: upgrading the hourglass
avs template version by @bdchatham
(#252)
424de41: fix: set PermissionController
in context by @grezle (#254)
19af8ff: feat: implement wizard for
context creation by @grezle
(#255)
32b4c44: feat: allow operatorSets to be
registered from context by @grezle
(#253)
127930b: feat: set context_name in
posthog metrics by @grezle
(#259)
3a62a56: fix: take ownership of
multichain contracts and register transporters BLS key by @grezle
(#261)
9ced76a: fix: use
BN254CertificateVerifier for calcOperatorInfoLeaf call by @grezle
(#262)
2175ab6: refactor: tidy up transporter
flow by @grezle (#263)
d99dd09: feat: pass config+context json
to run command by @grezle
(#264)
223eb18: fix: only update generator on
initial Transporter run by @grezle
(#266)
23a70ff: chore: bumping hourglass
template version to use latest binary by @bdchatham
(#265)
4dca543: fix: default baseUrl/version
if omitted by @grezle (#267)
678e1cf: fix: use newNode for untouched
prop migrations by @grezle
(#268)
d4735fe: feat: integrate ECDSA
registration for KeyRegistrar by @grezle
#269)
e880d08: feat: check task result is
produced after avs call by @grezle
(#258)
ae32115: chore: bumping base template
version to default to ECDSA curveType by @grezle
(#270)

**Full Changelog**:
v0.0.10...v0.1.0-preview.4.rc

### **Pre-Release Preparation**

- [x] **Versioning**
    - Update version number consistently across:
        - `README.md`
        - Codebase
        - Release notes
- [x] **Release Notes**
    - Clearly document all user-facing changes, fixes, and known issues.
- [ ] **Prerelease Artifacts**
- Ensure release pipeline generates binaries/packages for each target
architecture:
        - [ ]  Linux (`amd64`, `arm64`)
        - [ ]  macOS (`amd64`, `arm64`)
        

### **Communication**

- [ ] Announce new release internally (Slack, email, etc.) and
externally as appropriate.
@grezle grezle mentioned this pull request Oct 20, 2025
6 tasks
grezle added a commit that referenced this pull request Oct 20, 2025
## Summary
`v0.1.0` elevates DevKit from local experiments to public `testnet`
deployments introducing ECDSA keys for signing.

##  ⚠️ Important
- `v0.1.0` brings `testnet` deployments to `devkit` adding the following
commands:
  - `devkit avs deploy contracts l1` 
  - `devkit avs deploy contracts l2`
  
- To deploy to `testnet` you must first configure a `testnet` context
using:
  - `devkit avs context create testnet` 

- To deploy to `mainnet` you must first configure a `mainnet` context
using:
  - `devkit avs context create mainnet` 

## Breaking changes for template migration (to `v0.1.0`)

- In your projects `contracts/src/l2-contracts/AVSTaskHook.sol`,
implement the following method:

```
    function handlePostTaskResultSubmission(address caller, bytes32 taskHash) external {
        //TODO: Implement
    }
```

- Upgrade go dependencies (go.mod):
```
    -- github.com/Layr-Labs/hourglass-monorepo/ponos v0.0.0-20250516160557-195c62a908e3	
    ++ github.com/Layr-Labs/hourglass-monorepo/ponos v0.0.0-20250819223025-195764c9457a

	-- github.com/Layr-Labs/protocol-apis v1.12.1
	++ github.com/Layr-Labs/protocol-apis v1.17.0
```
> then run `go mod tidy` && `devkit avs build`

## Changes

0904c13: feat: eigen runtime spec
support for devkit driven by avs template by @bdchatham
(#235)
6a071b9: feat: allow any context to
feed core commands by @grezle
(#233)
f3af4b9: fix: arbitrary file access
during archive extraction ("Zip Slip") by @grezle
(#239)
0894887: feat: l1/l2 deploy commands
for testnet/mainnet by @grezle
(#234)
33f0904: feat: restrict devnet only
cmds by @grezle (#238)
c514bed: feat: update TableCalculator
addresses by @grezle (#241)
962cf2e: fix: allow AVS setup to be
skipped from context "flag" by @grezle
(#242)
51c333d: fix: disable rpc rate limiting
by @grezle (#243)
8f08003: fix: fixing workflow
permissions by @anupsv
(#236)
eee71f8: fix: ensure we're consistently
using v6.5.2 of golangci/golangci-lint-action by @grezle
(#244)
65c1221: feat: allow operators to
define keys for each operatorSet by @grezle
(#245)
5a05c46: fix: add missing migration
details by @grezle (#247)
3810bd6: feat: expose language
selection to relevant template scripts by @grezle
(#224)
89f4abc: fix: export chainInfo into
outputs artifacts by @grezle
(#248)
93999c7: fix: load templateBaseUrl from
config correctly by @grezle
(#251)
a8a651f: feat: upgrading the hourglass
avs template version by @bdchatham
(#252)
424de41: fix: set PermissionController
in context by @grezle (#254)
19af8ff: feat: implement wizard for
context creation by @grezle
(#255)
32b4c44: feat: allow operatorSets to be
registered from context by @grezle
(#253)
127930b: feat: set context_name in
posthog metrics by @grezle
(#259)
3a62a56: fix: take ownership of
multichain contracts and register transporters BLS key by @grezle
(#261)
9ced76a: fix: use
BN254CertificateVerifier for calcOperatorInfoLeaf call by @grezle
(#262)
2175ab6: refactor: tidy up transporter
flow by @grezle (#263)
d99dd09: feat: pass config+context json
to run command by @grezle
(#264)
223eb18: fix: only update generator on
initial Transporter run by @grezle
(#266)
23a70ff: chore: bumping hourglass
template version to use latest binary by @bdchatham
(#265)
4dca543: fix: default baseUrl/version
if omitted by @grezle (#267)
678e1cf: fix: use newNode for untouched
prop migrations by @grezle
(#268)
d4735fe: feat: integrate ECDSA
registration for KeyRegistrar by @grezle
#269)
e880d08: feat: check task result is
produced after avs call by @grezle
(#258)
ae32115: chore: bumping base template
version to default to ECDSA curveType by @grezle
(#270)
607a52c: chore: bump devkit version by
@grezle (#271)
d95f55c: fix: take base of projectName
for config by @grezle (#272)
3a589b1: fix: ensure v0.0.3 corresponds
with 0.0.3 config by @grezle
(#275)
707e021: docs: ensure L2_FORK_URL
points to base sepolia by @grezle
(#276)
c2ab8ee: docs: update title to
eigencloud by @dabit3 (#277)
a952429: chore: rm registrar address
from wizard by @tsnewnami
(#278)
2b12ad0: chore: prep for
v0.1.0-preview.5.rc by @grezle
(#279)
606374e: chore: updating README to
specify unaudited and not closed alpha by @bdchatham
(#280)
64b6dcf: fix: bump default template
version by @grezle (#281)
2aedcdc: chore: prep for
v0.1.0-preview.6.rc by @grezle
(#282)
9d9ccc3: chore: bumping dependencies by
@bdchatham & @grezle (#284)
ad656ea: feat: use appropriate zeusEnv
for contextName by @grezle
(#285)
171a770: feat: check for transporter
success on devnet start by @grezle
(#286)
345f2cb: fix: create tmp directory in
working directory by @grezle
(#287)
d6a7057: fix: save anvil
docker-compose.yaml to projects dir by @grezle
(#289)
dc77b5f: chore: prep for
v0.1.0-preview.8.rc by @grezle
(#288)
f7b5137: feat: sourcing github action
credentials for release by @bdchatham
(#290)
7ac3227: chore: only running e2e CI on
the root canonical repo by @bdchatham
(#293)
8a3e173: feat: add override support for
devkit avs build target by @mahzoun & @bdchatham
(#292)
906bcb6: fix: add mainnet fallback
addresses for middleware by @grezle
(#295)
ce968e2: fix: allow alternative
timestamp syncs for L1 and L2 by @grezle
(#298)
694b4ee: fix: ensure migrations are
context aware by @grezle
(#297)
f8d7d13: fix: skip ensure docker for L1
deploy outside of devnet by @grezle
(#294)

**Full Changelog**:
v0.0.10...v0.1.0-preview.9.rc


### **Pre-Release Preparation**

- [x] **Versioning**
    - Update version number consistently across:
        - `README.md`
        - Codebase
        - Release notes
- [x] **Release Notes**
    - Clearly document all user-facing changes, fixes, and known issues.
- [ ] **Prerelease Artifacts**
- Ensure release pipeline generates binaries/packages for each target
architecture:
        - [ ]  Linux (`amd64`, `arm64`)
        - [ ]  macOS (`amd64`, `arm64`)
        
### **Communication**

- [ ] Announce new release internally (Slack, email, etc.) and
externally as appropriate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants