Skip to content

Releases: luxury-yacht/app

v1.9.1

12 Jun 21:09
Immutable release. Only release title and notes can be modified.
48e4f61

Choose a tag to compare

Release

Version: v1.9.1
Commit: 48e4f6143

Added

  • Left/right arrow keys can be used to navigate pages in paginated tables.

Fixed

  • Cluster initialization should no longer hang on unknown API versions of CRDs. Unknown CRDs will be flagged in the Application Logs, but cluster init should proceed normally.

v1.9.0

12 Jun 04:46
Immutable release. Only release title and notes can be modified.
2c7a816

Choose a tag to compare

Release

Version: v1.9.0
Commit: 2c7a81625

Added

  • Table-based views are now paginated, loading a page at a time instead of loading every row up front. Page size is configurable per-view.
    • A new Default page size setting under Settings → Display lets you choose how many rows tables show by default.
  • Tables have buttons to copy to clipboard or export to a file. This captures all of the data in the current view (all data, not just the current page) in CSV format.
  • The YAML editor now warns when your edit would take ownership of fields managed by another controller.

Changed

  • The app is more resilient about reconnecting to clusters after temporary outages. It's also better at differentiating between network reachability vs. authentication problems.
    • Auth failures now continuously retry instead of giving up after 4 attempts.
  • Improved caching of view data. This should make the app feel more responsive because you only have to wait for data to load on the first visit.
  • Improved highlight color for selected text in the YAML editor. Syntax-highlighted code stays readable, and is the same in both read-only and edit modes.

Fixed

  • Cut, Copy, Paste, and Select All now work correctly in the YAML editor.
  • Pod context/actions menus now reliably show all actions that you have permissions to perform.

Refactoring

  • Most of the work in this release was under-the-hood, and has little direct effect on what you see, but should hopefully make the app more reliable. The cluster connection, refresh, session, and large-table systems were substantially reorganized for reliability and performance. Permission checks and object identity handling were centralized so behavior stays consistent and predictable.

v1.8.8

26 May 01:46
Immutable release. Only release title and notes can be modified.
31d3c10

Choose a tag to compare

Release

Version: v1.8.8
Commit: 31d3c10b9

Changed

  • YAML editor now shows protected fields in edit mode, disallows changes to those keys/values, and shows a hover tooltip explaining why they are protected.
  • YAML editor extracted to a shared component to reduce code duplication across views that display/edit YAML.
  • Object panel YAML toolbar icons now sit together as a single group next to the search controls instead of being split across the header. The managedFields toggle stays visible while editing but is disabled, with a tooltip explaining why.

Fixed

  • YAML editing now checks the same patch permission that the save path uses and shows the permission denial reason on the disabled edit action. This prevents a user with insufficient permissions from being allowed to enter edit mode, but not being allowed to save changes.
  • Editor save verification no longer warns when the live object only differs by protected server-owned fields, generated Deployment/ReplicaSet annotations, or kubectl.kubernetes.io/last-applied-configuration. This reduces the amount of unimportant diffs reported by the editor on save.

v1.8.7

21 May 05:43
Immutable release. Only release title and notes can be modified.
1a5b0f7

Choose a tag to compare

Release

Version: v1.8.7
Commit: 1a5b0f7cd

This release is primarily refactoring and hardening, with just a few new convenience features.

Added

  • HPA-managed workloads now have "Scale to 0" and "Resume from 0" actions, replacing the previous disabled "Scale" placeholder.
  • The Scale modal now includes a "Scale to 0" button, so you don't have to open the Scale modal and manually type 0 first.
  • App logs panel updates:
    • Column-based layout with header.
    • Logs now include the source (cluster name or "Global").

Changed

  • Object panel and table actions are gated by an explicit per-action permission matrix (objectActionPermissionMatrix) derived from effective RBAC capabilities.
  • App preferences: the backend now owns the authoritative settings schema (defaults, validation, integer bounds, enum options); the Appearance / Advanced / Object Panel settings sections
    derive slider ranges, enum lists, and clamps from that schema instead of hard-coded frontend constants.
  • Refresh subsystem: the refresh-domain registry now derives from a single JSON contract (backend/refresh/domain/refresh-domain-contract.json) shared by backend registrations and frontend
    descriptors.
  • Resource stream row updates carry full backend object identity through ref (ResourceRef); the legacy top-level identity fields on the wire have been retired now that all consumers read
    from ref.
  • Snapshot and stream row construction now share projected-row helpers and are parity-tested for every streamed domain, so a field added to one path cannot silently drop on the other.
  • Shell sessions, port-forwards, and node drains are tracked through a unified backend runtime-operation registry; SessionsStatus now sources its state from a single runtimeOperationStatus
    reducer. (Internal refactor — the popover still surfaces shell sessions and port-forwards as before.)
  • Backend SIGSEGV sigstack workaround for Linux removed; no longer required under Wails 2.12.0.

Fixed

  • Shell-jump from the sessions status now verifies that the requested object-panel tab actually changed, surfacing dispatch failures instead of silently no-op'ing.
  • Shell session close paths routed through a single closeShellSessionByID helper and the runtime registry, fixing inconsistent status events when sessions were closed by user action vs.
    cluster disconnect.

v1.8.6

17 May 17:35
Immutable release. Only release title and notes can be modified.
efc8d1e

Choose a tag to compare

Release

Version: v1.8.6
Commit: efc8d1e19

Added

  • Support for Gateway API resources in the Object Map.

Changed

  • Resource refresh and streaming are now more consistently scoped per cluster.
    • Background refresh fans out as separate per-cluster work instead of relying on aggregate refresh scopes.
    • Resource streams now resume, resync, and fall back to snapshots more predictably when connections reset or data drift is detected.
  • GridTable behavior is more consistent across resource tables.
    • Filtering, CSV export, column sizing, column visibility, keyboard navigation, focus handling, and persisted table state now share the same underlying table logic.
  • Container Logs and Node Logs now share more of the same viewer behavior.
    • Search, filtering, JSON parsing, copy/export behavior, ANSI rendering, and scroll restoration are more consistent between the two log surfaces.
  • App preferences are now saved through a unified settings path.
    • Settings use backend-provided defaults, validation, and bounds.
    • Failed preference saves roll back optimistic frontend changes instead of leaving the UI and persisted settings out of sync.

Fixed

  • Refresh rejects multi-cluster scopes by default, preventing accidental mixed-cluster state from being written to the refresh store.
  • Resource stream connection health and diagnostics are more accurate during reconnects, resets, and visibility changes.
  • GridTable row and cell lookups handle cluster-scoped keys and column keys without unsafe assumptions.
  • Node log fetching routes through the shared cluster data-access policy, so paused refresh behavior and diagnostics are handled consistently.

v1.8.5

12 May 05:38
Immutable release. Only release title and notes can be modified.
acabd7c

Choose a tag to compare

Release

Version: v1.8.5
Commit: acabd7cc0

Added

  • Object Map support for PodDisruptionBudget and NetworkPolicy.
  • Kubernetes API diagnostics and controls.
    • Advanced Settings now include Kubernetes API QPS, burst allowance, and permission-check concurrency controls.
    • Diagnostics panel now shows per-cluster Kubernetes API request rates, configured QPS/burst values, total requests, throttling responses, server errors, and last request timing.
  • Sidebar display preferences in Settings.
    • Dimming namespaces with no workloads can be disabled
    • Namespace expansion can now be configured to keep only one namespace open at a time or multiple namespaces open.

Changed

  • Settings, modal, icon, and command palette polish.
    • Common modal headers now use a more consistent title and close-button treatment.
    • Consistent icons and more logical item arrangement in the command palette.
    • Settings sections use clearer icons and labels.
  • Improved Object Map zoom behavior.
    • Auto-fit now limits maximum zoom so small maps do not over-enlarge.
    • Map rendering now responds better to app zoom changes without unexpectedly refitting the view.
  • Numeric inputs no longer have spinner controls and are right-aligned for readability.
  • Themes now use an internal pattern matcher instead of filename globbing.

Fixed

  • Letters with descenders (j, g, y) should no longer be clipped in Windows.
  • Workload readiness during rollouts now uses live Pod readiness counts when available, making rollout status more accurate.
  • Map tabs no longer show manual-refresh state while they are only waiting for their first snapshot.
  • Selecting a view before refresh data is ready now populates once the data arrives.
  • Kind badge hover styling no longer clips the bottom border.
  • Event badges render with the correct success/warning styles.

v1.8.4

09 May 18:55
Immutable release. Only release title and notes can be modified.
8f98c15

Choose a tag to compare

Release

Version: v1.8.4
Commit: 8f98c158b

Changed

  • Redesigned Settings panel. Settings are now organized into Appearance, Kubeconfigs, Display, Object Panel, and Advanced sections.

    • Cleaner settings layout with more descriptive text about what the settings do.
  • Updates to App Themes.

    • There is now a default theme that cannot be deleted and is the auto-fallback theme when no custom theme pattern matches the cluster name. Any theme changes made while not in a theme edit mode will ask to save the changes to the default theme.
    • Updated the light-mode default accent color from #0d9488 to #326ce5, to better tie in the app's appearance with Luxury Yacht logo colors.
  • Cluster Overview pod Status and Signal cards.

    • Pod Status now separates ready, starting, failing, and terminating pods.
    • Pod Signals now show pods with restarts and pods with containers that are not ready.
    • Clicking status or signal cards opens the all-namespaces Pods view with the matching filter applied.
  • Node maintenance actions are now available from context and actions menus instead of a separate Maintenance tab in the Node Object Panel.

    • Drain opens a modal with advanced options, live status, drain history, cancellation, and retry support.
  • Backend resource semantics now live in a shared model under backend/resourcemodel. Previously, views would decide on how interpret the data, which allowed statuses and references to drift between tables, detail panels, streams, and maps. The backend now canonically manages resource identity, status, lifecycle, and object relationships, while the frontend renders the app-level models instead of reinterpreting Kubernetes semantics. The upshot of all this is more consistent data presentation throughout the app, and less risk of future drift.

  • Workload, rollback, port-forward, node maintenance, and favorites flows now use stricter object and cluster identity, improving behavior when multiple clusters contain similarly named resources.

Fixed

  • Modals can no longer accidentally be closed by clicking on the backdrop.
  • Open modals no longer prevent dragging the app from the title bar.
  • Workload Scale modal now accurately prepopulates the current count.
  • Link color preferences are applied correctly at startup.
  • Event object links now use consistent link colors.
  • Disambiguated "mode" and "theme". Previously, the term "theme" was used to refer to both the color themes and the light/dark modes. Now "mode" refers strictly to light/dark mode, "theme" refers to color themes.

v1.8.3

05 May 23:59
Immutable release. Only release title and notes can be modified.
3e141d9

Choose a tag to compare

Release

Version: v1.8.3
Commit: 3e141d901

Changed

  • Object Map improvements
    • Improved performance on very large maps
      • Progressively reduce card detail at low zoom levels to save on redraw overhead
      • Switched to simple straight connections for very large maps instead of computationally expensive curved connections
    • Added a toolbar icon for Reset Zoom
    • Added a Map Debug overlay, invoked with ctrl+alt+m
      • When in Map Debug mode, there is an overlay showing the coordinates on the map
    • Added Object and Link counts to the Legend
    • Added a close button to the Legend with a tooltip explaining how to reopen it
    • Added clearer visual feedback for manual map refresh
  • Removed dead CSS and migrated hardcoded colors to tokens in the theme files

Fixed

  • The Object Map would sometimes generate incomplete payloads, resulting in missing objects. Imcomplete data should now be rejected before it is passed to the frontend.
  • The Object Map would appear to jump unpredictably when using Focus mode without Auto-Fit. This behavior should be more predictable.
  • Updated vite config to fix error on startup when running in development mode

v1.8.2

05 May 05:40
Immutable release. Only release title and notes can be modified.
29fb298

Choose a tag to compare

Release

Version: v1.8.2
Commit: 29fb298e6

Changed

  • Object Map improvements
    • Increased opacity on dimmed elements to make it easier to trace selected paths in a large map
    • Added object Age to the cards in the lower right corner
    • Added a status indicator to certain objects (workloads, pods, nodes)
    • Improved column organization to attempt to keep related object kinds together

v1.8.1

05 May 01:56
Immutable release. Only release title and notes can be modified.
5598b44

Choose a tag to compare

Release

Version: v1.8.1
Commit: 5598b44d2

Changed

  • Object Map improvements
    • Filtered paths - when objects are filtered from the map using the Kinds dropdown, we calculate paths between the objects that remain visible
      • Tooltips on filtered paths show the filtered objects
    • Added a context menu to the canvas
    • Moved map controls into a dedicated header area
    • Objects in the map use the same Badge styles as the rest of the app, for fast visual identification of object types
    • Support for the "short resource names" setting
    • Added show/hide all connections buttons to the Legend
    • Legend can now be dragged from its original position
    • Manual move/resize automatically disables auto-fit
    • Modified selected/dimmed styles to make selected objects/paths clearer