Valuation & Appraiser Mode
Appraiser artwork comparable sales
• Introduced a dedicated section with common table and modal for managing artwork comparable sales in appraiser mode.
Validation improvements
• Appraisers are warned if they submit valuations without linked artwork comparable sales.
Improved item fetch and endpoints
• Optimized logic for fetching items in appraiser mode.
Bulk appraisal submission
• Implemented /appraisals/bulk
POST endpoint for faster on-demand mode workflows.
Deprecated appraisal statuses
• COMPLETED
status has been deprecated for consistency.
Items, Documents & Archival
Prevented deletion
• Items and documents now use a .status
enum (PUBLISHED
, ARCHIVED
) instead of hard deletes.
Archive & restore endpoints
• New /archive
and /restore
endpoints let users safely archive and unarchive items and documents.
Aligned archival logic
• Item and workspace archival logic now follows the same structure.
Document improvements
• Documents are now populated when fetching items. Improved layout.
Bulk report enhancements
• Added "Select All" for bulk report generation. Improved Generate Report button layout.
Report validation
• Mailing address is now validated.
Dashboard & Portfolio
New portfolio grid view
• A new grid layout is now available for Portfolio items.
Improved dashboard interactivity
• Linked dataset images, made collections/tags clickable, and added empty-state placeholders.
Layout polish
• Improved single item page layout and dashboard workflow cards, including mobile views.
Filters and autocomplete
• Refined portfolio filters and unified autocomplete for artist and artwork fields.
Bulk item tagging
• Users can now apply tags to multiple items at once directly from the Portfolio view.
Access & Organization
Improved access request views
• Displayed organization names and organization ID. Sent requests are now shown in a dedicated section.
Batched email logic
• Bulk access-granted emails are now batched to avoid spamming recipients.
Improved organization display
• Access responses and request pages now show cleaned-up org names.
Skipping cross-org checks
• Internal access organizations are no longer blocked by cross-org checks.
App Layout & Navigation
Breadcrumb and nav consistency
• Standardized breadcrumb navigation across authenticated views
Renaming for clarity
• Renamed "portfolio" to "workspace" in several UI elements
• Standardized naming across components
Sidebar & layout tweaks
• Removed sidebar logo link when no workspace is selected
• Synced theme toggle with system preferences
Improved login and routing
• Fixed login redirect issues
• Ensured proper behavior for auth routes
Styling & UI
Responsive design fixes
• Fixed layout issues on large screens
• Improved SubscriptionArtwork UI and details view
Style and typography updates
• Updated styling for forgot password text
• Polished dashboard cards and chart grammar
Restored missing features
• Re-enabled "Edit Images" button for imageless items
Tooltips and placeholders
• Added helpful tooltips in workspace settings
• Clearer dashboard placeholders
Autocomplete & Form Logic
Autocomplete improvements
• Improved support and unification of artist/artwork autocomplete across filters and forms
Item creation enhancements
• Added support for exhibitions and publications
• Populated size and medium fields on fetch
CSV and form UX
• Reordered CSV template columns for better usability
• Validated artwork sales to block future dates
Select list fixes
• Capitalized workspace type labels
• Fixed saved filters and unified value handling
Backend & Infrastructure
General performance
• Integrated TanStack query and React Query for notifications
• Enabled React compiler
Data and schema fixes
• Removed unnecessary relation population in queries
• Added schema sanity checks
Timezone handling
• Prevented dayjs from adapting to local time
• UTC is now enforced
Upload improvements
• Generalized upload method for S3
• Fixed filename display and ZIP handling in bulk uploads
Validation and fallback handling
• Ensured owner/requester names are stored on generated documents
• Handled undefined organization_name edge cases
Security and token fixes
• Prevented auth token injection on auth routes
• Overrode sendEmailConfirmation to support redirect URLs
Database and connection
• Added connection pooling and retry logic to avoid SQL timeouts
Deprecations and cleanup
• Removed legacy ArtworkComparables schema
• Cleaned up README
• Removed hardcoded date logic