Midnight’s Compact 0.35.0 release notes say the toolchain targets Ledger 9. The same notice says Ledger 9 is not deployed on Midnight’s public networks and recommends Compact 0.31.x for builders targeting the current network environment, together with the compatible runtime.

That puts developers in an awkward position. The newest compiler is not necessarily the right compiler for production. Teams building for Midnight’s live infrastructure must instead use an older Compact release, select the matching runtime and ensure that related libraries are also aligned with Ledger 8.

Midnight’s release overview says Preview, Preprod and Mainnet currently use Ledger 8.1.2. It also directs developers to a compatibility matrix for supported versions of the chain’s components.

The distinction matters because Midnight is moving from experimentation toward live application infrastructure. In a September 2026 State of the Network post, Midnight announced that permissionless smart-contract deployment is live on Mainnet. The company also told developers to test on Preprod before moving code into production.

That deployment path now has a version boundary in the middle of it. A team can compile successfully with Compact 0.35.0, but that success does not mean the resulting contract is ready for a network using Ledger 8.1.2. The failure may appear later as a deployment rejection, an incompatible runtime, or a dependency error that is difficult to diagnose if the project does not clearly record which ledger era it targets.

The criticism from developers is that this is not merely a compiler upgrade. OpenZeppelin maintainers described the Ledger 9 upgrade as blocking their release process, because it requires coordinated changes across the ledger, Midnight.js, the on-chain runtime and test infrastructure. They said they planned to publish the Ledger 9 line under a beta tag while Mainnet remained on Ledger 8.

That is the strongest argument against treating Compact 0.35.0 as a routine version bump. A compiler, runtime and ledger are parts of one deployment system. Updating one component can leave the rest of the stack in an unsupported state. For a privacy-focused chain, where applications already depend on proving infrastructure and specialized client libraries, the cost of a mismatch is likely to be more than a minor build inconvenience.

The Practice Proof team reported a similar experience. It said Compact 0.34.0 installed a Ledger 9 targeting toolchain even though public networks still used Ledger 8. The team responded by pinning the compiler, runtime, Midnight.js and proof-server stack, and adding warnings to its build scripts.

That workaround is sensible, but it shifts compatibility management from the platform to each application team. Builders must know which release introduced the mismatch, find the correct older compiler, lock several packages and prevent future dependency updates from silently moving the project back to Ledger 9. Those are reasonable precautions for infrastructure engineers, but they are also a source of avoidable production risk.

The ecosystem is not entirely treating the split as a dead end. The Datum project documented a deliberate move from Ledger 9 back to Ledger 8, maintaining separate dependency stacks for the two ledger eras. Its approach shows that teams can manage the transition when they identify the boundary early and document it explicitly.

The larger issue is sequencing. Midnight now has a live Mainnet deployment path, a newer toolchain targeting a future ledger version and public networks still operating on Ledger 8.1.2. Until those pieces converge, the safest choice for current production work is not the newest compiler. It is the version that matches the target network.

Midnight’s compatibility matrix and release notices therefore become operational documentation, not background reading. Builders need clear answers to three questions before shipping: which ledger does the target network run, which Compact release supports it, and which runtime and client libraries must be pinned with the contract. As zero-knowledge applications move from demonstrations to live services, that clarity is part of the chain’s production infrastructure.

#Midnight#Compact#Ledger 9#Ledger 8#Mainnet#Preprod#Preview#smart contracts#developer tools#compatibility

Noah Brown is not a person. No notebook, no deadlines, no face behind the name — just a byline this newsroom publishes under. Here is the production line underneath it, because a name beside a portrait reads like a journalist, and this one is not one.

The models. Writing: gpt-5.6-luna and gpt-5.6-terra. Out on the live web: gpt-5.6-terra and gpt-5.6-luna. Pictures: gpt-image-1 and flux. Swap one in the newsroom and this line swaps with it — it is read off the machines, not typed here.

How a story is made

  • Research. The searching model reads around the story, pointed at primary sources — the filing, the post, the repository — rather than at somebody else's write-up of them.
  • Writing. The writing model drafts it against what was found, at Noah Brown's usual length and in Noah Brown's usual register.
  • The loop. A reviewer reads the draft and sends it back with notes. Then reads it again. A piece can go round several times before it leaves the building.
  • Enrichment. A quotation has to appear word for word on the page it is taken from. A chart may only use figures that appear in the source it cites. Whatever fails is dropped, and the reason is kept.
  • Fact check. A last pass hunts for claims the article makes and its sources do not.
  • A human stop. Sensitive subjects are held for a person to read before publication, and a person can kill any of it at any point.

If that sounds less like a newsroom and more like a factory: quite. It is called Press Factory.

This article was generated using AI and published automatically without human pre-publication review.

How this article was made

The article was produced by the Grandmonts Media News Engine using automated research, drafting and verification workflows. No human editor reviewed the article before publication. Grandmonts Media remains responsible for the published content. Errors can be reported at office@grandmonts.cz.