Skip to content

[BREAKING] chore(deps): update to fabric-x-common v0.2.11, committer v1.0.6, orderer v1.0.7 and Go 1.27.3 - #311

Merged
mbrandenburger merged 5 commits into
hyperledger:mainfrom
mbrandenburger:split/fabric-x-upgrade
Oct 23, 2026
Merged

mbrandenburger merged 5 commits into
hyperledger:mainfrom
mbrandenburger:split/fabric-x-upgrade

Conversation

@mbrandenburger

Copy link
Copy Markdown
Contributor

Type of change

  • Improvement (improvement to code, performance, etc)
  • Test update
  • Documentation update
  • Breaking change

Description

Update to the latest Fabric-X releases and Go 1.27.3:

  • github.com/hyperledger/fabric-x-common v0.2.9 (pseudo-version) → v0.2.11
  • github.com/hyperledger/fabric-x-committer v1.0.4 → v1.0.6
  • github.com/hyperledger/fabric-x-orderer v1.0.6 (pseudo-version) → v1.0.7
  • go 1.27.0 → 1.27.3 (all three modules require it)

The integration suites now run against orderer v1.0.7 and committer v1.0.6: integration/test/refs.conf and the fxconfig test image committer-test-node:1.0.6.

Breaking change: fabric-x-common v0.2.11 merges the sidecar's Notifier and BlockQueryService gRPC services into committerpb.SidecarService. fxconfig now calls the new service, so fxconfig ... --wait needs committer v1.0.6 or later. Against an older committer the submit still succeeds, but the wait fails with Unimplemented: unknown service committerpb.SidecarService. Namespace queries are unaffected because QueryService did not change. The README and the fxconfig docs now say this.

Changes the new releases required:

  • fxconfig notification client and integration block-query client switch to committerpb.SidecarServiceClient
  • committer v1.0.6 refuses to start unless the channel config defines /Channel/Application/SnapshotEndorsement and CheckpointEndorsement. Added both to the fxconfig integration configtx.yaml and to the sample policies in docs/concepts/policies/policies.md. Anyone with an existing channel config needs to add them too.
  • orderer v1.0.7 requires SignCert for router and assembler nodes in the shared config. Added them to networkconfig/arma_config.yaml.
  • orderer v1.0.7 moved node/examples/ to examples/. build-e2e.sh now uses whichever all-in-one Dockerfile exists, so older orderer refs still build.
  • orderer v1.0.7 testutil.ExtendConfigAndCrypto takes a new enableNodeOUs argument, and armageddon generate now defaults to node OUs. The reconfig test passes --noOUs and false, which keeps its admincerts-based identity setup as before.

Additional details (Optional)

Testing:

  • go build ./..., go vet ./..., unit tests, make lint and govulncheck are clean (0 vulnerabilities affecting the code)
  • fxconfig integration tests pass against committer v1.0.6, including the --wait scenarios that use SidecarService
  • TestReconfigAppOrg passes against orderer v1.0.7 and committer v1.0.6
  • run-e2e.sh with images built by build-e2e.sh: step 9 passes (10002 transactions committed)

Known flaky checks, both outside this change:

  • TestReconfigAppOrg failed once locally with expected: 11, actual: 1 and then passed on re-runs. The nightly run on main on 2026-10-23 failed the same way. requireCommitterEnvelopes reads the committer once, right after the assemblers have the blocks, without waiting for the committer to catch up.
  • run-e2e.sh step 10 (block explorer tx count) passed once and failed once (10001 of 10002). The explorer is still pinned at v0.1.2, built against committer v1.0.5. No newer explorer release exists yet.

Version compatibility matrix in README.md: added a v1.0.7 / v1.0.6 row. The other columns are left as - until the matching releases of those components are known.

Related issues

None.

…v1.0.7, go 1.27.3

fabric-x-common v0.2.11 merges the Notifier and BlockQueryService gRPC
services into committerpb.SidecarService; switch the fxconfig
notification client and the integration block-query client to it.
fabric-x-orderer v1.0.7 adds an enableNodeOUs argument to
testutil.ExtendConfigAndCrypto; pass false to match crypto-config.yaml.

Signed-off-by: Marcus Brandenburger <bur@zurich.ibm.com>
Committer v1.0.6 resolves SnapshotEndorsement and CheckpointEndorsement
application policies from the config block and refuses to start without
them, so add both to the fxconfig integration configtx.yaml.

Signed-off-by: Marcus Brandenburger <bur@zurich.ibm.com>
v1.0.7 moved node/examples/ to examples/; build-e2e.sh now picks
whichever all-in-one Dockerfile exists so older orderer refs still
build. v1.0.7 also requires SignCert for router and assembler nodes
in the shared config; add them from the existing cryptogen output.

Signed-off-by: Marcus Brandenburger <bur@zurich.ibm.com>
…in reconfig test

- README/fxconfig docs: fxconfig --wait needs committer >= v1.0.6
  (SidecarService); bump Go prerequisite to 1.27.3+.
- policies.md: add SnapshotEndorsement and CheckpointEndorsement to the
  sample Application policies; committer v1.0.6 requires both.
- reconfig test: pass --noOUs to armageddon generate. Orderer v1.0.7
  made node OUs the default, which left the base network on NodeOUs and
  the added org on admincerts.

Signed-off-by: Marcus Brandenburger <bur@zurich.ibm.com>
golangci-lint v2.13.2 cannot type-check against the Go 1.27.3 standard
library ("export data version 5 is greater than maximum supported
version 4"). Update the pinned version in the lint workflow and the
README prerequisite.

Signed-off-by: Marcus Brandenburger <bur@zurich.ibm.com>
@mbrandenburger mbrandenburger added dependencies Pull requests that update a dependency file go Pull requests that update go code fxconfig labels Oct 23, 2026
@mbrandenburger
mbrandenburger merged commit 94f2554 into hyperledger:main Oct 23, 2026
4 checks passed
@mbrandenburger
mbrandenburger deleted the split/fabric-x-upgrade branch October 23, 2026 12:46
@mbrandenburger mbrandenburger self-assigned this Oct 23, 2026
mbrandenburger added a commit that referenced this pull request Oct 23, 2026
… v1.0.7 (#312)

#### Type of change

- Improvement (improvement to code, performance, etc)

#### Description

Follow-up to #311. Update to the latest patch releases:
- `github.com/hyperledger/fabric-x-common` v0.2.11 → v0.2.12
- `github.com/hyperledger/fabric-x-committer` v1.0.6 → v1.0.7

fabric-x-common v0.2.12 changes only `msp/factory.go`. Idemix MSP
creation now accepts MSP versions v1.0 and v3.0 as well, and passes the
requested version through instead of hard-coding v1.3 or v1.1.
fabric-x-committer v1.0.7 only bumps its own fabric-x-common dependency
to v0.2.12. No public APIs change, and fabric-x does not use Idemix
MSPs, so no code changes are needed. No other module in `go.mod` moves.

`integration/test/refs.conf` moves `COMMITTER_REF` to v1.0.7, since the
e2e and reconfig suites build the committer from source. The README
compatibility matrix row is updated to orderer v1.0.7 / committer
v1.0.7.

#### Additional details (Optional)

The fxconfig integration tests still use
`ghcr.io/hyperledger/fabric-x-committer-test-node:1.0.6`. No 1.0.7
test-node image is published yet on ghcr or docker.io. v1.0.7 only bumps
a dependency, so testing against 1.0.6 covers the same code. The image
tag can move once the 1.0.7 image is out.

Testing:
- `go build ./...`, `go vet ./...`, unit tests, golangci-lint v2.15.0 (0
issues), license check and `govulncheck` (0 vulnerabilities affecting
the code)
- fxconfig integration tests pass
- `TestReconfigAppOrg` passes against orderer v1.0.7 and committer
v1.0.7 built from source
- `run-e2e.sh` against committer v1.0.7: step 7 (namespace create with
`--wait`) and step 9 (10002 transactions committed) pass. Step 10 (block
explorer count) shows the known flake from #311 (10001 of 10002,
explorer still pinned at v0.1.2).

The e2e run used fxconfig built from this branch (`build-e2e.sh
--fabric-x-local-path`). With the default `FABRIC_X_REF="v1.0.0"`,
`build-e2e.sh` builds an fxconfig that predates #311 and still calls
`committerpb.Notifier`, so step 7 fails against committer v1.0.6 and
later. That exists on `main` already and is not addressed here.

#### Related issues

Follows #311.

Signed-off-by: Marcus Brandenburger <bur@zurich.ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file fxconfig go Pull requests that update go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants