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