All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Support SVG output
- BREAKING: Marked
TargetType
as non-exhaustive - BREAKING: Moved
color
andbackground_color
fromTargetType
toConfig
- Updated dependencies
- Exclude assets from cargo upload
- BREAKING: Removed lifetimes from
Config::characters
- CI/CD correctly building releases
- Drop aarch release builds
- Failing release CI
- Increase MSRV to 1.74.0
- Updated dependencies
- Updated dependencies of CI
- Updated dependencies
- Failing release build of .deb
- Fixed AUR install failing due to wrong release tag
- Increased maximum size to u32::MAX (4_294_967_295)
- Updated dependencies
- Improved performance
- Use more idiomatic code
- Fully support Unicode char input
- Switched to ureq for http requests
- Renamed
Option
toConfig
- Use ref for conversion
- Restructure code
-h
now shows help instead of using the terminal height (use--height
instead)
- False version for release
- Fixed typos
- Removed hardcoded Courier font family
- Fixed an issue with the macOs CI builds
- HTML Output has now a line break before the closing tags
- Reduced produced html file size, by not coloring invisible whitespace
- Update dependencies
- Fixed MacOS release not building due to false sed command
brew
release should now be working again
- README now states that
brew
packages is currently outdated, due to brew providing an old rust version - Minimum rust version downgraded to
1.59.0
, sobrew
will be able to compile the release again
- Fixed error where description for
--width
and--height
stated that both changed the height of the output - Fixed #7, the zsh completion works now after the input path
- Updated README with more usage info
- Fixed windows release
- Fixed issues with release not recognizing license
- Fixed cross compilation, by switch from
https-native
tohttps-bundled-probe
, since dynamically linked openssl is not supported by cross
- It is now possible to input multiple files
- Improved handling of
.ansi
/.ans
files ( includes more warnings) - Improved documentation of output files
- Added
web_image
feature, which allows URL instead of path input. It is enabled by default - Authors and description will now be shown in the command help text and man page
- New image has been added for testing purposes
- The
--centerX
and--centerY
can be used to center the image in the terminal artem
is now available as an aur package (artem) as well as as a aur binary package (artem-bin)
- Added
--release
flag to example build command (Thanks to @talwat) - Fixed failing doc test on rust nightly
- Fixed an error that could occur when the image was only 1x1
- Fixed an issue where the border was not applied correctly if the image was only a single pixel wide
- Adapted tests to work with multiple file inputs
- Increased minimum rust version in CI to 1.60.0
- The clap command now uses information from Cargo.toml, including version, authors, description and name
- Improved command help texts
- Rewrote description of the command help
- Rewrote description of the
.deb
package - Renamed
--character
input text to be characters instead of density - Argument tests have been refactored to their own files
- Test now complete much faster (down to 5s from 104s) due to using a smaller image, since the large one was unnecessary used
- Fixed error in windows releases building process
- Fixed error with brew tap
- Fixed error in windows releases
- Fixed error in release workflow
- A homebrew tap is now available
- Cargo publishing is now done in the release workflow
- The release workflow now updates the homebrew tap
- Shell completion files and the man page are now contained in the compressed released files
- A new README sections explains how to install the completion files
- The new
--outline
flag will only produce an only of the image - When using the
--hysteresis
flag along the--outline
flag the ascii art will be even more outlined, with less imperfections - Added more test cases and examples to the README to cover the newly added functionality
- Major refactoring of the code
- Artem is now a library, which is used by the command-line interface
- Due to a refactoring of the code, the output ascii image now resembles the input image more closely
- Overhauled the installation section in the README, it now contains much more detailed installations instructions
- Switched from
f64
tof32
, since the additional precision has literally no impact (it gets rounded/cut away), but yields worse performance - Refactored
average_color
to be iterator based, according to some microbenchmarks, this makes it a few nanoseconds faster - Refactored the
convert
,blur
,apply_sober
andedge_tracking
functions to useiterator
s instead of for loops. This removes a lot of nasty and hard to deal with bug, especially together with multi-threading - Removed multithreading, it was a constant source of bugs, since pixels can't be split for threads/output characters. It also rarely brought noticeable performance improvements
- The new iterator-based implementation opens the possibility to use rayon in the future
- Fixed a crash which could occur when piping to a file using the maximum terminal size
- Fixed a bug, where the
--height
argument would not actually use the correct height and being a bit too high
- Linux Binaries will now also be compiled with
musl
- Completion scripts for the
.deb
will be copied in the CD process - With mscv compiled windows binaries are available as an alternative to the gnu compiled ones
- MacOS binaries for (x86 and arm) have been added to the CD process
- When using an html output file, artem will now converted the result to html, this also works with .ans files respectively
- More Documentation to better describe the code
- The
--border
flag can be used to create a border around the ascii image - The
--flipX
flag can be used horizontally flip the image - The
--flipY
flag can be used vertically flip the image - Two more tests, which fully compare the results
- Major refactoring
- Using a new workflow job for the windows build
- Release builds are now available for more targets (linux x64 and arm) and windows (using gnu-target)
- Using the
--width
argument now correctly resizes the image - Using the
--height
argument now uses the correct height of the terminal - Using multiple Threads now display the full image instead of leaving a few pixels out
- Updated the example image in the README to reflect the changes
- Changed version to 0.4.1, since github actions would not use the right files otherwise
- Fixed error with tar command in cd
- README now contains an installation section
- Use the
--background
flag to let the ascii chars have a background color. Might be useful for images with dark backgrounds. - Use the
--invert
flag to change the brightness of the used characters. Can be useful for images with a dark background - README now lists some example formats that can be used
- Tab completions now works in other shells as well (fish and zsh in deb package)
- Removed linting problems found by clippy
- CI tests now against the stable, beta and nightly rust version
- CI now checks for clippy warnings
- Changelog file to document changes to the project
- A Feature template can be used to easily request features over Github
- Logging no longer logs the date, since it is not needed
- Man Page String are now formatted correctly
- Logging with different verbosity levels to help debugging
verbose
flag can be used to change the verbosity, defaults toerror