Skip to content

Releases: Brendan-Blanchard/kraken-async-rs

v0.6.0

21 Nov 12:30
Compare
Choose a tag to compare

v0.6.0

A breaking change to the KrakenClient trait (adding a new method) to support tracing as a flag, rather than a build feature for increased flexibility and configuration at runtime for different clients (e.g. tracing orders but not orderbooks due to log volumes).

  • Deprecate debug-inbound and debug-outbound features
  • Add new_with_tracing method to KrakenClient to allow setting a flag for tracing inbound REST messages
  • Add new_with_tracing method to KrakenWSSClient to allow setting a flag for tracing inbound websocket messages

v0.5.0

20 Oct 10:29
Compare
Choose a tag to compare
  • Update to Spot REST V1, Spot Websockets V2.0.9 as of 26 September 2024 changelog notes
    • Adds cl_ord_id (client_order_id) to many types
    • Adds AmendOrder endpoint, WS request/responses for amending orders, and updates to many request and response types
    • Adds get_order_amends endpoint to retrieve amendments made to a particular order
    • Updated rate limiting to support amending orders and correcting their lifetimes for correct penalties
  • Bump various dependencies
  • Fix StatusUpdate.connection_id after observing it's not always populated
  • Add test-support default feature for common example and testing code
  • Added further deprecation notice to V1 Websockets, I plan to remove them in the next major release

v0.4.2

06 Sep 11:18
Compare
Choose a tag to compare

v0.4.2

  • Fix ExecutionResult for trigger orders, where actual_price, peak_price, last_price, and timestamp are not
    necessarily provided

v0.4.1

31 Jul 21:23
Compare
Choose a tag to compare

v0.4.1

  • Fix parsing of ExecutionResult after addition of new fields
  • Fix PositionStatusV2::Open -> Opened
  • Add cl_ord_id (client_order_id) to AddOrderResult, CancelOrderResult, BatchOrder, BatchOrderParams,
    BatchCancelResponse, and ExecutionResult

v0.4.0

29 Jul 11:46
Compare
Choose a tag to compare

v0.4.0

  • Update tokio-tungstenite to 0.23.1, update to fix breaking changes
  • Fix serde and Display for SelfTradePrevention to be snake_case
  • Bump various dependencies

v0.3.0

20 Jul 17:37
Compare
Choose a tag to compare

v0.3.0

  • Add custom Token(Secret<String>) type for websocket tokens to avoid accidental exposure via logging etc
    • Feature-gated logging of incoming and outgoing messages to prevent disclosure of secrets by default
      (see debug-inbound and debug-outbound features)
  • Add Clone to remaining response types, add Copy where sensible
  • Modify OpenPosition to have net and value be optional (return depends on query params)

v0.2.0

01 Jul 10:49
Compare
Choose a tag to compare

v0.2.0

Breaking changes requires to make API more ergonomic or fix existing bugs.

  • Change KrakenClient signature to require secrets_provider: Box<Arc<Mutex<dyn SecretsProvider>>>, to enable Clone
    on CoreKrakenClient
  • Fix BalancesSubscription sending null for snapshot by default (skip_serializing_none)
  • Fix WSSMessage by adding WssMessage(ErrorResponse { .. }) variant
  • Change checksum fields for L2 and L3 books to u32 to match crc32fast crate impl
  • Derive Clone for Message<T> and all *Subscription types
  • Derive Clone for RateLimitedKrakenClient so clones can share the rate limiters
  • Derive Debug for CoreKrakenClient for consistency
  • Make incoming WSS messages trace!(...) only; reduces logs with correct settings
  • Make ExecutionResult.order_user_ref optional
  • Bump dependencies

v0.0.2

05 May 18:36
Compare
Choose a tag to compare

Using rust_decimal::Decimal instead of Strings where applicable. Bug fixes, cleanup, more enum usage, and other changes
from using downstream and finding what drove poor patterns, etc.

  • Decimal conversions instead of String (settled on this due to abundance/annoyance of Decimal::try_from(&someString)?
  • Made KrakenClient.set_user_agent async (not required but allows Tokio mutex proxying downstream)
  • Changed vol and vol_exec to volume and volume_executed in all places
  • Added String data to several variants of ClientError where additional information is helpful downstream
  • Added From<...> impls for StringCSV, OrderFlags, and IntOrString
    • These reduce things like StringCSV::new(vec!["someTxId".to_string()]) to "someTxId".into()
  • Added example of querying an order to /examples
  • Updated dependencies, including h2 for a security advisory, though it doesn't affect how it's used here
  • Add err(Debug) tracing to all CoreKrakenClient methods
  • Add ret tracing to any small responses and all trading endpoints in CoreKrakenClient
  • Add Clone to WSS un/subscribe message types
  • Add Debug, Clone, Copy to KrakenWSSClient
  • Add pub to additional fields on structs in private and public WSS messages
  • Change OpenOrder WSS type to use OrderStatus enum
  • Used TriggerType enum in additional places

v0.0.1

19 Mar 21:15
Compare
Choose a tag to compare

Initial version with complete API (excluding NFTs)