Summary of New Features in 12.1
A list of key new features since 12.0, including features experimental in 12.1.
Core Language
open all close allOperator Forms
OperatorApplied — make a function be applied in operator form
Operations on Lists and Subsets
Splice — automatic splicing into a list
SubsetCases — find subsets of elements matching a pattern
SubsetReplace — replace subsets of elements
Logic & Proofs
FindEquationalProof (updated) — extended to support first-order predicate logic
AxiomaticTheory (updated) — use generating relations for groups in FiniteGroupData
Date & Time Computation
DateInterval — an object representing an interval of time
InfinitePast, InfiniteFuture — representations for unbounded times
TimeRemaining — number of seconds remaining in a time-constrained computation
Mathematical Computation
New Asymptotic Solvers »
Asymptotic — asymptotics of integral transforms and more
DiscreteAsymptotic — asymptotics of summation transform and more
AsymptoticProduct — asymptotic approximation to products
SeriesTermGoal — number of terms for asymptotic approximations
Improved Solvers
AsymptoticRSolveValue (improved) — supports functional difference equations
AsymptoticDSolveValue (improved) — supports meromorphic linear differential equations and systems
AsymptoticSum (improved) — supports regularization
DSolve (improved) — improvements to ordinary and partial differential equations
Convex Optimization »
SemidefiniteOptimization (improved) — now supports mixed integer and real optimization
LinearOptimization (improved) ▪ LinearFractionalOptimization (improved) ▪ QuadraticOptimization (improved) ▪ SecondOrderConeOptimization (improved) ▪ ConicOptimization (improved)
GeometricOptimization — solves convex geometric optimization problems
Mathematical Functions »
HeunG, HeunGPrime — general Heun function
HeunC, HeunCPrime — confluent Heun function
HeunD, HeunDPrime — double-confluent Heun function
HeunB, HeunBPrime — bi-confluent Heun function
HeunT, HeunTPrime — tri-confluent Heun function
Number Theory »
PrimePi, Prime (improved) — new state-of-the-art algorithms
EulerPhi (improved) — new documentation and examples for all number theory functions
GCD ▪ FactorInteger ▪ MoebiusMu ▪ DivisorSigma ▪ ...
Visualization
Vector Visualization »
VectorPlot (improved) — significantly improved computational aesthetics and options
ListVectorPlot (improved) ▪ VectorPlot3D (improved) ▪ ListVectorPlot3D (improved)
VectorAspectRatio ▪ VectorPoints ▪ VectorRange ▪ VectorScaling ▪ VectorSizes
Complex Visualization »
ComplexRegionPlot — plots complex regions defined by inequalities
ComplexContourPlot ▪ ComplexVectorPlot ▪ ComplexStreamPlot
Geographic Visualization »
GeoDensityPlot — plot density overlays of geographic regions
GeoContourPlot — plot contour overlays of geographic regions
Improved Region Visualization
ContourPlot3D (improved) — now supports plotting over regions
RegionPlot3D (improved) — now supports plotting multiple regions
RegionBoundaryStyle ▪ RegionFillingStyle
Improved Uncertainty Visualization
ListPlot3D (improved) — supports data uncertainty
ListPointPlot3D (improved) — supports data uncertainty
Graphics
Non-photorealistic Shaders in 3D
ToonShading — cartoon-like shading of surfaces
StippleShading — random point shading of surfaces
GoochShading ▪ HatchShading ▪ HalftoneShading
Fill Forms in 2D
PatternFilling — fill a shape with a repeated version of a base pattern
HatchFilling — fill a shape with a line hatching
Graphs & Networks »
Tagged Graphs
DirectedEdge, UndirectedEdge (updated) — now support tags for identifying multi-edges
EdgeTaggedGraph — simplified ways of creating tagged graphs
IndexEdgeTaggedGraph ▪ EdgeTags ▪ EdgeTaggedGraphQ
Annotations
AnnotationKeys, AnnotationValue — getting and setting annotation values for graphs
Annotate ▪ Annotation ▪ AnnotationDelete ▪ AnnotationRules
Constructors
Entity — graph functions take entities with graph properties as input
ResourceData — 227 graphs added to the Wolfram Data Repository
ExpressionGraph — graph corresponding to an expression tree
MeshConnectivityGraph — graph corresponding to connectivity structure of a mesh
Layouts & Labeling
VertexLabels (improved) — has optimized aesthetics for all special graph layouts
"SphericalEmbedding" — new graph layout
Graph Computation
FindMaximumCut — find the maximum edge cut in a graph
VertexComponent (improved) ▪ VertexInComponent (improved) ▪ VertexOutComponent (improved) ▪ NeighborhoodGraph (improved)
Geometric Computation »
Geometric and Topological Search
NearestMeshCells — find the nearest mesh cells to a point
AdjacentMeshCells — find the adjacent mesh cells to a cell
MeshConnectivityGraph — compute all different connectivity graphs for a mesh
Geometric Computation on Geographic Maps
Polygon (updated) — polygons of GeoGridPosition are now geometric objects; allows computation on the map of projected regions
Point ▪ Line ▪ Area ▪ RegionCentroid ▪ RegionDistance ▪ ...
Geometric Computation on Geographic Globes
Polygon (updated) — polygons of GeoPosition are now geometric objects; allows computation on the geo ellipsoid
Point ▪ Line ▪ Area ▪ RegionCentroid ▪ RegionDistance ▪ ...
Geometry Formats »
"FBX" — filmbox format for geometry game assets
"STL" (updated) — now supports vertex colors, normals and textures
Video Computation »
Video Creation
Video — create and represent video using files and URLs
VideoQ — check for a valid Video object
VideoStream ▪ VideoPlay ▪ VideoPause ▪ VideoStop ▪ VideoStreams ▪ RemoveVideoStream
Video Processing & Analysis
VideoFrameList — extract a list of frames of interest from a video
VideoExtractFrames ▪ VideoFrameMap ▪ VideoTrim
Video Formats
"MP4" — MP4 video format
"Ogg" ▪ "Matroska" ▪ "QuickTime" (updated) ▪ "AVI" (updated) ▪ "VideoFormat"
Video Options
Looping ▪ VideoEncoding ▪ AudioEncoding ▪ SubtitleEncoding
Encoders & Decoders for Video Formats
$VideoDecoders — video codecs can be used for Import and processing functions
$VideoEncoders ▪ $AudioDecoders ▪ $AudioEncoders ▪ $SubtitleDecoders ▪ $SubtitleEncoders
Audio Computation »
Audio (updated) — better optimized GUI
AudioStream (updated) — new support for generated streams and list streams
AudioReverse — reverse the audio
AudioInstanceQ — test whether audio contains a particular object, e.g. a dog
Speech Analysis
SpeechInterpreter — interpret a speech recording into computable objects
SpeechCases — find objects such as cities and countries in a speech recording
AudioIntervals (updated) — find intervals where there is speech
PitchRecognize (updated) ▪ AudioPitchShift (updated) ▪ AudioTimeStretch (updated) ▪ AudioLocalMeasurements (updated)
Speaker Analysis
SpeakerMatchQ — whether speakers in different recordings match
FeatureExtractor (updated) — extract speaker features
Image Computation »
HighlightImage (updated) — support for labeling and legending
ImageLabels ▪ ImageLegends ▪ ImageAssemble (updated) ▪ ImageTransformation (updated)
High-Resolution Rasterization
Rasterize (updated) — updated to account for available screen resolution
$ImageResolution — a global variable to get and set image resolution
Face Analysis
FindFaces (updated) — new methods to detect faces
FacialFeatures (updated) — new single-point facial features
FaceAlign — geometrically align detected faces
Text Analysis
FindImageText — detect text in an image
Machine Learning & Neural Networks
Neural Networks »
NetGANOperator — support for generative adversarial network (GAN) training
TrainingUpdateSchedule — detailed control over parameter updates
LearningRateMultipliers (updated) — within layer control of learning rates for parameters
"ONNX" — import of Open Neural Network Exchange format
Machine Learning »
CategoricalDistribution — categorical distribution often generated from classification
AnomalyDetector — option to specify anomaly detector in classifiers and predictors
Classify (updated) ▪ PredictorMeasurements (updated) ▪ "LanguageExtended"
Machine Learning Methods
"SpanningTree" — updated and documented clustering methods
"Agglomerate" ▪ "DBSCAN" ▪ "JarvisPatrick" ▪ "KMeans" ▪ "KMedoids" ▪ "MeanShift" ▪ "NeighborhoodContraction" ▪ "Spectral"
Molecular Structure & Computation »
MoleculeRecognize — recognize a molecule from an image
MoleculeValue (updated) — additional properties including support for ExternalIdentifier objects like CAS, ChEMBL, ChemSpider and PubChem
MoleculeModify (updated) — additional molecule modification methods
Chemical Formats »
"Cube" — stores electronic orbital or density values on a three-dimensional grid
"CML" — chemical markup language
"CDX", "CDXML" — ChemDraw exchange format
"GaussianLog", "FCHK" — electronic structure software output files
Importing & Exporting »
Image Formats
"DICOMDIR" — direct support for directories of DICOM files, such as MRIs, CT scans, etc.
"HEIF" — raster and animation format commonly used on smart phones
"DICOM" (updated) ▪ "RLE" (updated)
Audio Formats
"WAV" (updated) — now supports large .wav files
Mail Formats
"EML" (updated) ▪ "MBOX" (updated)
Archive Formats
CreateArchive, ExtractArchive — performance improvements
CompressionLevel — option to control compression level for archives, images, etc.
Paclet System »
PacletObject — a handle to a paclet on the local system or on a remote site
PacletInstall — install or update a paclet
PacletInstallSubmit — install or update a paclet asynchronously
PacletUninstall — uninstall and delete a paclet
PacletFind — find installed paclets
PacletFindRemote — find paclets available for download from paclet sites
PacletDisable ▪ PacletEnable ▪ $UserBasePacletsDirectory
Paclet Site Management
PacletSiteObject — representation of a server hosting a repository of paclets
PacletSites — the list of known paclet sites from which paclets can be obtained
PacletSiteUpdate — retrieve the latest information about available paclets
PacletSiteRegister ▪ PacletSiteUnregister
Paclet Development
CreatePacletArchive — compress a paclet directory into a single archive file
PacletDirectoryLoad — for the current session, load paclets from a given directory
PacletDirectoryUnload — for the current session, unload paclets from a given directory
PacletDataRebuild — rebuild the cache of data about all installed paclets
Notebook Interface
Windows and Linux notebook interface updated with HiDPI support
Windows 3D graphics rendering updated from Direct3D 9 to Direct3D 11
macOS 3D graphics rendering updated to use Metal API
Data Manipulation & Visualization
TableView — spreadsheet-like editor for tabular data
Dataset (updated) — additional support for appearance and styling
HeaderAlignment ▪ HeaderBackground ▪ HeaderDisplayFunction ▪ HeaderSize ▪ HeaderStyle ▪ HiddenItems ▪ ItemDisplayFunction
Options & Settings
Initialization (updated) — added support for code initialization in notebooks and cells
$PasswordFile — location of the file containing passwords and activation keys
$NotebookInlineStorageLimit — setting for limiting the amount of data stored in compactly displayed expressions
DynamicUpdating ▪ VersionedPreferences ▪ $WolframDocumentsDirectory
Compilation & Data Structures
Data Structures
CreateDataStructure — create an individual instance of a data structure
DataStructure — holds data for an individual instance of a data structure
DataStructureQ — test whether an expression is a data structure object
$DataStructures — list of supported data structures
"Value" ▪ "Counter" ▪ "FixedArray" ▪ "DynamicArray" ▪ "LinkedList" ▪ "DoublyLinkedList" ▪ "Stack" ▪ "Queue" ▪ "Deque" ▪ "RingBuffer" ▪ "HashSet" ▪ "HashTable" ▪ "BitVector" ▪ "BloomFilter" ▪ "BinaryTree" ▪ "AVLTree" ▪ "DisjointSet" ▪ "PriorityQueue" ▪ "LeastRecentlyUsedCache"
Function Compilation
FunctionCompile (updated) — compile functions with newly built-in data structures
Typed (updated) — support for new data structures and strings
Cryptography
Encrypt, EncryptFile (updated) — support for Method
PublicKey (updated) — compute public key from private key
PrivateKey (updated) — construct private key directly from known values
Digital Signatures
DigitalSignature (updated) — support for RSA signature
GenerateFileSignature — digitally sign a file
VerifyFileSignature — verify a digital file signature
System Credential Storage
SystemCredential — store passwords in your operating system's secure credential store
$SystemCredentialStore — the currently active credential store
SystemCredentialData ▪ SystemCredentialKeys ▪ SystemCredentialKey
Blockchains
Accessing ARK Blockchains
BlockchainData — get current information about an ARK blockchain
BlockchainBlockData — get information about a particular ARK block
BlockchainTransactionData — get information about an ARK transaction
BlockchainAddressData — get information connected with an ARK blockchain address
ARK Blockchain Transactions
BlockchainTransaction — symbolic representation of an ARK blockchain transaction
BlockchainTransactionSign — use a private key to sign an ARK blockchain transaction
BlockchainTransactionSubmit — submit a transaction for inclusion on an ARK blockchain
External Services & Operations
ExternalEvaluate (updated) — built-in support for Julia, Ruby and R
External Data & Knowledgebase
WikidataData — retrieve data from Wikidata SPARQL endpoint
WikidataSearch — interface to Wikidata search API
ExternalIdentifier — resource identifier for external identifier systems
$ExternalIdentifierTypes — available external identifier systems (e.g. "WikidataID", "ArXivID", "DOI", etc.)
External Storage Services
ExternalStorageObject — reference to a file on an external storage service (e.g. IPFS, Dropbox)
ExternalStorageUpload — upload a file to an external storage service
ExternalStorageDownload — download a file from an external storage service
ExternalStoragePut ▪ ExternalStorageGet ▪ $ExternalStorageBase ▪ ExternalStorageBase
Databases
UnionedEntityClass — entity class representing the union of multiple entity classes
IntersectedEntityClass — entity class representing the intersection of multiple entity classes
ComplementedEntityClass — entity class representing the complement of multiple entity classes
"MicrosoftSQL" ▪ "MySQL" ▪ "Oracle" ▪ "PostgreSQL" ▪ "SQLite" ▪ SameTestProperties
MailSearch (updated) — cached results for faster results
MailExecute (updated) — additional IMAP operations (e.g. "Upload", "Download", etc.)