Releases: asciinema/asciinema
Releases · asciinema/asciinema
v3.0.0-rc.1
This is the first release candidate version of the brand new asciinema CLI 3.0.
It's a complete rewrite in Rust, bringing a lot of improvements and long requested features.
A major release is a good time for a cleanup, therefore some behaviours were changed and several things were dropped.
New
- Live terminal streaming:
asciinema stream -s
(built-in HTTP server),asciinema stream -r
(relay via asciinema server, e.g. asciinema.org) - Terminal theme capture for
rec
command - see theme entry in asciicast file - Recording to plain text file:
asciinema rec foo.txt
,asciinema rec foo.log --format txt
- Format conversion:
asciinema convert demo.cast demo.txt
(to plain text),asciinema convert demo.cast demo.log --format raw
(to raw output) - Short alias
-a
for--append
forrec
command - tmux status bar notifier - automatically enabled when tmux session detected
- Support for system wide config file -
/etc/asciinema/config.toml
- see v3 config doc --server-url
global option, which overrides server URL set in the config file or via env var--append
option can now be used with raw output too (when--format raw
used) inrec
command- Info messages at the start and the end of the playback with the
play
command
Changed
asciinema rec
always requires a filename now, doesn't offer uploading anymore (useupload
command)- No more implicit asciinema server URL - new prompt for a server URL on first use (unless configured in the config file)
asciinema cat
command concatenates multiple recordings into a new one in asciicast format, instead of dumping raw output (the previous functionality is now available viaasciinema convert --format raw ...
)ASCIINEMA_API_URL
env var changed toASCIINEMA_SERVER_URL
- New config file location (
~/.config/asciinema/config.toml
) and format (TOML) - see v3 config doc - Replaced
--cols
and--rows
options with--tty-size
inrec
command - Replaced
--raw
option with--format raw
inrec
command - Renamed
--stdin
option to--input
/-I
inrec
command
Improved
- Better error message when non-UTF-8 locale is detected
- Info messages at the start and the end of the recording session are now more clear
- Use of
--append
and--overwrite
options together withrec
command returns error now upload
command verifies whether the file is a valid asciicast before uploading- Brought back saving of a custom record command (
-c
) in asciicast file header
Removed
- Short version of the
--env
option in therec
command --e
- has been removed --out-fmt
and--stream
options of theplay
command have been removed- Support for terminal-notifier has been removed
v2.4.0
- When recording without file arg we now ask whether to save, upload or discard the recording (#576)
- Added capture of terminal resize events (#565)
- Fixed blocking write error when PTY master is not ready (#569) (thanks @Low-power!)
- Fixed "broken pipe" errors when piping certain commands during recording (#369) (thanks @Low-power!)
- Fixed crash during playback of cast files with trailing blank line (#577)
v2.3.0
- Added official support for Python 3.11
- Dropped official support for Python 3.6
- Implemented markers in
rec
andplay -m
commands - Added
--loop
option for looped playback inplay
command - Added
--stream
and--out-fmt
option for customizing output ofplay
command - Improved terminal charset detection (thanks @djds)
- Extended
cat
command to support multiple files (thanks @Low-power) - Improved upload error messages
- Fixed direct playback from URL
- Made raw output start with terminal size sequence (
\e[8;H;Wt
) - Prevented recording to stdout when it's a TTY
- Added target file permission checks to avoid ugly errors
- Removed named pipe re-opening, which was causing hangs in certain scenarios
- Improved PTY/TTY data reading - it goes in bigger chunks now (256 kb)
- Fixed deadlock in PTY writes (thanks @Low-power)
- Improved input forwarding from stdin
- Ignored OSC responses in recorded stdin stream
v2.2.0
- Added official support for Python 3.8, 3.9, 3.10
- Dropped official support for Python 3.5
- Added
--cols
/--rows
options for overriding size of pseudo-terminal reported to recorded program - Improved behaviour of
--append
when output file doesn't exist - Keyboard input is now explicitly read from a TTY device in addition to stdin (when stdin != TTY)
- Recorded program output is now explicitly written to a TTY device instead of stdout
- Dash char (
-
) can now be passed as output filename to write asciicast to stdout - Diagnostic messages are now printed to stderr (without colors when stderr != TTY)
- Improved robustness of writing asciicast to named pipes
- Lots of codebase modernizations (many thanks to Davis @djds Schirmer!)
- Many other internal refactorings
v2.1.0
- Ability to pause/resume terminal capture with
C-\
key shortcut - Desktop notifications - only for the above pause feature at the moment
- Removed dependency on tput/ncurses (thanks @arp242 / Martin Tournoij!)
- ASCIINEMA_REC env var is back (thanks @landonb / Landon Bouma!)
- Terminal answerbacks (CSI 6 n) in
asciinema cat
are now hidden (thanks @djpohly / Devin J. Pohly!) - Codeset detection works on HP-UX now (thanks @michael-o / Michael Osipov!)
- Attempt at recording to existing file suggests use of
--overwrite
option now - Upload for users with very long
$USER
is fixed - Added official support for Python 3.8 and 3.9
- Dropped official support for EOL-ed Python 3.4 and 3.5
- Internal refactorings
v2.0.2
- Official support for Python 3.7
- Recording is now possible on US-ASCII locale (thanks Jean-Philippe @jpouellet Ouellet!)
- Improved Android support (thanks Fredrik @fornwall Fornwall!)
- Possibility of programatic recording with
asciinema.record_asciicast
function - Uses new JSON response format added recently to asciinema-server
- Tweaked message about how to stop recording (thanks Bachynin @vanyakosmos Ivan!)
- Added proper description and other metadata to Python package (thanks @Crestwave!)
v2.0.1
This is a minor bugfix release.
- Fixed example in asciicast v2 format doc (thanks Josh "@anowlcalledjosh" Holland!)
- Replaced deprecated
encodestring
(since Python 3.1) withencodebytes
(thanks @delirious-lettuce!) - Fixed location of config dir (you can
mv ~/.asciinema ~/.config/asciinema
) - Internal refactorings
v2.0.0
This major release brings many new features, improvements and bugfixes. The most
notable ones:
- new asciicast v2 file format
- recording and playback of arbitrarily long session with minimal memory usage
- ability to live-stream via UNIX pipe:
asciinema rec unix.pipe
+asciinema play unix.pipe
in second terminal tab/window - optional stdin recording (
asciinema rec --stdin
) - appending to existing recording (
asciinema rec --append <filename>
) - raw recording mode, storing only stdout bytes (
asciinema rec --raw <filename>
) - environment variable white-listing (
asciinema rec --env="VAR1,VAR2..."
) - toggling pause in
asciinema play
by Space - stepping through a recording one frame at a time with . (when playback paused)
- new
asciinema cat <filename>
command to dump full output of the recording - playback from new IPFS URL scheme:
dweb:/ipfs/
(replacesfs:/
) - lots of other bugfixes and improvements
- dropped official support for Python 3.3 (although it still works on 3.3)
v1.4.0
- Dropped distutils fallback in setup.py - setuptools required now (thanks Jakub "@jakubjedelsky" Jedelsky!)
- Dropped official support for Python 3.2 (although it still works on 3.2)
- New
--speed
option forasciinema play
(thanks Bastiaan "@bastiaanb" Bakker!) - Ability to set API token via
ASCIINEMA_API_TOKEN
env variable (thanks Samantha "@samdmarshall" Marshall!) - Improved shutdown on more signals: CHLD, HUP, TERM, QUIT (thanks Richard "@typerlc"!)
- Fixed stdin handling during playback via
asciinema play
v1.3.0
This release brings back the original Python implementation of asciinema. It's
based on 0.9.8 codebase and adds all features and bug fixes that have been
implemented in asciinema's Go version between 0.9.8 and 1.2.0.
Other notable changes:
- Zero dependencies! (other than Python 3)
- Fixed crash when resizing terminal window during recording (#167)
- Fixed upload from IPv6 hosts (#94)
- Improved UTF-8 charset detection (#160)
-q/--quiet
option can be saved in config file now- Final "logout" (produced by csh) is now removed from recorded stdout
rec
command now tries to write to target path before starting recording