Releases
v1.0.0
Compare
Sorry, something went wrong.
No results found
Features
add api to get bluelight viewer config (7237059 )
add backend testing with Vitest integration (93b0d63 )
add custom modified @remix-run/multipart-parser (aec8f0f )
add middleware for cleaning up temporary files in WADO-RS (0ea9d8e )
add quality handling in JPEG conversion (35669e7 )
api: add DICOM stats route (e4ed5c7 )
audit: implement DICOM transfer auditing across WADO-RS handlers (79a8901 )
auth: add authentication and permission verification to multiple routes (7feb724 )
auth: implement verifyAuth middleware and guest user handling (37a4943 )
auth: wrap /api/auth/session to get guest user (3612b58 )
build: add pre build script (293de24 )
build: add sea build workflow and example environment configuration (8b3ef76 )
build: enhance sea build process with optional JRE inclusion (ed1e1ad )
build: use nodejs official sea build instead of nexe (71d0fc1 )
database: add cascade option in relation (b1030f7 )
database: add createdAt index to event log table (a9a270f )
database: add deletedAt to workspace table for soft deletion (5036b1b )
database: add dicomCodeSequence table (5393681 )
database: add instance table (cee3979 )
database: add InstanceSubscriber and SeriesSubscriber for automatic instance and series count updates (13ae1af )
database: add name column to share_link table (eeadf19 )
database: add numberOfSeriesRelatedInstances column to SeriesEntity (4daa86d )
database: add patient table (b4e8e3c )
database: add person_name table (8597ebf )
database: add poolSize for sqlite/better-sqlite3 type (ba7eaf3 )
database: add series table (700c054 )
database: add SeriesRequestAttributesEntity and update SeriesEntity (db58dc5 )
database: add study table (af2b100 )
database: add workspaceId column to event log table (e00e234 )
database: add default values to numberOfStudyRelatedColumns in StudyEntity (cf9ab61 )
database: add tag and tag_assignment entities (f373faa )
database: append tag entities to data source definition (d46b065 )
database: change targetId type to string in tag_assignment table (b2be871 )
database: convert acquisitionDateTime to bigint (8cf44e5 )
database: create DIMSE configuration and related entities (4069bb1 )
database: enhance Instance, Series, and Study services to merge JSON data (8bba4a6 )
database: enhance subscribers with listenTo method (19765de )
database: update modalitiesInStudy in study json after series insertion (4743e3d )
database: update columns to patient table (b9d8147 )
database: update unique index for tag_assignment table (e7d1b44 )
dicom-audit: implement DICOM audit logging (c3f146e )
dicom-card: add DicomCardTagBadge component for displaying tags (d1839b3 )
dicom-context-menus: add sopInstanceUid prop to context menu and data table (ae7bcc5 )
dicom-context-menus: integrate tag sub menu in DICOM context menus (28f6089 )
dicom-data-table: add context menus to DICOM studies, series, and instances data tables (660fd19 )
dicom-delete: add delete routes for DICOM instances, series, and studies (a7a0b00 )
dicom-delete: implement delete and undelete functionality for instances, series, and studies (e6dd4b4 )
dicom-instance-context-menu: add DICOM, JPG, and PNG download options (3768d72 )
dicom-instances: add DICOM series management components (9491eb5 )
dicom-instances: add download in selection toolbar for selected DICOM series (9942460 )
dicom-instances: add download with JPG and PNG options for instance level (4e32111 )
dicom-instances: extract loading and error states to components (01c9c0b )
dicom-instances: implement instance level page (cc6ee4c )
dicom-recycle: add routes for recycling DICOM instances, series, and studies (348b411 )
dicom-search: add tag filtering capability to DICOM search conditions (19ccadd )
dicom-search: enhance search functionality with URL synchronization (5dddc19 )
dicom-search: implement search for DICOM studies (423201b )
dicom-search: integrate search for DICOM series and instances (b2f4ce0 )
dicom-study-context-menu: add close context menu functionality (157b82a )
dicom-tag-management: integrate tag dropdown sub in DICOM tables (ca30982 )
dicom: add cookie support to queries (800da3b )
dicom: add DICOM cleanup scheduler and shutdown handling (9e8126b )
dicom: add restore routes for DICOM instances, series, and studies (ae78566 )
dicom: clear selection on component unmount (864f767 )
dicom: compute number of related columns via query (17e371f )
dicom: enhance DICOM cleanup process with recycling logic (afdffc1 )
dicom: enhance query functionality with cookie support (67d2931 )
dicom: enhance thumbnail query logic (53fdab6 )
dicom: implement clear selection on blank click (6947b11 )
dicom: implement cursor-based pagination for series and study instanceS retrieval (a322bb1 )
dicom: implement list layout for DICOM instances display (ebca4ed )
dicom: implement reactivateInstancesOnUpload method (1e536d0 )
dicom: implement recycling confirmation dialog for instances, series, and studies (9aa3e42 )
dicom: integrate BlueLight Viewer into DICOM instance context menu and data table (20f0a00 )
dicom: integrate delete status in DICOM queries and components (9b8f580 )
dicom: only restore instance when upload same instance (bd37515 )
dicom: set delete status to ACTIVE when uploading same instance (f2c3a7f )
dimse: add c-echo dimse service (88aefab )
dimse: implement C-FIND SCP service (441de1b )
dimse: implement C-MOVE SCP service (e441c83 )
dimse: implement C-STORE SCP service (858b8ad )
dimse: implement DIMSE configuration routes and services (0db4756 )
dimse: reload device application entities when dimse config changed (8be911e )
docker: add Dockerfile and compose files (d93ebde )
download-manager: add getAllTasksCount method and update close logic (859c737 )
download: implement series download functionality (be7bd3a )
env: add DICOM_STORAGE_FILEPATH for local storage usage (bda925b )
event-logs: add event logs UI components and functionality (6ff388a )
event-logs: implement event logs API (2b5e3c9 )
extract common logic of convert method to base converter (6c4a57b )
global-search: extend search types and enhance state management (f6ee10d )
global-search: implement global search across DICOM components (372ca54 )
handle frameNumber in DICOM image converter (46bdb9c )
handle ICC profiles for DICOM image conversion (d75c7eb )
i18n: add i18n support for share-with-me page (5ba1747 )
i18n: add i18n support for share page (b62262d )
i18n: add i18n support for tag creation dialogs (8550a54 )
i18n: add i18n surrpot for pagination control (f2fef6d )
i18n: add translation to date-range-picker (a8cfe68 )
i18n: apply i18n to my share links related components (6db4225 )
i18n: apply i18n to forbidden component (f203142 )
i18n: apply i18n to share management dialog related components (3fb801c )
i18n: integrate internationalization across UI components (de81c79 )
i18n: integrate translation for DICOM recycle messages (b9af695 )
image-converter: support displayp3 value for iccprofile param (e837c06 )
image-converter: support yes value for ICC profile param (1d32a47 )
implement base converter for DICOM image conversion (bd30eca )
implement retrieve series instances API (1ac970a )
implement retrieve study instances API (e8e1955 )
implement WADO-URI API for retrieving DICOM instance (5208d20 )
instrumentation: enhance shutdown handling and logging (ad4816d )
integrate loading component and top loading bar (29f381c )
layout: replace RootLayout to LanguageLayout (564e757 )
logging: implement database logging for events (2e82f0f )
logging: include workspaceId in event logging across multiple routes (cbc96bd )
middleware: enhance authentication flow for signin route (282689d )
middleware: implement authentication middleware (745de39 )
myShares: implement My Shares page with share link management and pagination (988c90c )
nav: add signout for nav user (636167a )
next.config: add CORS headers for API routes in dev env (bf526f3 )
qido-rs: add searchInstances route (361dfd8 )
qido-rs: add searchSeries route (bc644a6 )
qido-rs: add searchStudySeries route and schema (5a3d5f9 )
qido-rs: add searchStudySeriesInstances route and related schema (76b91a8 )
qido-rs: add delete status handling with query builders (2eade58 )
qido-rs: add DICOM query audit logging (eac9073 )
qido-rs: add request ID and event log to DICOM query routes (cdda578 )
qido-rs: add search studies route (62740b5 )
qido-rs: add tag filtering to DICOM search queries (27e5a90 )
qido-rs: implement DateTimeQueryStrategy for handling datetime queries (2b1e996 )
qido-rs: implement DICOM search query builder and strategies (78fdfad )
qido-rs: update response with study and series related instance counts (59193b1 )
query: introduce number query schema and strategy (b12b6a8 )
schemas: add date and time range validation schemas for DICOM queries (72d8f4a )
server: Implement viewport handling in JPEG (e66694c )
server: add DICOM image conversion in WADO-RS instance retrieval (996d745 )
server: add global logger (48b1f03 )
server: add verify workspace exists middleware (340caf5 )
server: add WADO-RS instance retrieval basic API (1fadf24 )
server: implement DICOM image conversion utilities (01ea8e9 )
server: implement s3 storage provider (75ad484 )
server: implement storing files and data into db in STOW-RS (61375b0 )
share-link: add delete and public share link routes (26bdf28 )
share-link: implement share link with permissions (83dd91b )
share-link: implement share link management routes (2a49185 )
share-links: add route to get count of target share links (5384a72 )
share-links: add route to retrieve target share links for workspaces (2b3fe90 )
share-links: add share link access middleware for target verification (ec8be8c )
share-links: enhance share link context and dropdown menus with permission checks (1f83bb4 )
share-links: implement Share With Me for displaying received share links (f045b56 )
share-links: include user-specific permissions in public share link route (80b768e )
share-link: update permissions and access tracking in updateShareLink (025bd4f )
share: add routes for retrieving thumbnails of shared instances, series, and studies (cb4c89e )
share: add tag display to shared DICOM cards (38884b7 )
share: add WADO-RS and WADO-URI routes for retrieving shared DICOM (84bba56 )
share: enhance bluelight viewer to open shared DICOM resources (439b987 )
share: implement share link routes and middleware (ada1dc5 )
share: implement share management system for ui (7e28b9b )
share: implement shared content viewer for DICOM resources (f0eb1ac )
share: implement tag management APIs for shared resources (bd42630 )
share: implement tag management UI for shared DICOM resources (fb9dc63 )
shareLink: add optional name field to share link creation and update schemas (ee820ab )
shareLink: implement pagination for user share links retrieval (b1998e0 )
share: support name input field in CreateShareTab and ManageShareTab components (53af7ca )
share: support share link description updating (136440c )
stow-rs: add request id and event log (c915797 )
tag-context-menu: add loading state for improved user experience (38f2ec1 )
tag: add delete tag (8b35181 )
tags: enhance tag assignment logic to check for existing assignments (4ec171a )
tags: implement tag management routes (fcd5313 )
tag: sort tag by name in tag sub menu (62b8cfb )
tags: support name query to getAllTags route (67f107c )
ui-dashboard: add no modalities display (7eca810 )
ui-dicom-recycle: add type prop for context menus in DICOM components (d358bee )
ui-dicom-recycle: implement DICOM recycle for studies, series, and instances (e84ecf3 )
ui-dicom: add tags column to DICOM data tables (51e3256 )
ui-dicom: clear params upon backing to parent level (d7802bf )
ui-dicom: integrate BlueLight Viewer functionality (b8ed467 )
ui-tags: add CreateTagDialog and TagContextMenuSub components for tag management (2299b98 )
ui-tags: implement TagDropdownSub component for tag management (5a62f08 )
ui-workspaces: implement workspace management (fbeea94 )
ui/dicom: add "Copy UID" to dicom item context menu (ab8b585 )
ui/dicom: apply i18n to series content (a64fe38 )
ui/dimse: add DIMSE settings UI (6e76e08 )
ui: add context menu for DICOM study card (9cb7677 )
ui: add custom 404 not found page (002c57a )
ui: add dashboard & sidebar (ce68ab0 )
ui: add share management functionality to DICOM table actions (1467537 )
ui: enhance pages and actions with permission checks (28604c8 )
ui: implement LoadingDataTable component (436d8dd )
ui: implement DICOM instances management page (ff83c25 )
ui: restructure project dirs for more flexible layout usage (fc54c77 )
ui: support recycling DICOM in instances, series, and studies pages (5ad86c9 )
update favicon (132d5a3 )
update instance's tag to store for search response payload (ebe8914 )
upload: implement DICOM file upload page (d2a2f47 )
url-search-params: improve URL synchronization and state management (53c3463 )
user: implement user search route and service (5a055ec )
wado-rs: add retrieveFramePixelData route (659a3e9 )
wado-rs: add retrieveInstanceMetadata API (624148d )
wado-rs: add retrieveRenderedInstances API (1492d11 )
wado-rs: add retrieveRenderedSeries API (36d05c3 )
wado-rs: add retrieveSeriesMetadata API (55492b7 )
wado-rs: add retrieveStudyMetadata API (6d44199 )
wado-rs: add request id and event log (574241b )
wado-rs: add support for retrieving rendered frames (641a8f4 )
wado-rs: add thumbnail transaction APIs (df6d3aa )
wado-rs: enhance frame number handling and validation (c093649 )
wado-rs: support uncompressed frame output (0c3d6f7 )
WADO-URI: add iccprofile param (09cfe9d )
wado-uri: enhance windowing params validation (b5f9038 )
workspace: add endpoint to retrieve default workspace (95527a2 )
workspace: add leave workspace functionality (e505852 )
workspace: add workspace permission verification middleware and service (b42b374 )
workspace: create new default workspace when all workspaces deleted (2aaaedc )
workspaces: add guest access handling for default workspace when auth is disabled (3b60e84 )
workspaces: add routes for getting workspace by id (d53c0af )
workspaces: add workspace member management routes (69e4d77 )
workspaces: update workspace retrieval to include user member ship (f36f832 )
workspace: validate UUIDs for workspace and user IDs in service methods (41342f0 )
Bug Fixes
auth: implement custom TypeORM adapter for authentication (763161d )
auth: update column types in entities (c8b8a09 )
build: add pre build script into package.json (66367f8 )
build: update to include imagemagick wasm in output folder (1e2b4cb )
database: acquisitionDateTime should be datetime (4776363 )
database: getDateTimeType return datetime when type being sqlite (e11239c )
database: add default for accessCount in shareLink entity (a96851a )
database: fix import path for const (4bcbd45 )
database: handle memory sqlite in config parser (0232c72 )
database: make accessionNumber nullable in StudyEntity (a46187c )
database: missing DicomCodeSequenceEntity in data source (684bb96 )
database: should append unique flag in uq index of migrations (471a2c8 )
database: should be ManyToOne for referringPhysicianName field (13fa209 )
database: should set to optional for nullable props (47f056c )
database: update create and update column type to timestamp (c32d98e )
database: update DT value transformation logic (b73fc67 )
database: update entities definitions in AppDataSource (1399acc )
database: update entity relationships in ShareLink entities (2bc173d )
database: update import path without alias (a5590ba )
database: update import path without alias & update typo field (fbd98fc )
database: update imports and adjust date column types in tag entities (7959217 )
dicom-delete: missing update series and study after deletion (ce440c9 )
dicom-delete: update delete status from RECYCLED to DELETED for cleanupEmptySeries (385bca0 )
dicom-instances: missing SOPClassUID and SOPInstanceUID columns for instance data table (2f2c234 )
dicom-recycle: invalidate queries on instance restore and delete success (3c7d997 )
dicom-studies: update effect dependencies for blue light viewer closure (48d9559 )
dicom-study-card: refine button styling and add left-click restriction (a2fd70b )
dicom-table: wrap thumbnail image in a flex container for better alignment (ef68a29 )
dicom-ui: missing invalidate query after recycling in series context menu (20b5f3b )
dicom: handle empty series and study instances in query builders (3094bc1 )
dicomSearch: make deleteStatus parameter optional in query builder (957f458 )
dicom: update delete status handling in DICOM queries and components (e8bf60b )
env: use base optional schema to passthrough authentication schema to env (71f717d )
fix incorrect magick format of image.write (a0358cc )
fix linter for bluelight-viewer-dialog (8085e32 )
fix retrieval url in stow-rs response message (fe4a285 )
i18n: correct translation path for clearAll in search modal (b507b0e )
lint (01ef47d )
log: update log to print error stack (714c76b )
middleware: prevent i18n redirect for /html path (79f7003 )
missing cookie declaration (68dfe77 )
nav-main: add full width class to navigation links for better layout (039d179 )
nav: missing cookie for fetching session in app-sidebar (d69439b )
patient: update subquery syntax in EXISTS clause (3519592 )
pre-build: correct example env path (e451a70 )
qido-rs: use valid query for right type inference (0f5edab )
react-query-study: missing apply queryParams to hono api calling (8c1a0db )
react-query: update query key to include params to cache data properly (f07777f )
remove duplicate content-length info in multipart (77cfbee )
resolve read-only filesystem error in nexe packaged env (24c22f7 )
schema: add SeriesDescription field and correct ScheduledProcedureStepID key in searchStudySeriesSchema (bc6f23d )
server: correct response structure of STOW-RS (88adde8 )
share-link-card: resolve nested button hydration error and a11y violation (3720800 )
share-links: missing recipient in share link creation (ce20bf7 )
share-links: resolve recipient is not update error (7dedae5 )
share-links: resolve the error where users not included in recipient (0b9a073 )
share-links: update instance query to use right query builder (03deb8d )
share-wado-rs: remove unused workspaceId param in validation schema (f4b7381 )
share: content not displaying after enter correct password (dc61286 )
share: correct schema and validation order in assignShareTag route (6988b9e )
share: fix query key order to invalidate share links properly (f4da889 )
tags: update targetId type in assignTagSchema to string (db5a0e3 )
tests: update instance variable names in TestDatabaseManager for consistency (1609457 )
ui-share: update public permissions handling in ManageShareTab (1d4a86f )
ui/invite-member: should invalidate queries after inviting (1a2f479 )
ui: delete not invoke in selection-control-bar (7e38a49 )
ui: use static import for images to work in production (6965701 )
upload: handle directory uploads or multiple files when dropping (c5af6bd )
upload: let upload queue process more than one job (e728f61 )
upload: reset file input value after file selection (9d4bf09 )
upload: should invalidate studies, series, instances queries after uploading (0bce67a )
upload: update translation keys to include count for valid and invalid uploads (d1b2228 )
validate frame number in DICOM image conversion (250844c )
wadoRs: correct validation logic for viewport parameters (192810f )
workspace: correct spelling of membership in workspace store (0844d5c )
workspace: update permission requirement for workspace deletion (c7dd2dd )
workspace: update permission requirement for workspace updating (ba1df30 )
Others
add build:web and copy-file:web scripts in package.json (915007b )
add date-fns-tz package for timezone (ea047f3 )
add nextjs-toploader package (f3c3213 )
add bluelight submodule (488c80b )
add memory mcp rule for cursor (383357f )
bump @biomejs/biome to 2.3.10 (6078ee4 )
bump class-validator to 0.14.3 (93823ae )
bump hono to 4.10.7 (aad4c00 )
bump next to 15.5.9 (1abb2ff )
bump nextjs to 15.5.7 (f07622c )
bump raccoon-dcm4che-bridge to 0.7.1 (6863644 )
bump raccoon-dcm4che-bridge to 0.7.2 (6cbfde0 )
bump react-dom to 19.1.4 (4dd737c )
bump react to 19.1.4 (075de9f )
bump vitest to 4.0.14 (285640b )
disable radix auto import (c73baf3 )
exclude all bluelight in biome linter (5759606 )
fix biome config for ignoring bluelight (8902112 )
init (bd06963 )
remove desktop app (060f8d5 )
run biome format (02df14c )
run formatting (e1534d5 )
sort import (c0c36eb )
update bluelight submodule (4e70eeb )
update bluelight submodule (051ef11 )
update bluelight viewer submodule (04e8801 )
update pnpm workspace configuration (8521e4f )
update type of DicomElement (d851982 )
Refactor
change type to timestamp for now column (c0a0bdd )
change upload concurrent to one to prevent database conflict (e87b7a8 )
convert: singleton magick wasm path (e0cb34e )
database: extract database initialization (b780285 )
default frameNumber to 1 for WADO-RS/URI (83a6571 )
default store ISO_IR 192 to characterSet (5b93ebe )
dicom-delete: generalize the update delete status and optimize queries (88cb3c5 )
dicom-file-saver: move hash computation out of transaction (e20316b )
dicom-instances: centralize download handling with custom hook (1f7aec1 )
dicom-instances: extract pagination control to component (4ea1479 )
dicom-instances: extract selection bar to component (98e2b39 )
dicom-instances: implement pagination logic with hook (9f18c4e )
dicom-instances: streamline instance data table (6af9b9d )
dicom-recycle: extract instance recycle actions into a custom hook (d8e39fd )
dicom-recycle: extract series recycle actions into a custom hook (8b8a01a )
dicom-recycle: extract study recycle actions into a custom hook (2e41f12 )
dicom-recycle: streamline data tables for studies, series, and instances (a6be20a )
dicom-series: streamline series data table (ad01c09 )
dicom-studies: streamline DICOM studies data table and thumbnail handling (4dfab1f )
dicom: centralize selection handling in DicomSeriesCard and DicomStudyCard (0283b22 )
dicom: enhance DICOM stats with delete status filtering (66406ac )
dicom: extract tag display to DicomCardHeaderTagsDisplay component (7b8fca0 )
dicom: improve WASM path resolution (2c7fd9d )
dicom: rename contentDateTime to contentTime across database and related files (d452bbc )
dicom: simplify thumbnail handling in DicomSeriesCard and DicomStudyCard (ce24096 )
dimse: extract getContextKey to utils fns (4e228bb )
dimse: replace getWorkspaceId with getWorkspaceIdFromAssociation utility function (4a9dc1b )
download: extract download common logic to downloadDicomResource (63d2ff9 )
drop pglite support (066c059 )
enhance STOW-RS with error handling and logging (e648fe0 )
extract multipart decode method (90670aa )
image-converter: read dataset before pixel data (3ea2b32 )
move instrumentation to src folder (783d78e )
move cleanup to background to avoid block response (125f48f )
move dimse module from packages to apps/web/src/server (175a34e )
move wado rs schema into schemas folder (62f2828 )
qido-rs: refactor searchStudySeriesSchema to use nested tag keys for better type infer (070577f )
query: refactor DICOM search query builders for improved flexibility (45fae00 )
recycle: extract create tag dialog state to zustand store (9105fcb )
recycle: extract recycle confirm dialog state to zustand store (96e7c0d )
recycle: extract share create tag dialog state to zustand store (cc67fe1 )
rely on stream event to delete temp file (2d313cc )
remove IS_LOCAL_APP and rely on migrations for SQLite (1971fef )
rename dicom-series.card to dicom-series-card (96ed437 )
rename ENABLE_AUTH to NEXT_PUBLIC_ENABLE_AUTH to use in both of client and server side (e5f3d72 )
replace dicom-instances route with dicom-studies for clarity (21ec086 )
run next-auth middleware only when auth mode on (902b2aa )
server: initialize database in instrumentation (1de4500 )
server: only select id as existing flag to improve sql query (59fa90c )
share: extract share management dialog state to zustand store (41eb35f )
share: improve password authentication with cookie-based verification (be30a4f )
shareLink: update query logic for user share links by removing recipient (5245bc0 )
share: skip retry for password protected content (c195e96 )
share: streamline ManageShareTab component and integrate ShareLinkEditForm (ce22ef6 )
share: unify share link data handling across components (97839fe )
standardize date and timestamp types across entities (64af752 )
thumbnail: extract core logic to handlers for reusable (7b01f32 )
ui: enhance selection bar with icon button group (3bdcb85 )
ui: extract download options to component for reusable (b4b0264 )
ui: implement pagination for share link list in ManageShareTab component (ea8f60d )
ui: improve DICOM component state management and selection handling (8d74f11 )
upload: change toast to bottom-center for better UX (d40426d )
wado-rs: extract core logic to handler for reusable (6eab5bd )
wado-rs: implement cursor-based pagination for study and series instances retrieval (8d11c65 )
wado-uri: extract core logic to handler for reusable (69d27f1 )
You can’t perform that action at this time.