Summary of New Features in 12.2

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

Core Language

open all close all

Robustness & Error Handling

Confirm evaluate an expression, confirming that no failure is generated

Enclose evaluate an expression, stopping and returning a failure object if a failure occurs

ConfirmBy  ▪  ConfirmMatch  ▪  ConfirmQuiet  ▪  ConfirmAssert

WithCleanup evaluate an expression with guaranteed initialization and cleanup

ArgumentsOptions separate inputs into positional and optional arguments

CheckArguments check that the number of arguments is correct

EchoEvaluation  ▪  EchoLabel  ▪  EchoTiming  ▪  QuietEcho

Functional Programming

FoldWhile, FoldWhileList new functional programming constructs

x//=f apply a function to a variable and update its value (ApplyTo)

x|->f new syntax for Function with named variables

Combinatory Terms

Application () left-associative functional application

CombinatorK, CombinatorS fundamental combinators

CombinatorB  ▪  CombinatorC  ▪  CombinatorI  ▪  CombinatorW  ▪  CombinatorY

Programming Utilities

RandomGeneratorState representations of the state a of pseudorandom generator

$RandomGeneratorState the current state of the active pseudorandom generator

ValueQ (updated) specify the method used to determine the presence of values

Date & Time

CalendarData (updated) major update and support for 37 new calendars

LeapVariant mark leap months, leap weeks or other leap elements of a date

DateSelect select dates from intervals or lists

Array Manipulation

ArrayReduce reduce an array by applying a function along a specified dimension

Mathematical Computation


Solve (updated) now takes Assumptions options

CylindricalDecompositionFunction efficient representation of cylindrical decompositions for computation

CylindricalDecomposition (updated)  ▪  Reduce (updated)  ▪  FindInstance (updated)  ▪  ...


AxiomaticTheory (updated) new theories and properties


AsymptoticExpectation asymptotic expectations

AsymptoticProbability asymptotic probability

AsymptoticIntegrate (updated) more methods, including steepest descent


DSolve (updated) more capable ODE and PDE solvers

InverseLaplaceTransform (updated) more capable and support for numeric transform

LaplaceTransform (updated)  ▪  DSolveValue (updated)

Optimization with Parameters & Uncertainty

ParametricConvexOptimization optimization for all possible parameter values

RobustConvexOptimization optimization that can be achieved for all uncertain parameters

Convex Optimization »

ConvexOptimization general convex optimization

LinearOptimization (updated) now supports complex variables

QuadraticOptimization (updated)  ▪  SemidefiniteOptimization (updated)  ▪  ...

Mathematical Functions »

Injective, Surjective and Bijective Functions »

FunctionInjective test whether a function is injective or one to one

FunctionSurjective  ▪  FunctionBijective

Positive, Increasing and Convex Functions »

FunctionSign the sign of a function (positive, negative, )

FunctionMonotonicity  ▪  FunctionConvexity

Continuous, Analytic and Meromorphic Functions »

FunctionContinuous test whether a function is continuous

FunctionAnalytic  ▪  FunctionMeromorphic

Discontinuities and Singularities of Functions »

FunctionDiscontinuities find the discontinuities of a function

FunctionSingularities find the singularities of a function

Lamé Functions

LameC Lamé functions

LameS  ▪  LameCPrime  ▪  LameSPrime  ▪  LameEigenvalueA  ▪  LameEigenvalueB

Elliptic Functions

JacobiEpsilon Jacobi epsilon function

JacobiZN Jacobi zeta function

EllipticK (updated)  ▪  EllipticE (updated)  ▪  EllipticF (updated)  ▪  EllipticPi (updated)  ▪  JacobiZeta (updated)

JacobiSN (updated)  ▪  JacobiCN (updated)  ▪  JacobiDN (updated)  ▪  JacobiCD (updated)  ▪  JacobiCS (updated)  ▪  JacobiDC (updated)  ▪  JacobiDS (updated)  ▪  JacobiNC (updated)  ▪  JacobiND (updated)  ▪  JacobiNS (updated)  ▪  JacobiSC (updated)  ▪  JacobiSD (updated)  ▪  JacobiAmplitude (updated)

Holonomic Functions

DifferentialRoot (updated) continuation-based numerical evaluation

DifferenceRoot (updated) divide-and-conquer-based numerical evaluation

PDE Modeling »

Basic Building Blocks

Partial differential equations of the form

DiffusionPDETerm model diffusion with

ConvectionPDETerm model convection with

ReactionPDETerm model reaction with

SourcePDETerm model a source with

ConservativeConvectionPDETerm model conservative convection with

DerivativePDETerm model a derivative of a term with

Named Partial Differential Equation Terms

LaplacianPDETerm model with

PoissonPDEComponent model with

HelmholtzPDEComponent model with

WavePDEComponent model with

Acoustic PDE Components »

AcousticPDEComponent model acoustics in the time or frequency domain

AcousticAbsorbingValue  ▪  AcousticImpedanceValue  ▪  AcousticNormalVelocityValue  ▪  AcousticPressureCondition  ▪  AcousticRadiationValue  ▪  AcousticSoundHardValue  ▪  AcousticSoundSoftCondition

Acoustics in the Time Domain monograph about modeling acoustics in the time domain

Acoustics in the Frequency Domain monograph about modeling acoustics in the frequency domain

Heat Transfer PDE Components »

HeatTransferPDEComponent model heat transfer

HeatFluxValue  ▪  HeatInsulationValue  ▪  HeatOutflowValue  ▪  HeatRadiationValue  ▪  HeatSymmetryValue  ▪  HeatTemperatureCondition  ▪  HeatTransferValue

Heat Transfer monograph about modeling heat transfer

Heat Transfer Model Verification test suite with heat transfer model verification

Mass Transport PDE Components »

MassTransportPDEComponent model mass transport

MassConcentrationCondition  ▪  MassFluxValue  ▪  MassImpermeableBoundaryValue  ▪  MassOutflowValue  ▪  MassSymmetryValue  ▪  MassTransferValue

Mass Transport monograph about modeling mass transport

Spatial Statistics »

Spatial Point Collections »

SpatialPointData create and represent spatial point data with observation region

SpatialBinnedPointData represent aggregated point data with any region partition

ResourceData spatial point datasets from a variety of sources

RandomPointConfiguration simulate a point process to give a point collection

SpatialPointSelect  ▪  SpatialObservationRegionQ  ▪  RipleyRassonRegion

Location Measures

Mean  ▪  SpatialMedian  ▪  CentralFeature

Density Measures

MeanPointDensity average number of points per area, volume, etc.

PointDensity varying point density function

HistogramPointDensity  ▪  SmoothPointDensity  ▪  PointDensityFunction

Counting Measures

PointCountDistribution the distribution of point counts for any region

Homogeneity Measures »

RipleyK expected number of points within distance r of each point

EmptySpaceF probability of finding another point within distance r of any location

NearestNeighborG probability of finding another point within distance r of a point

PairCorrelationG probability density of finding another point at distance of a point

BesagL  ▪  SpatialJ  ▪  ...

Hypothesis Tests

SpatialRandomnessTest test whether data is uniformly distributed

PointProcessFitTest test whether data follows a point process

Spatial Point Processes »

RandomPointConfiguration simulate a point process to give a point collection

EstimatedPointProcess estimate a point process from spatial point configurations

PointProcessFitTest test whether data follows a point process

FindPointProcessParameters  ▪  PointProcessParameterQ  ▪  PointProcessEstimator

Independent Point Processes

PoissonPointProcess constant density function, definition of spatially random

InhomogeneousPoissonPointProcess varying density function

BinomialPointProcess uniform distribution of n points

Interaction Point Processes

HardcorePointProcess hard-core with no point interaction within radius

StraussPointProcess soft-core with limited point interaction within radius

StraussHardcorePointProcess  ▪  PenttinenPointProcess  ▪  DiggleGrattonPointProcess  ▪  DiggleGatesPointProcess  ▪  GibbsPointProcess

Clustered Point Processes

MaternPointProcess cluster process with uniform (daughter) pattern in disk (isotropic)

ThomasPointProcess cluster process with normal (daughter) pattern (isotropic)

CauchyPointProcess  ▪  VarianceGammaPointProcess  ▪  NeymanScottPointProcess

Visualization & Graphics

High-Dimensional Visualization

RadialAxisPlot plots of high-dimensional data, aka radar plot etc.

ParallelAxisPlot plots of high-dimensional data, aka parallel coordinates etc.

Array Visualization

ArrayPlot3D ArrayPlot for rank-3 arrays

ComplexArrayPlot ArrayPlot for complex rank-2 arrays

Geo Visualization

PointValuePlot geo and regular plots of multiple values at points

GeoRegionValuePlot (updated)  ▪  GeoListPlot (updated)

Vector Visualization

SliceVectorPlot3D (updated) updated options and aesthetics

ListSliceVectorPlot3D (updated)  ▪  StreamPlot (updated)  ▪  ListStreamPlot (updated)  ▪  GeoStreamPlot (updated)


LinearGradientFilling filling an area with a linear gradient color

RadialGradientFilling  ▪  ConicGradientFilling

Geography »

GeoGraphics (updated) major update to use vector graphics for crisp features and labels

Geo Primitives

GeoPolygon a polygon on the surface of the Earth

GeoBoundary  ▪  GeoBoundsRegionBoundary

Geometric Computation »


ConvexHullRegion the convex hull of any region

ConvexRegionQ test whether a region is convex

ConvexPolygonQ (updated)  ▪  ConvexPolyhedronQ (updated)  ▪  ConvexHullMesh (updated)

Triangulations & Decompositions

TriangulateMesh (updated) support for constrained and conforming triangulations

DelaunayMesh (updated)  ▪  PolygonDecomposition (updated)  ▪  PolyhedronDecomposition (updated)

DiscretizeRegion (updated)  ▪  BoundaryDiscretizeRegion (updated)  ▪  DiscretizeGraphics (updated)  ▪  BoundaryDiscretizeGraphics (updated)

Robust Predicates

PositivelyOrientedPoints test and condition for when points are positively oriented

CollinearPoints test and condition for when points are collinear

NegativelyOrientedPoints  ▪  CoplanarPoints

Geometry & Graphics Formats

"X3D" (updated) now supports Import and new import elements

"3DS" (updated)  ▪  "BYU" (updated)  ▪  "JVX" (updated)  ▪  "LWO" (updated)  ▪  "VTK" (updated)  ▪  "RIB" (updated)

Geometric Scenes

GeometricScene (updated) new user interface with interactivity and multistep scenes

GeometricStep symbolic representation of a single step in a geometric scene

GeometricScene entities representing notable theorems and constructions

Video Computation »

Video Generation & Editing

VideoGenerator generate video from images, audio and arbitrary functions

VideoSplit split video at specific times

VideoDelete  ▪  VideoJoin  ▪  VideoCombine  ▪  VideoTranscode  ▪  VideoTrim (updated)

Video Processing & Analysis

VideoIntervals find intervals of interest in a video

VideoMap  ▪  VideoMapList  ▪  VideoMapTimeSeries  ▪  AudioTrackApply

Video Options

GeneratedAssetLocation the location of the persistent asset

GeneratedAssetLocation  ▪  $GeneratedAssetLocation  ▪  AudioTrackSelection  ▪  SubtitleTrackSelection  ▪  VideoTrackSelection

Image & Audio Computation

AnimatedImage create and represent animated images from files or list of images

RandomImage (updated)  ▪  LinearGradientImage (updated)  ▪  RadialGradientImage (updated)  ▪  ImageReflect (updated)

Face Analysis

FaceRecognize recognize faces in an image based on a few samples

FindFaces (updated)  ▪  FaceAlign (updated)


ImageWaveformPlot  ▪  ImageVectorscopePlot

Audio »

Audio (updated) new support for local and cloud objects, better optimized GUI

AudioCapture (updated) better optimized GUI

AudioJoin (updated) new support for sequence of audio objects

Machine Learning & Neural Networks

Neural Networks »

"ONNX" support of export to ONNX format

FunctionLayer net layer from a Wolfram Language function

CompiledLayer net layer from arbitrary compilable code

RandomArrayLayer  ▪  PlaceholderLayer  ▪  ThreadingLayer (updated)  ▪  NetArray  ▪  NetArrayLayer (updated)  ▪  InputPorts  ▪  OutputPorts

Machine Learning »

ClassifierMeasurements (updated) report panel, measurements from classifications and probability calibration

FeatureExtraction (updated) graph and time series features

Classify (updated)  ▪  DimensionReduction (updated)  ▪  DimensionReduce (updated)  ▪  FeatureExtract (updated)  ▪  PredictorMeasurements (updated)  ▪  PredictorFunction (updated)

Machine Learning Methods

"MultidimensionalScaling" method for dimensionality reduction

"ClassDistributions" method for classification

"Autoencoder" updated and documented dimensionality reduction methods

"Isomap"  ▪  "Hadamard"  ▪  "LLE"  ▪  "TSNE"  ▪  "Linear"  ▪  "PrincipalComponentsAnalysis"  ▪  "LatentSemanticAnalysis"

Biomolecular Sequences »

Bio Sequence Representation

BioSequence a string-based representation for chained biomolecules such as DNA

BioSequenceQ test for a valid biomolecular sequence

Bio Sequence Conversion

BioSequenceTranscribe transcribe a DNA sequence to RNA or the reverse

BioSequenceTranslate translate a DNA/RNA sequence to peptides

BioSequenceComplement get the complement of a DNA sequence (AT, CG)

BioSequenceReverseComplement  ▪  BioSequenceBackTranslateList  ▪  BioSequenceInstances  ▪  BioSequenceModify

Bio Sequence Comparison

SequenceAlignment (updated) determine the alignment between two sequences

SmithWatermanSimilarity (updated) count matches in the best local alignment

NeedlemanWunschSimilarity (updated) count matches in the best global alignment

EditDistance (updated)   ▪  DamerauLevenshteinDistance (updated)   ▪  HammingDistance (updated) SimilarityRules (updated)

Bio Subsequence Computation

LongestCommonSequence (updated) find the longest shared disjoint sequence

LongestCommonSequencePositions (updated) find sequence positions

LongestCommonSubsequence (updated)   ▪  LongestCommonSubsequencePositions (updated)  ▪  Subsequences (updated)

Molecular Structure & Computation

MoleculeDraw sketch a molecule and interpret it

Molecule (updated)  ▪  MoleculeValue (updated)

Importing & Exporting »

FileFormatQ check whether a file may be of a specific format

FileFormat (updated)  ▪  Import (updated)  ▪  ExtractArchive (updated)  ▪  StringFormatQ  ▪  ByteArrayFormatQ  ▪  ImportedObject

Document Formats

"PDF" (updated) significant performance improvement and many new elements

Archive Formats

"7z" 7z archive format

"ISO"  ▪  "RAR"  ▪  "ZSTD"  ▪  "TAR" (updated)  ▪  "ZIP" (updated)  ▪  "GZIP" (updated)  ▪  "BZIP2" (updated)

Tabular Formats

"XLS" (updated), "XLSX" (updated) new support for datasets in export

Multimedia Formats

"MP4" (updated), "Ogg" (updated) new support for datasets in export

Raster Formats

"HEIF" (updated) new support for importing depth image

"DICOM" (updated)  ▪  "JPEG" (updated)  ▪  "PNG" (updated)  ▪  "TIFF" (updated)  ▪  "Raw" (updated)

Cryptography Formats

"PEM" Privacy-Enhanced Mail format for storing cryptographic keys and certificates

Notebook Interface

Completely redesigned Cloud file browser for opening and saving files

Auto hyperlinking of URIs in text cells

Insert Hyperlink redesigned interface for inserting and editing hyperlinks

Insert Inline TeX Input type TeX into a notebook and automatically typeset it

AttachCell attach a floating cell to content in a notebook window

Canvas display a canvas that supports interactive free-form drawing

ClickToCopy represent a button that copies its contents when clicked

TableView new support for headers and alignments

TemplateBox support for associations and controls


SecurityCertificate representation of a public-key security certificate

$CryptographicEllipticCurveNames list of supported elliptic curves for key generation

"PEM" Privacy-Enhanced Mail format for storing cryptographic keys and certificates

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

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

Knowledgebase Entity Types

WolframDemonstration interactive Demonstrations created with the Wolfram Language

Sequence Types & Genetic Codes

BioSequenceType types of bio sequences ("DNA", "RNA", "Peptide", ...)

GeneticTranslationTable translations between nucleic acids and amino acids


AtomicLevel atomic energy levels

AtomicLine spectral lines

SupernovaType observed and theoretical supernova types

PhysicalEffect named physical effects, rules and principles

Life Sciences

CattleBreed common cattle breeds (e.g. Angus, Holstein Friesian, etc.)

GoatBreed common goat breeds (e.g. Appenzell, Boer, etc.)

PigBreed SheepBreed PoultryBreed PigeonBreed


PhysicalActivity everyday human activities and exercises

WeightTrainingExercise named weight training exercises and workouts

Microcontroller Kit »

MicrocontrollerEmbedCode 36 new target microcontrollers including all Arduino and many Adafruit and SparkFun boards.

"ArduinoZero"  ▪  "ArduinoMKRZero"  ▪  "ArduinoNano33IoT"  ▪  "ArduinoMKRWiFi1000"  ▪  "ArduinoMKRWiFi1010"  ▪  "ArduinoMKRWAN1300"  ▪  "ArduinoMKRWAN1310"  ▪  "ArduinoMKRNB1500"  ▪  "ArduinoMKRGSM1400"  ▪  "ArduinoMKRFOX1200"  ▪  "ArduinoMKRVidor4000"  ▪  "AdafruitFeatherM0BasicProto"  ▪  "AdafruitFeatherM0Express"  ▪  "AdafruitMetroM0Express"  ▪  "AdafruitCircuitPlaygroundExpress"  ▪  "AdafruitGemmaM0"  ▪  "AdafruitTrinketM0"  ▪  "AdafruitItsyBitsyM0"  ▪  "AdafruitHallowingM0"  ▪  "AdafruitMetroM4"  ▪  "AdafruitGrandCentralM4"  ▪  "AdafruitItsyBitsyM4"  ▪  "AdafruitFeatherM4Express"  ▪  "AdafruitMetroM4AirLift"  ▪  "AdafruitHallowingM4"  ▪  "AdafruitMonsterM4SK"  ▪  "SparkFunSAMD21DevBreakout"  ▪  "SparkFunSAMD21MiniBreakout"  ▪  "SparkFunLilyPadLilyMini"  ▪  "SparkFun9DoFRazorIMUM0"  ▪  "SparkFunProRF"  ▪  "SparkFunRedBoardTurbo"  ▪  "SparkFunQwiicMicro"  ▪  "MSP432P401RLaunchPad"  ▪  "ArduinoMega2560"  ▪  "ArduinoDue"

External Services & Operations

ExternalEvaluate (updated) built-in support for SQL and SQL-JDBC

DatabinSubmit add data to a databin asynchronously

Remote Batch Computation

RemoteBatchSubmit submit a single batch job to a batch computation provider

RemoteBatchMapSubmit map a function over the elements of a list using batch submission

RemoteBatchJobObject symbolic representation of a remote batch job

RemoteBatchSubmissionEnvironment symbolic representation of provider-specific configuration

$DefaultRemoteBatchSubmissionEnvironment  ▪  RemoteBatchJobs  ▪  RemoteBatchJobAbort  ▪  RemoteInputFiles  ▪  RemoteProviderSettings

System & License Management

CreateLicenseEntitlement create an entitlement to run a Wolfram Engine

LicenseEntitlementObject symbolic representation of a license entitlement

LicenseEntitlements  ▪  LicensingSettings  ▪  ForwardCloudCredentials

Remote Evaluation

RemoteEvaluate evaluate code on remote machines

RemoteKernelObject  ▪  $DefaultRemoteKernel

Wolfram Language Kernel Management

wstpserver manage a pool of Wolfram Language kernels for incoming WSTP connections