3.00.4
Version: 3.00.4 Compatibility Level 2 with 3.00.3
For details, see Compatibility Changes.
Release Date: 2025-09-05
Available Downloads:
New Features
- Added new function
bondInstrumentCalculatorto perform mutual conversion among a bond's yield to maturity, clean price, and dirty price. (3.00.4.1) - Added support for the HTTP protocol in Single Sign-On (SSO). (3.00.4.1)
- Added new configuration parameter maxRecursiveDepth to set maximum recursive depth. (3.00.4.1)
- Added function
histogramfor computing the histogram of a dataset. (3.00.4.1) - Added FICC-related functions to retrieve the corresponding member values of instruments. (3.00.4.1)
- Added support for instruments of UserDefined productType. (3.00.4.1)
- Added function
bondYieldCurveBuilderfor building bond yield curves (bootstrapping spot rates from yields to maturity). - Added function
irSingleCurrencyCurveBuilderforbuilding a single-currency interest rate swap yield curve. - Added function
irCrossCurrencyCurveBuilderfor building cross-currency interest rate swap (implied foreign currency) yield curves. - Added function
fxVolatilitySurfaceBuilderfor building FX option volatility surfaces. - Added function
bondPricerfor pricing an individual bond. - Added function
bondFuturesPricerfor pricing bond futures contracts. - Added function
irDepositPricerfor pricing deposits. - Added function
irFixedFloatingSwapPricerfor pricing plain-vanilla interest rate swaps. - Added function
fxForwardPricerfor pricing FX forward contracts. - Added function
fxSwapPricerfor pricing FX swaps. - Added function
fxEuropeanOptionPricerfor pricing FX European options. - Added function
instrumentPricerfor batch pricing of financial contracts. - Added function
portfolioPricerfor portfolio pricing of financial contracts. - Added function
parseInstrumentfor serializing financial contracts into INSTRUMENT objects. - Added function
parseMktDatafor serializing market data into MKTDATA objects. - Added function
extractInstrumentfor deserializing INSTRUMENT objects. - Added function
extractMktDatafor deserializing MKTDATA objects. - Added function
curvePredictfor predicting values at specified times on a given curve. - Added function
optionVolPredictfor predicting volatilities at specified times and strikes on a given volatility surface. - Added functions
StreamGraph::updateRuleandStreamGraph::deleteRulefor persistent rule updates in the Orca rule engine. - Added function
DStream::udfEnginefor creating UDF engines with side-effect and state persistence support. - Added function
getUdfEngineVariableto query external variable values defined inDStream::udfEngine. - Added function
getOrcaDataLineagefor querying data lineage of stream graph tables and Orca time-triggered job information. - Added functions
createNearestJoinEngineandDStream::nearestJoinEnginefor creating nearest-neighbor join engines in stream computing. - Added function
StreamGraph::dropGraphfor dropping stream graphs. - Added functions
startStreamGraphandstopStreamGraphfor controlling stream graph execution. - Added functions
createOrcaStreamTable,createOrcaKeyedStreamTable,createOrcaLatestKeyedStreamTable,createOrcaHaStreamTable, andcreateOrcaHaKeyedStreamTablefor creating Orca stream tables without stream graphs. - Added function
dropOrcaStreamTablefor dropping Orca stream tables. - Added streaming SQL for continuous querying and real-time updates.
- Added function
rollfor defining custom sliding windows. - Added functions
addMCPTool,updateMCPTool,dropMCPTool,callMCPTool,listMCPTools,publishMCPTools, andwithdrawMCPToolsfor MCP tool development and management. - Added functions
addMCPPrompt,updateMCPPrompt,dropMCPPrompt,listMCPPrompts,getMCPPrompt,publishMCPPrompts, andwithdrawMCPPromptsfor MCP prompt template management. - Added new permissions: MCP_MANAGE, MCP_DEVELOP, and MCP_EXEC.
- Added function
getClusterVolumeUsagefor checking disk usage across cluster nodes. - Added functions
getIPConnectionLimitandsetIPConnectionLimitfor managing external connections by IP. - Added functions
getExecDirandgetWorkDirfor retrieving the dolphindb executable directory and working directory. - Added function
getRawScriptLogfor querying raw script logs. - Added configuration parameters enableRawScriptLog, rawScriptLogRetentionTime, maxRawScriptLogSize for logging raw scripts and execution details.
- Added configuration parameter enableSharedVarCreationControl for controlling whether users can create shared variables.
- Added configuration parameter processVectorFunctionOverTupleByRow for controlling how vector functions are applied to tuples/dictionaries.
- Added configuration parametersstreamingRaftLearners and crossClusterRaftWorkerNum for configuring Raft learner nodes.
- Added configuration parameter streamingRaftGroupAliases for assigning aliases to Raft groups.
- Added snapshot mechanism support with parameters snapshotDir and
snapshotIntervalInMsgCount in
createTimeBucketEngine,createNarrowReactiveStateEngine,createCryptoOrderBookEngine,createOrderBookSnapshotEngine,createRuleEngine, andcreateReactiveStatelessEngine. - Added function
dropDataViewEnginefor removing specific data view engines in CEP. - Added function
matchFuzzyfor fuzzy matching queries. - Added support for text vectorization .
- Added function
createExternalTablefor creating external tables. - Added support for table joins in MoM cluster.
- Added function
semiannualBeginandsemiannualEndfor retrieving the first and last day of the semiannual period. - Added function
recursiveSplitTextfor recursive text splitting by delimiters. - Added function
renameCatalogNamefor renaming the name part of fully qualified names.
Improvements
createCrossSectionalEnginesupports processing columnar tuples. (3.00.4.1)- Enhanced the startup process of the licenseServer client to support authentication and startup via the standby server when the primary server is unavailable. (3.00.4.1)
- Improved error messages in stream graphs when output data has inconsistent schemas.
- Extended
getStreamGraphInfoto include engine metric information. - Extended
StreamGraph::haSource,StreamGraph::haKeyedSource,DStream::haBuffer,DStream::haKeyedBuffer,DStream::haSink, andDStream::haKeyedSink: parameter raftGroup now supports Raft group IDs. - Extended
subscribeTableto support cross-cluster subscription of Orca stream tables. - Added support for managing permissions on Orca stream tables.
- Added parameter includeTables to
dropStreamGraphto control whether Orca stream tables inside the graph are also dropped. - Added parameter dimReduceCol to
createGPLearnEngineto enable downsampling factor mining. - Shark Graph now supports the operators
rowAvg,rowSkew,rowVar,rowVarp,rowStd, androwStdp. - Optimize disk management mechanism.
- Improved performance of min/max queries on partition columns of TIMESTAMP type when partitioned by day with VALUE partitioning.
- Optimized partition pruning to improve performance of queries such as
select * from t where id in idswhen ids is a TABLE. - Improved query performance on VALUE partitioned tables with
<or<=filters on partition columns. - Improved system performance under high concurrency.
- Optimized script engine for better expression execution performance.
- Added support for NANOTIMESTAMP type in the eventTime column of
dummyTable for
createCryptoOrderBookEngine. - Enhanced
licensefunction to return additional module and product names: Beluga, Backtest, MatchingEngineSimulator, ORCA, DOLPHINX. - Added parameter stat to function
getStreamingStatfor specifying which status table to return. - Added parameter preserveOrder to
sliceByKeyto control whether results follow the order of rowKeys. - Added parameter scoreColName for retrieving text match scores.
- Added parameter Y to
logto specify the logarithm base. - Extended
atto support integer vectors as parameter X. - The outputTables parameter of the
replayfunction now supports stream tables with a timestamp column specified bysetStreamTableTimestamp. - The handler parameter of the
addEventListenerfunction now supports invoking functions outside the monitor class. - Extended
reverseto support in-memory tables and ordered dictionaries. - Binary operations are supported for types of dictionary and tuple.
- Extended
createTimeSeriesEngineandcreateDailyTimeSeriesEngineto support scalar or vector constants for the metrics parameter. - Extended
rankandenlistto support dictionaries. - Improved
dropStreamEngineto forcibly terminate background threads when releasing stream distribution engines. - Optimized
getConsoleJobsto provide clearer jobType and desc information. - Extended
parseJsonTableto support parsing arrays in JSON. - Added parameter validation to create table.
- Extended
loadTexttoparse- TIME/SECOND/NANOTIME types into TIME/NANOTIME types.
- DATETIME/TIMESTAMP types into NANOTIMESTAMP type.
Issues Fixed
- Fixed an issue where the
integralfunction failed when the integration bounds were set to NULL in double integral calculations. (3.00.4.1) - Fixed server crashes that could occur when an empty data source was passed to
the
mrfunction due to missing input type validation. (3.00.4.1) - Fixed server crashes that could occur when a user-defined class method was
misused in the metrics of
createReactiveStateEngine. (3.00.4.1) - Fixed an issue in high-availability cluster where followers failed to shut down
properly when the controllers was configured with
lanCluster=0. (3.00.4.1) - Fixed an issue where submitting multiple tasks concurrently could occasionally trigger a scheduling anomaly, causing the system to become unresponsive. (3.00.4.1)
- Fixed an issue in high-availability cluster where concurrent
getClusterPerfexecutions from multiple controllers exceeding the number of available worker threads could cause the system to become unresponsive. (3.00.4.1) - Fixed occasional errors when the stream subscription contains data of type ANY. (3.00.4.1)
- Fixed an issue where cached data was not properly cleared when a subscription
was terminated by disconnection instead of using
unsubscribe, causing the number of rows in tables managed byenableTableShareAndCachePurgeto exceed the configured cacheSize limit. (3.00.4.1) - Fixed an issue where SQL aggregation operations could occasionally cause the server to crash. (3.00.4.1)
- Fixed an issue where memory usage returned by
getUserHardwareUsagecould be incorrect (negative) due to erroneous automatic type conversion. This issue was introduced in version 2.00.15. (3.00.4.1) - Fixed an error when a line break was followed by an operator at the beginning of the line in a SQL statement. (3.00.4.1)
- Fixed an issue where excessive logging after partition updates in the TSDB engine could cause log files to grow rapidly and fill up disk space. This issue was introduced in version 2.00.15. (3.00.4.1)
- Fixed server crashes where inserting an empty vector into a stream table with a
timestamp column set by
setStreamTableTimestamp. (3.00.4.1) - Fixed memory leaks caused by querying tables if a GROUP BY column in an aggregate computation was of BLOB type. This issue was introduced in version 2.00.11. (3.00.4.1)
- Fixed an issue when subscribing to a stream table with
subscribeTable, if the function specified in the filter parameter produced an output schema inconsistent with the input stream table, the system neither outputs data nor reports an error. (3.00.4.1) - Fixed an issue where the system could hang when writing to TSDB Database if the number of symbols exceeded the limit. (3.00.4.1)
- Enhanced Configuration Access Security: (3.00.4.1)
- Added configuration parameter enableConfigAccessControl to control whether permission checks are applied when accessing configuration parameters.
- Added function
getOauthClientSecretto allow administrator users to securely retrieve the value of the sensitive configuration oauthClientSecret. - Updated function
getConfig/getConfigureto filter returned results based on the security level of each configuration item and the current user’s permissions whenenableConfigAccessControl=true.
- Fixed incorrect results when the left table in a streaming SQL left join was updated before the right table. (3.00.4.1)
- Fixed an error that occurred when a streaming SQL keyed table received a single-row insertion containing a columnar tuple. (3.00.4.1)
- Fixed an issue where
bfillproduced incorrect results when processing certain special characters. - Fixed an issue where temporary files were not reclaimed immediately after an unexpected transaction termination and restart.
- Fixed a memory leak in the controller when client high availability was enabled.
- Fixed an issue where scheduled jobs occasionally failed to execute and subscriptions stalled under high system load.
- Fixed an issue where unexpected interruptions during tiered storage data migration could leave residual files.
- Fixed a query failure issue when the SYMBOL column contained values ending with
\r. - Fixed a memory leak in IoT engine under special circumstances.
- Fixed a resource leak caused by incomplete cleanup when threads exited.
- Fixed an issue where recovery of controller metadata from data nodes failed when the number of partitions exceeded 10 million.
- Fixed an issue where the CEP engine did not support functions such as
isVoid. - Fixed an error when assigning aliases to GROUP BY fields in the SELECT clause.
- Fixed incorrect query results when using
interval. - Fixed occasional hangs during concurrent access to stream tables.
- Fixed an issue in the IMOLTP engine where deleting data did not release memory.
- Fixed an issue where functions
mstd,mstdp,mvar, andmvarpincorrectly returned 0 when X could not fill the window. - Fixed an issue where
mstdpandmvarpreturned incorrect results when the first element of X was NULL. - Fixed an issue where dropping a catalog using
dropCatalogdid not delete its Orca stream graphs.
