-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathReleaseNotes.txt
442 lines (383 loc) · 28.4 KB
/
ReleaseNotes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
Version 8.8.2
* [DXFC-400] Fixed a bug with passing a UNICODE path to a file as a parameter of the logging initialization and settings loading function.
- For the changes to work reliably, you need to set the default encoding to UTF-8, for example, as indicated by the link:
https://www.delftstack.com/howto/powershell/powershell-utf-8-encoding-chcp-65001/#change-system-locale-to-use-utf-8-encoding-in-windows-powershell
or https://learn.microsoft.com/en-us/answers/questions/587680/where-can-i-find-beta-use-unicode-utf-8-for-worldw
Version 8.8.1
* [DXFC-398] Fixed a defect with incorrect serialization of negative numbers (for example, "prices" of indices)
transmitted via the QD protocol.
Version 8.8.0
* [DXFC-396] Added the ability to not shuffle resolved IP addresses.
- Added the `connectOrder` property of an address with possible values: `shuffle`, `random`, `ordered`, `priority`
- The `shuffle` strategy: Example: `host1:port1,host2:port2,host3:port3[connectOrder=shuffle]` It will shuffle the
resolved IP addresses, and it will go through them to the end, and then it will resolve and shuffle and so on.
- The `random` strategy: Example: `host1:port1,host2:port2,host3:port3[connectOrder=random]` It will shuffle IP
addresses, if the connection is successful, it will reset the state and will shuffle on the next connection after resolve, and so on.
- The `ordered` strategy: Example: `host1:port1,host2:port2,host3:port3[connectOrder=ordered]` It will NOT shuffle the
resolved IP addresses, and it will go through them to the end, and then it will resolve and NOT shuffle and so on.
- The `priority` strategy: Example: `host1:port1,host2:port2,host3:port3[connectOrder=priority]` It will NOT shuffle IP
addresses, if the connection is successful, it will reset the state and will NOT shuffle on the next connection after resolve, and so on.
- The default strategy is `shuffle`
- If several strategies are specified in the address line, the last one will be selected.
- Example #1: `host1:port1,host2:port2,host3:port3[connectOrder=priority,connectOrder=ordered]` will be equivalent
to `host1:port1,host2:port2,host3:port3[connectOrder=ordered]`
- Example #2: `(host1:port1,host2:port2[connectOrder=random])(host3:port3[connectOrder=priority,connectOrder=ordered])`
will be equivalent to `host1:port1,host2:port2,host3:port3[connectOrder=ordered]`
* [DXFC-397] Fixed format for specifying a list of DNS names for resolve.
- The list of addresses can now be specified separated by commas: `host1:port1,host2:port2,host3:port3`
- The last specified port will be considered the default port, i.e. such a list of `host1,host2:port2,host3:port3`
will be equivalent to `host1:port3,host2:port2,host3:port3`
- The notation separated by parentheses remains valid, but will be "linearized", i.e. the list
`(host1:port1)(host2:port2)(host3:port3)` will be equivalent to `host1:port1,host2:port2,host3:port3` when resolving addresses
* Fixed log formatting
Version 8.7.0
* [DXFC-395] Added the ability to enumerate all resolved IP addresses by DNS names. IP addresses will be shuffled.
- For the address of QD endpoints specified in the form `(host1:port1)(host2:port2)(host3:port3)` IP addresses will be determined, then they will be shuffled.
- Shuffled addresses will be selected in order until a connection occurs. When the end of the list is reached, the endpoints will again be determined by IP addresses, and so on.
- If a disconnect occurs, the next IP from the list will be selected and an attempt will be made to reconnect.
* [DXFC-394] Disabled shuffling of specified addresses (DNS names) for connection in the form: `(hos1:port1)(host2:port2)(host3:port3)`
* [DXFC-334] Fixed a bug with precision error when converting WideDecimal to Double
* [DXFC-376] The SnapshotConsoleSample was improved: added an ability to specify from-time and to-time arguments.
Version 8.6.3
* [DXFC-331] Fixed a bug when deleting a PriceLevelBook object caused crashes.
Version 8.6.2
* [DXFC-327] Fixed a bug where the timestamp = 0 was set for the price level when processing a removed order.
* [DXFC-328] Fixed a bug where UPDATE lists with non-existent price levels sometimes appear in PLB incremental updates.
Version 8.6.1
* Fixed possible symbol corruption
* Fixed a bug where price level updates could be treated as volume increases.
Version 8.6.0
* [DXFC-297] Improved the handling of transaction flags and signs of transaction flags.
Added a `HasSize` method to the Order SpreadOrder classes
* [DXFC-295] Fixed a bug with incorrect filtering of orders based on MM and Quotes.
* [DXFC-298] Added the new PLB (Price Level Book) building mechanism. Added the ability to specify the number of the price levels.
Added the ability to subscribe to incremental price level updates.
API changes:
- Added the new class for PLB - dxf_price_level_book_v2_t
- Added the new handlers interfaces: IDxOnNewPriceLevelBookHandler, IDxOnPriceLevelBookIncChangeHandler, IDxOnPriceLevelBookUpdateHandler
- A new method has been added to the NativeConnection class to construct a PLB : `IPriceLevelBook CreatePriceLevelBook(string symbol, string source, int levelsNumber)`
See dxf_price_level_book_sample and documentation.
Version 8.5.3
* [DXFC-279] Fixed a bug when a snapshot created by the `CreateSnapshotSubscription` method with the specified event type and time is not closed by `Dispose`
* [DXFC-137] Fixed a bug where it was not possible to create a snapshot due to a collision of snapshot keys
* Removed the wrong parameter `date` from the dxf_simple_order_book_sample
Version 8.5.2
* [DXFC-277] Fixed a bug when the subscription with the Time parameter could not close when calling Dispose
* [DXFC-278] Fixed a bug when event listeners can be used (by native API) after the subscription objects have been destroyed.
Version 8.5.1
* [DXFC-276] Fixed a bug with broken wildcard subscription
Version 8.5.0
* [DXFC-266] Improved functioning of CandleDataConnection and TimeAndSaleDataConnection in Blazor\UI applications.
* [DXFC-267] Fixed a bug with possible call of callbacks/delegates from the native library when the memory of subscriptions/connections objects is cleared by the GC
* [DXFC-268] Fixed a bug with AccessViolationException when the user called Dispose of the subscription after Dispose of the connection.
* [DXFC-271] Fixed a bug with incorrect UTC timezone when requesting data from the CandleWebService
* [DXFC-269] .NET API common enhancements
- The dxf_order_view_sample example now uses one symbol and source.
- All native event fields now have public setters.
- All native events now have public copy constructors and default constructors.
- If no date\time is specified, then dxf_events_sample is not subscribed to time series.
- dxf_ipf_connect_sample: added an ability to set bearer token
- Added XML documentation for all public\protected API entities (interfaces, methods, classes etc.)
- The DayUtil class is now public
* [Attention] Some architectural issues have been discovered that impose restrictions on the use of connection objects.
It is not recommended to use multiple connections in parallel in the same process. This applies to objects created with
the `NativeConnection` constructor and the `DXEndpoint.Connect`, `TimeAndSaleDataConnection.GetTimeAndSaleData`, `CandleDataConnection.GetCandleData` methods.
This limitation will be lifted after API design changes.
Version 8.4.1
* [DXFC-264] Added assembly and deployment of XML documentation
Now dxf_api.xml and dxf_native.xml files come inside zip bundle. You can use them to get API documentation from the IDE.
* [DXFC-261] Fixed a bug related to leaking socket handles
Version 8.4.0
* [DXFC-258] Fixed a bug with the impossibility of receiving candledata when changing the order of candle symbol attributes
* [DXFC-260] Added the ability to retrieve TnS data from CandleWebService
- Added the `TimeAndSaleDataConnection` class with method
`Task<Dictionary<string, List<IDxTimeAndSale>>> GetTimeAndSaleData(List<string> symbols, DateTime fromTime, DateTime toTime, CancellationToken cancellationToken)`
that retrieves candles by symbols and start\stop DateTime. See documentation.
- Add the `dxf_tns_data_retrieving_sample` that demonstrates how to use `TimeAndSaleDataConnection`
It is possible to subscribe to regional TnS by specifying, for example, the AAPL&Q symbol.
In this case, the service will return composite (Scope = Composite !) TnS with the TimeAndSale (not TimeAndSale&Q) record type and the AAPL&Q symbol (like a candle)
For such a case, the `Normalized` method has been added for the TimeAndSale, Quote, Summary events, which will return a normalized (Regional) copy of the event. See example and documentation.
Version 8.3.0
* [DXFC-254] The amount of memory used to store the symbols required for a subscription has been reduced by several times.
* [DXFC-238] Added the ability to set PriceLevelBook symbol or orders sources. Added the new methods:
- `IDxPriceLevelBook.SetSymbol(string newSymbol)`
- `IDxPriceLevelBook.SetSources(string[] newSources)`
- `IDxPriceLevelBook.AddSymbols(params CandleSymbol[] symbols)`
See documentation.
* [DXFC-255] Added a simple way to get data from CandleWebService.
- Added the `CandleDataConnection` class with method
`Task<Dictionary<CandleSymbol, List<IDxCandle>>> GetCandleData(List<CandleSymbol> symbols, DateTime fromTime, DateTime toTime, CancellationToken cancellationToken)`
that retrieves candles by symbols and start\stop DateTime. See documentation.
- Add the `dxf_candle_data_retrieving_sample` that demonstrates how to use `CandleDataConnection`
* [Deprecated] These classes, enums, interfaces, delegates and methods are deprecated and will be removed in 9.0.0 version:
- DXFeedSymbolsUpdateEventArgs
- OnEndpointClosingEventHandler
- IDXEndpoint, DXEndpoint, IDXFeed, DXFeed
- IDXFeedEventListener, IDxOrderViewListener, DXFeedEventHandler
- DXFeedSymbolsUpdateEventHandler, DXFeedSubscriptionClosedEventHandler
- IDXFeedSubscription, IDXFeedTimeSeriesSubscription, DXFeedSubscription, DXFeedTimeSeriesSubscription
- CreateOrderViewSubscription, OrderViewSubscription
- DXFeedLastingEventsCollector, LastingEventsCollector, DXFeedSnapshotCollector
Please use NativeConnection, NativeSubscription classes and their methods.
Version 8.2.0
* [DXFC-220] Added the ability to retrieve events starting from a specific date and ending with a specific date.
Added the new methods:
- `IDxConnection.GetDataForPeriod(EventType eventType, string symbol, DateTime fromTime, DateTime toTime)`
- `IDxConnection.GetDataForPeriod(EventType eventType, string symbol, DateTime fromTime, DateTime toTime, TimeSpan timeout)`
- `IDxConnection.GetDataForPeriod(EventType eventType, string symbol, DateTime fromTime, DateTime toTime, long timout)`
- `IDxConnection.GetDataForPeriod(EventType eventType, string symbol, DateTime fromTime, DateTime toTime, CancellationToken cancellationToken)`
See documentation and the dxf_simple_data_retrieving_sample
* [DXFC-252] Fixed bug with "freezing" the `IDxConnection.Dispose` method if not called immediately after disconnecting the connection.
The `network.reestablishConnections` config property was added. This property describes a flag that allows to disable the connection
reestablishment mechanism. (default value = true)
An example of disabling:
```csharp
NativeTools.LoadConfigFromString("network.reestablishConnections = false\n");
```
Version 8.1.0
* [DXFC-251] Fixed a bug with receiving gap-filling data every time the user subscribed to symbols that he had already subscribed to earlier.
* [DXFC-237] Added the new order sources: `MEMX` (Members Exchange' order source), `memx` (Members Exchange' price level source)
and `smfe` (SmallEx' price level source)
Version 8.0.1
* [DXFC-236] Fixed the ancient glitch with random garbage data in fields of removed events' (TX_REMOVE flag = 1).
* Fixed the EventFlag, IndexedEvent documentation
Version 8.0.0
* [DXFC-231] [Breaking changes] Converted the types and representations of certain event fields to store WideDecimal
- Fields that are now of type `double`: `IDxOrderBase.Size`, `IDxOrderBase.Size`, `IDxTradeBase.Size`,
`IDxQuote.BidSize`, `IDxQuote.AskSize`, `IDxSummary.OpenInterest`, `IDxProfile.DivFreq`,
`IDxTimeAndSale.Size`, `IDxCandle.OpenInterest`
- Added the `IDxOrderBase.ExecutedSize` (`double`) field which is related to FOB support
* [DXFC-215] [Breaking changes] The `IDxFundamentalListener` interface renamed to `IDxSummaryListener` and the `OnFundamental` method renamed to `OnSummary`
* [DXFC-222] Created wrapper for PriceLevelBook.c
- Added the `IDxPriceLevelBook`, `IDxPriceLevelBookListener` interfaces
- Added the `NativePriceLevelBook` class (see documentation)
- Added the `CreatePriceLevelBook` methods to `NativeConnection` class (see documentation)
- Added the `dxf_price_level_book_sample` to demonstrate how to use this wrapper
Version 7.6.0
* [DXFC-224] Fixed a bug with a race conditions occurred while reading files
* [DXFC-225] Added initial support for the WideDecimal type. This will allow reading non zipped data coming from CandleWebService
or data recorded in `tape` format. The examples of usage added to dxf_client and dxf_candle_sample help output.
* Now heartbeat logging in the dxf_client is optional. To enable, you must use the `-b` flag.
* [DXFC-227] Improved the project brief in the doxygen documentation
Version 7.5.0
* [DXFC-223] The new price level order source was added: iex.
Version 7.4.0
* [DXFC-221] Added the ability to receive incremental snapshot changes
- Added `IDxIncOrderSnapshotListener` interface for subscribing to incremental snapshot changes
- Added the additional NativeSnapshotSubscription constructor and the `NativeConnection.CrateIncOrderSnapshotSubscription` method for creating of subscriptions with incremental snapshot changes
- Added the `dxf_inc_order_snapshot_sample` to demonstrate how to use this feature
Version 7.3.0
* [DXFC-219] Fixed a bug with broken parsing of negative values
* [DXFC-202] Added the ability to filter log messages by level
The `logger.level` config property was added. This property describes a minimum logging level.
Possible values: "error", "warn", "info", "debug", "trace". Default value = "info"
An example of limiting the output of logs:
```csharp
NativeTools.LoadConfigFromString("logger.level = \"error\"\n");
```
See the config file sample: [Sample](https://github.com/dxFeed/dxfeed-net-api/blob/master/dxfeed-api-config.sample.toml)
Version 7.2.0
* [DXFC-212] Extended the Order event for Full Order Book
- the `Action`, `ActionTime`, `OrderId`, `AuxOrderId`, `TradeId`, `TradePrice`, `TradeSize` fields were added to the Order event
See the `OrderAction` enum description (documentation) where it is indicated in which cases which fields will be filled.
* [DXFC-211] Fixed a bug with broken construction of order snapshots (books), based on Quote (order scope = Composite|Regional) & MarketMaker (order scope = Aggregate) events
Version 7.1.0
* [DXFC-209] Implemented the heartbeat semantics with payload
- Added the new method `NativeConnection.SetOnServerHeartbeatHandler(OnServerHeartbeatHandler handler)`
that sets a handler that will be called when a server heartbeat arrives and contains non empty payload
- Added the new delegate type `delegate void OnServerHeartbeatHandler(IDxConnection connection, DateTime serverDateTime, int serverLagMark, int connectionRtt)`
which is describes the handler type of a connection's incoming heartbeat notification
Passed parameters:
- connection - The current connection object
- serverDateTime - The server UTC time (from the incoming heartbeat payload)
- serverLagMark - The server's messages composing lag time in microseconds (from the incoming heartbeat payload)
- connectionRtt - The calculated connection RTT in microseconds
An example of usage:
```csharp
connection.SetOnServerHeartbeatHandler((connection, time, lagMark, rtt) => {
Console.Error.WriteLine($"##### Server time (UTC) = {time}, Server lag = {lagMark} us, RTT = {rtt} us #####");
});
```
Version 7.0.0
* [DXFC-175] [Breaking changes] Extended Trade and Profile events to support additional fields from QD records
- the `_52HighPrice` & `_52LowPrice` `IDxProfile` (and `NativeProfile`) properties were renamed to `High52WeekPrice` &
`Low52WeekPrice` respectively
- the `Change` property was added to the `IDxTradeETH` and `NativeTradeETH` classes
* [DXFC-207] Extended the Trade and TradeETH events with new field dayId
- the `DayId` property was added to the `IDxTrade`, `IDxTradeETH` interfaces and `NativeTrade`, `NativeTradeETH`
classes.
`DayId` - identifier of the day that `Trade` or `TradeETH` represents. Identifier of the day is the number of days
passed since January 1, 1970.
* [DXFC-181] Extended the Underlying and Series events with putVolume and callVolume fields
- the `CallVolume`, `PutVolume` and `OptionVolume` properties were added to the `IDxUnderlying`, `IDxSeries`
interfaces and `NativeUnderlying`, `NativeSeries` classes.
- `CallVolume` - call options traded volume for a day.
- `PutVolume` - put options traded volume for a day
- `OptionVolume` - options traded volume for a day.
* [DXFC-208] Added the ability to configure client\server heartbeat parameters
- The default heartbeat period is set to 10 seconds. Which corresponds to the defaults of Java API.
The default heartbeat timeout remains the same (120 seconds).
- Added the ability to load a configuration from a file or a string:
The config file sample: [Sample](https://github.com/dxFeed/dxfeed-net-api/blob/master/dxfeed-api-config.sample.toml)
The config file properties:
- `network.heartbeatPeriod` -- The period between sending heartbeat messages (default value = 10 seconds)
- `network.heartbeatTimeout` -- Timeout for receiving messages from the server, after which the api tries to
change the server and/or reconnect (default value = 120 seconds)
- Added the new function `NativeTools.LoadConfigFromFile(string fileName)` that initializes the C\C#-API configuration
and loads a config (in TOML format) from a file.
- `fileName` -- The config (in TOML format) file name
- Added the new function `NativeTools.LoadConfigFromString(string config)` that initializes the C\C#-API configuration
and loads a config (in TOML format) from a string.
- `config` -- The config (in TOML format) string
For the successful application of the configuration, these functions must be called before creating any connection.
Examples of using functions can be found in their descriptions and in the generated documentation.
Version 6.2.0
* [DXFC-205] Fixed a bug with disconnecting (by server side) when removing symbols if no symbols have been added
* [DXFC-203] Fixed segfaults and debug assertion failings when clearing symbols in a subscription's event listener
* [DXFC-201] Added the ability to call logging initialization again without any effect
* [DXFC-204] Added the support for token-based authentication to InstrumentProfileReader & InstrumentProfileConnection
- Added functions: `InstrumentProfileReader.ReadFromFile(string address, string token)`,
`URLInputStream.OpenConnection(string url, string token)`,
`URLInputStream.OpenConnection(Uri url, string token)`
- Added constructors: `InstrumentProfileConnection(string address, string token)`
- Added the support for basic authentication to InstrumentProfileConnection:
- Added functions: `URLInputStream.OpenConnection(string url, string login, string password)`,
`URLInputStream.OpenConnection(Uri url, string login, string password)`
- Added constructors: `InstrumentProfileConnection(string address, string login, string password)`
- [Samples] Added additional command line parameter to pass a bearer token. Samples that were affected:
`dxf_instrument_profile_sample`, `dxf_instrument_profile_live_sample`
* [DXFC-206] Fixed a minor memory leak related to incomplete deinitialization of the server message processor context.
Version 6.1.0
* Migrated to C-API 6.1.0
Version 6.0.1
* [DXFC-194] Fixed bug with System.AccessViolationException while closing connection
Version 6.0.0
* [DXFC-191] Fixed bug where crashes and memory corruption occurred when adding and removing symbols
* [DXFC-190] Fixed bug with memory corruption during connection restoration and changing the list of subscription symbols
* [DXFC-184] [Breaking changes] The order source for subscribing to aggregated data (MarketMaker) has been changed from COMPOSITE_ASK|BID to AGGREGATE_ASK|BID.
This is now compliant with Java API
* [DXFC-192] Fixed a bug with C-API SEGFAULT in TLS mode when sending data on reconnection
* [DXFC-193] Fixed a bug with excess memory consumption when retrieving Option symbols
* [DXFC-171] Added descriptions to all C-API error codes
* [DXFC-187] Fixed a bug with a second addition o the same symbols
Version 5.13.0
* [DXFC-189] Fixed bug with inability to receive orders with Scope = Aggregate
Version 5.12.0
* [DXFC-185] The new order source for cboe C2 options was added: C2OX
Version 5.11.0
* [DXFC-182] The new order (price level) sources were added: ntv, glbx, xeur
* [DXFC-178] Added the ability to log received and transmitted data blocks
- [API] The `NativeTools.InitializeLogging` function extended by optional parameter `logDataTransfer`
This flag defining the logging mode; if it's `true` then the data transfer (portions of received and sent data) logging will be enabled.
It will also create two files with names similar to the name of the main log file, but ending with "*.receive.data" and "*.send.data"
- [Samples] Added the additional command line parameter:
- `-p` - Enables the data transfer logging
Version 5.10.0
* [DXFC-173] [Samples] Added additional command line parameters to the `dxf_simple_order_book_sample` sample:
- host:port - The address of dxfeed server (exmaple: demo.dxfeed.com:7300)
- symbol - The instrument symbol: IBM, MSFT, AAPL, ...
- date - The date of time series event in the format YYYY-MM-DD
- source - The source for order events (default: NTV): NTV,NFX,ESPD,XNFI,ICE,ISE,DEA,DEX,BYX,BZX,BATE,CHIX,CEUX,BXTR,IST,BI20,ABE,FAIR,GLBX,ERIS,XEUR,CFE,SMFE
-l <limit> - The number of displayed bids or asks in a order book (0 - unlimited [FOD], default: 10)
-T <token> - The authorization token
* [DXFC-174] Added the ability to subscribe to regional quotes. Now Quote subscription requests both composite and regional events. Please, use the `Scope` field to filter events.
* [DXFC-168] The list of supported order sources was updated: NTV,NFX,ESPD,XNFI,ICE,ISE,DEA,DEX,BYX,BZX,BATE,CHIX,CEUX,BXTR,IST,BI20,ABE,FAIR,GLBX,ERIS,XEUR,CFE,SMFE
Version 5.9.0
* [Samples] Added the ability to connect with token in a dxf_events_sample
* Added the ability to override the type of data the application subscribes to
- Added EventSubscriptionFlag enum with possible values:
- `Default` that used for default dubscription behaviour
- `ForceTicker` that used to force subscription to ticker data
- `ForceStream` that used to force subscription to stream data
- `ForceHistory` that used to force subscription to history data
- Added the new `NativeSubscription` constructors and `NativeConnection.CreateSubscription` methods with additional parameter `eventSubscriptionFlags`.
- [Samples] Added an additional command line parameter "[-s <subscr_data>]" to `dxf_client` (to describe how to use the new function with flags).
This parameter accepts the next values:
- 'TICKER' or 'ticker' to force subscription to ticker data
- 'STREAM' or 'stream' to force subscription to stream data
- 'HISTORY' or 'history' to force subscription to history data
* Added the `Tick` field to non ETH Trades.
The `Tick` field Returns Trend indicator – in which direction price is moving. The values are: Up (Tick = 1), Down (Tick = 2), and Undefined (Tick = 0).
The `Tick` field should be used if `IDxTradeBase.TickDirection` is `Undefined`
* Fixed the `Direction` enum.
Now `Down` = 1 and `ZeroDown` = 2
* Added the candle price level attribute support. The candle price level (pl) defines additional axis to split candles within particular price corridor in addition
to candle period attribute with the default value Double.NaN.
So a one-minute candles of "AAPL" with price level 0.1 shall be specified with "AAPL{=m,pl=0.1}".
- Added the `CandlePriceLevel` attribute class
- Added the `PriceLevel` field to `CandleSymbol` class
- Added additional utility methods to `CandleSymbolAttributes`:
- The static constructor method `PriceLevel.NewPriceLevel` to construct PriceLevel from double precision floating point value
- The static constructor method `PriceLevel.NewPriceLevel` to construct PriceLevel by string parsing
Example: `dxf_client demo.dxfeed.com:7300 Candle AAPL{=m,pl=0.1} 2020-01-01`
* Added ability to retrieve regional TnS. Now API backend (C-API) subsribes to both composite and regional TimeAndSale events.
Sometimes server may sent equal composite and regional TnS which differ by suffix only (for example: TimeAndSale and TimeAndSale&K).
So the `Scope` field was added with possible values: `Composite` and `Regional` to `IDxTimeAndSale`, `NativeTimeAndSale`. Same field was added for
`IDxSummary` and `NativeSummary` events.
Please, use the `Scope` field to filter out duplicates.
Version 5.8.0
* Improved the documentation (converted to doxygen format)
* Added a sample that implements subscribing to symbols which downloaded from IPF. See the dxf_connect_ipf_sample project
* Fixed the InstrumentProfileConnection class that does not respond after downloading all data
Version 5.7.0
* Fixed an issue with crash on reconnect (connection by TLS)
* Added the ability to subscribe to "*" (wildcard) symbol
- See descriptions of the `NativeSubscription.AddSymbol`, `NativeSubscription.AddSymbols`, `NativeSubscription.RemoveSymbols` methods in the NativeSubscription.cs
Version 5.6.3
* Fixed multiple symbols subscription in samples on Linux
* Fixed formatting and logging of indices, strings, timestamps and identifiers on Linux
Version 5.6.2
* Subscription process was accelerated by sorting internal symbol collection
Version 5.6.1
* Fixed an issue with incorrect index field calculation
Version 5.6.0
* Fixed Snapshot sample. Unused event type parameter has been removed.
Version 5.5.2
* Fixed a memory leak in ServerMessageProcessor
Version 5.5.1
* Data collection in OrderViewSubscription has been greatly accelerated
Version 5.5.0
* Fixed an issue with error "HRESULT: 0x8007000B" in the samples
* Added a TLS 1.1+ support to instrument profile and option chain samples
* Fixed an issue with concurrent modification of record digests data
* Updated the Series API to QDS 3.271
* Fixed a Series snapshot data processing
Version 5.4.0
* Notifications for connection status changes
- the ability to notify about changes in the connection status is added.
See: com.dxfeed.api.connection.ConnectionStatus enum, com.dxfeed.native.NativeConnection class
and com.dxfeed.native.NativeConnection.Status field
* [Samples] Expand the parameter set by passing an authentication token
- The optional command line parameter "[-T <token>]" is added
* [Samples] Add the ability to change the number of displayed records
- The optional command line parameter "[-l records_print_limit]" is added (0 - unlimited).
- Affected samples: dxf_client, dxf_order_view_sample, dxf_snapshot_sample
* dxf_simple_order_book has been renamed to dxf_simple_order_book_sample
Version 5.3.2
+ Regional book is added
Version 5.3.0:
+ Add support of regional and composite events for trades and quotes
+ Add API functions to get current address and other properties from connection
Version 5.2.3:
* Fix authentication with Auther other than
default Login/Password one.
Version 5.2.2
* Fix "Side" enum.
* Fix ToString() of events with EventFlags.
Version 5.2.1
* Link all created subscriptions to their connections
to prevent GC from collecting live subscription objects.
Version 5.2.0
+ All events are synchronized with C API and Java API
Many small changes in field names.
+ Some utility data is moved to com.dxfeed.api.data namespace,
please include it as needed.
+ All Event-type related interfaces are renamed with IDx
prefix for uniformity.
+ Get rid of DxString, uses normal string everywhere.
+ Add all samples to package.
Version 5.1.0
+ Implement Entitlement API for C#.
+ Implement support for different connection schemes.
+ Implement support for SSL/TLS.
+ Implement simple Future/Promise API