nixide/CHANGELOG.md
2026-01-13 17:07:20 +01:00

3.3 KiB

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.2.0 - 2026-01-13

Added

  • Workaround for automatic C library input propagation in downstream Nix builds. (#27 by @roberth)
  • EvalStateBuilder::load_ambient_settings() to control whether global Nix settings are loaded. (#36 by @roberth)

Fixed

  • Path coercion failing with "path does not exist" errors due to missing eval_state_builder_load() call. (#36 by @aanderse)

Changed

  • Split nix-bindings-util-sys (which contained all low-level FFI bindings) into separate per-library *-sys crates. (#27 by @Ericson2314) This allows downstream crates to depend on just the low-level bindings they need without pulling in higher-level crates.

0.1.0 - 2026-01-12

Initial release, extracted from the nixops4 repository.

Added

  • nix-bindings-store: Rust bindings for Nix store operations
  • nix-bindings-expr: Rust bindings for Nix expression evaluation
    • EvalState for evaluating Nix expressions
    • Value creation (int, string, attrs, thunks, primops, etc.)
    • Value inspection/extraction (require_* functions)
    • Attribute selection and manipulation
    • Thread registration for GC safety
  • nix-bindings-fetchers: Rust bindings for Nix fetchers
  • nix-bindings-flake: Rust bindings for Nix flake operations
    • Flake locking
    • Flake overriding
  • nix-bindings-util: Shared utilities
    • Context management for Nix C API error handling
    • Settings access
  • nix-bindings-util-sys: Low-level FFI bindings for all Nix C libraries

Contributors

Thanks to everyone who contributed to the initial development, some of whom may not be listed with individual changes above: