Rust learning and ecosystem tracking expert covering version updates, new features, RFC tracking, crate updates, best practice evolution, and learning resources.
# Check current version
rustc --version
# Update Rust
rustup update stable
# View changelog
rustup doc --changelog
| Scenario | Recommendation | |----------|---------------| | New project | Use latest stable | | Production project | Follow 6-week cycle | | Library project | Consider MSRV policy |
[package]
rust-version = "1.70" # Declare minimum version
[dependencies]
# MSRV-sensitive dependencies require care
serde = { version = "1.0", default-features = false }
# Quarterly update routine
rustup update stable
cargo outdated
cargo audit
cargo test --all-features
# Read release notes
rustup doc --changelog
# Check for breaking changes
cargo update --dry-run
# Security audit
cargo audit
# License check
cargo deny check licenses
# Check dependency tree
cargo tree
// Edition 2024 features
// Inline const (1.79+)
const fn compute() -> [u8; 32] {
let mut arr = [0u8; 32];
// compute at compile time
arr
}
// Never type improvements (1.82+)
fn diverge() -> ! {
panic!("never returns")
}
// Async fn in trait (1.75+)
trait Repository {
async fn fetch(&self, id: u64) -> Result<Data, Error>;
}
Basics → Ownership, lifetimes, borrow checker
↓
Intermediate → Trait objects, generics, closures
↓
Concurrency → async/await, threads, channels
↓
Advanced → unsafe, FFI, performance optimization
↓
Expert → Macros, type system, design patterns
| Source | Content | Frequency | |--------|---------|-----------| | This Week in Rust | Weekly digest, RFCs, blogs | Weekly | | Rust Blog | Major releases, deep dives | As released | | Rust RFCs | Design discussions | Ongoing | | Release Notes | Version changes | Every 6 weeks |
| Resource | Content | |----------|---------| | docs.rs | Documentation search | | crates.io | Package search | | lib.rs | Find alternative crates | | Rust Analyzer | IDE plugin |
# Check outdated dependencies
cargo outdated
# Update compatible versions
cargo update
# Update to latest (may break)
cargo upgrade
# Check for known vulnerabilities
cargo audit
# Check dependency licenses
cargo deny check licenses
# Analyze dependency tree
cargo tree -d # Show duplicates
Every 3 months:
- [ ] Upgrade to latest stable Rust
- [ ] Run cargo outdated
- [ ] Run cargo audit
- [ ] Check dependencies for breaking changes
- [ ] Evaluate new features worth adopting
- [ ] Update tooling (clippy, rustfmt)
Every year:
- [ ] Consider edition upgrade
- [ ] Refactor deprecated patterns
- [ ] Evaluate MSRV policy
- [ ] Update development toolchain
- [ ] Review architecture patterns
| Edition | Released | Key Features | |---------|----------|--------------| | 2015 | Original | - | | 2018 | Dec 2018 | Module system, NLL | | 2021 | Oct 2021 | Disjoint captures, IntoIterator | | 2024 | TBD | Gen blocks, async drop |
# Check if upgrade possible
cargo fix --edition
# Update Cargo.toml
# edition = "2024"
# Test thoroughly
cargo test --all-features
When learning new Rust features:
# Check Rust version
rustc --version
rustup show
# Update toolchain
rustup update
# Check outdated dependencies
cargo outdated
# Security audit
cargo audit
# License compliance
cargo deny check
# Check for deprecated features
cargo clippy -- -W deprecated
Symptom: Using unstable features in production
# ❌ Avoid: nightly features in production
#![feature(generic_associated_types)]
# ✅ Good: wait for stabilization
# Use stable alternatives
Symptom: Breaking downstream users
# ✅ Good: declare MSRV
[package]
rust-version = "1.70"
# Test against MSRV in CI
# cargo +1.70 test
Symptom: Surprised by breaking changes
# ✅ Good: read before updating
rustup doc --changelog
# Check crate changelogs
cargo info <crate> --version <version>
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer