Releases: samvera-labs/ramp
Releases · samvera-labs/ramp
v5.1.0
New Features
- Add support to AD functionality in the player by @Dananji in #916
- Save playback position by @Dananji in #926
- Create a standalone bundle for non-React apps by @Dananji in #922
Bug Fixes
- Fix quality-selector import and registration for ESM build by @Dananji in #921
- Open playback-rate menu downwards for audio players in mobile browsers by @Dananji in #927
- Make error and inaccessible message displays keyboard accessible by @Dananji in #929
- Avoid text-track duplication for multi-source canvases by @Dananji in #933
- Change popup menu direction based on player orientation by @Dananji in #937
- Fix captions icon disappear on canvas change by @Dananji in #938
- Fix active and inactive tab playback and stalling for player by @Dananji in #939
Maintenance
- Skip VideoJS custom component code in test coverage by @Dananji in #917
- Add Git workflow to re-build /docs on code changes by @Dananji in #940
- Update/cleanup docs by @Dananji in #945
- Dependency audit and upgrade as needed by @Dananji in #942
Dependency Updates
- Bump node-forge from 1.3.2 to 1.4.0 by @dependabot in #923
- Bump vite from 7.1.11 to 7.3.2 by @dependabot in #928
- Bump @xmldom/xmldom from 0.8.11 to 0.8.13 by @dependabot in #925 & #943
- Bump lodash from 4.17.23 to 4.18.1 by @dependabot in #930
- Bump dompurify from 3.3.3 to 3.4.0 by @dependabot in #935
- Bump follow-redirects from 1.15.6 to 1.16.0 by @dependabot in #934
- Bump postcss from 8.5.6 to 8.5.12 by @dependabot in #944
Full Changelog: v5.0.0...v5.1.0
v5.0.0
Breaking Changes
- React 19 required: Please upgrade to React 19 before updating to v5.0.0. See the ReactJS upgrade guide.
- Build system migrated to Vite: The library is now bundled using Vite in library mode (previously Rollup).
- VideoJS is now bundled into Ramp:
video.jsno longer needs to be installed as a peer dependency. Remove it from your project dependencies when upgrading.
Bug Fixes
- Fix search highlights for searches with punctuation in untimed transcripts by @Dananji in #855
- Disregard clicked timespan when highlighting timespans by @Dananji in #858
- Set player time accurately when switching between canvases by @Dananji in #863
- Display inline supplementing annotations in transcript component by @Dananji in #864
- Change language in collapse/expand button and heading in structure by @Dananji in #868
- Fix structure nav for multi-sectioned IA manifests by @Dananji in #876
- Fix indefinite loading spinner in transcripts tab by @Dananji in #881
- Fix missing label parsing in annotations by @Dananji in #883
- Fix MIME type for resources by @Dananji in #887
- Fix transcript/annotation sync with playback for multi-source Canvas by @Dananji in #889
- Multisrc caption sync by @Dananji in #895
New Features
- Add show more/less functionality to transcript cues by @Dananji in #860 (adds a new prop, documented in Wiki)
- Add fallback strategy for source selection by @Dananji in #890
- Display player controls in error state by @Dananji in #893
- Sort markers chronologically on load and updates by @Dananji in #898
- Forced captions by @Dananji in #911
Improvements
- Remove deprecation warnings in the build logs by @Dananji in #866
- Adjust the big-play-button in video player by @Dananji in #877
- Fix layout shift for vertical scrollbar appearance by @Dananji in #885
- Change markers table layout by @Dananji in #902
- Test on latest node versions by @cjcolvar in #909
- Replace sanitize-html with dompurify by @Dananji in #918
Full Changelog: v4.0.2...v5.0.0
Upgrade Notes in our Wiki
v4.0.2
v4.0.1
Bug Fixes
- Round time to milliseconds for accurate time calculations by @Dananji in #835
- Remove timespan sorting in structured nav by @Dananji in #842
- Scope and fix SVG CSS by @Dananji in #843
- Change WebVTT validation to allow files with embedded metadata by @Dananji in #844
- Browser determined download for files tab by @cjcolvar in #849
- Remove untimed search hits and preserve inline styling for search within by @Dananji in #852
- Fix shift+tab behavior in annotations and transcript components by @masaball in #856
Accessibility Fixes
- Implement sectioning elements/landmark roles for page navigation by @Dananji in #827
- Fix a11y issues around structure and markers form by @Dananji in #834
Full Changelog: v4.0.0...v4.0.1
v4.0.0
New Features
- Support for displaying
TextualBodyannotations inAnnotationscomponent previously known asMarkersDisplaycomponent (#430) - Display time-rail highlights for overlapping or nested timespans in structure (#779, #778)
Bug fixes:
- Thumbnails used for conventional TOC, contrary to IIIF Presentation API v3.0 (#718)
- Zoom on iPad makes widget bar much wider than media player (#723)
- Increasing text zoom size on mobile devices does not uniformly increase text size in Ramp components (#724)
- Caption text very large on iPad full screen (#727)
- Scrubbing in Safari before playback doesn't work intermittently (#728)
- Alignment Issue Causes Visual Artifacts (#734)
- Line Breaks in Cues Should Display in Transcript Component (#750)
- When being directed to start playback at a specific Canvas, Ramp does not scroll structure to that Canvas (#746)
- Check player is not null before player.trigger('resize') event (#760)
- Use showNotes prop in transcript search to filter (#773)
- Structure Links in Later Section Start Playback from Beginning (avalonmediasystem/avalon#6264)
Accessibility fixes:
- Keyboard navigation within Transcript component (#765)
- Keyboard navigation within StructuredNavigation component (#766)
- Change anchor tags used in StructuredNavigation component (#767)
- Improve keyboard accessibility of AutoAdvance toggle (#796)
More information on these can be found in our Wiki documentation
Full Changelog: v3.3.0...v4.0.0
v3.3.0
What's Changed
- Align CC btn in control bar with green border by @Dananji in #598
- Use targetTouches in touch event to calculate progress updates by @Dananji in #600
- Align structure highlight marker with hovered progress bar by @Dananji in #604
- Force the media to load for iOS and Safari on desktop by @Dananji in #607
- Fix broken captions button reference in handleCaptionChange() by @Dananji in #608
- Start from custom manifest start by @masaball in #609
- Default to empty string if manifest label is not present by @masaball in #621
- Sanitize manifest url if params included in middle by @masaball in #623
- Store captions on/off status in localstorage for session by @Dananji in #613
- Display Video.js errors instead letting the player crash by @Dananji in #612
- 3.2.1 patch by @Dananji in #617
- Reveal player early on progress event with enough data for playback by @Dananji in #626
- Limit time tooltip display offset to playable range width by @Dananji in #629
- Fix player replaying last section/single section item in a loop by @Dananji in #628
- Parsing refactor by @Dananji in #625
- Zoom icons 596 by @Dananji in #619
- React 18 upgrade by @Dananji in #633
- Bump webpack from 5.76.2 to 5.94.0 by @dependabot in #631
- Bump webpack-dev-middleware from 5.3.3 to 5.3.4 by @dependabot in #634
- Limit re-renders for AutoAdvanceToggle, SupplementalFiles, and MarkersDisplay components by @Dananji in #640
- Convert vjs components by @Dananji in #635
- Make withCredentials work with videojs 7.x and 8.x by @mbklein in #642
- Remove node-18 and add node-22 to CircleCI by @Dananji in #641
- Remove useMemo in component export, refactor MetadataDisplay component by @Dananji in #646
- State management refactor for structure by @Dananji in #643
- Custom hook for state management in Transcript component by @Dananji in #652
- Custom hook for MediaPlayer and VideoJSPlayer handling by @Dananji in #647
- Bump rollup from 2.79.1 to 2.79.2 by @dependabot in #651
- Bump tough-cookie from 4.1.2 to 4.1.4 by @dependabot in #654
- Add comments, cleanup Videojs component options, use cx lib to build classnames by @Dananji in #653
- Fix skipped tests for useLocalStorage by @Dananji in #655
- Update player in Ramp demo site when using 'Set Manifest' by @Dananji in #661
- Fix minor bugs in player introduced in refactor/cleanup work by @Dananji in #662
- Move captions above controls when user is active by @Dananji in #665
- Refine progress-bar by using VideoJS' native ProgressControl by @Dananji in #664
- Remove cyclical dependence of SectionHeading and List by @Dananji in #668
- Replace volume control with muteToggle/volumePanel, popup menus above progress-bar by @Dananji in #669
- Adjust progress-bar spacing to display menus above it by @Dananji in #670
- Collapse/expand sections button by @Dananji in #671
- Bump http-proxy-middleware from 2.0.6 to 2.0.7 by @dependabot in #683
- Change min-width and min-height of the player for iOS by @Dananji in #684
- Regression bug: display error for empty Manifest w/o crashing by @Dananji in #685
- Change UI for structured nav to include collapse all button by @Dananji in #686
- Create inaccessible message interval only in a single custom hook by @Dananji in #690
- Fix a11y issues found with Siteimprove, WAVE, and Axe by @Dananji in #691
- Fix sections UI for non-collapsible structures by @Dananji in #692
- Wrap long labels w/o spaces in structure to new lines by @Dananji in #693
- Extend player min-width to Android browsers by @Dananji in #696
- Center align progressbar in audio, and add padding by @Dananji in #697
- Increase progress-bar height, remove hover animation by @Dananji in #699
- Show timetool-tip above search marker when hovering by @Dananji in #702
- Specify player's min-height for audio in mobile browsers by @Dananji in #703
- Force player to load in Safari and iOS browsers by @Dananji in #707
- Update progress-bar CSS on fullscreen exit in iOS by @Dananji in #708
- Call player.load() in Safari/iOS browsers before calling play() by @Dananji in #709
- Use control-bar width to add padding to progress-bar on sides by @Dananji in #715
- Restrict setting player time when markers are outside of playable range by @Dananji in #716
- Remove progress-bar shadow on focus by @Dananji in #721
- Prevent playhead from jumping to end of progress bar by @masaball in #725
- Trigger ended event when end = duration by @Dananji in #722
- Add back tracks upon quality selection by @Dananji in #720
- Change order of player.load() and setting isReady to keep markers by @Dananji in #726
- Fix collapse/expand all button behavior with each section status change by @Dananji in #729
- Invoke handleTimeupdate to update markers on player reload by @Dananji in #735
- Explicitly update played range by @Dananji in #733
- Remove space between control-bar pseudo elements, to mouse display on hover by @Dananji in #737
- Update README for 3.3.0 release by @Dananji in #745
Full Changelog: v3.2.0...v3.3.0
v3.2.1
Full Changelog: v3.2.0...v3.2.1
v3.2.0
What's Changed
- Auto scroll active transcript cue to the top by @Dananji in #449
- Bump express from 4.18.2 to 4.19.2 by @dependabot in #465
- Display a message for empty manifests without crashing by @Dananji in #475
- Adjust marker display on UI when end > canvas duration by @Dananji in #471
- Build active structure item classname into a single line by @Dananji in #478
- Bump tar from 6.1.13 to 6.2.1 by @dependabot in #479
- Only display rendering files in the supplemental files component by @Dananji in #474
- Upgrade Video.js to v8.10.0 by @masaball in #453
- Skip combination keypresses in player hotkeys by @Dananji in #481
- Rights metadata by @Dananji in #480
- Videojs setup rework by @Dananji in #460
- Vtt parse fix by @Dananji in #476
- Add playback rate support for media player by @Dananji in #477
- Bump gh-pages from 4.0.0 to 5.0.0 by @dependabot in #482
- Fix track scrubber bugs in Videojs re-setup work by @Dananji in #484
- Update version and CHANGELOG to reflect changes in latest release and tags by @Dananji in #485
- Improve structured navigation user experience by @Dananji in #483
- Wrap overflowing metadata text into new lines to avoid horizontal scroll by @Dananji in #490
- Set player container aspect ratio to 16:9 for blank canvas messages by @Dananji in #491
- Don't include 2nd bundled copy of css on demo page. Resolves #487 by @patrick-lienau in #488
- Accessibility fixes to issues found in axe report by @Dananji in #493
- Remove CSS classes for captions, fix CSS for placeholder canvas messages by @Dananji in #495
- Transcript Search Functionality by @patrick-lienau in #497
- Update Node in Circle-CI by @Dananji in #506
- Update structure parsing to include root-level Range in display by @Dananji in #496
- Fix a couple of minor bugs by @Dananji in #507
- Enable/disable captions icon as needed when switching between canvases by @Dananji in #505
- Fix seeking in safari by @Dananji in #504
- Fix Ramp crashing when a SRT transcript is selected by @Dananji in #511
- Update transcript search styling by @Dananji in #510
- Fix a couple of demo data bugs by @Dananji in #512
- Content search by @Dananji in #515
- Render time offsets for cues that begin exactly at 0 by @cjcolvar in #521
- showNotes Transcript prop for displaying NOTE comments (default: false) by @cjcolvar in #520
- Improve VTT parsing by @cjcolvar in #518
- Handle case when some transcripts have hits but others do not by @cjcolvar in #522
- Mobile icons by @Dananji in #527
- Native player by @Dananji in #531
- Display previous/next buttons and timer for inaccessible canvases by @Dananji in #529
- Adjust text highlight color for contrast in transcript search by @Dananji in #533
- Preserve captions off state in native iOS player on play event by @Dananji in #534
- Scroll transcript search hits within container by @Dananji in #535
- Adjust content search when switching between transcripts by @Dananji in #532
- Bump ws from 6.2.2 to 6.2.3 by @dependabot in #528
- Use a debounce timer for content search request by @Dananji in #544
- SRT/VTT timestamp validation to deny single digit hour in hh:mm... by @Dananji in #546
- Fix parsing for timestamps with commas as decimal seperators by @Dananji in #545
- Untimed search by @Dananji in #542
- Use flexbox instead of grid to arrange transcript menu by @Dananji in #547
- Update setTimeout in the debounce by @Dananji in #550
- Remember active caption selection by @Dananji in #549
- Fix previous/next button functionality with inaccessible item transitions by @Dananji in #553
- Fix for multiple captions being selected in captions menu by @Dananji in #555
- Fix prev/next button bugs in mobile devices by @Dananji in #554
- Text search nav by @Dananji in #558
- Add a title bar linking to external source to video player by @masaball in #557
- Do not display timer when last item is inaccessible by @Dananji in #563
- Add Thirdwave as a contributor by @Dananji in #541
- Small tweak to top margin of horizontal volume slider thumb by @cjcolvar in #562
- Fix grey overlay bug and related bugs in playlist item transitions by @Dananji in #565
- Update no results message in transcript search by @masaball in #568
- Ensure autoplay of next section when selecting inaccesible item by @masaball in #569
- Fix regex to identify matches in content search response by @Dananji in #566
- Fix split query bug in altReplace func by @Dananji in #570
- Fix slow search by handling timing of updates and cache by @Dananji in #571
- Check if manfiestState exists for search service parsing by @Dananji in #572
- Update canvas duration on ready event by @Dananji in #573
- Change vertical-align CSS for SVG by @Dananji in #574
- Add
withCredentialsoption to MediaPlayer component by @mbklein in #576 - Read duration from either options or player property in progressbar by @Dananji in #578
- Improve scrubbing and seeking by providing more space for scrubber and progress bar by @Dananji in #579
- Allow progress bar updates with playback for audio in iOS by @Dananji in #584
- Only reset isClicked if active structure item is set by @cjcolvar in #592
- Vertical align lock icon for restricted struct items by @Dananji in #589
- After an inaccessible item play the next item if user has started playback by @Dananji in #581
- Update current time in audio player in iOS context by @Dananji in #595
- Set accurate duration on progress bar creation by @Dananji in #594
- Improve scrubbing in Safari with throttle and debounce on update events by @Dananji in #597
- Update variables in progress component to refs to maintain accuracy with canvas updates by @Dananji in #587
- Bug fix in desktop Safari scrubbing introduced in #597 by @Dananji in #603
New Contributors
- @patrick-lienau made their first contribution in #488
- @mbklein made their first contribution in #576
Full Changelog: v3.1.0...v3.2.0
More detailed upgrade notes can be found in the Wiki documentation.
v3.1.2
Patch release providing a UI bug-fix for displaying structure timespans.
Full Changelog: v3.1.0...v3.1.2
v3.1.0
What's Changed
- Bump ip from 1.1.8 to 1.1.9 by @dependabot in #425
- Parse playlist homepage as positional urls into structure links by @Dananji in #424
- Interpret null values in metadata as empty strings by @Dananji in #427
- Test audiannotate by @Dananji in #426
- Use caption label in menu, not filename by @masaball in #439
- Change caption filtering to always use VideoJS' tracks instead of HLS tracks by @Dananji in #428
- Fix auto advance and player crashing on Canvas change by @Dananji in #432
- Use alternate CSS properties to set the Canvas message height by @Dananji in #435
- Only display CC button for Video instances by @Dananji in #438
- Bump sanitize-html from 2.10.0 to 2.12.1 by @dependabot in #442
- Prevent iOS rejected promise from raising error boundary by @masaball in #444
- Omit active tab navigation with left/right key events in hotkeys by @Dananji in #445
- Add SRT support in Transcript component by @Dananji in #446
- Fix active structure items blinking with user interactions by @Dananji in #447
- Fix Video.js custom components crashing when initializing by @Dananji in #448
- Update 'Scroll for More' message when StuctNav is resized by @masaball in #450
- Remove HLS caption handling by @Dananji in #443
- Bump follow-redirects from 1.15.4 to 1.15.6 by @dependabot in #454
- Fix multiple captions being selected on initial load by @Dananji in #455
- Remove track.off('change') for unknown cc in iOS context by @Dananji in #456
- Prevent structure items getting highlighted for inaccessible items by @Dananji in #459
- Display timespans past duration as links in StructuredNavigation by @Dananji in #463
These changes are summarized in the upgrade notes in the Wiki documentation
Full Changelog: v3.0.0...v3.1.0