dxFeed/QDS API 3.135 released

dxFeed/QDS 3.135 has been released to public.
Available at: /downloads/api/java/latest-release/

 

This release sums up a number of internal releases since last public release 3.123 and features lots of internal changes and changes around tools and monitoring capabilities on the server side.

Notable changes to client-side API are:

– Misc improvements to Promise
– Convenient API to download a range of historical data without subscription
– Predefined (permanent) subscription configuration option
– UI sample with a Candle chart

Complete list of changes:

3.135

Defect Report

* [QD-495] – CompositeRecords.forRecords cannot be used in CompositeRecords.makeAnd

3.134

Defect Report

* [QD-489] – IPF symbol filter shall accept wildcard but shall not contain it.
* [QD-491] – Tools: Wildcard subscription is generated when ipf+stream are used
* [QD-493] – Symbols with spaces and braces cannot be used in tools, shall support quoting for them
* [QD-494] – Composite filters based on symbol sets are improperly wrapped in parenthesis when converted to string

3.133

Change Request

* [QD-483] – qds-monitoring: Option to log collectors counters

3.132

Defect Report

* [QD-482] – Dynamic IPF filter does not detect that filter content did not change

3.131

Defect Report

* [QD-467] – Tools: Compare does not work (IllegalArgumentException)
* [QD-468] – Tools: Compare does not print statistics

3.127

Defect Report

* [QD-450] – ArrayIndexOutOfBoundsException when agent listener is VOID

Improvement

* [QD-451] – Tweak TimeDistribution precision
* [QD-452] – dxFeed API: Misc improvements to Promise

3.126

Change Request

* [QD-224] – dxFeed API: Convenient API to download a range of historical data without subscription
* [QD-405] – dxFeed API: Predefined (permanent) subscription configuration option
* [QD-429] – dxFeed API: UI sample with a Candle chart
* [QD-432] – Measure end-to-end data lag in microseconds
* [QD-435] – Tools: dump shall support filters
* [QD-440] – Tools: Post shall warn when connected to the wrong port

Defect Report

* [QD-433] – FileConnector shall not allow “~” to be replaced by anything short of full date time
* [QD-434] – Help for “file” does not list all options
* [QD-437] – dxFeed API: Closing not-connected endpoint throws NullPointerException
* [QD-439] – Tools: Shall correctly post a list of contracts/collectors to log
* [QD-443] – dxFeed JS API: dxfeed-webservice leaks memory when deployed/undeployed
* [QD-447] – QD Monitoring occasionally reports negative buffer size
* [QD-449] – Management does not process annotations for operations with primitive type arguments

Improvement

* [QD-430] – Get rid of .form files in UI samples
* [QD-431] – DataExtractor servlet: Support TomCat deployment
* [QD-436] – FileConnector shall not repeatedly complain about unknown records
* [QD-442] – RecordBuffer shall fail-fast on reuse/release of released buffer
* [QD-444] – Misc improvements in QD core management counters and utility methods
* [QD-445] – QD shall not register JMXStats for anonymous agents and distributors
* [QD-446] – QDFilterFactory context for security and modularity reasons
* [QD-448] – QD Agent shall not buffer/queue data when listener is VOID

3.125

Change Request

* [QD-225] – Tools: Improve record name parsing with eliminating need to escape special characters (similar to symbol parsing)
* [QD-306] – Support optional EventTime storage in RecordBuffer
* [QD-307] – Extract FileReader logic from threading and configuration
* [QD-308] – Introduce ability to write EventTime in FileReader/FileWriter from/into the same file as data
* [QD-358] – QD Core: Introduce new convenience methods to retrieve data from ticker and history storage
* [QD-360] – QD Monitoring shall aggregate stats for connectors with the same name
* [QD-361] – dxFeed API: DXEndpoint change notifications must be serial
* [QD-369] – QDS Tools: Ability to specify QD endpoint name in all tools with -n|–name option
* [QD-370] – Schedule: Add USA, Canada and Japan holidays for 2012-2023 to schedule.properties.
* [QD-371] – QD Connectors: Send name and mars.root (if present) in protocol descriptor
* [QD-372] – Report version of all QD modules in QD version string
* [QD-375] – Schedule: add new holiday calendar, upodate ICE-EU holiday calendar
* [QD-376] – Add Order record to feed filters.
* [QD-379] – RMI: Provide more details in exception messages
* [QD-380] – FileConnector shall support [speed=xxx] property
* [QD-389] – dxFeed API: Retrieve last event without subscription
* [QD-395] – dxFeed JS API: Support TimeSeriesSubscription for Candle and TimeAndSale
* [QD-396] – dxFeed API: Support subscription to Candle by String (in addition to CandleSymbol)
* [QD-401] – DataExtractor servlet: Introduce REST servlet frontend to connect tool for file reading
* [QD-414] – dxFeed REST web service to get last events snapshot
* [QD-415] – Misc improvements and changes in file formats (protocol descriptor headers and footers)
* [QD-416] – Use field “propertyName” in text formats and in xxxMapping classes
* [QD-417] – FileConnector format autodetection shall work separately for each subsequent file
* [QD-418] – FileConnector shall skip broken file and continue to the next one
* [QD-421] – Report and use timestamp format in file protocol descriptor
* [QD-422] – Misc improvements in FileAnalysis tool
* [QD-424] – Stats: Report record-weighted connection round-trip time
* [QD-426] – dxFeed JS API: Support TomCat deployment
* [QD-427] – Accept ‘;’ as a regular character in patterns

Defect Report

* [QD-343] – dxFeed API: OrderBookModel does not show sole composite quote when size is 0.
* [QD-345] – NioConnector writer thread hangs in select
* [QD-347] – dxFeed API: TheoPrice Dividend and Interest scheme fields must be optional
* [QD-349] – dxFeed JS API: Does not work when bound to the root context
* [QD-350] – dxFeed JS API: Sample uses symbols that are not available on demo feed
* [QD-353] – JMXStat.createRoot hangs on attempt to create root with duplicate name
* [QD-354] – QD Monitoring shall reuse monitoring core objects when creating multiple endpoints with the same monitoring properties
* [QD-363] – FileConnector shall not wait for more data files when running with [stop=xxx] property
* [QD-364] – Schedule: Schedule creates time holes when holiday intersects with weekdays definitions.
* [QD-365] – dxFeed API: Deadlock during connector state updates
* [QD-373] – FileConnector and –tape should automatically detect .time.gz pair to .data.gz file
* [QD-374] – FileConnector [stop=xxx] property shall work based on file name only with [ignoreTime] or [time=none]
* [QD-377] – dxlib: null messages in LogFormatter shall be supported
* [QD-381] – QDS Tools: “tools” without arguments and “help tools” should give similarly formatted list of all tools
* [QD-425] – Connect tool with tape does not work properly with multiple connections
* [QD-428] – dxFeed API: CandlePeriod with negative value fails to parse from string

Improvement

* [QD-251] – Better logging when QD-filter can’t be created/loaded
* [QD-351] – Tools: Performance and memory usage optimizations for InstrumentProfile loading and transform
* [QD-362] – Introduce RecordBuffer mode of operation to replace SubscriptionBuffer, deprecate the latter
* [QD-366] – Improve built-in RecordBuffer pool, introduce capacity-limited buffering capabilities
* [QD-367] – QD Core: Stronger deprecation of custom implementations of legacy xxxVisitor and xxxIterator interface implementations
* [QD-378] – Introduce NG interface RecordProvider to replace DataProvider and SubscriptionProvider
* [QD-384] – Provide helper method withContracts on QDEndpoint.Builder
* [QD-390] – Deprecate DataConsumer and SubscriptionConsumer interfaces and introduce RecordConsumer
* [QD-392] – Remove deprecated unused classes and members as of September 2013
* [QD-397] – QDStats shall throw IllegalStateException when creating children for closed stats
* [QD-398] – dxFeed API: Document that message events are streamed (no conflation)
* [QD-399] – dxFeed API: com.dxfeed.event.EventType shall become an interface that is implemented by all events
* [QD-406] – Expand QDFitlers framework to support “symbol lists” as a special class of fitlers

3.124

* [QD-338] dxFeed API: Option series and chains
– Rename OptionSerie class to OptionSeries.
– JavaDoc fixed to use ASCII quotation marks.

* [QD-341] dxlib: IndexedSet can raise ConcurrentModification alert when replacing existing value.
* [QD-342] dxFeed API: add book correction algorithm to OrderBookModel.