diff --git a/Cargo.lock b/Cargo.lock index 84025c7..c6dc101 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -677,7 +677,7 @@ dependencies = [ [[package]] name = "socketry-project" -version = "0.3.8" +version = "0.3.9" dependencies = [ "bake", "bake-agent-context", diff --git a/Cargo.toml b/Cargo.toml index ea8ff88..370f1dc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "socketry-project" -version = "0.3.8" +version = "0.3.9" edition = "2024" license = "MIT" repository = "https://github.com/socketry/socketry-project-rust" diff --git a/bake/Cargo.toml b/bake/Cargo.toml index f763eae..38551d1 100644 --- a/bake/Cargo.toml +++ b/bake/Cargo.toml @@ -7,4 +7,4 @@ publish = false [dependencies] bake = "0.19.0" bake-markdown = "0.3.0" -socketry-project = { path = "..", version = "0.3.8" } +socketry-project = { path = "..", version = "0.3.9" } diff --git a/context/conventions.md b/context/conventions.md index bd8f6b4..921e346 100644 --- a/context/conventions.md +++ b/context/conventions.md @@ -22,7 +22,7 @@ Keep public paths independent of redundant namespace layers such as `bake_agent_ ## Source naming - Use `snake_case` for modules, source files, functions, methods, and variables. Use `UpperCamelCase` for structs, enums, traits, and type parameters. -- Preserve established initialisms in type and trait names: write `HTMLRenderer`, `HTTPClient`, and `URLParser`, rather than `HtmlRenderer`, `HttpClient`, or `UrlParser`. Keep filenames lowercase `snake_case`, such as `html_renderer.rs`, `http_client.rs`, and `url_parser.rs`. +- Treat acronyms and initialisms as single words in `UpperCamelCase`, following the [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/naming.html#casing-conforms-to-rfc-430-c-case): write `HtmlRenderer`, `HttpClient`, `UrlParser`, and `FileIo`. Use lowercase acronyms in `snake_case`, including filenames such as `html_renderer.rs`, `http_client.rs`, and `file_io.rs`. This keeps Socketry's Rust APIs consistent with the Rust ecosystem; names required by external APIs retain their original spelling. - Make public type and trait names fully descriptive; include the kind of thing being named instead of relying on the module path to supply it. For example, use `io_stream::BufferedStream` rather than `io_stream::Buffered`. - Prefer clear, consistent names. Avoid abbreviations unless they are an established domain initialism or required by an external API. - Give each primary public struct, enum, or trait its own source file, named after the item using lowercase `snake_case`. Keep small, closely related helper types alongside it when that makes the code easier to understand. diff --git a/readme.md b/readme.md index 89e5b38..e658623 100644 --- a/readme.md +++ b/readme.md @@ -39,6 +39,10 @@ Prepare a release with `cargo bake cargo:version:patch` (or `minor`, `major`, or See [releases.md](releases.md) for the full release history. +### v0.3.9 + +- Follow Rust acronym casing in type and trait names, using `HtmlRenderer`, `HttpClient`, `UrlParser`, and `FileIo`. + ### v0.3.8 - Let Cargo select setup dependency versions while retaining open-ended minimum requirements. @@ -49,12 +53,6 @@ See [releases.md](releases.md) for the full release history. - Require a stable aggregate test and coverage result alongside publishing checks. - Clarify merge gates and repository-owned agent guidance in the shared conventions. -### v0.3.6 - -- Normalize standard project Markdown files after version bumps. -- Fix the version bump hook's invocation of the Markdown normalizer. -- Include `bake-markdown` 0.3.0 in the shared task set so version bumps use hyphen markers for unordered lists. - ## See Also diff --git a/releases.md b/releases.md index 3e60811..8860272 100644 --- a/releases.md +++ b/releases.md @@ -1,5 +1,9 @@ # Releases +## v0.3.9 + +- Follow Rust acronym casing in type and trait names, using `HtmlRenderer`, `HttpClient`, `UrlParser`, and `FileIo`. + ## v0.3.8 - Let Cargo select setup dependency versions while retaining open-ended minimum requirements.