Skip to content

v4.0.0.alpha-1

Pre-release
Pre-release
Compare
Choose a tag to compare
@cbeer cbeer released this 14 Mar 15:40

Mirador v4 is a major refresh of many of the upstream dependencies of this project. Notably, Mirador v4 allows (and requires) downstream application use to React 18 and Material UI 5. Many other Mirador dependencies have been upgraded or replaced with modern equivalents. This alpha-1 prerelease is being made early to facilitate additional testing.

Mirador application developers are encouraged to read the (lengthy) Material UI 5 upgrade guide, React 18 upgrade guide, and review the commits below to see what changes were necessary in Mirador. A full upgrade guide will included in future Mirador release notes.

MUI 5

  • Update @material-ui/core to 4.12 by @thatbudakguy in #3528
  • Fix warnings related to Material UI updates by @dicksonlaw583 in #3476
  • Fix MUI5 testing errors by @marlo-longley in #3793
  • Fix some styling and console errors on mui5 branch by @marlo-longley in #3803
  • Run CI tests when making PRs against the mui5 branch by @marlo-longley in #3794
  • Rebased #3795 by @cbeer in #3804
  • [MUI] Apply styles to the ToC nodes by @cbeer in #3811
  • Restore spacing to the collection modal dialog by @cbeer in #3812
  • [MUI5] Give the workspace add resource button a little spacing by @cbeer in #3810
  • [MUI5] Add a custom background color for annotation + search chips in the gallery view by @cbeer in #3809
  • [Mui5] Fix up companion window section styling by @cbeer in #3808
  • [MUI5] Center collapse icon in the container by @cbeer in #3807
  • [MUI5] Improve the window sidebar border by @cbeer in #3806
  • Add docu for selectors by @fstoe in #3787
  • [MUI5] Reduce Window top menu button margin by @cbeer in #3805
  • [MUI5] Fix layer drag handle spacing by @cbeer in #3813
  • Update CI to use current LTS node releases by @cbeer in #3817
  • [MUI5] Restore auth banner colors by @cbeer in #3814
  • [MUI5] Remove unnecessary value for boolean property by @cbeer in #3815
  • [MUI5] Always give the title controls some space by @cbeer in #3816
  • Use an explicit dom ref for handling scrolling to dom elements by @cbeer in #3819
  • Remove unused classes propType by @marlo-longley in #3818
  • Extract a styled CompanionWindowSection by @cbeer in #3820
  • Create a MenuItem variant instead of using inline sx styles by @cbeer in #3823
  • Use an MUI accordion for the sidebar collapsing sections by @cbeer in #3822
  • Refactor WindowCanvasNavigationControls to pull stacking + alignment up by @cbeer in #3825
  • Push IIIFThumbnail styling into slots + variants by @cbeer in #3824
  • Pull button margins up to its container by @cbeer in #3828
  • Create a Dialog variant to contain a modal within a mirador window by @cbeer in #3827
  • Fix the CSS selector for restoring a focus state to the Fab by @cbeer in #3830
  • Use MenuItem divider prop instead of styling it ourselves by @cbeer in #3829
  • Refactor ErrorContent to use styled slots by @cbeer in #3826
  • Remove unnecessary StyledMiradorMenuButton by @cbeer in #3832
  • Extract WorkspaceDialog styles and push styling up to settings by @cbeer in #3833
  • Pull SanitizedHtml styling up by @cbeer in #3836
  • Pull workspace styles up by @cbeer in #3838
  • Pull WorkspaceControlPanel styles up by @cbeer in #3839
  • Pull WindowTopBar styles up by @cbeer in #3841
  • Pull window options selection styles up by @cbeer in #3842
  • Use Badge color instead of custom styling by @cbeer in #3843
  • Pull companion area styling up by @cbeer in #3835
  • Create a common selected style for mirador buttons by @cbeer in #3840
  • Push companion window styles up to settings by @cbeer in #3834
  • Remove apparently unused styles by @cbeer in #3845
  • Fix ManifestListItem border state by @cbeer in #3846
  • Remove unnecessary styling on cancel button by @cbeer in #3847
  • Pull GalleryView styles up by @cbeer in #3848
  • Pull window sidebar styles up by @cbeer in #3849
  • The Fab ripple is what gives it a focused state; instead of disabling… by @cbeer in #3850
  • Remove unnecessary button margin by @cbeer in #3853
  • Style the workspace sidebar with flexbox by @cbeer in #3852
  • Pull more styling up by @cbeer in #3851
  • Continue to apply custom tooltip margins by @cbeer in #3855
  • Mui5 sidebar list styles by @cbeer in #3854
  • Pull Window styles up by @cbeer in #3837
  • Restyle the WorkspaceExport form by @cbeer in #3831
  • Fix branding alignment by @cbeer in #3856
  • Fix dark mode issues with the collection dialog by @cbeer in #3857
  • Wrap the empty workspace in paper to get the right background in dark… by @cbeer in #3858
  • Update dependencies by @cbeer in #3860
  • remove unused clsx dependency by @cbeer in #3861
  • Update annotation tags to avoid improperly nested HTML tags by @cbeer in #3859
  • Replace redux-devtools-extension with @redux-devtools/extension by @cbeer in #3863
  • Remove deprecated @mui/styles package by @cbeer in #3862
  • Upgrade from MUI4 to MUI5 [breaking changes] by @cbeer in #3648

React 17 + 18

Other dependency updates

Internationalization

Developer experience

IIIF Support

Accessibility

  • Rename ariaHidden prop to aria-hidden so it gets passed along right by @cbeer in #3641
  • Change cursor icon when user's cursor is over canvas image by @phil-plencner-hl in #3644

React-testing-library

Other Changes

  • Fix typo in WindowSideBarCollectionPanel (fix #3518) by @joesong168 in #3519
  • Fix error when style props don't have left property (fix #3511) by @joesong168 in #3512
  • Fix annotation rendering when OSD has viewport margin. by @jbaiter in #3510
  • Fix unmount not finding container when already detached from document by @fbessou in #3534
  • Allow some more PropTypes.object through eslint by @cbeer in #3542
  • Scroll the selected image to view in Gallery by @priyamanalil in #3530
  • Guard against empty canvas groupings. Related to #3543 by @cbeer in #3545
  • Fix #3522, add selector and UI for related by @lutzhelm in #3535
  • Update manifest link by @DigitLib in #3571
  • Build fixes by @cbeer in #3607
  • Use a valid IIIF info id in test by @jcoyne in #3620
  • Use context to manage access to the workspace ref instead of going through redux by @cbeer in #3645
  • Mark annotation integration tests as pending by @cbeer in #3663
  • The Window component doesn't use the window prop by @cbeer in #3660
  • Run AttributionPanel tests with resource loading so react-image loadi… by @cbeer in #3722
  • Use react-intersection-observer's IntersectionObserver mock by @cbeer in #3721
  • Remove unused import by @cbeer in #3737
  • Refactor SidebarIndexTableOfContents to use MUI's tree view keyboard … by @cbeer in #3728
  • Use the custom render pattern consistently across the tests by @cbeer in #3743
  • Use minRows instead of rows by @cbeer in #3751
  • fix: elastic window DnD on mobile by @bodo22 in #3736
  • theme.mixins.gutters() is deprecated; use the mixin source directly by @cbeer in #3748
  • Add a style.top property to the test object in order to silence a rea… by @cbeer in #3753
  • Stop plugin-specific props from spreading to the DOM elements to supp… by @cbeer in #3747
  • MUI's onClose now handles escapeKeyDown internally by @cbeer in #3750
  • Wrap hover in an act to appease RTL by @cbeer in #3755
  • Provide the anchorEl prop to the WindowList component under test to s… by @cbeer in #3754
  • Badge overlap=rectangle was deprecated by @cbeer in #3758
  • Wrap the ScrollTo in the TOC TreeView to remove the nodeId before it … by @cbeer in #3744
  • Mock window.prompt to work-around missing jsdom APIs by @cbeer in #3756
  • Allow WorkspaceElasticWindow to focus by @marlo-longley in #3757
  • Start cleaning up i18n lint errors by @cbeer in #3759
  • Remove --forceExit flag now that all test are in RTL by @cbeer in #3762
  • Pass a stub plugin component when injecting plugins; fixes #3760 by @cbeer in #3763
  • Remove unused icon style; fixes #3761 by @cbeer in #3764
  • Fix build by @morpheus-87 in #3779
  • add missing german translations by @fstoe in #3788
  • Make OpenSeadragonViewer tests compatible with OpenSeadragon 2.4.2 by @lutzhelm in #3798
  • Don't construct new objects in selector inputs by @cbeer in #3865
  • Get rid of a function as an input to a selector by @cbeer in #3866
  • Don't hold space for companion windows if there aren't any. by @cbeer in #3867
  • Clean up some unnecessary wrappers and clean up workspace styles by @cbeer in #3868
  • Fix selector for the manifest description or summary by considering the current language by @morpheus-87 in #3780

New Contributors

Full Changelog: v3.3.0...v4.0.0.alpha-1