Releases: gabe565/ascii-movie
Releases · gabe565/ascii-movie
v1.5.0
New Features
- Added a new subcommand
ascii-movie get stream count
which connects to the local API prints the number of connected streams.- This pulls from a new local API endpoint at
/streams
.
- This pulls from a new local API endpoint at
- Streams that have been paused for 15 minutes will be disconnected.
- net/http/pprof has been added to the local API, which will help to debug memory and CPU usage of the running application.
Changes
- The Dockerfile has been updated so that the binary doesn't need to be called with its path like
/ascii-movie
. It can now be called withascii-movie
. - Decrease memory footprint by storing some render styles once per movie instead of once per connection.
- Removed deprecated flags:
--log-exclude-gateway
and--log-exclude-faster
. These are not needed anymore since health checks should use the local API/health
endpoint.
Dependencies
- ⬆️ Update module github.com/charmbracelet/wish to v1.1.1 (#12)
Full Changelog: v1.4.0...v1.5.0
v1.4.0
New Features
- An interactive UI has been added using charmbracelet/bubbletea.
- The UI includes buttons to play/pause, rewind, and fast forward at different speeds.
- Added a local API which defaults to port
1977
and serves a health check endpoint at/status
. - Movie files can optionally be gzipped which shaves 3 MB off of the final binary size. This is not required, but the automated Docker builds will do this by default.
Fixes
- Further fixes for Telnet clients. Telnet commands are now hidden when a user connects directly over TCP (like with
nc
) and Telnet terminals are detected much more consistently. - Added more checks to ensure Telnet connections are properly closed.
Deprecations
- Deprecated flags to adjust padding. Padding is now handled by the interactive UI and is less glitchy.
- Deprecated flags to hide health checks from logs. Health checks should now use the API status endpoint, so these flags are unnecessary.
Full Changelog: v1.3.1...v1.4.0
v1.3.1
v1.3.0
What's Changed
- 172eced ✨ (serve): Add flag to make default gateway early disconnect logs be trace level
- f52b4da 🚚 (ssh): Rename SSH host key flags
- 69bd987 ✨ (ssh): Add support for multiple SSH host keys
- 33d2ec2 🔊 (ssh): Log SSH host key info
- 0818fe1 ✅ (tests): Add initial set of tests
- e5e48bf ✨ (cmd): Add movie name shell completion
- 78396ae ✨ (flags): Add log flag completion
- 814e57e 🎨 Format code with gofumpt
- 5c42e50 🔧 (pre-commit): Replace go-fmt with go-fumpt
Full Changelog: v1.2.2...v1.3.0
v1.2.2
What's Changed
- 9060cca 🎨 (movie): Clean up duration calculation
- 9761100 🔧 (sw1): Shrink intro frame length
- c8294f5 ✨ (ls-embedded): Add file size
- 0fdb1ac 🔊 (ls-embedded): Continue parsing movies and log error if a single movie fails
- 406ee2f 🔧 (movie): Return movie by reference
- e13abc0 🐛 (ls-embedded): Fix header order
- 50fe405 🔧 (movies): Embed all movies in the movies dir
- b2a3638 🐛 (telnet): Fix Telnet commands
- 43587e3 🐛 (telnet): Don't output Telnet commands unless a Telnet client connects
- 1d6c495 🔧 (flags): Change some flag names to consts
- a33675b 💄 (movie): Make the progress bar fainter
- 50999ad 🐛 (movie): Always add 1 newline after progress bar
- 3c31e38 💬 (movie): Match progress bar width to content width
- 972d062 🔥 (flags): Remove
--frame-height
flag and find frame head with regex - 6a417c8 ✨ (ls-embedded): Add subcommand to list embedded movies
- 5e9aaac 💬 (rick-roll): Fix typos
Full Changelog: v1.2.1...v1.2.2
v1.2.1
v1.2.0
New Features
- SSH is now supported! The SSH server uses charmbracelet/wish and the
serve
subcommand has some new flags to configure SSH:--ssh-enabled Enables SSH listener (default true) --ssh-address string SSH listen address (default ":22") --ssh-host-key string SSH host key PEM --ssh-host-key-path string SSH host key file path
- Telnet can also be disabled by passing
--telnet-enabled=false
. - Added some flags to both subcommands that change how the movie is parsed and presented to clients:
--frame-height int Height of the movie frames (default 14) --pad-bottom int Padding below the movie (default 2) --pad-left int Padding left of the movie (default 6) --pad-top int Padding above the movie (default 3) --progress-pad-bottom int Padding below the progress bar (default 3) --speed float Playback speed multiplier. Must be greater than 0. (default 1)
- Both subcommands have an optional parameter to specify which movie should play. The app still defaults to
sw1
(Star Wars) if this parameter is left blank, but it can also be set torick_roll
or a local movie txt file. - Added some new logs. New flags are available to hide these:
--log-level
,--log-format
.
Changed
- Renamed project from
ascii-telnet-go
toascii-movie
. - Remove the
go generate
workflow that would generate a movie's Go code before compilation. Removing this simplifies compilation and allows for config tweaks at runtime (like changing the padding or giving a whole different movie file), but slightly increases memory usage from about 5MB to 13MB for Star Wars. - Changed the readme demo to a video instead of an asciicast. This video is recorded using charmbracelet/vhs and the script in
assets/demo.tape
. - Add generated command line usage docs.
Fixed
- Fixed the progress bar never fully filling up
- Make the progress bar more accurately reflect the current position in the stream. Previously, the progress bar was calculated based on the current frame num divided by the total, but now it accounts for each frame's duration. This means longer frames will cause a larger jump, while shorter frames will move the progress bar more slowly.
Deprecations
- The
--address
/-a
flag has been renamed to--telnet-address
.
Dependencies
Full Changelog: v1.1.0...v1.2.0
v1.1.0
What's Changed
- 1c1ee76 🔥 (ci): Remove linux/arm/v6 platform
- 0ec9c80 ✨ (docker): Add debug image
- 7893cd5 🐳 (docker): Replace alpine base image with distroless
- 74dc6d1 🔧 (ci): Only tag
latest
on a tag trigger - a1fd5c9 🍱 (readme): Add icon
- b6ad1b1 ⬆️ Update actions/setup-go action to v4
- e5e4929 ⬆️ Update module github.com/fatih/color to v1.15.0 (#8)
- f6ff3cb 👷 (ci): Replace secrets.GITHUB_TOKEN with github.token
Full Changelog: v1.0.1...v1.1.0
v1.0.1
What's Changed
- 🐛 Fix go mod tidy when frames haven't been generated
- 🔥 (dockerfile): Remove GO_VERSION build arg
- Configure Renovate by @renovate in #1
- ⬆️ Update module github.com/fatih/color to v1.14.0 by @renovate in #3
- ⬆️ Update module github.com/fatih/color to v1.14.1 by @renovate in #4
- ⬆️ Update docker/build-push-action action to v4 by @renovate in #5
- ⬆️ Update go to 1.20 by @renovate in #6
- ⬆️ Update golang Docker tag to v1.20 by @renovate in #7
New Contributors
Full Changelog: v1.0.0...v1.0.1