Skip to content

Latest commit

 

History

History
139 lines (89 loc) · 5.87 KB

File metadata and controls

139 lines (89 loc) · 5.87 KB

Changelog

All notable changes to the facet project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

0.46.0 - 2026-04-15

Other

  • sync all companion crates to v0.46.0 in one version group

0.45.0 - 2026-04-14

Added

  • (core) add pop + swap list vtable entries

Fixed

  • (core) drop Result via typed drop_in_place to satisfy Stacked Borrows

0.44.5 - 2026-04-13

Other

  • updated the following local packages: facet-core, facet-macros, facet-reflect

0.44.4 - 2026-04-13

Other

  • updated the following local packages: facet-reflect

0.44.3 - 2026-03-16

Other

  • updated the following local packages: facet

0.44.2 - 2026-03-12

Added

  • (crates) address Copilot's review comments
  • (crates) add support for semver

Other

  • remove captain readme templates and README.md.in files
  • drop duplicate crate title headings in reedme docs
  • template shared readme footer with reedme
  • migrate crate docs/readmes to cargo-reedme

0.44.1 - 2026-03-03

Other

  • Make postcard opaque passthrough API backwards compatible
  • Add postcard opaque passthrough encoded-bytes path

0.44.0 - 2026-03-01

Added

  • add plan-agnostic opaque adapter MVP (#2068) (#2074)
  • (facet-args) layered config with provenance tracking and beautiful config dump (#1907)
  • (facet) add #[facet(cow)] attribute for cow-like enum semantics (#1898)

Fixed

  • (core) make ownership transfer explicit in list/slice push vtables (#2088)
  • (core) print generic params in Shape display for Option/Result (#2038)
  • (facet) make cow enums serialize/deserialize transparently (#1901)
  • remove unnecessary T: 'static bound from Vec impl (#1894)

Other

  • Make OptionVTable callbacks extern "C" and FFI-safe (#2106)
  • Allow borrowed #[facet(opaque)] fields safely (#2087)
  • Make OxPtrConst/OxPtrMut constructor invariants explicit (#2080)
  • Expose const generic parameters via Shape reflection (#2061)
  • don't allocate ZSTs (#2013)
  • use UserType::Enum always (#2006)
  • Consolidate trame design (née facet-reflect2) (#1992)
  • More ops, more fuzzing (+ a drive-by serialization fix) (#1984)
  • Refactor TypePlan to 32-bit arena indices, eliminate Box::leak, add benchmark infrastructure (#1968)
  • eliminate type_identifier usage (#1965)
  • Re-enable specialization-based auto-detection as default (#1919)
  • Add Facet implementations for jiff::civil::Date and jiff::civil::Time (#1911)

0.43.2 - 2026-01-23

Added

  • (facet-core) Add SmallVec support (#1884)

Other

  • (tests) consolidate integration test binaries (#1887)

0.43.1 - 2026-01-23

Added

  • add Facet implementation for tendril crate (#1870)

0.42.0 - 2026-01-06

Added

  • implement Facet for core::convert::Infallible

Fixed

  • mark function pointers as invariant to prevent lifetime UB
  • (soundness) make OxRef::new and OxMut::new unsafe

Other

  • (bytestring) simplify ByteString impl with vtable_direct! macro
  • Fix #1629: Preserve custom HTML elements during parse/serialize roundtrip
  • Add facet-validate crate for field validation during deserialization
  • Add rust_decimal::Decimal support + fix XML type inference
  • Add rust_decimal::Decimal support to facet-core
  • Add Facet implementation for smol_str::SmolStr
  • Set up release-plz with synchronized versions and trusted publishing
  • Add facet_no_doc cfg for global doc string stripping
  • Fix facet-pretty to respect skip_serializing_if and add HTML roundtrip tests
  • Add html::text attribute for enum variants and comprehensive roundtrip test
  • Fix inconsistent Shape hash (issue #1574)
  • Fix soundness issue: Attr can contain non-Sync data
  • Require 'static for Opaque Facet impl
  • (facet-core) simplify Ox API by requiring T: Facet
  • fix broken intra-doc link to Peek in facet-core
  • Improve AGENTS.md, closes #1551