3.00.5
Version: 3.00.5 | Compatibility Level 1 with 3.00.4
Release Date: 2026-02-11
Available Downloads:
New Features
-
Added new configuration parameter maxRecursiveDepth to set maximum recursive depth.
-
Added support for the HTTP protocol in Single Sign-On (SSO).
-
Added new configuration parameter oauthAllowPasswordLoginNodes to specify the aliases of nodes that allow username-password authentication.
-
Added support for module marketplace features:
-
Added function
listRemoteModulesfor listing matched module names in the module marketplace. -
Added function
installModulefor downloading specified module files to the node module directory. -
Added function
getLoadedModulesfor displaying version information of loaded modules.
-
-
Added License control to the low-latency engine; a special License is now required for use.
-
Added support for encrypting dos files through function
encryptModule. -
Added support for online updates of the client license expiration time in the commercial edition license server after calling
setLicenseServerUserResource. -
Added functions
addCacheRulesForComputeGroup,removeCacheRulesForComputeGroup,getCacheRulesForComputeGroupfor managing the cache tables for compute groups. -
Added parameter includeSysDb to function
getClusterDFSDatabasesto control whether to display system databases; and added parameter includeSysTable to functiongetClusterDFSTablesto control whether to display system tables. -
Added support for secure HTTPS connections between the MCP server and MCP clients.
-
Added higher-order function
nothrowCallfor invoking functions in the same way ascallbut without throwing runtime errors. -
Added function
remove!for removing the element at the specified index from a vector or tuple. -
Added function
movingValidfor sliding-window calculations based on non-null data. -
Added functions
rowFilterAndSort,rowMergeAndSortfor filtering, sorting, and merging array vectors or columnar tuples. -
Added functions
toColumnarTupleandtoTuplefor outputting results as columnar tuples and tuples respectively ingroup byscenarios. -
Added support for high-availability MVCC table:
-
Added function
haMvccTablefor creating a high-availability MVCC table. -
Added function
loadHaMvccTablefor retrieving the handle of a high-availability MVCC table. -
Added function
dropHaMvccTablefor dropping a high-availability MVCC table. -
Added operation and maintenance functions
getHaMvccRaftGroups,getHaMvccLeader,getHaMvccTableInfo,checkpointHaMvcc, andisCheckpointingHaMvcc.
-
-
Added function
qcutfor grouping a numeric vector by quantiles and returning the corresponding quantile bin index or label for each element. -
Added support for plotting
SURFACE-type data through theplotfunction to generate 3D surface plots. -
Added function
yearFracfor calculating year fractions. -
Added function
histogramfor computing the histogram of a dataset. -
Added population covariance computation functions, supporting batch computing and streaming computing:
covarp,mcovarp,tmcovarp,cumcovarp,mcovarpTopN,tmcovarpTopN,cumcovarpTopN,rowCovarp。 -
Added vector similarity and distance computation functions:
-
Added function
minkowskifor calculating the Minkowski distance between vectors. -
Added function
seuclideanfor calculating the standardized Euclidean distance between vectors. -
Added function
cosinefor calculating the cosine similarity/distance between vectors. -
Added function
mahalanobisfor calculating the Mahalanobis distance between vectors.
-
-
Added function
appendEventWithResponsefor synchronously sending events and blocking until a matching response event is returned. -
Added support for processing array vectors in scenarios where
lowLatency=trueis set in the streaming engines. -
Added the sparse state event engine for specifying different metrics and triggering calculations under different conditions.
-
Streaming data supports data state indicators:
-
Added function
changelogStreamTableto create a stream table with an internal status column. -
Added function
getStreamTableChangelogto retrieve data from the stream table with a status column. -
Added functions
StreamGraph::changelogSourceandDStream::changelogSinkto enable the use of stream tables with status column in Orca. -
Added function
peekAppendfor peeking at the output after test data is appended to the engine based on the current state.
-
-
Added support for setting the timestamp column of high-availability stream tables through
setStreamTableTimestamp. -
Added Orca privileges, introducing the ORCA_GRAPH_CREATE, ORCA_GRAPH_DROP, ORCA_GRAPH_CONTROL, ORCA_TABLE_CREATE, ORCA_TABLE_DROP, ORCA_TABLE_READ, ORCA_TABLE_WRITE, ORCA_ENGINE_MANAGE, and ORCA_MANAGE.
-
Added support for creating a stateless engine through
DStream::reactiveStatelessEngine. -
Added function
matchedRowCountfor retrieving the number of rows affected by the last executedINSERT INTO/UPDATE/DELETEstatement in the current session. -
Added function
getStreamingSQLSubscriptionInfofor retrieving the metadata of a specified Streaming SQL query. -
Added support for inserting into selected columns using the standard SQL syntax
insert into table_name1 (colName1 [, colName2, ...]) select col_name(s) from table_name2. -
Added function
runExternalQueryfor executing SQL queries on external databases. -
Added parameter cgroupBy for function
sqlto generate metacode including acgroup byclause. -
Added function
createMktDataEnginefor creating a streaming engine to build curves and surfaces in real time. -
Added function
createPricingEnginefor creating a streaming engine to price financial products in real time. -
Added function
cmFutVolatilitySurfaceBuilderfor building commodity futures options volatility surfaces. -
Added function
cmFutAmericanOptionPricerfor pricing American options on commodity futures. -
Added function
cmFutEuropeanOptionPricerfor pricing European options on commodity futures. -
Added function
eqDividendCurveBuilderfor building equity dividend curves. -
Added function
eqVolatilitySurfaceBuilderfor building equity option volatility surfaces. -
Added function
eqEuropeanOptionPricerfor equity European option pricing. -
Added function
eqAmericanOptionPricerfor equity American option pricing. -
Added function
eqProxyVolatilitySurfaceBuilderfor building an equity proxy volatility surface. -
Added support for the marketData of
instrumentPricerandportfolioPricerto accept MktDataEngine and UDF as inputs. -
Added support for calculating bond with embedded options (
OptionBond) inbondInstrumentCalculator.
Improvements
-
Enhanced the startup process of the licenseServer client to support authentication and startup via the standby server when the primary server is unavailable.
-
Optimized the SSO process: Fixed HTTP request errors caused by default ports in SSO requests. Enhanced the oauthUserField configuration to support parsing usernames from nested JSON fields.
-
Optimized the volume selection logic for writes by adding support for weighted write allocation based on each volume’s free space percentage.
-
Added support for DolphinDB ARM to view the remote plugin list and download/install plugins via
listRemotePluginsandinstallPluginrespectively in the plugin marketplace. -
Added support for displaying the node alias in the return values of
getAclAuditLogandgetAuditLog. -
Enhanced permission control for ORCA system tables to ensure they are not visible to non-admin users.
-
Added permission control to
listMCPPromptsandlistMCPTools. -
Added configuration parameter enableDynamicScriptOptimization to control whether to enable low-latency optimization for dynamic scripts.
-
Added the enableTransferCompressionToComputeNode configuration parameter and function
enableTransferCompressionToComputeNodeto control whether compression is enabled when data nodes send data to compute nodes. -
Changed configuration parameter enableORCA, with the default value adjusted to false.
-
Optimized log output during startup.
-
Enhanced validation logic of the TSDBCacheEngineSize parameter to ensure it does not exceed 50% of the node’s maxMemSize.
-
Enhanced the permission validation logic of
getTablesto prevent users without table access privileges from obtaining table name information even if they guess the database name. -
Added support for performing the
shareoperation on DFS partitioned tables. -
Enhanced syntax exception messages to include the line number.
-
Optimized the error message when using functions in the metrics of the
createCrossSectionalEnginefunction. Detailed error information is now properly returned. -
Optimized the error message of functions
wjandtwindow. -
Added support for modifying members of DolphinDB objects (tuples and dictionaries) through assignment statements or calls to mutable functions (e.g.,
append!,clear!). -
attributeTypesnow supports fetching attributes and their types by class name. -
Added support for automatically converting strings passed in through the API to DOUBLE, FLOAT or DECIMAL based on the field type, and inserting them into the table.
-
Optimized the computation algorithm of
cdfNormal. -
Added support for the
movingWindowDatafunction to accept an array vector as input. -
getFunctionViewsnow supports returning the creator and creation time information of function views. -
Added support for collecting cache information of the primary key engine (PKEY) via
getSessionMemoryStat. -
Optimized the performance for Orca cross-cluster queries.
-
Added support for adding metrics to ORCA's narrow reactive state engine via
addReactiveMetrics, so that it no longer reports “orca engine does not support adding metrics”. -
Optimized the query performance of text fuzzy match for TextDB.
-
Optimized the reactive stateless engine to support specifying different metrics to trigger calculations under different conditions.
-
Added support for calling
movingWindowDataon array vectors in the reactive state engine. -
Added support for using the built-in functions
mimaxLastandmiminLastin the reactive state engine. -
createCrossSectionalEnginesupports processing columnar tuples. -
Optimized the subWorkers table returned by
getStreamingStatso that workerId is returned even when no data is consumed. -
Optimized the thread allocation algorithm for
subscribeTableto prioritize idle threads when hash is not specified. -
Optimized memory usage of the persistent stream table during reload.
-
createCEPEnginenow supports multiple output tables, andemitEventsupports specifying an output table. -
Added the includeOperationType parameter to
createDataViewEngineto include the change type of each data record in output results. -
Refactored the high availability for stream processing.
-
Refactored the
DStream::udfEnginefunction. -
Optimized the performance of time-series engine.
-
Optimized window data overwrite rules for the snapshot join engine.
-
Changed the root job ID of stream processing to a random UUID.
-
Optimized the performance of the SQL Engine.
-
Optimized the query performance for
context by. -
Added support for passing a tuple to funcArgs in
contextby. -
Optimized try-catch exception error messages to include line number location information.
-
Optimized the internal implementation of window join engine and nearest join engine to improve performance.
-
Optimized the execution performance for JOIN.
-
Optimized the matching rules between instruments and marketData for bonds and bond futures.
-
Optimized the implementation of FICC-related computation functions to improve performance.
-
Added optional parameter surfaceName to
fxVolatilitySurfaceBuilderfor specifying the name of the generated FX option volatility surface. -
bondPricer,bondFuturesPricer,irDepositPricer,fxForwardPricer,fxSwapPricer,fxSwapPricerandfxEuropeanOptionPricersupport batch pricing. -
Added support for
irFixedFloatingSwapPricerandbondFuturesPricerto perform batch pricing.
Issues Fixed
-
Fixed server crashes that could occur when a column of SYMBOL type was set as the sortKey in the TSDB engine.
-
Enhanced configuration access control:
-
Added the enableConfigAccessControl parameter to control whether permission checks are applied when accessing configuration parameters.
-
Added the
getOauthClientSecretfunction to allow admin users to securely retrieve the value of the sensitive oauthClientSecret parameter. -
Updated the
getConfig/getConfigurefunction to support filtering returned results based on the security level of each parameter and the current user’s permissions whenenableConfigAccessControl=true.
-
-
Fixed the 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.
-
Fixed the issue where concurrent
getClusterPerfexecutions from multiple controllers exceeding the number of available worker threads could cause the system to become unresponsive in a high-availability cluster. -
Fixed the issue where submitting multiple tasks concurrently could occasionally trigger a scheduling anomaly, causing the system to become unresponsive.
-
Fixed the issue where followers failed to shut down properly when the controller was configured with
lanCluster=0in a high-availability cluster. -
Fixed the issue where upgrading from 3.00.0.x–3.00.2.x to 3.00.4.x could cause startup failure if the old version contained function views or scheduled jobs involving Catalog-related scripts.
-
Fixed the cluster hang issue caused by concurrent
dropTableand write operations. -
Fixed the issue where file descriptors occasionally leaked in job checkpoint files.
-
Fixed the issue where remote script execution occasionally threw errors after using an XDB connection.
-
Fixed the issue where cached handles were not invalidated during
moveReplicasoperations in a high-availability cluster, occasionally leading to inconsistent query results. -
Fixed the 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. -
Fixed the issue where the
barfunction could generate out-of-range values when processing time types such as TIME, causing query and update failures. -
Fixed the incorrect pValue calculation in
adfullerwhen regression ='n' and adfStat > 0. -
Fixed server crashes that could occur when an empty data source was passed to the
mrfunction due to missing input type validation. -
Fixed the issue where the result of
linearTimeTrendwas incorrect when the window was larger than 1024. -
Fixed the issue where exporting CSV with the
saveTextfunction incorrectly handled quotes in fields with the SYMBOL type. -
Fixed the issue where
getUserTableAccessRecordsthrewan error when querying ranges across two or more job files. -
Fixed the issue where an unexpected permission error was reported when performing DDL operations in clusters with compute groups.
-
Fixed the issue where
each/loopreturned incorrect results for functions that have multiple return values, one of which is the same as an input parameter. -
Fixed the issue where unexpected behavior occurred when using the
atorrowfunction on array vectors. -
Fixed the issue where the totalRows field in
getStreamTablesoverflowed. -
Fixed the issue where
mstdcalculations produced incorrect results. -
Fixed the issue where
roundcould overflow. -
Fixed the issue where
getSessionMemoryStat()reported incorrectOLAPTabletmemory statistics under OOM scenarios, which prevented cache cleanup logic from functioning properly. -
Fixed the issue where
percentilecalculations could trigger segmentation faults. -
Fixed the issue when subscribing to a stream table using
subscribeTable, if the function specified in the filter parameter produced an output table schema inconsistent with the input stream table, the system neither outputs data nor reports an error. -
Fixed server crashes that could occur wheninserting an empty vector into a stream table with a timestamp column set by
setStreamTableTimestamp. -
Fixed the issue where
enableTableShareAndCachePurgemight occasionally fail for a stream table that had multiple local subscriptions. -
Fixed the 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. -
Fixed the issue where
registerStreamingSQLfailed to parse field names in camelCase. -
Fixed the issue where an error was reported when a streaming SQL keyed table received a single-row insertion containing a columnar tuple.
-
Fixed server crashes that could occur when a user-defined class method was misused in the metrics of
createReactiveStateEngine. The system now detects this misuse and returns a clear error message instead. -
Fixed the issue where an error was reported when metrics of
createReactiveStateEnginereturned multiple array vectors. -
Fixed the issue where an error was reported when a stateless function was used in the metrics of
createReactiveStateEngineand the return value alias specified byaswas the same as the function's input parameter name. -
Fixed the issue where an error was reported when subscribing to data published by a 2.00.X cluster from a 3.00.X subscriber.
-
Fixed the issue where using
last,lastNot, or functions that return multiple values with keyPurgeFreqInSec enabled could produce incorrect results in the time-series engine. -
Fixed the issue where, after using
warmupStreamEngineto preheat the time-series engine, writing new data caused the engine to output results for all preheated data instead of only the new data. -
Fixed the issue where a crash could occur when registering a streaming SQL that includes
now(). -
Fixed the issue where writes failed when updating data with the same key after declaring the key-value table as a stream input table.
-
Fixed the issue where reactive state engines returned incorrect results when processing DECIMAL64‑type columns with
deltas. -
Fixed the issue where stream table fields containing the ANY type caused an error when appending data through subscriptions.
-
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.
-
Fixed the issue where an error was reported when a line break was followed by an operator at the beginning of the line in a SQL statement.
-
Fixed the issue where SQL aggregation operations could occasionally cause the server to crash.
-
Fixed the issue where executing an
update ... context by ...statement on a shared memory table reported the error “A snapshot table doesn't support data update”. -
Fixed the issue where inserting data via an INSERT statement failed if a column started with two consecutive NULLs of VOID type.
-
Fixed the issue where required column names could not be correctly parsed in partitioned table queries of the TSDB/IOT engine when
selectused nested ternary operators?:. -
Fixed the issue where unexpected results were returned when the left table in a streaming SQL left join was updated before the right table.
-
Fixed the issue where the error message did not include the line number of the error when the
== is not a unary operatorsyntax error was reported. -
Fixed the issue where
nulls lastandnulls firstbehaved identically in queries. -
Fixed the issue where using
previn distributed table queries could report an error. -
Fixed the issue where queries on TSDB tables with
GROUP BYclauses that includedsortkeycolumns could cause node crashes if an OOM error occurred during execution. -
Fixed the issue where queries failed after performing
unionAllon two partitioned in‑memory tables. -
Fixed the issue where sorting occasionally failed to take effect under certain conditions when querying distributed TSDB tables using
csort by … desccombined withcontext by. -
Fixed the issue where
context bycaused queries on distributed tables to fail under specific scenarios. -
Fixed the issue where
stdcalculations could produce errors during grouped aggregation on in-memory tables.
