Download Latest Version oculix-mcp-server-3.0.3.jar (258.8 MB)
Email in envelope

Get an email when there's a new version of OculiX

Home / v3.0.3-rc5
Name Modified Size InfoDownloads / 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

status track focus

Highlights β€” visual rebrand foundation (theme system, gecko mascot, sidebar polish), Chinese/Japanese typing via clipboard pivot, CLI -l/-e auto-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
  • JFrame icon 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 Logger pipeline + per-project gecko markers
  • Full UTF-8 (βœ“ βœ— β–ͺ) with auto-fallback to ASCII glyphs on legacy Windows cmd
  • chcp 65001 forced 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_DIR write centralized across every chooser
  • SikulixFileChooser: defaults to JAR working directory on first run
  • Save 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 As copies bundle images, ImageButton rename 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 Pattern routes to legacy PatternWindow (preview matching, target offset, similar)
  • In-place promotion with visible badge + code rewrite (no full-line replacement)
  • ImageButton replaces the whole Pattern(...) chain in the editor view
  • Image popup menu hides As Pattern once 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")
  • Optimize wires setParameters / setTargetOffset on EditorImageButton
  • rename image looks up button under imgBtn key (was parm1)
  • PatternWindow: preview matching + null-safe target paint
  • SXDialogPaneImage: progressive screen-resolution fallback

πŸš€ CLI flags -l / -e (#224)

  • -l <file> preloads a script in the IDE on launch
  • -e auto-runs the loaded script after startup completes
  • Auto-run mirrors the -r flow verbatim β€” same Runner.runScripts path
  • 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)
  • -l parsing tightened to one value per occurrence
  • New test-cli.sikuli/test-cli.py smoke test for Linux / WSL / Windows parity

🌏 Unicode typing (#232)

  • Region.type() automatically routes non-ASCII text through clipboard paste()
  • 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.java deleted β€” no longer needed in V3 architecture
  • Sikuli.py Screen.all() now falls back to primary screen (drop-in)
  • PatternWindow rewired to use Screen + FileManager directly
  • PatternPaneTargetOffset updated 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}.xml and IDE/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 bypasses handleQuoting for arguments containing spaces
  • DesktopSupport / TaskbarSupport Java 8 cleanup (Track5)
  • tigervnc-java-oculix bumped 2.0.0 β†’ 2.0.1

πŸ› οΈ Other fixes

  • SX.input rename: isCancelled() instead of broken cancel() return value
  • SX.input: no NPE when lexer is unavailable for text reparse
  • Image-button rename: replace broken SX.input with direct JOptionPane
  • 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 Claude added to OculiX-original Java files (50+)
  • @author tags 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.md working notes removed from the tree

πŸ› Closed in this RC

  • [#232] β€” Chinese / Japanese typing support
  • [#230] β€” App.CommandLine.addArguments() handleQuoting on spaces
  • [#228] β€” ImageButton inline rename
  • [#227] β€” Save As bundle images
  • [#224] β€” IDE -l / -e CLI 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 ScreenUnion removal (PR [#235]), Track5 Java 8 cleanup (#231)
  • Claude (Anthropic) β€” pair-programming partner across the rc5 commit run
  • @kelvinkirima014 β€” earlier showAfterStart deadlock fix (foundational for the rc5 -e auto-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 / -e CLI flags
  • @adriancostin6 β€” [#230] App.CommandLine String[] 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 🦎

Source: README.md, updated 2026-05-09