Skip to content

Releases: samvera-labs/ramp

v5.1.0

05 May 21:03

Choose a tag to compare

New Features

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

Full Changelog: v5.0.0...v5.1.0

v5.0.0

24 Mar 23:36

Choose a tag to compare

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.js no 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

Full Changelog: v4.0.2...v5.0.0

Upgrade Notes in our Wiki

v4.0.2

05 Aug 17:00

Choose a tag to compare

Accessibility Bug Fix

  • Fix voiceover and a11y for cues in transcripts & annotations by @Dananji in #859

Full Changelog: v4.0.1...v4.0.2

v4.0.1

30 Jul 18:57

Choose a tag to compare

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

11 Jun 16:26

Choose a tag to compare

New Features

  • Support for displaying TextualBody annotations in Annotations component previously known as MarkersDisplay component (#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

02 Dec 18:04

Choose a tag to compare

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

09 Aug 16:12

Choose a tag to compare

Full Changelog: v3.2.0...v3.2.1

v3.2.0

30 Jul 19:30

Choose a tag to compare

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 withCredentials option 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

Full Changelog: v3.1.0...v3.2.0

More detailed upgrade notes can be found in the Wiki documentation.

v3.1.2

09 Apr 19:07

Choose a tag to compare

Patch release providing a UI bug-fix for displaying structure timespans.

Full Changelog: v3.1.0...v3.1.2

v3.1.0

04 Apr 20:22

Choose a tag to compare

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