Releases: richer-richard/fenestra
Release list
fenestra-mcp 0.40.1 (MCPB bundle)
MCPB (MCP Bundle) release of fenestra-mcp for the official MCP Registry, since the registry currently rejects registryType "cargo" (tracked upstream).
This bundle is macOS arm64 only for now, built from the same source as the fenestra-mcp 0.40.1 crate on crates.io. Windows/Linux bundles would need a cross-compilation CI job; not set up yet. cargo install fenestra-mcp remains the primary, fully cross-platform install path.
fenestra v0.40.0
See CHANGELOG.md for details.
What's Changed
- fenestra-motion: frame-pure motion graphics with headless verification by @richer-richard in #16
- Hardening + correctness pass: close agent-reachable DoS vectors, fix retained-state bugs by @richer-richard in #15
- feat: community batch — JSON authoring completeness, live preview, filmstrips, OKLCH color picker by @richer-richard in #17
Full Changelog: v0.39.0...v0.40.0
fenestra-anim v0.1.0
Initial release of fenestra-anim: frame-pure keyframe animation math, extracted
into a standalone leaf crate so it can be depended on from crates.io without
pulling in any GUI/GPU crate.
crates.io: https://crates.io/crates/fenestra-anim
Extracted from fenestra-core (CubicBezier, SpringSpec — still re-exported at
their original fenestra-core paths, no public API change there) and
fenestra-motion (Frames/FrameRange, the Ease/Spring easing set,
Track<T: Interpolate>/Key<T>), plus a new mul_div(a, b, c, Rounding) -> u64
exact rational timebase primitive.
Zero dependency on any fenestra crate, wgpu, vello, parley, taffy, or winit —
usable by any frame/tick-based sampler, including outside this workspace.
serde is optional, behind a serde feature.
Added
CubicBezier: CSS-style cubic-bezier easing (Newton-solved, documented 1e-5 accuracy bound).SpringSpec: closed-form damped spring step response, no numeric integration or state.Ease,Spring, andlinear/hold/ease_in/ease_out/ease_in_out/spring.Frames/FrameRange: integer-frame ground truth.Interpolate: the value contractTracksamples through (f32,(f32, f32)).
Color interpolation is deliberately not shipped — see the crate README.Key<T>,Track<T: Interpolate>,sorted_keys,locate: typed keyframe tracks
and the segment-lookup/easing machinery behind them, exposed so a consumer with a
value type outsideInterpolate(e.g. a color type) can reuse the bookkeeping.mul_div(a, b, c, Rounding) -> u64,Rounding::{Floor, Ceil, Round}.
See ARCHITECTURE.md
for the extraction rationale and design decisions, and the
crate CHANGELOG.
fenestra v0.39.0
See CHANGELOG.md for details.
What's Changed
- add: 12 new lucide icons by @paarothecoder in #12
New Contributors
- @paarothecoder made their first contribution in #12
Full Changelog: v0.38.0...v0.39.0
fenestra v0.38.0
See CHANGELOG.md for details.
What's Changed
- Liquid Glass optics + agent-native authoring/verify/discover by @richer-richard in #14
New Contributors
- @richer-richard made their first contribution in #14
Full Changelog: v0.37.0...v0.38.0
fenestra v0.37.0
See CHANGELOG.md for details.
Full Changelog: v0.36.0...v0.37.0
fenestra v0.36.0
See CHANGELOG.md for details.
Full Changelog: v0.35.0...v0.36.0
fenestra v0.35.0
See CHANGELOG.md for details.
Full Changelog: v0.34.0...v0.35.0
fenestra v0.34.0
See CHANGELOG.md for details.
Full Changelog: v0.33.0...v0.34.0
fenestra v0.33.0
See CHANGELOG.md for details.
Full Changelog: v0.32.0...v0.33.0