Skip to content

Releases: riverqueue/riverui

v0.16.0-rc.1

08 May 21:57
6730dee

Choose a tag to compare

v0.16.0-rc.1 Pre-release
Pre-release

Version 0.16.0 includes support for the all new workflow engine in River Pro v0.24.0, including signals, timers, and greater introspection capabilities.

⚠️ Workflow features in v0.16.0 rely on new workflow-related tables that are part of the riverpro v0.24.0 release. River UI's workflow queries may be disabled or poorly performing until the River Pro migration v006 has been applied in your database.

Added

  • Workflow detail: add support for new River Pro workflow features, including signals and timers. PR #567.

Fixed

  • Workflow detail: add on-canvas zoom controls for click/touch navigation and improve controls styling for dark mode. PR #524.
  • Workflow detail: improve default workflow diagram framing for legibility while still allowing manual zoom-out to view the full graph. PR #524.
  • Workflow detail: truncate long workflow names in the header to prevent overflow and add a copy button for the full name. PR #524.
  • JSON viewer: sort keys alphabetically in rendered and copied output for object payloads. PR #525.
  • Job state sidebar: only highlight Running when the selected jobs state is actually running, even with retained search filters in the URL. Fixes #526. PR #527.
  • Job delete actions: require confirmation before deleting a single job or selected jobs in bulk. Fixes #545. PR #546.
  • Workflow detail: show the backend's not-found message instead of crashing when a workflow ID does not exist. PR #564.
  • Job detail: render a dedicated Snoozed timeline step for scheduled jobs with prior attempts so snoozed jobs no longer show negative wait durations. PR #565.
  • Workflow detail: source wait phases, timers, signal evidence, and task wait reasons from backend workflow wait metadata instead of frontend-derived placeholders. PR #567.
  • Workflow detail: redesign wait inspection around a denser task-side summary, structured term/timer/signal cards, reliable full-node selection, Storybook workflow detail coverage below the diagram, and a tighter details layout that keeps job metadata with the main job card. PR #567.
  • Workflow detail: add a task-signal debugger backed by task-scoped River Pro signal reads while keeping workflow detail wait data summary-only. PR #567.
  • Workflow detail: clarify wait inspection with a compact condition matrix, phase-aware match summaries, explicit signal scopes, condition-type icons, per-term CEL definitions, and denser timer/dependency/signal evidence. PR #567.
  • Workflow detail: replace the flat narrative event list with a task timeline that keeps dependencies in one place, emphasizes wait evidence and durations, avoids showing staged events before a task is actually runnable, and uses a lower-noise milestone hierarchy. PR #567.
  • Workflow detail: remove the not-started wait preview from dependency progress milestones. PR #567.

v0.15.0

21 Feb 19:55
aa7e0de

Choose a tag to compare

Changed

  • Upgrade supported Go versions to 1.25 and 1.26, and update CI accordingly. PR #508.
  • Upgrade River to v0.31.0 and River Pro to v0.22.0. PR #511.
  • Numerous dependency upgrades.

Fixed

  • Prevent double slash in URLs for root path prefix. Thanks Jan Kott! PR #487.
  • Serve UI HTML for wildcard or missing Accept headers and return 406 for explicit non-HTML requests. Fixes #485. PR #493.
  • Prevent jobs detail navigation from bouncing back to /jobs/ on slow networks due to stale filter-sync URL updates. Fixes #495. PR #504.
  • Workflow detail: improve dependency edge routing to avoid turns under task cards, avoid line segments crossing node bodies, and keep fan-in edges visually converged into shared merge lanes when possible. PR #507.

v0.14.0

03 Jan 22:10
8b52df4

Choose a tag to compare

Added

  • Added a -silent-healthchecks flag to riverui and riveruipro executables to avoid noisy HTTP logs from healthcheck endpoints. PR #444.

Fixed

  • Remove accidentally left in replace statement in riverproui/go.mod. PR #480.

v0.13.0

08 Oct 13:44
029cbf4

Choose a tag to compare

prepare v0.13.0 (#442)

v0.12.2

17 Aug 02:50
8b2a534

Choose a tag to compare

No changes from v0.12.0 except fixes to the release process. v0.12.0 is not usable, this version should be used instead.

v0.12.1

17 Aug 02:00
0fd238b

Choose a tag to compare

No changes from v0.12.0 except fixes to the release process. v0.12.0 is not usable, this version should be used instead.

v0.12.0

16 Aug 21:32
aae662d

Choose a tag to compare

⚠️ Version 0.12.0 has breaking changes when running riverui as an embedded http.Handler or via a Docker image. The ghcr.io/riverqueue/riverui images no longer include Pro-specific functionality; Pro customers must use new riverqueue.com/riverproui images to access Pro features. The main type was also renamed from Server to Handler for correctness since it functions as an http.Handler. See details below.

Changed

  • Go binary now built without debug symbols for a ~35% reduction in output size. PR #391.

  • Breaking change: River UI has been split into two modules and two executables: riverui for OSS-only functionality, and riverproui which adds Pro-specific functionality through dependencies on riverqueue.com/riverpro. This change makes it far easier to continue extending the UI for everybody but especially for Pro-specific feature.

    As part of this, the Server and ServerOpts types were also renamed to
    Handler and HandlerOpts respectively. Users who embed riverui into
    their Go app as a handler will need to update their riverui.NewServer
    initialization to riverui.NewHandler and to provide an Endpoints option in
    riverui.HandlerOpts, using riverui.NewEndpoints(client, nil) for the OSS
    riverui functionality or riverproui.NewEndpoints(client, nil) with a
    riverpro.Client for riverpro functionality:

    handler, err := riverui.NewHandler(&riverui.HandlerOpts{
        // For OSS riverui:
        Endpoints: riverui.NewEndpoints(client, nil),
        // Or, for riverpro:
        Endpoints: riverproui.NewEndpoints(client, nil),
        // ... other options
    })

    This structure enables Pro-specific API handlers and feature flags to be added to the Pro endpoint bundle.

    Users who run River UI from a Docker image can continue using the published OSS ghcr.io/riverqueue/riverui images for OSS-only functionality, while those using River Pro will want to migrate to the riverqueue.com/riverproui Docker images which are now being published. The Pro images are hosted with a Docker repository that leverages the same credentials as the River Pro Go module server. For details on how to configure this, see the River UI docs.

    For users who directly run the published riverui executables (published as GitHub release artifacts), there are no riverproui equivalents; those who need one can build it directly from riverproui/cmd/riverproui in this repository. Alternatively, migrate to either the riverqueue.com/riverproui Docker images or embed the http.Handler in your app as shown above.

    As part of this change, all database queries were removed from riverui in favor of being implemented directly in the underlying OSS and Pro drivers. PR #379 and PR 400.

  • For job kind and queue name searching, match input against substrings instead of only prefixes. Particularly for long names, this is far more convenient. PR #398.

Fixed

  • Remove __riverUiBasePath and __riverUiAssetUrl global functions to eliminate Content Security Policy issues. The application now uses the existing JSON configuration approach consistently for all path resolution. PR #382.

v0.11.0

05 Jun 15:37
39db187

Choose a tag to compare

Changed

  • Upgraded all dependencies.
  • Compatibility with River Pro v0.15.0 and River v0.23.0.

v0.10.0

13 May 17:27
3947b28

Choose a tag to compare

Added

  • Added a flexible search filter UI for the job list. PR #344.
  • Added riverlog middleware logs to the job detail UI via a new unified attempts list, rather than separate lists for errors, attempted by, and now logs. PR #346.
  • Added a RIVER_JOB_LIST_HIDE_ARGS_BY_DEFAULT env and ServerOpts.JobListHideArgsByDefault setting to give the backend the ability to choose to hide args from the job list by default. This is useful if your args tend to be encoded or encrypted and not worth looking at in bulk. It can also be overridden in a new settings screen in the UI. PR #354.

Changed

  • Job args and metadata on the job detail view now use an interactive collapsible JSON view rather than pretty-printing the entire payload on screen. For large payloads this is a better UX and doesn't disrupt the page flow by default. PR #351.

Fixed

  • Corrected links on queue list page to use the TanStack Router <Link> component instead of raw <a> tags so that settings like path prefix will be respected. PR #353.

v0.9.0

09 Apr 12:41
66f96fd

Choose a tag to compare

Added

  • Added a queue detail page with the ability to view queue stats. For River Pro customers, this page offers the ability to dynamically override concurrency limits and to view individual clients for each queue, along with how many jobs each is working. PR #326.