Custom cursor

Changelog

Every release of Juno, with what changed and, where a PR shipped a visible change, the screenshot or short recording that ships with it.

  1. Juno Unreleased

    Maintenance and internal improvements.

  2. Juno 0.8.100

    • Never press Cmd+C to read the selection
  3. Juno 0.8.99

    • Stop the microphone itself when a recording ends
  4. Juno 0.8.98

    • The demo follows the person's own trigger and never rewrites it
  5. Juno 0.8.97

    • Record any modifier chord, and find the globe key instead of asking
  6. Juno 0.8.96

    • One voice everywhere; an unchosen stored Mac voice gives way to the Mac's own
  7. Juno 0.8.95

    • Post through UNUserNotificationCenter, show banners while frontmost
  8. Juno 0.8.94

    • Hide Bar and Studio, make Pill the default
  9. Juno 0.8.93

    • A quick hold can no longer leave Juno stuck listening
  10. Juno 0.8.92

    • Read provider settings field by field
  11. Juno 0.8.91

    • A settings file can no longer be damaged
  12. Juno 0.8.90

    • Subscription choice never needs an API key, no-provider error in plain words
  13. Juno 0.8.89

    • Developer Tools only in a local development build
  14. Juno 0.8.88

    • Working New Chat, honest voice rows, bar right-click menu
  15. Juno 0.8.87

    • Send in every recording state, and every end of a voice turn closes the mic
  16. Juno 0.8.86

    • Order, labels, and defaults
  17. Juno 0.8.84

    • Default to the Mac's own voice (Siri); remove Add Voices
  18. Juno 0.8.83

    • Light the globe key on the first press
  19. Juno 0.8.82

    • Fn hold window, Right Option and Control holds, no-Fn fallback
  20. Juno 0.8.81

    • Remove both double-tap gestures, add the Fn+Control chord
  21. Juno 0.8.80

    • Release the mic when voice activation is off, gate wake phrases for launch
  22. Juno 0.8.79

    • General keeps only startup and the look
  23. Juno 0.8.78

    • Default look, hover controls, and a mouth that moves with Juno's real voice
  24. Juno 0.8.75

    • Escape deadlock, hover controls, drag, and a way back to the answer
  25. Juno 0.8.73

    • Fast defaults, Kokoro kept warm, a voice choice that sticks
  26. Juno 0.8.72

    • Island is the default look, and its shadow fits its window
  27. Juno 0.8.69

    • Partials on every microphone, and a session that always ends
  28. Juno 0.8.68

    • Show what this Mac can do, with the control that changes it
  29. Juno 0.8.67

    • One path gate for every file-touching command
  30. Juno 0.8.66

    • Put the file tools back inside the approval gate, and pin the names
  31. Juno 0.8.64

    • Make the shipping screen and file monitors honest, bounded and stoppable
  32. Juno 0.8.63

    • Delete the second, ungated agent executor instead of gating it
  33. Juno 0.8.62

    • The default voice engine needs no API key
  34. Juno 0.8.61

    • A reset lands on a provider that works, and the UI shows it
  35. Juno 0.8.58

    • One Escape, shared by every appearance, always back to idle
  36. Juno 0.8.57

    • The test button reports what happened, and the row stops saying "allowed"
  37. Juno 0.8.55

    • A trigger conflict is a field state, not a remembered refusal
  38. Juno 0.8.54

    • Show the screenshots a turn took, in the chat
  39. Juno 0.8.53

    • The floating bar decides whether it is on top, and settings wins
  40. Juno 0.8.50

    • Every appearance drops into a gravity well, not just the Pill
    • The connector gate allows by default
  41. Juno 0.8.48

    • The generator cannot ship a wrong value, and cannot skip one quietly
    • A gesture is a trigger, not a mode of one
  42. Juno 0.8.46

    • One shell parser, and deleting goes to the Trash
  43. Juno 0.8.45

    • Settings comes to the front, and Juno owns the permission moment
  44. Juno 0.8.44

    • Report what Juno observed, not that a command was sent
  45. Juno 0.8.43

    • One decision, three named modes, and no prompt for sleep
    • Listen on a microphone with any channel count
  46. Juno 0.8.42

    • Collapse the thinking panel, and keep tool calls in development
  47. Juno 0.8.40

    • Island and Avatar react to your voice level
  48. Juno 0.8.39

    • Answer the send-approval prompt by voice, yes/no
  49. Juno 0.8.37

    • Visit Website opens junebug.ai
  50. Juno 0.8.36

    • Feed audioLevel from the voice plugin so waveforms move while you speak
  51. Juno 0.8.35

    • Avatar rebuilt as a character with speech bubbles
  52. Juno 0.8.34

    • Call a demo build "Juno Demo" on screen
  53. Juno 0.8.33

    • Halo rebuilt as a ring that measures the turn
  54. Juno 0.8.31

    • Orb rebuilt as a presence, state told by the orb itself
  55. Juno 0.8.30

    • Do not read the spoken sentence twice
  56. Juno 0.8.29

    • Bar rebuilt as the narrator, a timeline of the turn
  57. Juno 0.8.28

    • Every jump and flash on self-resize, with a ledger
  58. Juno 0.8.27

    • Studio rebuilt as a recording studio, waveform and script
  59. Juno 0.8.26

    • Smart routing beta, plus real orchestrator task timeouts
    • Speak first and render components while the reply streams
    • Instant system, timer and app commands
  60. Juno 0.8.25

    • Juno keeps itself current, on a channel that can see our builds
  61. Juno 0.8.24

    • Sync agent mode between Settings and chat pane
  62. Juno 0.8.23

    • Record any bar appearance as an MP4; centre the island in its window
  63. Juno 0.8.22

    • Double tap for hands-free, drop single-tap on hold keys (phase 1)
  64. Juno 0.8.20

    • Ask before Juno sends — per-send approval for connector writes
  65. Juno 0.8.19

    • Island rebuilt as one window that grows to hold the answer
  66. Juno 0.8.18

    • Make --strict-mcp-config a setting, default off
    • Root every claude spawn at the home directory
    • Cap platform wait() and stop it starving the Tokio executor
  67. Juno 0.8.16

    • Reuse ONNX Runtime's optimised graph instead of rebuilding it
  68. Juno 0.8.14

    • Tap to keep going hands-free, key caps, record-on-release (slice 3)
  69. Juno 0.8.12

    • Boot the STT engine the person saved, not Whisper first
  70. Juno 0.8.10

    • Persistent Claude CLI session as a beta toggle under Advanced
  71. Juno 0.8.9

    • Cache the conversation prefix, with a 1-hour TTL on the stable breakpoints
  72. Juno 0.8.7

    • Fewer switches, immediate apply, reachable search (slice 2)
  73. Juno 0.8.6

    • Live appearance picker and outcome-first copy
  74. Juno 0.8.5

    • Stop ONNX Runtime burying the log, and write down two traps
  75. Juno 0.8.4

    • Stop Text Input Services killing the app on paste
  76. Juno 0.8.2

    • The floating bar has a React Orb appearance, built on ogl, with per-state hue, intensity, and audio reactivity
    • The three.js orb, now named ElevenLabs Orb, carries matched colors and motion for every bar state
    • Settings can show or hide the menu bar tray icon and the glowing bar border

    and 19 more

  77. Juno 0.7.3

    • A static depth halo sits behind the floating bar and chat pane, so a black bar stays visible on a dark wallpaper
    • Transcripts rewrite "Juneau" back to "Juno", since Whisper knows the Alaska capital and not the assistant
    • The chat stays pinned to the bottom when you submit. The self-scroll guard widened from a single flag to a short time window, so a burst of layout writes no longer reads as you scrolling away.
  78. Juno 0.7.2

    • Juno mutes the always-listening microphone while she speaks, so her own text to speech cannot wake her
    • A wake chime plays the instant a wake phrase lands, before the request is captured
    • The screen edges glow in system blue while Juno captures a spoken request

    and 17 more

  79. Juno 0.7.1

    • The agent works in the background through accessibility actions and events posted to the target process, so you can keep typing while Juno works
    • Juno asks before taking the physical mouse, and says so on screen while she has it
    • You can hide Juno's Dock icon and run her from the menu bar alone

    and 55 more

  80. Juno 0.7.0

    • The floating bar hosts the chat pane: a pill until you ask something, then the response streams in below it
    • The idle bar is a small pill that grows on hover into mic and type buttons, and drags from anywhere
    • The bar drags on the first click, even when Juno is not the active app

    and 82 more

  81. Juno 0.6.0

    • Companion mode watches without touching anything, enforced at the tool boundary
    • A list_visible_windows tool reports open windows, and window titles reach the agent's system context (LAC-1198)
    • The system prompt tells the agent to observe before acting

    and 5 more

  82. Juno 0.5.3

    • In-app updates ship through tauri-plugin-updater and a GitHub Actions release pipeline
    • MacOS windows gain vibrancy, and a GitHub OAuth flow covers remote control
  83. Juno 0.5.1

    • The agent runs through the Claude CLI as a provider, so a Claude subscription works without an API key
    • Every click hit-tests the macOS accessibility tree and presses the element semantically when one is found, falling back to a coordinate click otherwise
    • The project is licensed under FSL-1.1-MIT

    and 2 more

  84. Juno 0.4.13

    • One script cuts the Tauri, juno-cua, npm, and Homebrew releases
    • A build script links the Swift runtime path for juno-cua
    • Transcription markers filter through one shared filter_transcription_text() rather than several copies
  85. Juno 0.4.11

    • Juno-cua is a headless CLI that exposes computer-use tools as subcommands with JSON output: screenshot, click, type, key press, scroll, app and URL opening, accessibility tree reads, element search, and clipboard access
    • Onboarding asks for an API key as a step
    • The floating bar and capabilities screens are interactive onboarding steps

    and 2 more

  86. Juno 0.4.9

    • Escape stops the agent reliably, where it had been blocking other apps without ending the run
  87. Juno 0.4.7

    • Juno runs headlessly, with a test harness and CLI stubs
    • Agent responses render through tri-modal UI components
    • The bar appearance switches from General settings

    and 7 more

  88. Juno 0.4.1.2

    • Text-to-speech requests run asynchronously, closing a race that dropped or doubled speech
    • Base64 decoding of text-to-speech audio is fixed
  89. Juno 0.4.1.1

    • Screenshots scale to the standard resolutions the Anthropic Computer Use API expects
  90. Juno 0.4.1

    • Configuration and error message templates live in one centralized module, replacing hardcoded strings across providers, settings, and the Anthropic path
    • Agent memory trims aggressively, so a long run stops overflowing the model's context window
  91. Juno 0.4.0

    • Debug command handlers and shared frontend modules cover formatting, validation, and development helpers
    • The agent runner loop is rewritten, and the mouse, filesystem, text editor, element, window, and shell command handlers validate their arguments
  92. Juno 0.3.8

    • A desktop cursor overlay shows where the agent is pointing
    • The developer tools gain a self-improvement panel and a click QA test panel
    • Concurrent text-to-speech requests stop, which had been burning tokens on speech nobody heard
  93. Juno 0.3.2

    • A UI token selector analyzes the screenshot and drops what the model does not need, which cuts screenshot tokens
    • Settings persist through a settings manager with a typed store
    • Escape and stop requests coordinate through dedicated coordinators, so one press ends everything that is running

    and 2 more

  94. Juno 0.3.0

    • The voice AI bar arrives, with a live audio visualizer
    • MacOS permissions are checked natively rather than inferred
    • Linux and Windows have platform setup paths alongside macOS

    and 1 more

  95. Juno 0.2.8

    • A menu bar tray menu and an application menu
    • Dictation state lives in the backend, in a dedicated state manager
    • Frontend constants generate from the Rust constants modules, so event names, timeouts, ports, and UI values have one source

    and 1 more

  96. Juno 0.2.4

    • The always-on-top floating bar and a transparent floating panel
    • An onboarding window
    • Settings screens for shortcuts, notifications, tools, and network

    and 4 more

  97. Juno 0.1.1

    • The Settings window, with sections for the AI provider, voice, and general behavior
    • An onboarding flow
    • JSX components render inside agent messages

    and 4 more

  98. Juno 0.1.0

    • Juno is a native macOS app built on Tauri v2 that gives Claude control of the desktop through Anthropic's Computer Use
    • Work is orchestrated across desktop, browser, and system agents
    • Backend tools control the mouse, keyboard, screen, filesystem, and shell

    and 5 more