| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| oculixide-3.0.3-rc5-windows.jar | 2026-05-09 | 129.1 MB | |
| oculixide-3.0.3-rc5-macos.jar | 2026-05-09 | 121.0 MB | |
| oculix-mcp-server-3.0.3-rc5.jar | 2026-05-09 | 258.8 MB | |
| oculixapi-3.0.3-rc5-linux.jar | 2026-05-09 | 181.4 MB | |
| oculixapi-3.0.3-rc5-macos.jar | 2026-05-09 | 106.7 MB | |
| oculixapi-3.0.3-rc5-windows.jar | 2026-05-09 | 114.8 MB | |
| oculixide-3.0.3-rc5-linux.jar | 2026-05-09 | 195.7 MB | |
| OculiX 3.0.3-rc5 (release candidate) source code.tar.gz | 2026-05-09 | 14.6 MB | |
| OculiX 3.0.3-rc5 (release candidate) source code.zip | 2026-05-09 | 15.3 MB | |
| README.md | 2026-05-09 | 8.0 kB | |
| Totals: 10 Items | 1.1 GB | 1 | |
Highlights β visual rebrand foundation (theme system, gecko mascot, sidebar polish), Chinese/Japanese typing via clipboard pivot, CLI
-l/-eauto-run finally green on Linux + Windows + WSL, native fat-jar slimmed by ~50 MB on Linux and ~114 MB on Windows, ScreenUnion removed (Track4 cleanup), 73 new automated test cases.
π¨ Visual rebrand foundation
- New theme primitives:
OculixColors,OculixFonts,OculixDarkLaf,OculixLightLaf - Sidebar: wordmark, hero card, glowing status dots, pill-style theme switch
- Welcome tab: gecko mascot, RaiMan citation, theme-aware copy + center alignment
- Editor: tab strip surface, workspace/message bg, visible split divider
- Light mode: hero readability, auto-hide explorer, muted slate-blue debug colors
- IDE splash: gecko cyclope hero replaces the old banner
JFrameicon set for Windows taskbar / Alt+Tab / title bar
π¦ Maven build banner (Easter egg, see [#237])
- ASCII gecko + rotating "fun-but-pro" taglines + success/failure footer
- SLF4J
Loggerpipeline + per-project gecko markers - Full UTF-8 (
β β βͺ) with auto-fallback to ASCII glyphs on legacy Windows cmd chcp 65001forced at startup for Windows console UTF-8.mvn/extension jar bundled β works from the first clone, no manual install
π Console & theme toggle
- Console theme decision via
PreferencesUser, not LaF name (more robust) - Scrollback re-htmlize on theme toggle β full session history preserved
- Drop auto-clear on script run (both inline + full-script paths)
ScriptExplorer(workspace pane) follows the theme toggle- Persist theme pref before LaF swap (no flash on next launch)
- Selection foreground/background pairing for dark-mode contrast
- Run separator routed through
System.out.println(matches[DEBUG STARTUP]channel) - Light mode: darker high-contrast log colors
π File dialogs & workspace
LAST_OPEN_DIRwrite centralized across every chooserSikulixFileChooser: defaults to JAR working directory on first runSave As(flat.py+ workspace): copies referenced PNGs into target folder- Workspace: permissive script discovery β supports 3 folder layouts
- Workspace: explorer pane visibility forced via
invokeLater + revalidate - Image-flow:
Save Ascopies bundle images,ImageButtonrename works (#228) - Recorder + file-open: skip duplicate import + reparse on load
- New
SikulixFileChooserDefaultDirTestβ 10 cases lock the dir-memory contract
πΌοΈ Pattern button & image flow (#209)
As Patternroutes to legacyPatternWindow(preview matching, target offset, similar)- In-place promotion with visible badge + code rewrite (no full-line replacement)
ImageButtonreplaces the wholePattern(...)chain in the editor view- Image popup menu hides
As Patternonce the button is already a Pattern - Glyph indicators on the Pattern button + hover code variant
- Hover shows filename only β custom
Pattern()preview popup dropped doShowThumbs: bounds + content check before swap (silences "Invalid remove")OptimizewiressetParameters/setTargetOffsetonEditorImageButtonrename imagelooks up button underimgBtnkey (wasparm1)PatternWindow: preview matching + null-safe target paintSXDialogPaneImage: progressive screen-resolution fallback
π CLI flags -l / -e (#224)
-l <file>preloads a script in the IDE on launch-eauto-runs the loaded script after startup completes- Auto-run mirrors the
-rflow verbatim β sameRunner.runScriptspath - Validation reads CLI args directly instead of the loop counter (Windows-specific bug fixed)
- Trigger deferred to a clean EDT pulse (no race with Jython init)
-lparsing tightened to one value per occurrence- New
test-cli.sikuli/test-cli.pysmoke test for Linux / WSL / Windows parity
π Unicode typing (#232)
Region.type()automatically routes non-ASCII text through clipboardpaste()- Chinese / Japanese / Cyrillic / accented Latin now type correctly
- Previously failed with
Key: Not supported character: δ½and similar - ASCII fast-path unchanged β zero overhead for Latin scripts
π₯ ScreenUnion removal (PR [#235], Track4)
ScreenUnion.javadeleted β no longer needed in V3 architectureSikuli.pyScreen.all()now falls back to primary screen (drop-in)PatternWindowrewired to useScreen+FileManagerdirectlyPatternPaneTargetOffsetupdated post-removal- 9 dead code paths cleaned up
π¦ Native lib bundling slim (#236, Phase 1)
- Maven assembly excludes fixed across
API/makeapi-{lux,win,mac}.xmlandIDE/makeide-{lux,win,mac}.xml - Apertix + Legerix native libs were targeting phantom paths (
/nu/pattern/opencv/<os>/) - Now match the actual top-level jar layout (
darwin/,linux-x86-64/,win32-x86-64/) - Result: ~50 MB shaved on Linux fat-jar, ~114 MB on Windows fat-jar
- Phase 2 (classifier-based resolution via
os-maven-plugin) tracked in [#236]
β App API (#230) + Java 8 cleanup (#231)
App.open(String[])overload bypasseshandleQuotingfor arguments containing spacesDesktopSupport/TaskbarSupportJava 8 cleanup (Track5)tigervnc-java-oculixbumped 2.0.0 β 2.0.1
π οΈ Other fixes
SX.inputrename:isCancelled()instead of brokencancel()return valueSX.input: no NPE when lexer is unavailable for text reparse- Image-button rename: replace broken
SX.inputwith directJOptionPane LightLaf: default-button foreground dark on cyan accent- New 63-case IDE test suite: recorder, theme, workspace, lifecycle smoke
π Docs / housekeeping
@author Julien Mer+@author Claudeadded to OculiX-original Java files (50+)@authortags removed from inherited SikuliX1 files (provenance via git history)- CI: bug report template + chooser config, project-status sync,
status:*label strip on close - Local-only
CLAUDE.mdworking notes removed from the tree
π Closed in this RC
- [#232] β Chinese / Japanese typing support
- [#230] β
App.CommandLine.addArguments()handleQuoting on spaces - [#228] β
ImageButtoninline rename - [#227] β
Save Asbundle images - [#224] β IDE
-l/-eCLI flags - [#209] β Pattern thumbnail rendering parity with SikuliX
π Living issues referenced
- [#237] β π¦ Maven gecko Easter egg (living doc)
- [#233] β rc5 umbrella epic
- [#236] β Native bundling roadmap (Phase 2)
π Contributors
Code (this RC):
- @julienmerconsulting β release lead, IDE refactor, branding, pair-programming flow
- @RaiMan β Track4
ScreenUnionremoval (PR [#235]), Track5 Java 8 cleanup (#231) - Claude (Anthropic) β pair-programming partner across the rc5 commit run
- @kelvinkirima014 β earlier
showAfterStartdeadlock fix (foundational for the rc5-eauto-run flow)
Issue reporters whose tickets ship in this RC:
- @blackball β [#232] Chinese / Japanese typing
- @micves β [#209] Pattern thumbnail rendering parity vs SikuliX
- @roboraptor β [#224] IDE
-l/-eCLI flags - @adriancostin6 β [#230]
App.CommandLineString[] arguments + earlier Linux 22.04 glibc validation that paved the path for the bundling slim
Plus everyone who tested the RCs in the wild, filed bug reports, and stuck around through 5 candidates π¦