CHANGELOG.md
December 29, 2024 ยท View on GitHub
0.30.0
- Added
weighted_averagemember todata::v2::bars::Bartype - Bumped
hyperdependency to1.0 - Bumped
websocket-utildependency to0.14 - Bumped
tokio-tungstenitedependency to0.26
0.29.0
- Renamed various request related types to follow more uniform naming scheme
- Added
api::v2::{calendar::ListReqInit,watchlist::CreateReqInit}types - Removed
api::v2::{order::ChangeReqInit,assets::ListReqInit}types in favor ofDefaultimpl for corresponding request types - Made various types non-exhaustive
- Added
nameattribute toapi::v2::watchlist::Watchlisttype - Added support for updating a watchlist
0.28.0
- Removed
ApiError::codemember after endpoint reported errors stopped returning it - Renamed
AuthenticationFailedvariant of endpoint errors toNotPermitted- This variant is now used to signal a multitude of conditions, including certain order submission issues
- Bumped minimum supported Rust version to
1.63 - Bumped
websocket-utildependency to0.12 - Bumped
tokio-tungstenitedependency to0.20
0.27.2
- Expanded crate documentation with a high level overview
- Bumped
async-compressiondependency to0.4
0.27.1
- Exported
api::v2::updates::{Authenticate,Listen}enums as part of unofficial unstable API
0.27.0
- Added support for overwriting default realtime data bar, quote, and trade types
- Added support for working with custom v2 realtime data streaming URLs
- Added
FillOrKillandImmediateOrCancelvariants toapi::v2::order::TimeInForcetype - Changed various
data::v2::stream::{Bar, Quote, Trade}members fromu64toNum - Switched to using new stream authentication request message format
- Adjusted publish workflow to also create GitHub release and Git tag
0.26.2
- Introduced
vendored-opensslto build with vendoredopenssllibrary - Added GitHub Actions workflow for publishing the crate
0.26.1
- Made more types serializable/deserializable
0.26.0
- Added support for historic trade retrieval via
data::v2::trades - Adjusted
data::v2::last_quotemodule to work with multiple symbols and renamed it tolast_quotes - Added
client_order_idmember toapi::v2::order::ChangeReq - Made
quantityandtime_in_forcemembers ofapi::v2::order::ChangeReqoptional - Added
quantity_availablemember toapi::v2::position::Position - Bumped minimum supported Rust version to
1.59 - Bumped
websocket-utildependency to0.11 - Bumped
tokio-tungstenitedependency to0.18
0.25.1
- Added optional
pricemember toapi::v2::account_activities::NonTradeActivitytype - Switched to using GitHub Actions as CI provider
- Bumped minimum supported Rust version to
1.57
0.25.0
- Added
gzipcompression support for transparent API response compression controlled by default enabledgzipfeature - Added support for subscribing to realtime trades
- Reworked symbols related types in
data::v2::streammodule - Added
classmember toapi::v2::order::Ordertype - Added
symbolsmember toapi::v2::orders::OrdersReqtype - Added
Deserializeimplementation for more types - Updated
ActivityTypeenum to be in sync with upstream variants - Made
api::v2::position::Positionexhaustive - Bumped
uuiddependency to1.0
0.24.0
- Made more types serializable/deserializable
- Renamed various
Trade*types toOrder* - Removed
#[non_exhaustive]attribute from various types
0.23.0
- Added support for subscribing to realtime quotes in addition to aggregate bar data
- Adjusted data API request types to include optional data feed to use
- Adjusted
data::v2::last_quote::Getto accept aLastQuoteReqobject - Added
Cryptovariant toapi::v2::asset::Classenum and made it non-exhaustive - Added
Otcvariant toapi::v2::asset::Exchangeenum and made it non-exhaustive - Introduced
api::v2::order::Status::is_terminalmethod - Replaced infallible
From<Into<String>>conversion forasset::Symbolwith fallibleTryFrom - Made members of
ApiInfopublicly accessible and added more URL members - Renamed various 422 HTTP status error variants to
InvalidInput - Changed various limit types to
usize - Changed
api::v2::orders::OrdersReq::limitto be anOption - Added example illustrating how to stream realtime market data
0.22.5
- Renamed
data::v2::bars::BarReqtoBarsReq- Deprecated
data::v2::bars::BarReq
- Deprecated
- Introduced
data::v2::bars::BarsReqInittype - Introduced
ApiInfo::into_partsmethod
0.22.4
- Adjusted
Subscribabletrait to make all created futures implementSend
0.22.3
- Added
api::v2::calendarmodule for retrieving historic and future market open and close times - Added support for historic quote retrieval via
data::v2::quotes
0.22.2
- Fixed JSON decoding error when no bars are returned in response to
data::v2::bars::Getrequest
0.22.1
- Added support for realtime market data streaming via
data::v2::stream::RealtimeData
0.22.0
- Reworked account update streaming support using a subscription based
design
- Renamed
api::v2::eventstoapi::v2::updates - Removed
eventmodule providing low-level access to update streaming
- Renamed
- Renamed
InsufficientFundsvariant ofapi::v2::order::PostErrorandapi::v2::order::PatchErrortoNotPermitted - Removed support for streaming account updates
- Removed
data::v2::stocksmodule alias - Switched from using
test-env-logtotest-log - Bumped minimum supported Rust version to
1.56 - Switched to using Rust 2021 Edition
- Added
async-traitdependency in version0.1.51 - Bumped
websocket-utildependency to0.10.1 - Bumped
tokio-tungstenitedependency to0.16
0.21.1
- Introduced support for retrieving the last quote for a symbol
- Aliased
data::v2::barsmodule todata::v2::stocks- Deprecated
data::v2::stocksmodule alias
- Deprecated
0.21.0
- Introduced support for historic data retrieval using v2 API
- Added bindings for watchlist management
- Added support for submitting notional orders
- Adjusted all quantities to be of type
Numto fully support trading with fractional quantities - Tagged more functions and methods as
#[inline] - Removed support for v1 historic data API
0.20.0
- Migrated most usages of
SystemTimedate times tochrono::DateTime - Added
Activity::timemethod for retrieving the time stamp of an account activity - Marked several more types as
non_exhaustive - Made price related attributes of
Positiontype optional after announcement of breaking API change at Alpaca - Added
fractionableattribute toAssettype - Switched to using tarpaulin for code coverage collection
- Formatted code base using
rustfmtand checked in configuration- Added enforcement of code formatting style checks in CI
- Added CI checks for auto generated code documentation
- Removed
time-utildependency
0.19.0
- Added
ApiInfo::from_partsconstructor - Adjusted
Client::issueto accept request input via reference - Introduced
ConversionErrortype- Replaced
unwraps with proper error variants
- Replaced
- Updated
ActivityTypeenum to be in sync with upstream variants - Added support for unknown
ActivityTypevariants - Switched to using
thiserrorcrate for defining error types - Updated
num-decimalto use version0.4of thenum-*crates - Bumped minimum supported Rust version to
1.46 - Bumped
http-endpointdependency to0.5 - Bumped
websocket-utildependency to0.8 - Bumped
tokio-tungstenitedependency to0.14
0.18.0
- Introduced trailing stop order types
- Added support for paging of account activity data
- Added support for specifying reported account activity direction as
well as
untilandaftertimes - Bumped
time-utildependency to0.3
0.17.0
- Added
PendingReplacevariant toTradeStatusenum - Added support for listing nested orders
- Replaced usage of private
serdeAPI with inline code - Bumped minimum supported Rust version to
1.44 - Excluded unnecessary files from being contained in release bundle
- Replaced
async-tungstenitedependency withtokio-tungstenite - Removed
chronodependency - Bumped
hyperdependency to0.14 - Bumped
hyper-tlsdependency to0.5 - Bumped
tokiodependency to1.0 - Bumped
websocket-utildependency to0.7
0.16.0
- Converted
NonTradeActivity::quantityfromu64toNum - Bumped
http-endpointdependency to0.4 - Bumped
websocket-utildependency to0.6 - Bumped
async-tungstenitedependency to0.8 - Bumped
serde_urlencodeddependency to0.7
0.15.0
- Enabled CI pipeline comprising building, testing, linting, and
coverage collection of the project
- Added badges indicating pipeline status and code coverage percentage
- Bumped
websocket-utildependency to0.5 - Bumped
async-tungstenitedependency to0.5
0.14.0
- Added example illustrating how to submit a limit order
- Bumped
http-endpointdependency to0.2
0.13.0
- Added
stream_rawfunction for interfacing with raw event streams - Adjusted streaming function to expect reference to
ApiInfoobject - Removed serialization support for account & trade events
- Removed
TradeStatus::to_order_statusmethod - Bumped
websocket-utildependency to0.4
0.12.0
- Added support for handling unknown variants for
account::Status,asset::Exchange,events::TradeStatus, andorder::Status - Added
PendingReplaceorder status variant - Removed serialization support for
Exchangeenum
0.11.0
- Added support for bracket-style orders
- Added
Fromimplementation forasset::Symboltype - Added support for almost-default construction of various request types
- Converted
Account::daytrade_counttou64 - Decreased tracing verbosity by one level
- Bumped
num-decimaldependency to0.2
0.10.0
- Added
average_fill_pricetoOrdertype - Fixed issue when deserializing non-trade activity object without a quantity
0.9.0
- Added
quantityfield toNonTradeActivitytype - Added
ReplaceRejectedandCancelRejectedvariants toTradeStatusenum - Use absolute values for quantity reported in
Positionobjects
0.8.1
- Added support for negating order and position
Sidetypes
0.8.0
- Added support for associating client IDs with orders
- Converted various quantities from
Numtou64 - Hooked up
order_idfield toTradeActivitytype - Bumped
time-utildependency to0.2
0.7.0
- Bumped
websocket-utildependency to0.3
0.6.0
- Added support for querying
/v2/account/activitiesendpoint - Added support for listing orders based on their status
- Introduced
Replacedvariant toTradeStatusenum
0.5.0
- Added support for changing an existing order
- Introduced
TradeStatus::to_order_statushelper method - Implemented
EqandHashfor the variousIdtypes
0.4.0
- Added support for opening and closing auction orders
- Factored out
time-utilcrate
0.3.1
- Added support for accessing
/v2/account/configurationsendpoint - Added support for querying
/v1/bars/{timeframe}endpoint - Added support for serializing account & trade events
- Switched from using
logtotracingas a logging/tracing provider - Switched to using
serde_urlencodedfor encoding query parameters - Bumped
http-endpointdependency to0.1.1
0.3.0
- Added support for liquidating an existing position
- Added support for short selling
- Removed
AssetReqandPositionReqtypes - Bumped
async-tungstenitedependency to0.3
0.2.2
- Migrated streaming functionality from
websockettoasync-tungstenite - Dropped dependency on
futures0.1 - Factored out
http-endpointcrate - Factored out
websocket-utilcrate - Correctly implemented
std::error::Error::sourceforErrortype - Bumped
env_loggerdependency to0.7 - Bumped
uuiddependency to0.8
0.2.1
- Removed support for
v1API - Implemented
FromStrfor various/v2/assettypes
0.2.0
- Converted
apifunctionality to useasync/awaitsyntax - Bumped
test-env-logdependency to0.2
0.1.1
- Added support for accessing various
v2endpoints:/v2/account/v2/asset/v2/orders/v2/positions
- Bumped
websocketdependency to0.24
0.1.0
- Initial release