Bug fix: the organization switcher shows in the breadcrumbs for
single-organization users too, instead of only appearing when you
belong to several organizations. (cytario-web 9.0.1)
New: the active organization is part of every address — you are
always working inside one organization context, shown in the URL. A
revoked membership fails closed, switching organizations reloads the
page into the new context, and requests can never act in an
organization their address doesn't name. (cytario-web 9.0.0 — the
"organization switching" release)
Bug fix: extensionless SpatialData store folders open in the viewer
— zarr-based spatial-data stores without a file extension are
recognized and dispatched correctly. (cytario-web 8.16.10,
spatialdata-viewer 1.0.2)
Bug fix: public buckets load again in the browser — the app's
security policy now admits the bucket's actual regional address, so
tiles and thumbnails are no longer blocked for regional public
buckets. (cytario-web 8.16.7)
Bug fix: the memory-pressure notice is back — when the viewer
trims caches to stay responsive under heavy slides, you are told what
happened instead of the app silently slowing down. (cytario-web
8.16.6)
Bug fix: public storage connections discover the bucket's region
on creation, so browsing them works right away instead of failing on
the first request. (cytario-web 8.16.3)
New: public, credential-less storage connections — organizations can
share read-only public buckets (e.g. demo or open data) that anyone can
browse without credentials. The app's security policy adapts
automatically to the connected providers.
Change: the hosted edition's welcome overlay is gone — the guided
tours now cover first steps. (saas-plugin 2.0.0)
Bug fix: connection form fixes — the endpoint placeholder no longer
suggests a pinned AWS region, and typed names are no longer overwritten
by a late suggestion. (cytario-web 8.15.0)
Bug fix: CZI slides no longer show blank spots where a tile load
was interrupted — interrupted tiles are retried instead of staying
blank. (czi-loader 1.6.2)
Bug fix: downloads serve fresh bytes instead of a stale cache
copy, and transient tile-read hiccups are retried once instead of
leaving a blank spot. (cytario-web 8.14.2)
New: a user-management tour and the guided-tour finale are available
from the Help menu, and tour tooltips follow the platform's design.
Bug fix: tour steps point at the right areas of the page instead of
the sidebar, and the invite step targets the page header as intended.
(cytario-web 8.14.0)
Security: dependency and runtime updates — the runtime now ships
Node 24.22.1 with pinned base images, and vulnerable dev/test
dependencies (vite, vitest) are patched. No feature changes.
New: Markdown files render in the object browser — .md files open
as formatted documents instead of raw text. Load errors now show a
clear banner, and edit-mode discarding says so explicitly.
(cytario-web 8.11.0)
New: clearer connection access levels — unselectable access levels
now explain why, filters are shared consistently, and error messages
refer to the admin portal in plain language instead of internal jargon.
(cytario-web 8.10.0)
Bug fix: anchored overlay cells draw exactly once — cells belonging
to a tile are drawn by that tile only, removing double-drawn, doubled-up
overlay cells at tile boundaries. (cytario-web 8.9.2)
New: RustFS storage support — organizations can connect a RustFS
object store as a storage provider (selectable in the admin portal's
connect dialog), with a matching optional demo connection in the demo
catalog. (cytario-web 8.9.0)
Bug fix: the annotation thumbnail menu no longer blocks clicks —
hovering or hiding a thumbnail's menu button no longer swallows clicks
meant for the thumbnail itself. (cytario-web 8.8.5)
New: smarter default output location — when you run an analysis, the
output folder defaults to a named subfolder of the input's parent
instead of the input's own location, so results no longer land next to
the slides. (compute-plugin 2.22.0)
Bug fix: QPTIFF slides no longer show permanent holes where a tile
load was interrupted — interrupted tiles are retried instead of staying
blank. (qptiff-loader 1.5.2)
Bug fix: opening a slide no longer lands at an unusable zoom level or
shows blank channels — the viewer now waits for the image to finish
loading before applying the view, and channels render even while their
brightness statistics are still being computed. (cytario-web 8.8.1 and 8.8.2)
Performance: switching view settings is much faster — view settings
are read through a properly cached, always-fresh fetch, and channel
visibility changes no longer rebuild the viewer's internal state, so
toggling channels or switching views responds almost instantly instead
of stuttering. (cytario-web 8.7.1 and 8.7.2)
Bug fix: the tile cache respects its memory budget with real tile sizes,
and hover readouts track the selection you hover over, not the visible
order. (cytario-web 8.7.1)
Performance: QPTIFF slides pan and zoom more smoothly — in-flight
tile reads are no longer aborted under cache pressure and the reader
caches more blocks. (qptiff-loader 1.5.1)
New: HTML reports open in the browser — self-contained HTML report
files (including Quarto exports) are recognized and displayed with their
styles and scripts intact, with a 50 MB size limit. (cytario-web 8.5.0)
Bug fix: the viewer no longer breaks on startup when saved annotation
class settings from an earlier release have an unexpected shape.
(cytario-web 8.4.3)
Bug fix: several annotation classes fixes — classes are scoped per
annotation set instead of leaking across sets, the connection chip no
longer shows a stale value on first render, and overlays no longer
flicker while the viewport settles. (cytario-web 8.4.2)
Bug fix: overlays render again on machines whose GPU exposes no
WebGL2 extensions list — the shader modules used for overlay
compositing are now registered before use. (cytario-web 8.4.1)
New: join annotations of the same class — merge same-class
annotations into one straight from the context menu or the annotation
popup, with the popup closing only when the join actually succeeded.
(cytario-web 8.4.0)
New: annotation list gets class groups — annotations are grouped by
class name with collapsible groups, items carry their class color, and a
click popup at a point on the canvas selects all annotations there.
(cytario-web 8.3.0)
New: right-click context menu for annotations — on both the
annotation list rows and directly on the canvas, with a corrected click
popup that restores focus properly.
Bug fix: “Clear classification” is only offered for annotations that
actually have one, and annotation thumbnails keep their size in the
list. (cytario-web 8.2.0)
Bug fix: saved views stop carrying overlays around — overlays you
load are no longer baked into a saved view's settings, so opening a view
no longer resurrects someone else's (or a stale) overlay set, and
machine-local overlays survive view reconciliation.
Bug fix: the magnifier is correct for OME-TIFF and OME-Zarr slides
too — objective power is read from the OME metadata and Zarr companion
metadata, and planar detection no longer misreads odd-shaped slides.
Bug fix: write sessions fail with a clear error instead of producing a
broken policy when the generated access policy exceeds the platform
limit. (cytario-web 8.1.1)
New: guided tours — a getting-started tour on first visit and a
viewer tour, listed in the Help menu. Steps stay on screen, no longer
scroll the page behind them, and remember that you finished them. Tours
can be turned off entirely by your administrator.
New: the hosted edition's welcome overlay now points clearly at the
demo connection. (cytario-web 8.1.0, saas-plugin 1.7.0)
New: batches get real identities — each job batch has a stable
identifier and an optional display name, shown in a stable order in the
jobs list. (compute-plugin 2.20.0, cytario-web 7.1.0)
Bug fix: smoother and faster panning at high zoom — no more holes
between zoom steps, fewer wasted re-renders, and tile-loading progress
that no longer stalls the frame loop. (cytario-web 7.0.5)
New: the jobs list is grouped by batch, with a summary row for each
batch so related jobs stay together. (compute-plugin 2.19.0)
Bug fix: submitted jobs are recorded before they reach the provider, so a
submission that never completes no longer vanishes from the list.
(cytario-web 7.0.3, compute-plugin 2.18.2 and 2.18.3)
Bug fix: the jobs page tells you when the compute provider is unreachable
instead of showing an empty list, and the selected cluster survives a page
reload. (compute-plugin 2.18.3)
Bug fix: the on-screen magnifier is calibrated from the slide's own
objective power instead of assuming a fixed 20× — magnification readouts
are now correct for slides scanned at other objectives. (cytario-web
7.0.1)
Bug fix: SVS files with many JPEG2000 tiles no longer open extra decoder
workers per image, which leaked workers and slowed the viewer down.
(svs-loader 1.2.2)
Bug fix: several MRXS rendering fixes — stitch positions, window
rounding, and fluorescence channel routing now match the vendor viewer.
(mrxs-loader 1.2.0)
Security: compute jobs use per-job access tokens, held server-side
and never exposed to the running container's configuration — a job can
no longer outlive its own access or read another job's storage.
(cytario-web 7.0.0, compute-plugin 2.18.0)
New: measurement tools in the viewer — a box stamp tool for dragging
or clicking fixed-size rectangles, a global display-unit toggle for the
scale bar, rulers, and labels, and a settings section to control scale
bar/ruler visibility and units. Pixel readouts and measurement labels are
rounded consistently, and shift-range selection now spans annotation set
blocks. (cytario-web 6.39.0)
New: NDPI slides load more reliably — the loader reads the format's
64-bit directory layout, uses the declared channel count and sample
format, and decodes the base level without artifacts. (ndpi-loader
1.7.0)
New: analysis apps from private catalogs — registry pull secrets can
be configured per catalog (see admin-portal v2.17.0 below), so private
registries work without exposing credentials to jobs. (cytario-web
6.36.0, compute-plugin 2.17.0)
Bug fix: QPTIFF channels are labeled with their biomarker instead of
the filter name. (qptiff-loader 1.4.1)
Bug fix: overlays no longer wash out bright slides — stacked overlays
are composited offscreen so additive overlays stay readable on bright
bases. (cytario-web 6.38.0)
Bug fix: more CZI rendering corrections — untinted channels render in
white, edge tiles are clipped correctly, and single-scene pyramids place
levels accurately. (czi-loader 1.5.1)
Bug fix: major CZI loader overhaul — correct colors for
JPEG/JPEG-XR-compressed slides, correct tile placement at pyramid edges
and level origins, and bounded reads for attachments. (czi-loader 1.5.0)
New: Save and Load let you choose the destination — pick the
connection and folder in the storage picker when saving a run
specification, instead of always writing to the default location; Load
opens the same picker so specifications can be opened from anywhere you
can read. (compute-plugin 2.16.0)
New: floating sidebar sections — drag any sidebar section out into its
own panel, which keeps its width, scrolls independently, and stays above
the image; a shortcut hides all floating panels at once, and keyboard
focus brings one back. (cytario-web 6.34.0)
Bug fix: overlays from different files now blend correctly when stacked,
and markers with the same name across overlays get different colors.
(cytario-web 6.33.2)
Bug fix: your entered values in the job run form are no longer reset when
the app definition provides defaults, and job tags are validated against
provider limits before submission. (compute-plugin 2.15.1)
New: reusable run specifications — save the whole run configuration
(inputs, parameters, resources) as a named specification, re-run a past
job by prefilling the form from its recorded specification, and load/save
specifications for later use. (compute-plugin 2.15.0)
Bug fix: compute resource requests work with the provider envelope keys
the admin portal sets, picking a usable resource instead of failing.
(cytario-web 6.33.1)
New: the run form shows the exact resources each job will request —
memory and disk size in GiB, plus compute (vCPU), GPU, and the time
limit — instead of an approximation. (compute-plugin 2.13.0)
New: your own shared views are adopted automatically on first visit, so
you land on the view you last used instead of a default. View selection
and channel initialization no longer glitch when presets change.
(cytario-web 6.32.0)
Bug fix: canceling a job no longer revokes credentials still needed by
other jobs in the same batch, and job output links open the correct
location. (compute-plugin 2.11.0)
New: long-running compute jobs keep their storage access alive
automatically, so jobs no longer fail with expired access on big
workloads. (cytario-web 6.31.0, plugin-api 6.8.0 — keepAliveGrant)
Bug fix: compute jobs reach the job broker via the address your platform
is configured with, so jobs no longer fail in setups where the broker
runs under a separate address. (compute-plugin 2.10.0)
Bug fix: opening a shared view no longer creates an empty default view,
and channels initialize reliably when switching presets.
(cytario-web 6.24.0)
New: your changes to a shared view are saved to your own copy instead of
overwriting the shared one; the views list is more compact with clear
state icons.
Overlays and annotations now default to 50% fill opacity.
New: choose the compute cluster when submitting jobs (replaces the
My/Group scopes), and organization members can cancel each other's jobs.
(compute-plugin 2.8.0)
Bug fix: viewing large slides no longer exhausts browser memory — caches
are bounded and trimmed under pressure, and oversized CSV conversions are
capped. (cytario-web 6.18.1)
Bug fix: problematic OME-TIFF files are rejected with a clear error
instead of failing unclearly, and closing the viewer frees its memory.
(cytario-web 6.17.1)
New: redesigned tables and organization management — refreshed
table design across the portal, an organization detail modal, and
updated user management actions.
New: transactional emails — subscription notices such as
trial-ending reminders are sent by email, branded with the Cytario look.
New: seat reconciliation — monthly active users are counted over a
trailing 28-day window, with escalations when the subscription's seat
count is exceeded.
Bug fix: a Stripe edge case where a live subscription looked cancelled
because of a $0 trial invoice no longer corrupts the subscription
status.
Bug fix: editing a bucket's groups now also updates the storage role's
mirrored group list, so access changes apply everywhere instead of
silently drifting.
New: RustFS storage connections — a provider-type picker in the
connect dialog with a RustFS path, and an optional RustFS demo catalog
and onboarding connection. Connection problems during verification
report the actual cause.
New: multiple app catalogs per organization — connect as many
analysis catalogs as you need (previously one), each with its own cluster
scope, endpoint validation, and per-catalog registry pull secret for
private registries. Existing single-catalog organizations are migrated
automatically.
Bug fix: invited users land in the app instead of an error page.
New: app catalogs without credentials — connecting an analysis catalog
no longer requires registry credentials for registries that allow public
access.
New: a compute provider can be given a maximum resource envelope
(instance type, count, GPU count, maximum runtime) alongside its
defaults, so analysts can see how large a job their cluster can place.
New: the SSO configure flow accepts the OIDC client secret —
confidential OIDC providers configured through the portal previously
failed silently at sign-in because the secret could not be entered;
customers without Keycloak console access now configure SSO end to end.