cpast-v0.7.1
Release Notes - Version 0.7.1 (2025-02-22)
Overview
Version 0.7.1 marks a significant step forward as cpast transition to a monorepo structure. Building upon the foundation of cpast_cli
, I'm excited to introduce several new tools to enhance the user experience.
Breaking Changes
- Removed the
clipboard
feature fromcpast_cli
. (builds might be broken for android[low priority]) - Replaced the
CPAST_DEBUG=1
environment variable with the--debug
flag incpast_cli
.
Crates
- ccode_runner: https://crates.io/crates/ccode_runner v0.2.0 (new)
- clex_gen: https://crates.io/crates/clex_gen v0.2.1 (new)
- cpast: https://crates.io/crates/cpast v0.7.1 (updated)
Key Updates
Monorepo Migration
- The codebase has been moved to a monorepo, making it easier to manage and allowing for smoother growth in the future.
New Tools
cpast_api
: A Work In Progress (WIP) backend service, currently under development, to facilitate API interactions.cscrapper
: A tool for gathering competitive programming questions from CodeChef and Codeforces.cpastord
: A service that connects cpast features with Discord.ccode_runner
: A flexible engine for running and testing code snippets for various languages. Optimized for repeated runs, robustness, and speed.clex_gen
: The core of cpast, this tool generates random test cases using the Clex language. Renamed fromclex
to avoid potential naming conflicts.clex_llm
: An AI-powered tool leveraging Google Gemini to generate Clex expressions from natural language.
CLI Improvements
- Verbose Output: The
cpast_cli
now supports a--debug
flag for detailed output, replacing theCPAST_DEBUG
environment variable (See issue #5). - Piping in generate: Improved piping capabilities within the
cpast generate
command.
Performance and Security
- Enhanced Storage Performance: Optimized the
file_store
component ofccode_runner
for improved efficiency. - Security Audit: Implemented a security audit workflow using
cargo deny
to scan dependencies for vulnerabilities, ensuring a more secure codebase.
Development and Infrastructure
- Rust 2024 Upgrade: Updated the codebase to Rust 2024, enabling the use of the latest language features and improvements.
- Refined Code Structure: Restructured
cpast_cli
intoccode_runner
andclex_gen
for better code organization and maintainability. - MSRV: Set the Minimum Supported Rust Version (MSRV) to 1.85.0.
General Improvements
- Improved error propagation across the project.
- Enhanced code quality, documentation, and performance.
- Fixed various bugs, including race conditions and panics.
- Updated dependencies to their latest versions.
For a full list of changes, check out the Full Changelog.