Skip to content

Releases: asciinema/asciinema-player

3.7.1-rc.2

08 Mar 07:38
Compare
Choose a tag to compare
3.7.1-rc.2 Pre-release
Pre-release
v3.7.1-rc.2

Bump version

3.7.1-rc.1

07 Mar 15:55
Compare
Choose a tag to compare
3.7.1-rc.1 Pre-release
Pre-release
v3.7.1-rc.1

Bump version

3.7.0

16 Feb 17:03
Compare
Choose a tag to compare

Notable changes:

  • Easier and more future proof custom theme definitions via CSS custom properties - see Custom themes documentation
  • Original recording theme is now used when available (for recordings created with asciinema CLI 3.0 or later), unless theme option is explicitly provided
  • Workaround for recordings with invalid terminal size (e.g. 0 width) to prevent player crash

https://www.npmjs.com/package/asciinema-player/v/3.7.0

3.6.4

13 Feb 10:38
Compare
Choose a tag to compare

This is a minor release, which improves keyboard shortcut handling.

3.6.3

16 Oct 10:14
Compare
Choose a tag to compare

This is a minor release that features a major performance bump for the embedded terminal emulator—up to 70% faster emulation in sequence parsing and virtual buffer manipulation. This leaves more CPU cycles available for smoother rendering ✨

3.6.2

02 Oct 13:19
Compare
Choose a tag to compare
  • terminal emulation improvements (RI, VPR)
  • better text reflow upon terminal resize
  • fixed big play button centering
  • removed redundant CSS styles

3.6.1

04 Sep 14:23
Compare
Choose a tag to compare

The work on resize feature has been sponsored by ITLook. Thanks @boris-42 !

3.5.0

22 Jun 20:19
Compare
Choose a tag to compare
  • added experimental websocket-based live streaming protocol (ALiS)
  • more efficient parsing of typescript and ttyrec recordings
  • improved logging
  • fixed buffering in websocket driver
  • added term size detection in raw handler of websocket driver

https://www.npmjs.com/package/asciinema-player/v/3.5.0

3.4.0

14 May 20:05
Compare
Choose a tag to compare
  • introduced new parsers for typescript and ttyrec formats
  • added markers
  • added controls option for controling visibility of control bar
  • added scrubbing support to the progress bar, allowing for navigattion through the timeline of a recording. Thanks to @blake-mealey for this contribution #166!
  • added offline state for live drivers
  • fixed idleTimeLimit option behaviour with input ("i") events
  • fixed time display when pre-buffering in live drivers
  • added ability for configuring live drivers' minFrameTime
  • right mouse button clicks on scrubber are now ignored
  • prefixed most CSS classes to minimize clashes with host page CSS
  • other CSS improvements like removing legacy prefixes, etc
  • refactorings to driver initialization and poster rendering

3.3.0

14 May 20:07
Compare
Choose a tag to compare
  • improved initialization with regards to obtaining font metrics (helps when embedding in Reveal.js slides)
  • exposed input recorded with asciinema rec --stdin via input events
  • added inputOffset source option to shift fired input events in time
  • fixed player.play() to not act like toggle
  • disabled font ligatures
  • added minFrameTime source option to change FPS cap (default: 1/60s)
  • smoother playback without jitter for websocket and eventsource drivers thanks to (now) default buffer of 100ms
  • improved handling of current time for live drivers
  • changed loading indicator to more familiar, good looking one
  • refactored player core with regards to states player can be in

Example use of new input event:

const player = AsciinemaPlayer.create('/demo.cast', document.getElementById('demo'));

player.addEventListener('input', { data } => {
  console.log('input!', JSON.stringify(data));
})

inputOffset source option can be used to shift fired input events in time, e.g. when you need them to fire earlier due to audio samples taking extra time to be emitted:

const player = AsciinemaPlayer.create({
  url: '/demo.cast',
  inputOffset: -0.25
}, document.getElementById('demo'));

player.addEventListener('input', { data } => {
  // this is fired 250 ms earlier than it would be without `inputOffset`
  playSound(data);
})