Skip to main content

11 posts tagged with "Release"

Project releases

View All Tags

CGP v0.6.1 Release: Improving Ergonomics and Debugging

9 min read
Soares Chen
Creator of Context-Generic Programming

We're excited to announce the release of cgp v0.6.1, which brings several quality-of-life improvements to Context-Generic Programming in Rust. This release focuses on making CGP more accessible to developers new to the paradigm while also providing better debugging and verification tools for complex provider setups.

The changes in this release reflect our commitment to lowering the barrier to entry for CGP, while maintaining the power and flexibility that make it such a compelling approach to modular Rust code. Whether you're an experienced CGP user or just getting started, we believe you'll find these improvements meaningful.

Announcing cgp-serde: A modular serialization library for Serde powered by CGP

36 min read
Soares Chen
Creator of Context-Generic Programming

I am excited to announce the release of cgp-serde, a modular serialization library for Serde that leverages the power of Context-Generic Programming (CGP).

In short, cgp-serde extends Serde鈥檚 original Serialize and Deserialize traits with CGP, making it possible to write overlapping or orphaned implementations of these traits and thus bypass the standard Rust coherence restrictions.

Furthermore, cgp-serde allows us to leverage the powerful context and capabilities concepts in stable Rust today. This unlocks the ability to write context-dependent implementations of Deserialize, such as one that uses an arena allocator to deserialize a 'a T value, a concept detailed in the proposal article.

CGP v0.5.0 Release: Auto dispatchers, extensible datatype improvements, monadic computation, RTN emulation, modular serde, and more

26 min read
Soares Chen
Creator of Context-Generic Programming

CGP v0.5.0 has been released, bringing a range of new features and some breaking changes as part of the ongoing effort toward stabilization. This version introduces several improvements to make CGP more practical, expressive, and easier to use in real-world Rust projects.

The highlights of this major release are summarized below. Also check out the changelog for the full list of changes.

Programming Extensible Data Types in Rust with CGP - Part 1: Modular App Construction and Extensible Builders

36 min read
Soares Chen
Creator of Context-Generic Programming

I鈥檓 excited to announce the release of CGP v0.4.2, a major milestone that significantly expands the expressive power of generic programming in Rust. With this release, CGP introduces full support for extensible records and variants, unlocking a range of new capabilities for developers working with highly modular and reusable code.

Extensible records and variants allow developers to write code that operates on any struct containing specific fields or any enum containing specific variants, without needing their concrete definition. This makes it possible to write truly generic and flexible logic that is decoupled from rigid type definitions.

CGP v0.4.1 Release: new cgp-handler crate, improved preset macros, and more.

4 min read
Soares Chen
Creator of Context-Generic Programming

We are excited to announce the release of CGP v0.4.1! This release brings several new features, quality-of-life improvements for macro usages, and a new crate cgp-handler.

Here are some of the highlights:

  • New cgp-handler crate: Provides abstract interfaces for defining components with common method signatures.
  • cgp_preset! macro improvement: Now supports wrapping of Preset::Provider.
  • #[cgp_component] macro improvement: Now supports automated derivation of UseDelegate.
  • Improved Documentation: Added inline Rust documentation for common CGP constructs.