Summary of New Features in 12.3

A list of key new features since 12.2, including features experimental in 12.3.

Core Language

open all close all

Around (updated) dramatically improved performance

StringTakeDrop take and drop from a string

LexicographicSort lexicographic sorting of composite objects

ExcludedContexts, IncludedContexts limit recursive definition saving in FullDefinition and related functions

FullDefinition (updated)  ▪  Save (updated)   ▪  Manipulate (updated)   ▪  DynamicModule (updated)

ProgressReporting, $ProgressReporting control whether algorithmic functions display progress bars

PersistentSymbol symbol whose value is persistent across sessions etc.

WithLock evaluate expressions with locks on specified files etc.

DatasetTheme themes for displaying Dataset objects

Mathematical Computation

Equation & Inequality Solving »

SolveValues directly give exact solution values for equations

NSolveValues directly give numerical solution values for equations

Root (updated) support for multivariate roots

Solve, Reduce (updated) support for systems of transcendental equations

Symbolic Optimization

Minimize, (updated) efficient support for multi-parametric LP and QP

Minimize, (updated) efficient support for exact convex optimization

Numeric Optimization

NMinimize, (updated) support for quasi-convex and log-convex optimization

ConvexOptimization (updated) support for "GUROBI" and "MOSEK" commercial solvers

ConvexOptimization (updated) support for user extensible method framework

Mathematical Functions

FoxH Fox H function, a generalized MeijerG function

CarlsonRC Carlson elliptic integral functions

CarlsonRD  ▪  CarlsonRE  ▪  CarlsonRF  ▪  CarlsonRG  ▪  CarlsonRJ  ▪  CarlsonRK  ▪  CarlsonRM

Differential Equations

DSolve (updated) now solves any linear system of ODEs with rational function coefficients

DSolve (updated) now solves any linear ODE with q-rational function coefficients

DSolve (updated) now supports PDE modeling operators such as WavePDEComponent

DSolve (updated) has a new extensive monograph on symbolic solutions of PDEs


BilateralLaplaceTransform bilateral or double-sided Laplace transform

InverseBilateralLaplaceTransform the inverse transform

Number Theory

PrimePi (updated) support for progress monitoring of long computations

NumberDigit gives the th decimal digit of a number

Visualization & Graphics

Vector Visualization »

StreamPlot3D plots streamlines for vector field functions in 3D

ListStreamPlot3D plots streamlines for vector field data in 3D

VectorPlot3D (updated) can now plot over regions

Geo Visualization »

GeoGraphPlot displays a graph with geo vertices on a map

GeoGraphics (updated) improved handling of labels in vector maps

Data Visualization »

ListLinePlot3D plots lines through 3D data

Graphics Language

AxisObject graphics primitive representing a generalized quantitative axis

TickDirection  ▪  TickLabelOrientation  ▪  TickLabelPositioning  ▪  TickLabels  ▪  TickLengths  ▪  TickPositions

Dashing (updated) new syntaxes for tweaking dashes

AbsoluteDashing (updated) new syntaxes for tweaking dashes

Geometric Computation & Graphics »

Region Modeling

RegionDilation dilating a region by another region, also known as Minkowski sum

RegionErosion eroding a region by another region, also known as Minkowski difference

Region Programming

CanonicalizeRegion canonicalize the region representation

RegionConvert convert to implicit or parametric representations of regions

Graphics Language

MaterialShading realistic rendering of surface material

Lighting (updated) new three-point lighting setting (for material and other displays)

Plane Geometry

GeometricTest test whether geometric objects satisfy given properties or relations

Graphs & Networks »

Graph Visualization

LayeredGraphPlot3D generalization of LayeredGraphPlot to layer planes in 3D

PlotTheme (updated) new "NameLabeled" theme that labels vertices

GraphLayout (updated) new layouts and fully documented layout methods

"SphericalEmbedding" vertices on a sphere

Graph Computation

FindSpanningTree (updated) now also works for a list of points

VertexInComponentGraph the Graph of the VertexInComponent

VertexOutComponentGraph the Graph of the VertexOutComponent

VertexTransitiveGraphQ test whether a graph is vertex transitive

EdgeTransitiveGraphQ test whether a graph is edge transitive

Video Computation »

Video Generation

AnimationVideo generate a video by animating an expression

SlideShowVideo generate a slide show video from a list of images or expressions

FrameListVideo construct a video from a list of frames

VideoGenerator (updated)  ▪  VideoRecord  ▪  VideoStream (updated)  ▪  GeneratedAssetFormat

Video Editing

VideoTimeStretch slow down or speed up all or parts of a video

VideoInsert  ▪  VideoReplace  ▪  VideoJoin (updated)  ▪  VideoTranscode (updated)  ▪  BitRate  ▪  FrameFitting

Video Processing & Analysis

VideoFrameMap (updated) support for parallelization and combining multiple videos

VideoMap (updated)  ▪  VideoMapList (updated)  ▪  VideoMapTimeSeries (updated)  ▪  VideoIntervals (updated)

Machine Learning Integration

FeatureExtractor (updated) video feature extractor

"VideoFrames" video frames net encoder

Image & Audio Computation

Image Processing »

Rasterize (updated) performance improvement

HighlightImage (updated) support for label matrices from segmentation algorithms

FindGeometricTransform (updated) significant performance and quality improvement

RGBColor (updated) now can be used directly for color conversion

GrayLevel (updated)  ▪  Hue (updated)  ▪  CMYKColor (updated)  ▪  XYZColor (updated)  ▪  LABColor (updated)  ▪  LCHColor (updated)  ▪  LUVColor (updated)

Audio Processing »

AudioStream (updated), AudioRecord (updated) now support generated asset location options

Signal Processing »

FindPeaks (updated), PeakDetect (updated) improved performance and quality

Machine Learning & Neural Networks

Neural Networks »

NetEncoder (updated) support for Video

NetEncoder (updated) support for any FeatureExtractor methods

ElementwiseLayer (updated) swish and hardswish activation functions added

Machine Learning »

ClassifierFunction (updated) Shapley-based feature explanation

PredictorFunction (updated)  ▪  ClassifierMeasurements (updated)  ▪  PredictorMeasurements (updated)

MissingValueSynthesis option to control missing value synthesis

RecalibrationFunction option to control calibration for classifiers and predictors

FeatureExtractor (updated) support for Video

Networks & Applications

TextCases (updated) improved model for entity recognition and ClassPriors option

"ONNX" improved Import and Export of "ONNX" neural networks

NetModel (updated) many additional networks in the Wolfram Neural Net Repository

Trees »

Construction and Representation »

Tree tree object with data and subtrees

RandomTree generate pseudo-random trees

RulesTree  ▪  ExpressionTree  ▪  GraphTree  ▪  ...

Properties and Measurements »

TreeData extract the data from a tree

TreeChildren extract the children from a tree

TreeSize  ▪  TreeDepth  ▪  TreeLeaves  ▪  TreePosition  ▪  TreeExtract  ▪  ...

Computation on Trees »

NestTree recursively build up a tree by applying a function to the leaves

TreeFold recursively reduce a tree to a single value

TreeMap traverse a tree, applying a function to each subtree

TreeInsert  ▪  TreeDelete  ▪  TreeCases  ▪  TreeSelect  ▪  TreeReplacePart  ▪  ...

Date & Time »

Parsing and Formatting of Dates

FromDateString parsing date strings using locale, time zones and more

DateString (updated) generating date strings using locale and extended formats

DateObject (updated) extended range of formats and improved performance

Entity (updated) "LanguageLocale" as a new domain to support date locales

Time Zone Handling

TimeZoneOffset (updated) can handle repeated dates during daylight saving transitions

Astronomical Time

SolarTime true time and mean time measured by following the Sun

SiderealTime (updated) true time and mean time measured by following the stars

GeoOrientationData time-related properties of the orientation of Earth versus celestial sphere

Systems Modeling & Control

System Modeling for Control Design »

StateFeedbackGains (updated) now directly works for SystemModel models

LQRegulatorGains (updated)  ▪  LQOutputRegulatorGains (updated)  ▪  DiscreteLQRegulatorGains (updated)  ▪  EstimatorRegulator (updated)  ▪  LQGRegulator (updated)  ▪  PIDTune (updated)

SystemsModelControllerData generated from control design functions with rich data needed to connect and analyze the closed-loop system

Control Design for System Models »

ConnectSystemModelController connect a controller back into a SystemModel

Molecular Structure & Computation

MoleculeName find the name for a molecule

MoleculeSubstructureCount count occurrences of a molecule substructure

MoleculeMaximumCommonSubstructure identify substructures common to molecules

MoleculeAlign align molecules in 3D

Importing & Exporting »


"HEIF" (updated) now can import depth information and metadata

"OpenEXR" (updated) significant design and performance improvement

"WebP" (updated) now support for multiframe files, performance improvement


"MP4" (updated) new import elements and export options

"QuickTime" (updated)  ▪  "AVI" (updated)  ▪  "Matroska" (updated)  ▪  "Ogg" (updated)


"SAS7BDAT" new support for SAS statistical data file format

"DTA"  ▪  "POR"  ▪  "SAV"  ▪  "XPORT" (updated)


"MAT" (updated) significant improvement in import and export

User Interface

QuestionObject symbol representation of a quiz-style question

Automatic Text Styling Features »

DelimiterAutoMatching whether to match delimiters as they are typed

AutoOperatorRenderings automatic renderings for operator strings

AutoMultiplicationSymbol (updated) finer-grained control for auto multiplication

Cryptography & Blockchains

SecuredAuthenticationKey (updated) support for OAuth 2.0.

Encrypt (updated) support for "BlockMode" and "InitializationVector" options

EncryptedObject (updated) support for cipher, block mode and encryption padding

$CryptographicEllipticCurveNames (updated) support for standard binary elliptic curves and Edwards curves

GenerateAsymmetricKeyPair (updated)  ▪  GenerateDigitalSignature (updated) support for more elliptic curve algorithms

PrivateKey (updated)  ▪  PublicKey (updated) support for more elliptic curve algorithms

Tezos Blockchain »

BlockchainData  ▪  BlockchainBlockData  ▪  BlockchainTransactionData  ▪  BlockchainAddressData  ▪  BlockchainTokenData

Code Compilation and Data Structures

Code Compilation »

FunctionCompile (updated) compiles multiple functions, takes function declarations, can embed libraries and can embed cross-compiled byte code

FunctionCompileExport (updated)  ▪  FunctionCompileExportLibrary (updated)  ▪  FunctionCompileExportByteArray (updated)  ▪  FunctionCompileExportString (updated)

$TargetSystems a list of platforms supported for compilations and cross-compilations

FunctionDeclaration declaration of a function to use in function compilation

CreateCompilerEnvironment create a new environment of compilation definitions

CompilerEnvironment  ▪  $CompilerEnvironment  ▪  CompilerEnvironmentAppendTo  ▪  CompilerEnvironmentObject

Compiled Types »

"Integer128" a 128-bit machine integer type

"UnsignedInteger128" a 128-bit machine integer type

Data Structures »

"ByteTrie" a mutable trie for storing sequences of bytes

"ImmutableVector" an immutable efficient extensible vector of expressions

"KDTree" a k-d tree spatial subdivision for sets of points in d

Functions Enhanced by the Compiler

SquareWave  ▪  SawtoothWave  ▪  TriangleWave  ▪  BrayCurtisDistance  ▪  EuclideanDistance  ▪  JaccardDissimilarity  ▪  CoordinateBounds  ▪  CoordinateBoundingBox  ▪  Around

External Services & Operations

ExternalEvaluate (updated) support for Java, Octave and system shells

ExternalStorageObject (updated) support for Amazon S3