Skip to content

Latest commit

 

History

History
102 lines (77 loc) · 4.81 KB

CHANGELOG.md

File metadata and controls

102 lines (77 loc) · 4.81 KB

Changelog

In Progress

  • Considering package re-organization for better imports etc.
  • Convenient type defs and functions for verbose type signatures like Box<Arc<Mutex<dyn SecretsProvider>>>
  • Secrecy had a major breaking change (if moving to 0.10.3), which will force breaking changes to the Secrets struct and SecretsProvider trait

v0.7.0

  • Remove V1 websockets, KrakenWSSClient and all associated tests and data
    • Upgrade path for existing V2 users:
      • Remove all imports with ::v2:: in them
      • Follow build failures and re-import removed imports

v0.6.0

  • 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

  • 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

v0.4.2

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

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

  • Update tokio-tungstenite to 0.23.1, several breaking changes
  • Fix serde and Display for SelfTradePrevention to be snake_case

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

  • 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.1.0

  • Websockets V2 support - all V2 websocket endpoints are now supported
    • Deprecated v1 KrakenWSSClient since Kraken will support but no longer update v1
  • Update dependencies (ws-mock -> 0.1.1)

v0.0.2

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

  • Initial version