Skip to content

Before next release: bring main's 0.2.0 changes into develop and fix the setup guide's broken install link #282

Open

Description

@abrahamnash

Problem

  • The dincli 0.2.0 release (2409664, 19 Aug) and its setup-guide fix (f423611) were made directly on main and haven't been brought into develop yet. main has 32 commits not on develop.
  • As a result, develop is still at version = "0.1.0", and Documentation/public/setup.md on develop (Option A) links .../refs/heads/main/dist/dincli-0.1.0-py3-none-any.whl, which no longer exists on main (main has dist/dincli-0.2.0-*). The README and the org landing page link to develop's docs, so new participants hit this on step one.
  • Option B (pip install git+...@main#subdirectory=dist) can't work on either branch, because dist/ isn't a Python project directory.
  • If develop is merged into main as it stands, the merge would conflict and could roll main's version back from 0.2.0 to 0.1.0.

Most of main's other direct fixes (CID verification, chain-id validation, bridge-eth, Python 3.12 floor, LICENSE) were already re-applied on develop. Still on main only: the 0.2.0 bump/dist and the CPU/CUDA requirements split.

Suggested fix (keeps our develop → main workflow)

  1. Bring main's direct changes into develop (merge main into develop), keeping both main's release fixes and develop's newer work where they overlap.
  2. Bump develop to 0.3.0, so the next develop → main merge moves main forward.
  3. Fix setup.md on develop: point Option A at a GitHub Release asset (or a tagged install, e.g. pip install git+https://github.com/InfiniteZeroFoundation/DevNet.git@v0.3.0), fix Option B, and test on a clean machine.
  4. Then merge develop into main as usual. Going forward, make fixes on develop first so main doesn't drift ahead.

Activity

  1. added
    bugSomething isn't working
    documentationImprovements or additions to documentation
    on Oct 26, 2026
  2. umeradl commented on Oct 26, 2026

    @umeradl
    Member

    Thanks @abrahamnash. The broken link and the rollback risk are both real. One correction to the framing first, because it changes the fix.

    There is no "DevNet 2.0" release. dincli 0.2.0 (2409664, 19 Aug) is the CLI for DevNet 1.0, the contracts currently live on OP Sepolia, and it was released directly on main. develop's dincli targets the newer contracts, which aren't deployed anywhere yet. So develop shouldn't take main's 0.2.0 bump or its dist/ wheels, and develop's setup guide shouldn't send people to the main wheel either: develop's docs describe develop's code, which doesn't work against the live DevNet 1.0 contracts.

    Nothing needs to come from main

    The main-only fixes that matter were already brought over to develop (by @Santiagocetran and @umeradl): bridge-eth, read-din-per-eth, the connect-wallet / connect-demo-wallet split, CID verification on IPFS downloads, chain-id validation, the Python 3.12 floor, click as an explicit dependency, LICENSE, and .env.example.

    What remains on main only is DevNet 1.0 state that develop doesn't need: the 0.2.0 bump and dist/ wheels, the accounts.json packaging exclusion (on develop the file is tracked and holds only the Hardhat/Anvil default dev keys, and connect-demo-wallet needs it in the wheel), the CPU/CUDA requirements-*.txt split (develop uses per-role cache_model_0/requirements/ files), dindao.md, and similar. So no main → develop merge or porting is needed; we keep the usual develop → main flow.

    What's left

    1. Fix Documentation/public/setup.md on develop: install from source (git clone + pip install -e .), and drop Option B (dist/ isn't a Python project, so it can't build). Add a note that participants joining the live DevNet 1.0 should follow main's setup guide and its 0.2.0 wheel. This edit is already a row in task_061026_21 Part E, which points at the main wheel. I'll change that row to "install from source" so the two don't conflict.
    2. Move develop's version above main's: 0.3.0.dev0 now, then 0.3.0 when develop's contracts are deployed, so main never goes back from 0.2.0 to 0.1.0.
    3. At release, merge develop into main so that main's files end up exactly develop's. A plain merge isn't enough: since the branches split in May, a dry run shows 22 conflicting files, and git would also silently keep main's version of 9 non-conflicting files (e.g. MANIFEST.in, the deleted cache_model_0/requirements.txt, dindao.md, dist/dincli-0.2.0-*). Instead:
      git checkout main
      git merge --no-commit --no-ff develop
      git read-tree -u --reset develop   # main's files = develop's files
      git commit
      git diff develop main --stat       # must be empty
      This keeps main's history and makes its content identical to develop.

    Dropping from the original suggestion: merging main into develop, and a GitHub Release asset or an @v0.3.0 tagged install link for develop. There's nothing to release from develop until its contracts are deployed. Tagging is tracked separately.

    Going forward, agreed: fixes land on develop first, so main doesn't drift ahead again.

  3. abrahamnash commented on Oct 29, 2026

    @abrahamnash
    MemberAuthor

    Agreed with this framing. 0.2.0 is the DevNet 1.0 CLI released on main, so develop's setup guide shouldn't point at main's wheel. Until DevNet 2.0 ships with its own release, develop should use the install-from-source route (as #294 does), and anyone joining the live network should use main's guide and the v0.2.0 release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdocumentationImprovements or additions to documentation

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions