Releases: codenameone/CodenameOne
Releases · codenameone/CodenameOne
Release list
7.0.256
What's Changed
- Fix JS port: clipboard copy + Web Share broken in the worker by @shai-almog in #5288
- JavaSE: upstream JCEF (fixes maps #5290) + bundled-ffmpeg default media by @shai-almog in #5294
- Apple CarPlay & Google Android Auto support (com.codename1.car) by @shai-almog in #5281
- Fix initializr projects: keep win32 module, dual-mode default theme, Linux/win32 IDE targets by @shai-almog in #5299
- Initializr: fix white box behind generate-button icon; shift button clear of Crisp launcher by @shai-almog in #5302
- Skin Designer: build JS via local ParparVM target; drop per-build screenshots by @shai-almog in #5303
- Fix StackOverflowError from re-entrant ScrollListener (#5305) by @shai-almog in #5306
- Fix NPE in JavaSEPort.editString when switching editable fields (#5304) by @shai-almog in #5307
- iOS: fix squished initial window for iOS apps on Apple Silicon Mac (#5278) by @shai-almog in #5301
- Fix JS port: Initializr Generate fails with Unhandled host call cn1_build_version (#5288 regression) by @shai-almog in #5313
- Add cross-platform motion sensor API with gesture detection by @shai-almog in #5310
- Commerce SDK + Secrets API + developer-guide docs by @shai-almog in #5300
- Add device input and form-factor APIs (pointer detail, mouse buttons, wheel, stylus, foldables) by @shai-almog in #5309
- Extend MorphTransition: opacity/rotation/scale, scrubbing, arbitrary elements by @shai-almog in #5314
- Update versioned build pricing tiers by @shai-almog in #5320
- Stabilize CI actions by @shai-almog in #5318
- Link CoreText in generated iOS projects by @shai-almog in #5321
- Add iOS device release CI build by @shai-almog in #5322
- Add timed Whisper transcription and Android AAR by @shai-almog in #5319
- Add sample-accurate PCM audio mixer by @shai-almog in #5317
- Fix iOS floating toString termination by @shai-almog in #5325
- Add VideoIO: cross-platform video encode + frame-accurate decode by @shai-almog in #5315
- Fix skindesigner JavaScript download by @shai-almog in #5328
- Remove since markers from API docs by @shai-almog in #5329
Full Changelog: 7.0.255...7.0.256
7.0.255
Publish the Game Builder editor to Maven Central during release (fixes #5292) by @shai-almog in #5293
Codename One master snapshot
Rolling framework artifacts built from the latest master. Used by build.cn1Version=master.
7.0.253
What's Changed
- Exclude com.codename1.impl from javadocs, add missing package-info, fix BX unboxing + CI gates by @shai-almog in #5260
- Fix iOS Metal empty-clip opening the whole screen (#5263) by @shai-almog in #5265
- Playground: build via local ParparVM JavaScript target by @shai-almog in #5250
- Fix cn1:build on Maven 3.9+ (drop @execute fork) + retire legacy Windows UWP/C# port by @shai-almog in #5267
- Modern maps API: vector MapView + build-hint-wired NativeMap providers by @shai-almog in #5264
- Core app review & feedback API (#3665) by @shai-almog in #5268
- Apple TV (tvOS) and Google TV (Android TV) support by @shai-almog in #5261
- Analytics rewrite: generic provider SPI with GDPR consent and multiple backends by @shai-almog in #5266
- DeviceIntegrity: RASP, Play Integrity / App Attest, accessibility-service guard by @shai-almog in #5277
- Rich text + code editor API; dogfood CodeEditor in Playground by @shai-almog in #5272
- Fix blog mermaid diagrams: blank-render race + mobile legibility by @shai-almog in #5283
- Fix iOS Metal emoji/fallback-font glyphs rendering as wrong "Chinese" glyphs by @shai-almog in #5279
- Fix #5273: clamp Metal screen clips to the flush region (drawingRect) by @shai-almog in #5275
- Fix: Initializr-generated projects missing the linux module/target by @shai-almog in #5284
- Windows: render colour emoji/glyphs in colour (enable COLR fonts) by @shai-almog in #5285
Full Changelog: 7.0.252...7.0.253
7.0.252
What's Changed
- Fix App Store rejection: UILaunchScreen requires MinimumOSVersion 14+ by @shai-almog in #5230
- Weekly release blog: native Win32, 3D, gaming, printing, Wallet by @shai-almog in #5231
- Update initializr skill with this week's new features by @shai-almog in #5232
- Fix 2 bugs (NdefRecord URI, OpenAiClient error swallowing) + add 250 unit tests across 16 previously-0%-coverage classes by @shai-almog in #5233
- ParparVM: index native-symbol and class lookups in the dead-code cull (O(N^2) -> ~O(N)) by @shai-almog in #5236
- Add unit tests for 10 previously-0%-coverage classes (123 tests) by @shai-almog in #5237
- Fix Mac screenshot suite reporting "passed" while crashing + capture crash diagnostics by @shai-almog in #5240
- Fix Picker DialogTitle border gap (#5238) + ParparVM monitorEnter deadlock by @shai-almog in #5241
- MacNativeBuilder: optional Developer ID signing + notarization by @shai-almog in #5243
- Switch initializr JavaScript build to local ParparVM target by @shai-almog in #5200
- Native Linux (GTK3/Cairo) port + CI screenshot tests (x64 + arm64) by @shai-almog in #5239
- Update CodeNameOneBuildClient.jar to fix hanging website builds by @shai-almog in #5248
- fix(website-ci): mint a real Keycloak token from the password before cloud builds by @shai-almog in #5249
- ByteCodeTranslator: add asm-analysis to compile classpath by @shai-almog in #5256
- Native Apple Watch (watchOS) port: Core Graphics backend + watch app target by @shai-almog in #5252
- Game Builder: visual level editor + streaming/region gaming API by @shai-almog in #5253
- Add com.codename1.crash on-device crash protection client by @shai-almog in #5001
Full Changelog: 7.0.251...7.0.252
7.0.251
What's Changed
- Fix iOS camera native build break + gate new Camera API on actual usage by @shai-almog in #5177
- Fix javadoc website build: only CLDC packages were being generated by @shai-almog in #5182
- Weekly release follow-ups: Mac native, protocols, ads, background by @shai-almog in #5183
- Fix #5184: remove docs reference to non-existent synchronizeReceiptsSync() by @shai-almog in #5185
- Fix #3076: implement System.nanoTime() across the ParparVM ports by @shai-almog in #5187
- Fix #5186: share ReceiptStore across Purchase instances by @shai-almog in #5188
- Purchase IAP e2e test suite (#5186 follow-up) by @shai-almog in #5189
- Fix #5171: iOS Metal rotation freeze and content drawn outside its clip by @shai-almog in #5191
- Native Windows (Win32 + Direct2D/DirectWrite) port foundation by @shai-almog in #5144
- fix(JS port) #5145: correct worker↔host barrier ownership model by @shai-almog in #5148
- Fix #5193: stackable mode for concurrent InteractionDialogs by @shai-almog in #5195
- ci: cancel superseded PR runs + cap runaway jobs by @shai-almog in #5196
- perf(parparvm-tests): diagonal JDK matrix + cached JavaAPI + parallel forks by @shai-almog in #5198
- ci: restore reference-anchored screenshot count-regression guard by @shai-almog in #5197
- iOS: pin BrowserComponent appearance via setProperty("BrowserComponent.interfaceStyle") by @shai-almog in #5203
- sim: warn when Larger Text menu is used without the app opting in (#4963) by @shai-almog in #5205
- Fix #5069: NPE in spinner setValue when Picker.setDate(null) called while popup showing by @shai-almog in #5204
- Clarify getTransform() translate semantics + make isVisible transform-aware (#5201) by @shai-almog in #5207
- Portable 3D / shader graphics API (com.codename1.gpu) by @shai-almog in #5151
- Fail the build on undersized localized launcher icons by @shai-almog in #5208
- TextArea: grow by actual wrapped line count while editing (#4854) by @shai-almog in #5206
- Simulator UX: restore Slow Motion, fix rotate/zoom, standalone default, menu cleanup by @shai-almog in #5211
- Sync initializr scaffolding settings with Maven archetype + add parity guards by @shai-almog in #5212
- Screenshot suite: retry once + stage logging for silent capture timeouts by @shai-almog in #5213
- Add com.codename1.gaming game development APIs by @shai-almog in #5166
- Native Windows port: wheel scrolling, shell launch services, native file picker by @shai-almog in #5209
- Windows port: tolerance for graphics-draw-arc x64/arm64 AA difference by @shai-almog in #5219
- ParparVM: bundle ASM 9.8 in the translator jar (was asm-5.0.3) by @shai-almog in #5221
- Fix black screen at iOS app launch under UIScene by @shai-almog in #5218
- docs: consolidate on-device debugging chapters, add checkers & card game case studies by @shai-almog in #5220
- Localized icons: prefer device region on iOS, fix transparent Android fallback icon by @shai-almog in #5222
- blog: restructure weekly post with per-item deep-dive sections by @shai-almog in #5223
- Add cross-platform printing API (com.codename1.printing) by @shai-almog in #5217
- Fix BytecodeComplianceMojo skipping checks on recompiled classes by @shai-almog in #5216
- Fix the random screenshot-suite crashes behind the mac-native / iOS Metal CI flake by @shai-almog in #5226
- Add Apple Wallet issuer-provisioning extension support (iOS) by @shai-almog in #5227
Full Changelog: 7.0.250...7.0.251
7.0.250
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
7.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
7.0.246
What's Changed
- Drive developer guide LanguageTool count to zero and gate CI on it by @shai-almog in #5007
- Add input-validation pipeline: XCUITest + Playwright gesture suite by @shai-almog in #5005
- Fix #3108: conversion opcodes must update runtime type tag by @shai-almog in #5009
- Add iOS on-device debugging support by @shai-almog in #4999
- Fix #4991: lightweight picker popup renders zero-width on desktop JS port by @shai-almog in #5011
- Fix #5010: don't swallow UIPress events while editing a native text component by @shai-almog in #5013
- Add Android on-device debugging support by @shai-almog in #5012
- Fix #3037: implement pushClip/popClip on Android port by @shai-almog in #5016
- Fix #5014: roll back default-date staging when Picker is cancelled on first open by @shai-almog in #5017
- Fix #5019: revalidate lightweight Picker after shortcut button action by @shai-almog in #5020
- Fix #5024: treat Picker.setDate(null) as an explicit clear by @shai-almog in #5025
- Fix #5010: don't reroute taps on the active native text editor by @shai-almog in #5026
- Fix #5010: make pressesBegan/Ended/Cancelled fully transparent while editing by @shai-almog in #5027
- Add deeper network connectivity: WiFi info/scan/connect, Bonjour, WiFi Direct, USB, network-type events by @shai-almog in #5021
- Add OidcClient identity stack + native iOS/Android bindings by @shai-almog in #5018
- Fix #5022: Eclipse jansi NPE; bump Maven wrapper to 3.9.9 by @shai-almog in #5031
- Fix #5028 / #5029: InteractionDialog popup overlaps target when rect straddles midline by @shai-almog in #5030
- scripts/website: bump Codename One versions to 7.0.244 by @shai-almog in #5004
- Add WebAuthn / passkey client + Auth0 / Firebase passkey helpers by @shai-almog in #5039
- Add ShareResult callback API + iOS Share Extension authoring helper by @shai-almog in #5036
- Add package-info.java descriptors for 15 undocumented packages by @shai-almog in #5040
- Add JUnit 5 test support for the JavaSE simulator by @shai-almog in #5032
- Generate JavaSE desktop stub from codenameone_settings.properties by @shai-almog in #5043
- Revert #5010 changes: no confirmed underlying issue by @shai-almog in #5041
- Add three build guardrails: Error Prone Class.forName ban, @SInCE validation, Vale version-name block by @shai-almog in #5044
- Declarative router + deep links + bytecode annotation framework by @shai-almog in #5037
- Add com.codename1.ai package, ChatView, Speech/TTS, and build-time AI dependency injection by @shai-almog in #5035
- Add build-time SVG transcoder with SMIL animation support by @shai-almog in #5042
- Build-time POJO annotation frameworks: JSON/XML mapping, component binding, SQLite ORM by @shai-almog in #5047
- Moving initializr to new JS port by @shai-almog in #4795
- Fix WMI_WRONG_MAP_ITERATOR in JSONParser and make SpotBugs fail CI by @shai-almog in #5048
- Add local ParparVM-backed JavaScript builder gated to Enterprise tier by @shai-almog in #5050
- Fix iOS Metal and Android SVG rendering bugs by @shai-almog in #5049
- Fix #5049 follow-ups: clipped_badge rounded clip + picker capture stability by @shai-almog in #5056
- Fix iOS native stub -stop selector ambiguity on Xcode 26 by @shai-almog in #5052
- Detect unbalanced Graphics state in the simulator (#5058) by @shai-almog in #5060
- Fix bytecode compliance check crash on project class references by @shai-almog in #5061
- Fix CI flake: JavaSEPortFontMappingTest leaks JavaSEPort.instance by @shai-almog in #5063
- Document AI/LLM, ChatView, speech, and ML Kit cn1libs from PR #5035 by @shai-almog in #5057
- Wire validation into the @bindable annotation framework by @shai-almog in #5062
- Fix #5010: serialize Purchase state on the EDT to unblock iOS main thread by @shai-almog in #5064
- Fix #5067: InteractionDialog dispose leaves dialog visible without animateShow by @shai-almog in #5068
- Default ios.metal to true and document the renderer by @shai-almog in #5065
- Fix #5069: null-guard layered pane parent in InteractionDialog popup by @shai-almog in #5070
- Improvements to baseline based on porting exercise by @shai-almog in #5055
- Add Lottie/Bodymovin support to the build-time SVG transcoder by @shai-almog in #5066
Full Changelog: 7.0.244...7.0.245
7.0.244
What's Changed
- docs: route cn1lib creation through the Maven cn1lib-archetype by @shai-almog in #4952
- Inline cn1app/cn1lib archetypes; bring to initializr parity by @shai-almog in #4953
- Move Hashnode syndication off the deprecated GraphQL API by @shai-almog in #4956
- Status-bar tap: scroll the visible scroll pane, not the first one by @shai-almog in #4958
- iOS Metal: fix stale framebuffer on rotation (#4954) by @shai-almog in #4961
- StickyHeaderContainer: add TRANSITION_COVER and standalone fade-out flag by @shai-almog in #4959
- Ignore common local artifacts in Initializr projects by @jsfan3 in #4967
- Simulate->Larger Text: refresh the simulator instantly (#4963) by @shai-almog in #4964
- Fix agent tool Codename One version selection by @jsfan3 in #4965
- Support side border shorthands in CSSBorder by @jsfan3 in #4966
- Initializr: clean up generated zips to avoid IndexedDB quota exhaustion by @shai-almog in #4969
- iOS Metal: fix debug-only first-paint crashes by @shai-almog in #4972
- Treat developer guide vale and asciidoc warnings as build errors by @shai-almog in #4971
- Picker: support custom default date via setDefaultDate (#4973) by @shai-almog in #4974
- Refresh Skin Designer device database by @github-actions[bot] in #4975
- Expand CSS gradient + filter:blur support across framework, ports, docs by @shai-almog in #4957
- iOS: size status-bar tap proxy to real safe-area inset (#4978) by @shai-almog in #4981
- Simulator: split Skins menu, fix Native Theme menu, add regression test by @shai-almog in #4984
- Fix #4979: dim backdrop persists after Dialog from on-top side menu by @shai-almog in #4983
- Hardware keyboard + hover support on Android and iOS (#3498) by @shai-almog in #4982
- Commit native theme .res files; add native-themes-sync workflow by @shai-almog in #4976
- Iterative GC mark to fix iOS stack overflow on deep graphs (#3136) by @shai-almog in #4980
- Fix #3108: don't rely on C arg eval order in PUTFIELD/MULTIANEWARRAY by @shai-almog in #4985
- iOS UTF-8 codec: replace-char semantics, NEON ASCII fast-path, benchmark by @shai-almog in #4989
- Fix Purchase.synchronizeReceipts re-submitting same receipt and firing callback multiple times by @shai-almog in #4990
- Fix #4188: RGBImage scaled drawImage renders blank by @shai-almog in #4986
- Update graphics.asciidoc by @Ngosti2000 in #4992
- Simulator: data-driven menu hooks for cn1libs by @shai-almog in #4988
- Add com.codename1.security: biometric auth + secure storage by @shai-almog in #4987
- Fix #4997: guard pointerDragged against empty pointer arrays by @shai-almog in #4998
- Add com.codename1.security crypto API + OtpField widget by @shai-almog in #4994
- Update Animations.asciidoc by @Ngosti2000 in #5000
- Add com.codename1.nfc: NDEF read/write, ISO-DEP/MIFARE/FeliCa, HCE by @shai-almog in #4996
- Add grammar checks to developer guide CI by @shai-almog in #5002
- Fix iOS 26 tap regressions + ParparVM BGPainter NPE by @shai-almog in #5003
New Contributors
- @Ngosti2000 made their first contribution in #4992
Full Changelog: 7.0.243...7.0.244