Skip to content
OBLAIDISH NEWS
Codename One switches to Metal by default
TX_668133Engineering

Codename One switches to Metal by default

Codename One made ios.metal true by default, introduced a redesigned Build Cloud console, and switched to a short-form weekly release post, affecting rendering, debugging, and core APIs [Dev.to].

Codename One changed the iOS build hint to ios.metal=true by default [Dev.to], which means new builds link against CAMetalLayer instead of the deprecated CAEAGLLayer. This change affects rendering and debugging.

The new Build Cloud console is available at https://cloud.codenameone.com/console/index.html [Codename One GitHub], replacing all dashboard links in the header, pricing CTA, and sitemap. Legacy URLs remain temporarily.

Other changes include GPU-accelerated gradients, which route multi-stop, conic, and repeating gradients straight to the GPU, improving fidelity and performance [Dev.to]. The default color space is now sRGB, and developers can opt into Display P3 via ios.metal.colorSpace.

On-device debugging is now possible with JDWP wired through to real iOS/Android devices, letting IntelliJ, VS Code, Eclipse, or NetBeans attach directly [Codename One GitHub]. JUnit 5 support adds @Test methods for simulators with annotations like @Theme and @DarkMode.

Core platform APIs, including Wi-Fi, Bonjour, USB, and network-type APIs, are built into the framework [Dev.to]. An OIDC + WebAuthn stack, share-sheet callbacks, and a com.codename1.ai package with LLM clients are also part of the core.

Build-time codegen is powered by a reusable AnnotationProcessor SPI, which enables a declarative router, SQLite ORM, JSON/XML mapper, component binder, and an SVG/Lottie transcoder that emits Image subclasses [Codename One GitHub].

The switch to Metal by default may break apps still relying on CAEAGLLayer, unless the developer explicitly disables the hint [Dev.to]. The new Build Cloud console consolidates navigation, reducing bookmark churn and aligning documentation. The built-in core APIs cut dependency overhead, shrink binary size, and let developers ship features without pulling external libraries.

operator_channel
[ comments_offline · provider_not_configured ]
transmission_log

Subscribe to the broadcast.

Daily digest of the day's most important tech news. No fluff. Engineering signal only.

// delivered via substack · double-opt-in confirmation