- Added IQFeed protocol 6.1 support
- Improved Level1 dynamic client
- Fixed Lookup issue with Invalid Data exception handling
- Fixed issue with LookupRateLimiter when > 8 clients on burst of requests
- Fixed issue with TickMessages resampler with 'O'
- Fixed issue with Dynamic Fields and Type field
- Added TryParse on Lookup data to detect Invalid data coming from IQFeed
- Added Lookup requests rate limiter required by IQFeed
- Replaced Market Symbols and Expired Options cache strategies
- Added DynamicFields support for Level1
- Added News support for Historical
- Added ToCsv on FundamentalMessage
- Adjusted RegEx for parsing IntervalBarMessage
- Removed support for generic Messages
- Added IUpdateSummaryMessage for exposing Summary and Update events from Level1
- Dropped support for NET45
- Added synchronized methods to support Python .NET
- Added request sent to IQFeed when throwing IQFeed Exception
- Fixed IsPortOpen hang network issue with .NET Core 3
- Added generics on most messages for better flexibility and reuse
- Added message handlers on most clients to support
<float>
,<double>
and<decimal>
messages. - Added extension methods for message conversion
- Removed explicit framework target on net461
- Migrated from float to double for most messages
- Type needs to be specified for client and message instantiation
- Renamed all Async methods with Get prefix
- Added Level 2 data support
- Replaced DateTime for time in L1 and L2 UpdateSummaryMessage with TimeSpan for better readability
- Added Symbol and Market Info Lookup support
- Added more information when throwing IQFeed exception
- Added better error detection to avoid true negative with request Id and some edge cases.
- Fixed ReqBarWatch request format from derivative data
- Removed deprecated license warning in VS2017+
- Reversed Open and Close position in IntervalMessage and DailyWeeklyMonthlyMessage
- Historical requests supporting RequestId parameter
- IntervalMessage can support larger TotalVolume
This release contains a significant amount of improvements. More importantly, we added support for derivative data and now supporting the latest protocol version 6.0. All messages parsing are now culture invariant and in the same way, we increased a lot our unit testing.
- Added Derivative data support
- Added support for protocol version 6.0
- Added BaseFacade, BaseMessageHandler and customs IQFeedException
- ChainsFacade now returning chains instances
- Added NumberOfTrades in IntervalMessage
- Added DataDirection enum parameter for all historical request
- Messages parsing are now culture independent
- LookupClient BufferSize can be customized
- DailyWeeklyMonthlyMessage can handle large value
- Workaround for test coverage