granc/CHANGELOG.md
github-actions[bot] 772b3a45b9 chore: release (#25)
* chore: release

* chore: update versions and dependencies

* update CHANGELOG

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: JasterV <49537445+JasterV@users.noreply.github.com>
2026-01-24 19:58:21 +01:00

4.3 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.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.