Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 16 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file.

## [Unreleased]

### Added - 2026-05-09
- Established repository versioning and changelog policy in `VERSIONING.md`.
- Added doc-comment support for generated API documentation:
- `ras-jsonrpc-macro` now maps `///` comments on JSON-RPC methods into OpenRPC `summary` and `description`.
- `ras-rest-macro` now maps `///` comments on REST endpoints into OpenAPI operation `summary` and `description`.
- Enhanced the API explorer to render documentation from generated specs:
- Shows operation/method docs for both REST and JSON-RPC.
- Shows schema/type and field descriptions produced by `schemars::JsonSchema`.
- Renders a safe dependency-free Markdown subset for paragraphs, line breaks, bold, inline code, fenced code blocks, lists, and HTTP(S) links.
- Added Playwright e2e coverage for REST and JSON-RPC explorer documentation rendering.

### Changed - 2026-05-09
- Bumped `ras-jsonrpc-macro` from `0.1.1` to `0.1.2`.
- Bumped `ras-rest-macro` from `0.1.0` to `0.1.1`.

### Added - 2025-01-14
- Cat avatar system for bidirectional chat users
- Unique ASCII art cat avatars generated from username hashes
Expand Down Expand Up @@ -471,4 +486,4 @@ All notable changes to this project will be documented in this file.
- Created rust-jsonrpc-macro procedural macro crate foundation
- Added .gitignore for Rust and IDE artifacts
- Configured MCP integration with Context7 for enhanced documentation
- Added CLAUDE.md for AI-assisted development guidance
- Added CLAUDE.md for AI-assisted development guidance
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 34 additions & 0 deletions VERSIONING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Versioning and Changelog Policy

This workspace uses independent crate versions. Bump only the publishable crates
whose public API, generated output, runtime behavior, or documented behavior
changed.

## Versioning

- Follow SemVer for crates at `1.0.0` and later.
- While crates are `0.x`, use patch bumps for backward-compatible fixes,
additive behavior, docs, and tooling improvements.
- While crates are `0.x`, use minor bumps for breaking public API changes or
generated-code contract changes.
- Do not version-bump examples, fixtures, or crates marked `publish = false`
unless their version is meaningful to a downstream release process.
- Keep `Cargo.lock` aligned with any package version changes.

## Changelog

- Every user-facing change must add an entry under `CHANGELOG.md` ->
`[Unreleased]`.
- Group entries by `Added`, `Changed`, `Fixed`, `Documentation`, or
`Maintenance`.
- Include the affected crate names when a change is scoped to specific crates.
- Mention version bumps in the same changelog entry set.

## Release Checklist

1. Move relevant `[Unreleased]` entries into a dated release section.
2. Confirm publishable crate versions match the release contents.
3. Run the relevant crate tests and any affected e2e suites.
4. Commit `Cargo.toml`, `Cargo.lock`, `CHANGELOG.md`, and release notes together.
5. Tag releases using crate-aware tags when publishing one crate, for example
`ras-rest-macro-v0.1.1`.
4 changes: 2 additions & 2 deletions crates/rest/ras-rest-macro/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ras-rest-macro"
version = "0.1.0"
version = "0.1.1"
edition = "2024"
description = "Procedural macro for type-safe REST APIs with auth integration and OpenAPI document generation"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -57,4 +57,4 @@ criterion = { workspace = true, features = ["async_tokio"] }

[[bench]]
name = "dispatch"
harness = false
harness = false
Loading
Loading