Codename One v7.0.250 Release Notes

Release Date: 2026-06-05 // 6 days ago
  • What's Changed

    • 🛠 Fix #1399: setAlwaysTensile(true) now works on the X axis too by @shai-almog in #5112
    • ✅ Close #1449: regression-test ChartComponent axis-locked panning by @shai-almog in #5115
    • scripts/website: bump Codename One versions to 7.0.247 by @shai-almog in #5114
    • Enable modern native themes on the JavaScript port by @shai-almog in #5054
    • 🛠 Fix #1515: Calendar.setDate/setSelectedDate/setCurrentDate preserve hour/minute/second/millis by @shai-almog in #5117
    • Trim JS-port screenshot suite skip list to mirror port.js by @shai-almog in #5124
    • ➕ Add native Mac build pipeline + screenshot CI by @shai-almog in #5053
    • Close #1512: password TextField visibility regression guard by @shai-almog in #5121
    • 🛠 Fix #1459: Validator highlights on tap-away, not just VKB Enter by @shai-almog in #5123
    • 🛠 Fix #1511: TextField.setAlignment(CENTER) is now accepted by @shai-almog in #5120
    • 🛠 Fix #1502: iOS openInputStream throws FileNotFoundException for missing files by @shai-almog in #5116
    • 🛠 Fix #1523: expose Slider.setProgressInternal as protected by @shai-almog in #5118
    • Blog: platform APIs in the core (connectivity + identity + sharing + AI) by @shai-almog in #5087
    • 🛠 fix(EncodedImage): make dispose() release cached image and bytes (#3733) by @shai-almog in #5127
    • feat(ComboBox): popup placement modes (#3795) by @shai-almog in #5128
    • 🛠 fix(JavaSE): NetworkMonitor stretches with the simulator window (#3701) by @shai-almog in #5131
    • 🛠 Fix #1592: pointerDragged honours isEnabled() like pointerPressed/Released by @shai-almog in #5119
    • ➕ Add blog-release-series skill (capture this week's lessons) by @shai-almog in #5134
    • 🛠 fix(ImageViewer): vertical drags bubble to scrollable parent (#3700) by @shai-almog in #5132
    • feat(NetworkManager): add ping(url, timeoutMillis) reachability probe (#3669) by @shai-almog in #5130
    • feat(Graphics): add isVisible(x,y,w,h) primitive (#3846) by @shai-almog in #5129
    • 🛠 Fix #1524: Motion.createCubicBezierMotion now follows CSS cubic-bezier semantics by @shai-almog in #5122
    • ci: fail screenshot suites on missing screenshots; fix DialogTheme Metal hang by @shai-almog in #5135
    • ➕ Add low-level cross-platform Camera API (com.codename1.camera) by @shai-almog in #5126
    • Deeper desktop integration: native window chrome, interactive scrollbars, menu placement by @shai-almog in #5136
    • 📄 docs: Desktop Integration developer-guide chapter by @shai-almog in #5138
    • 🏁 ParparVM: remove dead C# target, add Windows LLVM (clang-cl) build + CI by @shai-almog in #5137
    • 🏗 Blog: build-time codegen (router, ORM, mappers, binder, SVG/Lottie) by @shai-almog in #5088
    • 🛠 Fix socket write NPE and avoid throwaway allocation on partial writes (#5139) by @shai-almog in #5140
    • feat(io): add com.codename1.io.WebSocket to core + cn1ss WS pipeline by @shai-almog in #5133
    • 🛠 fix(JS port): release dead canvas host-refs to stop late-suite screenshot bridge thrash by @shai-almog in #5143
    • ✂ Remove redundant paint-scope state warnings, keep clip over-pop hard fail (#5058) by @shai-almog in #5147
    • 👍 feat(graphql): GraphQL client support + @mapped enum binding + WebSocket subprotocols by @shai-almog in #5141
    • Blog prose-quality checks + full-corpus remediation sweep by @shai-almog in #5149
    • Notifications and background execution modernization by @shai-almog in #5142
    • 🛠 Fix iOS build of method refs needing unbox/box + add Objects.deepEquals by @shai-almog in #5150
    • 🛠 Fix mutable images losing pixels across app suspension on Metal (#5153) by @shai-almog in #5157
    • 🛠 Fix #5152: respect bottom safe area for picker BELOW_SPINNER buttons by @shai-almog in #5156
    • 🛠 Fix #5154: InteractionDialog popup clips content when reserving arrow space by @shai-almog in #5155
    • Blog: We Will Not Sabotage Your Code by @shai-almog in #5160
    • 🛠 Fix Mac native screenshots to capture the genuine Metal display pipeline by @shai-almog in #5159
    • ➕ Add mockup-comparison and design-import tooling to the CN1 agent skill by @shai-almog in #5161
    • 🛠 Fix #5163: status-bar tap scrolls to top only once per Form by @shai-almog in #5164
    • 🛠 Fix #5162: eliminate Metal rotation black flash on idle rotate by @shai-almog in #5165
    • Redesign Initializr to the Codename One design language by @shai-almog in #5168
    • Modern pluggable advertising API + AdMob reference provider by @shai-almog in #5169
    • 💅 Deepen desktop integration: scrollbar thumb polish, menu accelerators, desktop notifications by @shai-almog in #5170

    Full Changelog : 7.0.247...7.0.248


Previous changes from v7.0.247

  • What's Changed

    🚀 This is a small bump release mostly intended to fix debug over logging.

    • Sort site search index by date and exclude developer guide by @shai-almog in #5090
    • 🔀 scripts/initializr: sync template with cn1app-archetype by @shai-almog in #5093
    • 📄 docs(InteractionDialog): clarify animation, formMode, and no-op transitions (#5071) by @shai-almog in #5096
    • Defer lightweight Picker traversal editing until dismiss completes by @jsfan3 in #5092
    • ⚡️ Update Lifecycle.java getCurrentForm javadoc by @jsfan3 in #5095
    • Small fix to UIManager.java Javadoc by @jsfan3 in #5094
    • 🛠 Fix lightweight Picker traversal controls when non-traversable by @jsfan3 in #5091
    • feat(InteractionDialog): custom animations + code-set duration (#5072) by @shai-almog in #5097
    • ➕ Add gRPC-Web client codegen mirroring the OpenAPI pattern by @shai-almog in #5099
    • Blog: developer workflow (on-device debugging + JUnit 5) by @shai-almog in #5086
    • 🛠 Fix Metal stencil mismatch in mutable-image seed pass (#5103) by @shai-almog in #5106
    • 🛠 Fix #1243: getShortWeekdays() now uses English keys after localization by @shai-almog in #5105
    • 🛠 Fix ios.blockScreenshotsOnEnterBackground to hide peer components by @shai-almog in #5107
    • ci(ios-metal): enable Metal API validation in screenshot suite by @shai-almog in #5110
    • 🛠 Fix #1363: copy calcPreferredSize() result instead of retaining the reference by @shai-almog in #5109
    • ⚠ Dedupe simulator paint-scope leak warnings (#5102) by @shai-almog in #5111

    Full Changelog : 7.0.246...7.0.247