CHANGELOG (Noctiluca Navigator macOS, iOS)

This document describes the update history for Noctiluca Navigator for macOS / iOS.

Noctiluca Navigator 0.9.8

New Features

1. Clipboard Sharing Support

Starting with this version, clipboard sharing is now supported.

You can configure clipboard sharing settings in the 'Transfer' tab of each computer's connection settings screen.

Noctiluca Navigator 0.9.7

Improvements

1. Fixed Intermittent Deadlock When Disconnecting from a Session

Fixed an issue where the app could become unresponsive due to an intermittent deadlock when disconnecting from a remote session.

Fixed an issue where a circular reference involving CADisplayLink caused related objects to remain in memory after disconnecting from a session.

Noctiluca Navigator 0.9.6

This update focuses on improving the stability of the projection feature.

New Features

1. Metal Renderer Implementation and Sharpening Filter (CAS)

  • An experimental Metal renderer implementation has been added. You can now select the renderer implementation from the 'Projection Settings' tab.

  • A Contrast Adaptive Sharpening (CAS) filter has been added. Screen quality can be significantly improved in non-Retina / non-HiDPI remote desktop sessions.

    The CAS filter is available when using the Metal renderer.

Improvements

1. Fixed Screen Going Black When Switching Displays

Fixed an issue where the screen would frequently go black and freeze when switching displays.

2. macOS: Improved Mouse Scope Handling When Spawning Multiple Displays as Separate Windows

Fixed an issue where mouse scope was not handled correctly when spawning multiple displays as separate windows, causing mouse input to be sent to an entirely different display. Mouse input is now correctly delivered to each display window.

3. Fixed Potential Crash Due to Data Race in Mouse Cursor Handling

Fixed an issue where a data race in mouse cursor handling could cause the app to crash unexpectedly.

4. Fixed Projection Channel Rapidly Opening and Closing Repeatedly

Fixed an issue where the projection channel could rapidly open and close repeatedly under certain conditions. This resolves excessive CPU usage and battery drain that could result from this behavior.

Noctiluca Navigator 0.9.4

This update focuses on improving the stability of the projection feature.

Improvements

1. Fixed Screen Freezing on Projection Session Reset

When a projection session was reset due to changes in the host's display resolution, the decoder was also reset, but it did not restart, causing the screen to freeze.

Now, when a session is reset, the decoder properly restarts and the screen continues to update.

Noctiluca Navigator 0.9.2

This update includes projection performance improvements, expanded quality settings, HiDPI support, and numerous stability enhancements.

Improvements

1. Expanded Quality Settings / HiDPI (Retina) Resolution Support

  • The codec settings sheet has been split into 'Basic' and 'Advanced' tabs.
  • You can now choose a quality policy: Auto, VBR (Variable Bitrate), CBR (Constant Bitrate), or Lossless.
  • Bitrate can now be adjusted directly. Depending on the quality policy, you can set a maximum bitrate or target bitrate.
  • Maximum resolution can now be capped (480p–4K or unlimited).
  • You can now receive the server's Retina (HiDPI) display at its native resolution.
  • Fixed an issue where the remote cursor appeared too small during HiDPI projection.

2. Improved Projection Performance for Tiling Codecs

  • When using tile codecs (WebP, ZRLE, MJPG), rendering has been switched to direct Metal-based rendering. This eliminates unnecessary pixel buffer copies compared to the previous AVSampleBufferDisplayLayer path, resulting in faster rendering.
  • Tile decoding is now processed in parallel, improving decoding speed in multi-core environments.

3. Cursor Size Scale Setting

  • A setting has been added to adjust the display size of the remote cursor within a range of 0.5x–1.5x.

4. Automatic Projection Session Recovery

  • When a projection session terminates unexpectedly due to system errors, the client now automatically re-requests projection (up to 3 times).
  • This feature is especially helpful on hosts affected by the issue where ScreenCaptureKit throws an error and stops when it determines disk space is insufficient (FB13303206).

5. Input Settings Fixes

  • Fixed an issue where mouse button inversion, scroll inversion, and scroll scale settings were not applied immediately after changes.
  • Fixed an issue where the mouse cursor was not hidden when entering Exclusive mode.

6. Connection Stability Improvement

  • The connection is now considered disconnected after 3 consecutive server response failures. This reduces unnecessary disconnections caused by momentary delays.

7. UI Improvements

  • Fixed jittering when dragging the performance overlay.
  • macOS: Rounded corners are now applied to sheet backgrounds (dimming window).
  • macOS: A minimum window size is now enforced for the main window. The window can no longer be resized excessively small.
  • iOS: Fixed an issue where the projection screen background appeared blue.
  • iOS: Fixed an issue where the projection screen would disappear during iPad multitasking (Slide Over, etc.).
  • iOS: Fixed an issue where section buttons in the settings screen appeared blue.

8. Security Enhancement

  • Sensitive information such as passwords entered during authentication is now immediately cleared from memory after transmission.

9. Expanded Localization

  • Many hardcoded Korean strings have been converted to localization keys.
  • Translation corrections have been made, including certificate warning text and Japanese particle errors.
  • CJK input methods now automatically switch to the ABC keyboard when a password input field is focused.

Newly Discovered Bugs

  • An issue where the user is silently navigated back to the main screen upon connection failure, which can be confusing.

  • An issue where no indication is shown when an invalid SSH key is registered as an authentication method, which can be confusing.