Skip to content

Releases: Tommypop2/code-to-pdf

0.2.2 - 2025-07-13

13 Jul 14:42
Compare
Choose a tag to compare

Release Notes

🐛 Bug Fixes

  • Correctly start and end text sections for each page

Install code-to-pdf 0.2.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Tommypop2/code-to-pdf/releases/download/code-to-pdf-v0.2.2/code-to-pdf-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/Tommypop2/code-to-pdf/releases/download/code-to-pdf-v0.2.2/code-to-pdf-installer.ps1 | iex"

Download code-to-pdf 0.2.2

File Platform Checksum
code-to-pdf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
code-to-pdf-x86_64-apple-darwin.tar.xz Intel macOS checksum
code-to-pdf-x86_64-pc-windows-msvc.zip x64 Windows checksum
code-to-pdf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.2.1 - 2025-06-22

22 Jun 17:31
Compare
Choose a tag to compare

Release Notes

🚀 Features

  • Get running from the gui working
  • Running from GUI now writes file
  • Allow configuring number of threads that rayon uses
  • Add include_path option
  • Add benchmarking scripts
  • Allow for disabling logging

🐛 Bug Fixes

  • Remove max_image_size
  • Don't log from any dependencies

🚜 Refactor

  • Move to cargo workspace
  • Migrate logger to crossbeam
  • Remove commented code
  • Use log facade
  • Use info macro to log status information
  • Use appropriate logging level for more logs

📚 Documentation

  • Add doc comments to logging implementation

⚡ Performance

  • Cache processed text width

🧪 Testing

  • Logger test now passes

⚙️ Miscellaneous Tasks

  • Format
  • Clippy + fmt
  • Update lockfile
  • Fmt + clippy
  • Format + clippy

Install code-to-pdf 0.2.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Tommypop2/code-to-pdf/releases/download/code-to-pdf-v0.2.1/code-to-pdf-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/Tommypop2/code-to-pdf/releases/download/code-to-pdf-v0.2.1/code-to-pdf-installer.ps1 | iex"

Download code-to-pdf 0.2.1

File Platform Checksum
code-to-pdf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
code-to-pdf-x86_64-apple-darwin.tar.xz Intel macOS checksum
code-to-pdf-x86_64-pc-windows-msvc.zip x64 Windows checksum
code-to-pdf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.2.0

20 Apr 10:55
Compare
Choose a tag to compare

Release Notes

🚀 Features

  • Add dc2pdf binary, which can decode the output PDF back into the correct file tree
  • Add newline character to lines split via line-splitting
  • (dc2pdf) Correctly interpret newlines due to line-splitting and newlines from the source
  • Allow dc2pdf to accempt a path to a PDF to decode
  • Add out-dir argument to dc2pdf
  • (dc2pdf) Show error and continue parsing if a page is malformed

🐛 Bug Fixes

  • Prevent empty pages being generated

🚜 Refactor

  • Improve code separation (bin/lib)
  • Ensure no unnecessary newline characters are added to the PDF
  • Use slice instead of passing &Vec

📚 Documentation

  • Update c2pdf command description

🧪 Testing

  • Add shell script for testing encoding and decoding
  • Also replace \n characters for line splitting test

⚙️ Miscellaneous Tasks

  • (ci): ensure that features are disabled when building PDF artefact
  • Update formatting settings
  • Update lockfile
  • Remove unnecessary comment
  • Pass current directory to c2pdf when debugging

Install code-to-pdf 0.2.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Tommypop2/code-to-pdf/releases/download/v0.2.0/code-to-pdf-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/Tommypop2/code-to-pdf/releases/download/v0.2.0/code-to-pdf-installer.ps1 | iex"

Download code-to-pdf 0.2.0

File Platform Checksum
code-to-pdf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
code-to-pdf-x86_64-apple-darwin.tar.xz Intel macOS checksum
code-to-pdf-x86_64-pc-windows-msvc.zip x64 Windows checksum
code-to-pdf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.1.9 - 2025-04-17

17 Apr 23:56
Compare
Choose a tag to compare

Release Notes

🚀 Features

  • Add back error messages

🐛 Bug Fixes

  • Correctly increment line_width
  • Improve text wrapping

🚜 Refactor

  • Only use single use for font_kit imports
  • Change line that comment is on so it's clearer
  • Remove commented code
  • Only set text colour if the new colour is different to the previous colour

📚 Documentation

  • Add comments to add_image and to_document methods
  • Update readme

⚡ Performance

  • Walk paths in parallel (with rayon)
  • Add thread local for HighlighterConfig
  • Stop doing unnecessary heap allocation with vec![]
  • Extend contents vector instead of using new_contents

⚙️ Miscellaneous Tasks

  • Fmt
  • Fmt + clippy
  • Update ci

Install code-to-pdf 0.1.9

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Tommypop2/code-to-pdf/releases/download/v0.1.9/code-to-pdf-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/Tommypop2/code-to-pdf/releases/download/v0.1.9/code-to-pdf-installer.ps1 | iex"

Download code-to-pdf 0.1.9

File Platform Checksum
code-to-pdf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
code-to-pdf-x86_64-apple-darwin.tar.xz Intel macOS checksum
code-to-pdf-x86_64-pc-windows-msvc.zip x64 Windows checksum
code-to-pdf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.1.5 - 2025-03-29

29 Mar 13:31
6094f8d
Compare
Choose a tag to compare

Release Notes

🚜 Refactor

  • Move Dimensions into a separate file
  • Make processed_file_count private

📚 Documentation

  • Add syntect mention to syntax highlighting section of Features
  • Add comment to Dimensions struct
  • Add more doc comments

⚙️ Miscellaneous Tasks

  • Add warn on missing docs

Install code-to-pdf 0.1.5

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Tommypop2/code-to-pdf/releases/download/v0.1.5/code-to-pdf-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/Tommypop2/code-to-pdf/releases/download/v0.1.5/code-to-pdf-installer.ps1 | iex"

Download code-to-pdf 0.1.5

File Platform Checksum
code-to-pdf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
code-to-pdf-x86_64-apple-darwin.tar.xz Intel macOS checksum
code-to-pdf-x86_64-pc-windows-msvc.zip x64 Windows checksum
code-to-pdf-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
code-to-pdf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.1.4 - 2025-03-27

27 Mar 18:33
8446490
Compare
Choose a tag to compare

Release Notes

🚀 Features

  • Include more supported image formats
  • Calculate the maximum number of lines that can be displayed
  • Allow setting margin sizes as command-line arguments

🐛 Bug Fixes

  • Only push a line break if a new page isn't created

🚜 Refactor

  • Add increment_line_function to simplify making a new page if necessary
  • Pass references to PathBuf where possible
  • Remove (now) unused max_line_chars
  • Replace PathBuf with Path
  • Move page dimension info into Dimensions struct
  • Remove max_width from TextWrapper initialiser
  • Implement Default for Dimensions
  • Only store theme in HighlighterConfig
  • Switch to theme set from two_face

📚 Documentation

  • Add docs for installing via cargo binstall
  • Show usage for more command line options
  • Add mention of supporting ignore files
  • Add example for setting margins

⚙️ Miscellaneous Tasks

  • Fmt + clippy
  • Fmt + clippy
  • Don't create updater programs

Install code-to-pdf 0.1.4

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Tommypop2/code-to-pdf/releases/download/v0.1.4/code-to-pdf-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/Tommypop2/code-to-pdf/releases/download/v0.1.4/code-to-pdf-installer.ps1 | iex"

Download code-to-pdf 0.1.4

File Platform Checksum
code-to-pdf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
code-to-pdf-x86_64-apple-darwin.tar.xz Intel macOS checksum
code-to-pdf-x86_64-pc-windows-msvc.zip x64 Windows checksum
code-to-pdf-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
code-to-pdf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.1.3 - 2025-03-24

24 Mar 23:55
6f7150a
Compare
Choose a tag to compare

Release Notes

⚙️ Miscellaneous Tasks

  • Allow for usage as a library

Install code-to-pdf 0.1.3

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Tommypop2/code-to-pdf/releases/download/v0.1.3/code-to-pdf-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/Tommypop2/code-to-pdf/releases/download/v0.1.3/code-to-pdf-installer.ps1 | iex"

Download code-to-pdf 0.1.3

File Platform Checksum
code-to-pdf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
code-to-pdf-x86_64-apple-darwin.tar.xz Intel macOS checksum
code-to-pdf-x86_64-pc-windows-msvc.zip x64 Windows checksum
code-to-pdf-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
code-to-pdf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.1.1 - 2025-03-17

17 Mar 13:34
Compare
Choose a tag to compare

Release Notes

🐛 Bug Fixes

  • Use File::create instead of File::open

💼 Other

  • Update crate version

⚙️ Miscellaneous Tasks

  • Generate installers with cargo-dist
  • Change doc to docs

Install code-to-pdf 0.1.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Tommypop2/code-to-pdf/releases/download/v0.1.1/code-to-pdf-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/Tommypop2/code-to-pdf/releases/download/v0.1.1/code-to-pdf-installer.ps1 | iex"

Download code-to-pdf 0.1.1

File Platform Checksum
code-to-pdf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
code-to-pdf-x86_64-apple-darwin.tar.xz Intel macOS checksum
code-to-pdf-x86_64-pc-windows-msvc.zip x64 Windows checksum
code-to-pdf-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
code-to-pdf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.1.0 - 2025-03-16

16 Mar 23:10
Compare
Choose a tag to compare

Release Notes

🚀 Features

  • Walk a directory and print each file to a separate page
  • Path to walk is now a command line argument
  • Split up lines that are too long
  • Support syntax highlighting tsx and jsx!
  • Add done log
  • Ignore pnpm-lock and Cargo.lock files
  • Change binary name to c2pdf
  • Allow custom output paths to be set
  • Add LLDB launch.json
  • Respect max_line_len_to_highlight field
  • Add --exclude CLI option
  • Add pnpm-lock.yaml and Cargo.lock to the default ignore list
  • Make max_line_chars configurable programatically
  • Initial "correct" text wrapping implementation
  • Switch from cosmic-text to fontdue for text length calculations

🐛 Bug Fixes

  • Prevent panic on read_line
  • Ensure that the last chunked line is pushed

💼 Other

  • :Fill` now works!
  • Improve installation and usage docs
  • Improve project description
  • Add brief features list

🚜 Refactor

  • Move logic for processing files into a separate file
  • Rewrite for better maintainability and usability
  • Remove unused process_file function
  • Rename process_file.rs to helpers.rs
  • Make .pages private and replace with get_pages()
  • Remove unused html feature from printpdf
  • Remove debugging code
  • Improve the way pages are handled
  • Rename HighlighterData to HighlighterConfig
  • Simplify generate_pages function signature
  • Remove unused functions

📚 Documentation

  • Add comments to helper functions
  • Update generate_pages comment to be accurate

⚡ Performance

  • Don't highlight lines > 20,000 chars
  • Append slice instead of vector in init_page

⚙️ Miscellaneous Tasks

  • Update deps in lockfile
  • Remove test_folder and add to ignore
  • Add CI
  • Update lockfile
  • Update lockfile
  • Update lockfile
  • Use local version of printpdf
  • Add cargo dist

Download code-to-pdf 0.1.0

File Platform Checksum
code-to-pdf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
code-to-pdf-x86_64-apple-darwin.tar.xz Intel macOS checksum
code-to-pdf-x86_64-pc-windows-msvc.zip x64 Windows checksum
code-to-pdf-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
code-to-pdf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum