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 allRobustness & 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
Algebra
Solve (updated) — now takes Assumptions options
CylindricalDecompositionFunction — efficient representation of cylindrical decompositions for computation
CylindricalDecomposition (updated) ▪ Reduce (updated) ▪ FindInstance (updated) ▪ ...
Logic
AxiomaticTheory (updated) — new theories and properties
Asymptotics
AsymptoticExpectation — asymptotic expectations
AsymptoticProbability — asymptotic probability
AsymptoticIntegrate (updated) — more methods, including steepest descent
Calculus
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
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)
Graphics
LinearGradientFilling — filling an area with a linear gradient color
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
Geometric Computation »
Convexity
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 ▪ 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)
Visualization
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 (A↔T, C↔G)
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
Cryptography
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
Physics
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
Exercise
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
Wolfram Language Kernel Management
wstpserver — manage a pool of Wolfram Language kernels for incoming WSTP connections