Changelog

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.

[Unreleased]

[0.1.0] - 2025-02-28

Added

  • (srcinfo) Add srcinfo parser
  • (buildinfo) Add cli feature flag
  • (types) Rename BuildEnv -> BuildEnvironmentOption
  • winnow-debug flags for winnow debugging
  • (buildinfo) Support pretty-printing the parse output
  • (buildinfo) Add format subcommand
  • (alpm-parser) Use winnow for custom-ini parsing
  • (scripts) Add file testing command
  • (types) Add value to RegexDoesNotMatch Error
  • (buildinfo) expose validate and create methods
  • (buildinfo) Extend CLI for buildinfo v2 validation/creation
  • (buildinfo) Adds buildinfo version 2 struct and schema
  • (buildinfo) parse files with the custom INI parser
  • (cli) support piping from stdin
  • Expose common module publicly to be able to run doc tests
  • Add alpm-buildinfo CLI for validating and creation
  • Add library implementation of BuildInfoV1
  • Add specification for BUILDINFOv1 as man page

Fixed

  • Sanitize cargo-insta snapshot names
  • (tests) Replace testdir with tempfile
  • (buildinfo) Use macro for flattened struct generation
  • (alpm-types) Make BuildTool version architecture optional
  • Adapt documentation links to workspace locations
  • Use automatic instead of bare links to documentation
  • Derive default for Schema enum instead of using an impl block
  • (deps) update rust crate clap_complete to 4.4.4
  • (deps) update rust crate clap to 4.4.8
  • Change README license to GFDL-1.3-or-later

Other

  • Consolidate keywords in the the SEE ALSO section
  • Switch to rustfmt style edition 2024
  • (cargo) Declare rust-version in the workspace not per crate
  • Streamline wording around keyword assignments
  • (README) Sort components alphabetically
  • (README) Sort links alphabetically
  • (srcinfo) README
  • (format) Merge imports
  • (types) Rename StartDir -> StartDirectory
  • (types) Rename BuildDir -> BuildDirectory
  • (README) Add missing link target for alpm-pkginfo
  • (README) Add information on releases and OpenPGP verification
  • Add alpm-pkginfo to mdbook setup and top-level README
  • (error) Use thiserror macro inline to avoid conflicts
  • (buildinfo) Use v2 format examples in README.md
  • (buildinfo) Simplify the integration tests for alpm-buildinfo
  • (buildinfo) Assert the output of commands in README.md
  • (buildinfo) Merge imports
  • (buildinfo) Clean up API surface
  • (workspace) Make testdir and erased-serde workspace dependency
  • (buildinfo) Fix grammar warning in doc comment
  • (types) Change Name::new parameter from String to &str
  • Make alpm-types and alpm-parser workspace dependencies
  • (types) Use consistent 'Errors' section in doc comments
  • (readme) Mention the official announcement in top-level documentation
  • (buildinfo) Implement Serialize for v1/v2 types
  • (buildinfo) Use ExitCode for simpler exit handling
  • (buildinfo) Simplify the error type
  • (buildinfo) Use TestResult in unit tests
  • (buildinfo) Avoid unwrapping in doc comments
  • Move listing of specifications to mdbook setup
  • Add/ Update links to latest project documentation
  • Make insta a workspace dependency
  • (mtree) Update main README for new MTREE specs
  • (deps) Move testresult to workspace dependencies
  • (types) Use consistent constructors
  • (types) Rename BuildToolVer to BuildToolVersion
  • (types) Add type aliases for MakePkgOption
  • (types) Add type aliases for i64
  • (buildinfo) Add integration tests for buildinfo v2
  • (buildinfo) create a helper function for guessing Schema
  • (buildinfo) Expose buildinfo v1 fields inside of crate
  • [breaking] Move Schema to its own module
  • More precisely distinguish pkgver from alpm-pkgver
  • (BUILDINFO) Adapt buildtoolver to current use scenarios
  • (BUILDINFO) Rely on new specifications for installed keyword
  • (BUILDINFO) Sync overlapping keyword definitions with PKGINFO
  • (BUILDINFO) Use more generic package name value
  • (BUILDINFO) Add release date for supported BUILDINFO versions
  • (README) Update components section with current libraries
  • (README) Add information on specs and implementations
  • (README) Add visualization providing a project overview
  • (README) Add links to all current specifications
  • (error) use more generalized error types
  • (workspace) update deployed documentation links
  • (buildinfo) write formal specification for buildinfov2
  • (workspace) use shared workspace metadata
  • auto-fix lint issues in buildinfov1
  • (buildinfo) test with snapshots
  • Replace man page/ completion setup with project-wide approach
  • Extend General Format and Keywords section for BUILDINFOv1
  • Improve language in description of the BUILDINFOv1 specification
  • Move synopsis to description section of BUILDINFOv1 specification
  • Remove bugs and authors info from BUILDINFOv1 specification
  • Use unversioned BUILDINFO name in BUILDINFOv1 specification
  • Add symlink for BUILDINFO specification to set default version
  • Move BUILDINFOv1 specification to more generic directory
  • (workspace) move more dependencies to workspace
  • Unify and bump workspace dependencies
  • Apply rustfmt configuration to codebase
  • Adapt alpm-buildinfo cargo configuration to workspace
  • (license) Relicense the project as Apache-2.0 OR MIT
  • (Cargo.toml) [breaking] Update minimum required rust-version to 1.70.0
  • (deps) update rust crate rstest to 0.18.2
  • Add information on where to find documentation.
  • Add CLI examples to README
  • Add information on creating BuildInfoV1 to README
  • Add README, contributing guidelines, changelog and licenses