dxFeed/QDS Release Notes 3.240-3.254

Delivery version: 3.254
Base version: 3.240
QD-127: dxFeed API: Custom user-defined events
QD-385: dxFeed API: Introduce getEventTime
QD-386: Configure DXFeedScheme to include or exclude optional fields
QD-548: Tools: Provide API for multiplexor tool to install user-defined authentication handler
QD-674: QD Core API shall provide QDCollector.Builder interface to define extensible list of collector attributes on creation
QD-675: QD Core shall have ability to store and transmit event time stamps
QD-677: Tools shall support collectors with eventTime
QD-833: RMI Invoke tool shall supported targeted requests
QD-834: BUG FIX: Tools: FileWriter is not working after failure
QD-839: dxFeed API for “storeEverything” mode
QD-840: QDS “tape” connector
QD-847: dxFeed API: Introduce nanoTime in key market events
QD-860: Support authorization in QDS connectors
QD-863: DXFeed API for OnDemand: Shall provide eventTime
QD-864: dxFeed API: Improve support for custom record mappings
QD-872: RecordBuffer shall reset cursors on clear/compact for better safety
QD-876: Support custom login handlers in QDS connectors
QD-878: dxlib: Services shall understand hash-comments in services files
QD-879: Misc QD filter performance optimizations
QD-880: dxFeed JS API: Access to Greeks event does not work
QD-881: QD Core: improve performance of stream contract
QD-882: QD Core: improve performance on signalling socket writing thread
QD-883: dxlib: Do not pool ObjectInputStream instances of large size
QD-884: Leaked instances of DXFeedImpl via ThreadLocal
QD-885: QD Core: make striping consistent for cipher and symbol
QD-887: QD Core: Safe flushing during examine does not always work as expected
QD-888: QTP binary parser fails to parse binary data with event time fields unless explicitly configured to
QD-889: Switch to Java 8 source code level
QD-890: QD Core: connection filters are not properly transmitted to other side
QD-892: Removal of events from history using SNAPSHOT_XXX flags does not update “storage” stats properly
QD-893: QD History fails on assertion when loading data with storeEverything mode without subscription
QD-894: Update time-test to version 1.1
QD-895: Turn on history snapshot mode on any event with new SNAPSHOT_MODE flag to facilitate snapshot data upload with qds post
QD-896: QD History enters into invalid “TX_PENDING” state in storeEverything mode
QD-897: DXEndpoint.awaitNotConnected/closeAndAwaitTermination does not always guarantee that all data was processed
QD-898: dxFeed API: OrderSource now can use up to 4 alphanumeric characters
QD-900: dxFeed API: Normalize Flags and EventFlags representation
QD-902: Fix javadoc link problems
QD-903: Fix javadoc style for Java 8 javadoc tool
QD-905: dxFeed API: Add tick direction to Trade and TradeETH events
QD-906: Tools: Implement dxFeed Plotter Tool
QD-907: dxFeed API: Create accessor to flags constants and normalize flags operations
QD-908: RMI-subject is not forwarded through intermediate nodes
QD-909: dxFeed API: Add DayTurnover to Trade and TradeETH events
QD-910: dxFeed API: Add Sequence to Trade and TradeETH events
QD-911: Striped QD collector does not correctly implement agent’s snapshot provider
QD-912: Undeprecate DataRecord.getMapping() method
QD-913: dxlib: Make TypedMap thread-safe
QD-915: QD RMI: RMIServiceMethod annotation with support for proxy-based OneWay invocations
QD-916: Potential NPE in AgentAdapter.prepareProtocolDescriptor
QD-917: QD RMI Leaks closed RMITaskImpl instances in certain cases
QD-918: Legacy custom authentication Sample code is broken
QD-919: Improve speed of tests with RMI
QD-920: Proxy invocation handler must log requests which complete exceptionally
QD-921: Add MDD’s TimeReplacer functionality into FileConnector
QD-925: BUG FIX: Striped QD collector does not work
QD-926: ConsoleLoginHandler asks to enter login/password for each connection without the need
QD-929: LoginManager invokes QDLoginHandler.login() more often than necessary
QD-930: MessageComposer сompletes the request with the wrong type of timeout
QD-932: RMI: Potential delay of QD messages due to lost “more messages flag”
QD-933: RMICommontTest.connect should not burn 100% CPU while waiting for “CONNECTED” status on server socket
QD-935: RMICommonTest.testWithTLSAndCustomTrustManager does not work on Linux
QD-936: ServerSocketConnector does not notify listeners on its CONNECTED state when it starts accepting connections
QD-937: Move promise package into a separate “dxfeed-promise” module
QD-938: qd-auth: migrate to Promise
QD-939: Change default NIO select timeout to 100ms
QD-940: Move core auth classes to com.devexperts.auth package
QD-942: Fix infinite loops in RMI Tests and resource allocations
QD-944: When the Multiplexor is closed, some threads are not closed
QD-945: SSLConnectionFactory creates ServiceExecutor which never shuts down
QD-947: RMI: NPE in MessageProcessor
QD-948: AuthManager does not always cancel authentication request on close
QD-949: Multiple RMI Channel executions may block RMI execution pool
QD-952: dxlib: Remove class from TypedKey constructor
QD-954: RMIChannelTest is highly timing dependent
QD-955: Split RMICommonTest into two test suites
QD-957: Tools: Connect doesn’t work with subscription-mirroring and Stream collector
QD-958: QD Core: distribution of very large data sources via History fails
QD-959: dxlib: Introduce TraceLogging as a unified approach for finding concurrency bugs during tests
QD-960: RMI sends advertisement messages before protocol descriptor
QD-963: Broken support for 4 letters order sources
QD-966: Use parametrized tests in all RMIxxx tests for regular and channel-testing variants
QD-970: ParallelWriter should exit correctly when its thread is interrupted
QD-972: MessageDescriptor should contain actual message type id after parsing
QD-973: IPFFilter update check does not authenticate properly
QD-974: RMIChannelTest.testIntermediateResultChannel is not stable
QD-977: dxlib: QD Core: add methods and classes to allow faster sorting of RecordBuffer
QD-978: Increase default cache size in Schedule and Timing to 25000
QD-980: RMI: Fix RMIEndpoint.setAttachedMessageAdapterFactory to support legacy factories
QD-981: dxFeed API: Parsing events from file sporatically fails
QD-982: RMIChannelTest.testProgressDisconnect fails sporadically
QD-983: SymbolSetFilter.valueOf should return dynamic filter in case of given dynamic ipf-filter
QD-985: History transaction sporadically hangs in TX_PENDING state
QD-987: DXPublisherTest sporadically fails
QD-990: Optimize QTP composer for “spurious return” of data/sub provider
QD-991: RMIMessageAdapter does not honor contract for time-based aggregation which leads to data loss/delay
QD-994: FileWriter writes invalid eventTime for “”long” and “text” time formats
QD-995: Prepare QD for delivering to GitHub
QD-997: QDHistory does not properly store nor transmit event time sequences
QD-998: Add FreeFloat field to Profile record
QD-999: dxlib: Add specific factory methods to IndexedSet
QD-1001: QD unable to recover after I/O error
QD-1004: OnDemand stops replaying events at data block boundary
QD-1005: Investigate enforcing specific version of TLS (TLS 2.1) programmatically in QD RMI
QD-1007: Improve CPU usage of idle SocketReader
QD-1008: Schedule: Update Turkey holidays for 2017-2019 to schedule.properties
QD-1011: History does not use subscription filter which is specified as service
QD-1013: dxlib: Add toString() to TypedMap and TypedKey
QD-1014: JDK1.8.0_121 does’t support javascript in documentation comment
QD-1015: [dxFeedViewer] Change default ipf-address protocol from http to https
QD-1016: BUG FIX: Incorrect translation of close price from OnDemand to Summary record
QD-1017: BUG FIX: Spurious ULP formatting in IPF
QD-1018: BUGFIX: SubscriptionProcessor stops working after exception
QD-1019: BUGFIX: NullPointerException in NotIPF filter
QD-1020: dxFeed webservice: Migrate to cometd 3.1.1
QD-1021: dxlib: Allow Log4j2 as logging implementation
QD-1023: BUG FIX: Schedule: Bad schedule.properties format leads to unrecoverable errors
QD-1024: Tools do not accept several ipfs as source of symbols
QD-1025: dxFeed API: Add Buyer and Seller optional fields to TimeAndSale events
QD-1026: dxFeedAPI: Add regional TimeAndSale events