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