You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
add a capability-based calendar API for calendars, events, tasks, recurrence, attendees, alarms, free/busy, attachments, conferencing, paging, and typed failures
add Google Calendar/Tasks, Microsoft Graph/To Do, CalDAV, and RFC 5545 import/export integrations
add Android Calendar Provider and Apple EventKit local sources, plus an isolated simulator source and honest unavailable fallbacks
add opt-in offline mutation storage with explicit conflict resolution
add native permission/privacy generation for Android, Apple, macOS sandboxing, and explicit Windows restricted-capability opt-in
document platform coverage, OAuth ownership, permissions, and the pull-based notification contract
Notification contract
The cross-platform guarantee is local change listeners plus provider delta/sync tokens. Listeners run on the Codename One EDT, RESET requests a re-query, and the API does not promise or register provider webhooks.
Developer impact
Applications can detect granular capabilities instead of branching on platform names. Online providers work across ports without adding device-calendar permissions. OAuth credentials and persistence remain application-owned.
Validation
CalendarIntegrationTest: 7 passed
MacNativeBuilderEntitlementsTest and WindowsNativeBuilderArchTest: 10 passed
calendar-package SpotBugs: zero findings
Android, iOS, and JavaSE Java compilation
HelloCodenameOne common compilation
developer-guide Asciidoctor build
BuildDaemon Java 8 Maven compile in the companion PR
The full Java 8 core suite reached 158 passing tests before the macOS VM aborted in the unrelated RoundBorderGradientStrokeResourceTest; there were no assertion failures before the VM abort.
Compared 146 screenshots: 146 matched.
Native Windows port (x64 / Intel-AMD): full hellocodenameone screenshot suite rendered offscreen with Direct2D/DirectWrite, plus the real benchmarks (base64 native/CN1/SIMD, image createMask/applyMask/modifyAlpha/PNG/JPEG, SSE2 SIMD kernels). Compared against the in-repo baseline in scripts/windows/screenshots.
Benchmark Results
Detailed Performance Metrics
Metric
Duration
SIMD kernel backend
SSE2 (x64) / NEON (arm64) native kernels
SIMD int-add (64K x300)
java 63ms / native 5ms = 12.6x speedup
SIMD float-mul (64K x300)
java 64ms / native 5ms = 12.8x speedup
SIMD kernel correctness
PASS (native result == scalar reference)
Base64 native bridge
unavailable (CN1 + SIMD + image benchmarks only)
Base64 payload size
8192 bytes
Base64 benchmark iterations
6000
Base64 SIMD byte path
gated to scalar (CPU autovectorizes scalar; explicit SIMD not beneficial here)
Compared 146 screenshots: 146 matched.
Native Windows port, REAL shipping pipeline: the hellocodenameone screenshot suite rendered by a binary CROSS-COMPILED on Linux (clang-cl + xwin, WebView2 linked) and RUN on a Windows x64 runner. Compared against the in-repo baseline in scripts/windows/screenshots.
Benchmark Results
Detailed Performance Metrics
Metric
Duration
SIMD kernel backend
SSE2 (x64) / NEON (arm64) native kernels
SIMD int-add (64K x300)
java 63ms / native 4ms = 15.7x speedup
SIMD float-mul (64K x300)
java 63ms / native 4ms = 15.7x speedup
SIMD kernel correctness
PASS (native result == scalar reference)
Base64 native bridge
unavailable (CN1 + SIMD + image benchmarks only)
Base64 payload size
8192 bytes
Base64 benchmark iterations
6000
Base64 SIMD byte path
gated to scalar (CPU autovectorizes scalar; explicit SIMD not beneficial here)
Compared 146 screenshots: 146 matched.
Native Windows port (arm64 / Apple Silicon - Arm): full hellocodenameone screenshot suite rendered offscreen with Direct2D/DirectWrite, plus the real benchmarks (base64 native/CN1/SIMD, image createMask/applyMask/modifyAlpha/PNG/JPEG, NEON SIMD kernels). Compared against the in-repo baseline in scripts/windows/screenshots.
Benchmark Results
Detailed Performance Metrics
Metric
Duration
SIMD kernel backend
SSE2 (x64) / NEON (arm64) native kernels
SIMD int-add (64K x300)
java 55ms / native 4ms = 13.7x speedup
SIMD float-mul (64K x300)
java 55ms / native 4ms = 13.7x speedup
SIMD kernel correctness
PASS (native result == scalar reference)
Base64 native bridge
unavailable (CN1 + SIMD + image benchmarks only)
Base64 payload size
8192 bytes
Base64 benchmark iterations
6000
Base64 SIMD byte path
gated to scalar (CPU autovectorizes scalar; explicit SIMD not beneficial here)
Compared 147 screenshots: 147 matched.
Native Linux port (x64), GTK3/Cairo/Pango, ParparVM bytecode-to-C (no JVM): the hellocodenameone screenshot suite rendered by a native ELF built + run on the GitHub x64 runner. Baseline: scripts/linux/screenshots.
Compared 147 screenshots: 147 matched.
Native Linux port (arm64), GTK3/Cairo/Pango, ParparVM bytecode-to-C (no JVM): the hellocodenameone screenshot suite rendered by a native ELF built + run on the GitHub arm64 runner. Baseline: scripts/linux/screenshots-arm.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Notification contract
The cross-platform guarantee is local change listeners plus provider delta/sync tokens. Listeners run on the Codename One EDT,
RESETrequests a re-query, and the API does not promise or register provider webhooks.Developer impact
Applications can detect granular capabilities instead of branching on platform names. Online providers work across ports without adding device-calendar permissions. OAuth credentials and persistence remain application-owned.
Validation
CalendarIntegrationTest: 7 passedMacNativeBuilderEntitlementsTestandWindowsNativeBuilderArchTest: 10 passedThe full Java 8 core suite reached 158 passing tests before the macOS VM aborted in the unrelated
RoundBorderGradientStrokeResourceTest; there were no assertion failures before the VM abort.Companion builder PR
https://github.com/codenameone/BuildDaemon/pull/153