July 20, 2026

Monkey business in the comments

Primate 0.40: Route pages, store enums, async schemas and events

Primate drops shiny new features, but the comments ask: what even is this thing

TLDR: Primate 0.40 adds tools to keep app code neater and easier to manage, including pages stored next to routes and cleaner handling of status values. But the community reaction was brutally skeptical, with commenters joking that the launch explained too little and questioning what makes it stand out.

Primate 0.40 arrived with a grab bag of upgrades aimed at making app-building feel tidier and less repetitive. The big pitch is simple: keep a page and its route together, let data types define themselves, make status labels easier to manage, and add smarter data cleanup before it reaches the app. In plain English, the update promises fewer bits of code drifting out of sync and less manual wiring for developers.

But in the court of public opinion, the real show was the comment section. One early reaction basically screamed, why are we getting a framework link with no real explanation? That set the tone: half curiosity, half roast. Another commenter went straight for the jugular, saying it looked like Express from 10 years ago, just with a modern coat of paint. Ouch. That turned the launch into a familiar tech-world drama: is this genuinely fresh, or just old ideas repackaged with cleaner branding?

There was also a comedy-of-confusion vibe hanging over the thread. The strongest mood wasn't rage so much as skeptical squinting. People weren’t only judging the features; they were judging the pitch. The jokes landed because they hit a nerve: if your product needs a map, the internet will absolutely clown you for dropping it into the room and walking away. So yes, Primate shipped route pages, store enums, and async schemas — but the crowd was busy debating whether anyone had actually explained why normal humans should care.

Key Points

  • Primate 0.40 preview adds collocated route pages that let routes render nearby frontend files with `response.page(...)`.
  • Page props are typed from the route response itself, removing the need for separate prop interface declarations.
  • The release adds collocated layouts, allowing layout files and their components to live alongside route files.
  • `p.enum` now participates directly in store schemas, providing typed enums, membership validation, reverse lookup, and plain integer storage via `p.u8`.
  • Pema schemas in Primate 0.40 support derived values with `.derive(...)`, and the article also announces support for `p.async(...)`.

Hottest takes

"Just post a link to a random software framework" — happyPersonR
"I don’t understand what is the primary innovation" — rubyfan
"looks like Express 10 years ago" — rubyfan
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.