Skip to content

Latest commit

 

History

History
259 lines (152 loc) · 14.8 KB

File metadata and controls

259 lines (152 loc) · 14.8 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

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.

[v0.15.0] - 2026-02-26

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] - 2026-01-02

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] - 2025-10-07

Added

  • Added the ability to cancel workflows from the workflow detail page. PR #407.
  • Added the ability to retry workflows from the workflow detail page. PR #430.

Fixed

  • Workflow detail: prevent the viewport from getting stuck zoomed into empty space after navigating between the workflow list and detail pages by remounting the diagram per workflow and enabling fit-to-view on mount. PR #408
  • Workflow detail: make MiniMap render nodes correctly and respect dark mode by setting explicit node bounds and theme-aware colors. PR #408
  • Job detail: show correct wait duration for running or completed jobs. PR #430.

[v0.12.2] - 2025-08-16

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] - 2025-08-16

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] - 2025-08-16

⚠️ 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] - 2025-06-05

Changed

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

[v0.10.0] - 2025-05-13

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.
  • Added a RIVER_LOG_FORMAT env which can be set to json to set the riverui executable to output JSON instead of key=value text. PR #381.

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] - 2025-04-08

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.

[v0.8.1] - 2025-02-27

Changed

  • Updated JS dependencies.

Fixed

  • Fix negative wait times in job timeline. PR #288.
  • Fix occasionally incorrect job durations for errored jobs. PR #288.
  • Improve display of job attempt errors. PR #291.

[v0.8.0] - 2025-02-10

Added

  • Allow PG* env vars as an alternative to DATABASE_URL. PR #256.

Fixed

  • Queue list columns no longer resize when pausing/resuming a queue. PR #286.

[0.7.0] - 2024-12-16

Added

Changed

  • Updated internal dependency of riverqueue/river to compensate for a change to baseservice.Archetype and a utility function. PR #253.

[0.6.0] - 2024-11-26

Added

  • Add RIVER_LOG_LEVEL env for env-based configuration of River UI's log level. Thank you Taras Turchenko! 🙏🏻 PR #183.

Changed

  • Allow RIVER_HOST variable to specify specific host variable to bind to. PR #157.

[0.5.3] - 2024-09-05

Fixed

  • Remove .gitignore from Go module bundle because it messes with vendoring in some situations. Thanks Pedro Henrique! 🙏🏻 PR #149.

[0.5.2] - 2024-09-02

Fixed

  • Fix ListenAndServe() inverted error check. Thanks Martin Tournoij! 🙏🏻 PR #137.
  • Fix refresh and theme selector dropdown positioning. PR #146.

[0.5.1] - 2024-09-01

Fixed

  • Downgrade @headlessui/react version to v2.1.1 to fix issues with listbox menus (refresh settings and theme selector). PR #139.

[0.5.0] - 2024-08-28

Changed

  • The module name was changed from github.com/riverqueue/riverui to riverqueue.com/riverui. This change was made to facilitate bundling of module releases that include vendored frontend assets, which will enable the embedded Handler type to be usable by anybody who go get installs the module without requiring a complex build setup.
  • Rename HandlerOpts to ServerOpts for consistency. The Handler type was renamed to Server in PR #108 but the opts type was not renamed until now. PR #133.
  • Implement http.Handler on Server type via a ServeHTTP method so that it can be used directly without needing to call .Handler() on it. PR #133.
  • Directly specify DB interface type and rename it. Avoids relying on embedding a type from an internal package. PR #133.

Removed

  • Removed the vendored Inter font to reduce bundle size with no noticeable impact on the UI.

[0.4.0] - 2024-08-26

Added

  • Job counts are cached for very large job tables to make request timeouts less likely. PR #108.
  • River UI has been restructured to properly support a dynamic path prefix on built static assets. The -prefix CLI option or the PATH_PREFIX Docker container env can both be used to set a URL prefix on both the API routes and the frontend HTML routes. PR #115.

[0.3.1] - 2024-08-02

Fixed

  • Job detail: handle snoozed jobs without erroring. PR #104.

[0.3.0] - 2024-07-24

Added

  • Added support for workflows. PR #99.
  • The UI now serves a /robots.txt that instructs crawlers to not crawl any part an installation. (You should still use an authentication layer though.) PR #97.

[0.2.0] - 2024-07-02

Added

  • Add health check endpoints. PR #61.
    • GET /api/health-checks/complete (Returns okay if the Go process is running and the database is healthy.)
    • GET /api/health-checks/minimal (Returns okay as long as Go process is running.)
  • Interpret some types of Postgres errors to be user facing to produce better error messages in the UI. PR #76.

[0.1.1] - 2024-06-23

Fixed

  • Fix prebuilt binaries to correctly set required envs before JS build step. PR #61.

[0.1.0] - 2024-06-22

Added

  • Make job list items selectable so they can be cancelled, retried, or deleted as a batch. PR #57.

Fixed

  • Fix job list pagination flashing using TanStack Query's placeholderData feature. PR #56.

[0.0.1] - 2024-06-20

Added

  • This is the initial release of River UI.