Skip to content

Releases: FigSystems/fpkg

v0.3.0

03 Mar 23:01
Compare
Choose a tag to compare

[0.3.0] - 2025-03-03

🚀 Features

  • Add list-installed command
  • Allow running a temporary environment consisting of multiple packages using run-multi
  • Add convenience gen-index command which generates the index file for a repository
  • Add sharing of /etc directory from host to packages
  • [breaking] Make version be a property rather then a subnode
  • Add > and >= to version range strings
  • Allow support for multiple version formats (X.X.X, X.X, X)
  • Add extra (optional) arg to gen-pkg to specify an outpath
  • First basic version of makefpkg! (See docs for more details)

🐛 Bug Fixes

  • Fix issue when a standard directory e.g. media or mnt doesn't exit.
  • Fix issue in building env when data contains a symlink
  • Fix package naming when generating packages
  • Set EUID to UID in cases where we don't want to run as root

📚 Documentation

  • Deprecate old version range specifiers and introduce > and >= instead

changelog auto-generated by git-cliff

v0.2.0

22 Feb 18:49
Compare
Choose a tag to compare

[0.2.0] - 2025-02-22

🚀 Features

  • Allow fuzzy specification of packages to be installed
  • Added package uninstallation
  • [breaking] Change directory layout of fpkg store (see updated docs)

🐛 Bug Fixes

  • Fix issue where installing a package will reinstall even if it is already on disk

changelog auto-generated by git-cliff

v0.1.0

19 Feb 04:43
Compare
Choose a tag to compare

[0.1.0] - 2025-02-19

🚀 Features

  • Add help text
  • Added check for not enough arguments
  • Added parsing of package configurations
  • Added package archive creation
  • Added package extraction
  • Added config option support
  • Add file fetching support
  • Reduce binary size
  • Add repository file reading
  • Add repository index file parsing
  • Add package listing support
  • Add dependency resolving
  • Added environment creation
  • Basic package running!
  • [breaking] Require fpkg to be setuid, allowing for non-root package running
  • Maintain current directory if it is available inside the environment

🐛 Bug Fixes

  • Fix kdl parsing bug where quoted strings are returned with the quotes
  • Remove cryptic error messages for invalid kdl inputs
  • Fix symlinking
  • Fix environment creation behavior where symlinks are handled incorrectly
  • Fix vulnerability where unprivaleged processes can chroot
  • Fix argument passing when running a package

🚜 Refactor

  • Remove asynchronus code
  • Move all String error messages to Box<dyn Error>
  • Modify pkg.rs to follow spec on versioning specification
  • Migrate to anyhow for errors
  • Better package installation
  • Installing a package also builds environments
  • Added docstrings
  • Gen pkg works as non-root
  • Run tests as release
  • Improve package running and update spec to its current usage
  • Remove unused functions
  • Clean up excessive logging

📚 Documentation

  • Allow http servers in the spec too
  • Switch to better versioning method
  • Update spec to include each package's dependencies in the repositories package description
  • Added spec for running packages

🎨 Styling

  • Add warning message when running fpkg run as root

🧪 Testing

  • Added package configuration checker test
  • Add parse repository index file tests

⚙️ Miscellaneous Tasks

  • Add integration for git cliff
  • Provide job seperation between building and releasing
  • Make git cliff use latest tag
  • Allow incremental builds
  • Fix Rust Cache
  • Strip resulting binaries
  • Make git-cliff no longer include [ ci skip ] in the listing
  • Update ci to preform better checking of tags
  • Make jobs linear to fix order
  • Arrange CI in a better way

changelog auto-generated by git-cliff