granc/CHANGELOG.md
Victor Martinez Montané 5a69984daa chore: release-plz update (#4)
This is an automated PR generated by [release-plz](https://github.com/MarcoIeni/release-plz) via Woodpecker CI.

Co-authored-by: release-plz-bot <bot@codeberg.org>
Reviewed-on: https://codeberg.org/JasterV/granc/pulls/4
2026-04-24 14:34:11 +02:00

8.1 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

granc - 0.7.6 - 2026-04-22

Other

  • update dependencies

granc_core - 0.6.4 - 2026-04-22

Other

  • update Cargo.toml dependencies

granc - 0.7.5 - 2026-04-22

  • refactor: use streams for streaming responses' (#2)

granc_core - 0.6.3 - 2026-04-22

  • refactor: use streams for streaming responses' (#2)

granc - 0.7.4 - 2026-03-09

  • [chore] Migration to Codeberg

granc_core - 0.6.2 - 2026-03-09

  • [chore] Migration to Codeberg

granc - 0.7.3 - 2026-02-11

  • [fix] Support for cargo binstall

granc - 0.7.2 - 2026-02-11

  • [chore] Add support for cargo binstall

granc - 0.7.1 - 2026-02-06

  • [feat] Add a new command to generate markdown documentation for gRPC services (#46)
  • (deps) bump clap from 4.5.55 to 4.5.56 (#45)

granc_core - 0.6.1 - 2026-02-06

  • Added name, full_name, and package_name methods to Descriptor to simplify access to descriptor metadata.

granc - 0.7.0 - 2026-01-28

  • (deps) bump clap from 4.5.54 to 4.5.55 (#36)
  • [fix] A URL should not be required for list and describe commands (#35)
  • [test] Added comprehensive tests for CLI argument parsing and validation.

granc_core - 0.6.0 - 2026-01-28

  • [refactor] Now the GrancClient also provides a full offline state and other states have been renamed to be more idiomatic (#35)

granc - 0.6.0 - 2026-01-27

  • Make the --file-descriptor-set a global option for all commands, so reflection commands can also be executed against a local descriptor. (#28)

granc_core - 0.5.0 - 2026-01-27

  • Typestate design refactor: The GrancClient has been refactored to support multiple states where invariants for each state are ensured by the compiler. (#28)
    • The GrancClient can be in either a WithServerReflection state or a WithFileDescriptor state, and both states have independent APIs (Async vs sync).

granc - 0.5.1 - 2026-01-24

Other

  • Update deps: Update granc_core to 0.4.1

granc_core - 0.4.1 - 2026-01-27

Other

  • Internal clean up: We've replaced our own script that generated the Reflection client to use tonic-reflection instead. (#29)

granc - 0.5.0 - 2026-01-24

Added

  • Introspection Commands:
    • list: Lists all services available on the server (requires reflection).
    • describe: Lists all methods within a specific service, prints the Protobuf definition of a message type or show all the variants of an enum.
  • Formatted Output: Added colored output for Protobuf definitions, JSON responses, and error messages.

Changed

  • [BREAKING] New CLI Structure: The CLI now enforces a granc <URL> <COMMAND> structure.
    • Previous implicit calls are now explicit: granc http://... call <ENDPOINT> ....
    • The URL is now a global positional argument required for all commands.

granc_core - 0.4.0 - 2026-01-24

Added

  • Introspection APIs: Added list_services and get_descriptor_by_symbol to GrancClient.
  • Reflection Support: Updated ReflectionClient to support the ListServices reflection method.

Changed

  • Error Handling Refactor: Overhauled error types to be more specific per method (GetDescriptoError, ListServicesError) and reduced internal duplication.

granc - 0.4.0 - 2026-01-22

  • Made a mistake publishing granc 0.3 and introduced bugs, granc 0.4 fixes them and its the first working version after 0.2.4.

granc_core - 0.3.1 - 2026-01-22

Other

  • Update granc-core documentation

granc_core - 0.3.0 - 2026-01-22

  • Fix: separate reflection generation binary to not be published (#20)

granc - 0.2.4 - 2026-01-22

  • Published granc-core as a library crate granc-core (#16)

granc_core - 0.2.4 - 2026-01-22

  • Published granc-core as a library crate granc-core (#16)

granc - 0.2.3 - 2026-01-21

  • Internal refactor: Decouple ReflectionClient to possibly publish in a separate crate

granc - 0.2.2 - 2026-01-21

  • Updated README.md

granc - 0.2.1 - 2026-01-21

  • Updated README

granc - 0.2.0 - 2026-01-21

Added

  • Automatic Reflection: The tool now supports automatic reflection, trying to reach the reflection service in the server if the user doesn't provide a file descriptor binary (#9)

granc - 0.1.0 2026-01-20

Added

  • Dynamic gRPC Client: Implemented a CLI that performs gRPC calls without generating Rust code, bridging JSON payloads to Protobuf binary format at runtime.
  • Schema Loading: Support for loading Protobuf schemas dynamically from binary FileDescriptorSet (.bin or .pb) files.
  • Full Streaming Support: Automatic dispatch for all four gRPC access patterns based on the method descriptor:
    • Unary (Single Request → Single Response)
    • Server Streaming (Single Request → Stream)
    • Client Streaming (Stream → Single Response)
    • Bidirectional Streaming (Stream → Stream)
  • JSON Transcoding: Custom tonic::Codec implementation (JsonCodec) to validate and transcode serde_json::Value to/from Protobuf bytes on the fly.
  • Metadata Support: Ability to attach custom headers/metadata to requests via the -H / --header flag.
  • Input Validation: Fast-fail validation that checks if the provided JSON structure is valid before making the network request.