For Existing Users
Version 12 not only extends the reach and capabilities of the Wolfram Language but also introduces many enhancements that maintain the core principles of the language while making it even smoother and more productive.
Sample Additional Highlights for Existing Wolfram Language Users
(Except as noted, all features are available for both desktop and cloud.)
Language Conveniences
ReverseSort »
Now there is a single function to sort largest first
Graphs keep their properties
Properties are automatically inherited when graph operations are done
Information[] on everything »
Standardized way to get information on objects (images, audio, cloud objects, entities, ...)
Granular dates »
Specify a day, week, month, etc. as well as a moment in time
Name that cellular automaton! »
Association-based specifications for cellular automaton rules
Math
Constants of integration
Automatic generation of integration, summation, etc. constants
Unlimited limits
Multivariate limits, lim sup, sequence limits and all that
"By hand" equation manipulation
AddSides, MultiplySides, DivideSides, etc. (but always correct)
Asymptotic analysis »
Big O, little o, WKB, asymptotic solutions and all that
Prove it!
Generate symbolic proofs from axioms with FindEquationalProof
Complex number plots »
Complex plane, complex values; 2D, 3D; functions, data
Unintimidating roots
Simpler formatting for Root[] objects
Formal but less dotty
etc. to indicate formal variables more elegantly
Data, Computation & New Directions
Numbers with uncertainty »
x ± dx for computation, visualization, etc.
Building in industrial-strength systems engineering
SystemModel, SystemModelSimulate, SystemModelPlot, ... for machines, circuits, pathways
Industrial convex optimization »
Quadratic, semidefinite, conic, ... optimization for problems big and small
Molecules are symbolic expressions too »
Visualization and computation with arbitrary (organic) molecules
Join the blockchain revolution »
Read, write, analyze, transact on Bitcoin, Ethereum, etc.
Geometry
Way beyond Platonic solids »
Full computational treatment of polyhedra (served beveled, snubbed, ...)
Polygons: the full story »
Polygons that wind, cross, have holes, etc.
Region[] is now a thing »
Automatically visualized regions (implicit, explicit, ...)
Automated Euclid (and geometric drawing)
Euclid-style geometry (CircleThrough, Midpoint, ...) solved with FindGeometricConjectures etc.
Geo
Bubble visualization
GeoBubbleChart to visualize values on maps
Random places
RandomGeoPosition for random points in any region (country etc.)
Visualization
Scaled plots
Give your own scaling function (log, probability, etc.)
Stacked plots »
Show multiple datasets in stacked, percentile, etc. form
Multipanel plots »
Arrays of plots with common axes
Machine Learning
Attention, transformers
AttentionLayer etc. integrated into the symbolic neural net framework
Did you expect that? »
Automatic anomaly detection for all forms of data
The world of feature space
FeatureSpacePlot, FeatureSpacePlot3D... and lots of built-in feature extractors
Multi-GPU and all that
State-of-the-art, high-efficiency neural net training
Watch that machine learn!
Fully interactive machine learning dashboard for training and more
Visualize that neural net
Automatic visualization of neural net structures (with drill down)
Export your neural net
MXNet export of core neural net structures
All the latest neural nets
The Wolfram Neural Net Repository with immediately computable nets for NetModel
A distribution of cat pictures
LearnDistribution for distribution of any type of data
Image Computation
Find those faces
FacialFeatures for finding faces and their features in an image
Paint like van Gogh
ImageRestyle for automatic restyling of images
Vectorizing bitmap graphics
ImageGraphics to heuristically convert bitmaps to vector graphics
Audio
Record that audio!
Capture sound to an Audio[] object
Audio from spectrograms
Infer audio from a spectrogram image with InverseSpectrogram
iPhone audio formats
M4A import and export
Use voice input (and get text)
Transcribe text from speech audio with SpeechRecognize
Speak and compute »
Synthesize speech from text as computable audio
Natural Language Processing
Reading comprehension?
State-of-the-art Q&A from textual passages with FindTextualAnswer
Industrial-strength entity extraction
Countries, dates, movies, whatever: pick them out of text with TextCases
Text translation service
Translate between languages using an external service
Faster, Smaller, Stronger...
Compilation all the way to machine code »
Experimental compiler from the Wolfram Language to LLVM
Raw numeric arrays
NumericArray for efficient storage of raw types (Integer16, ...)
More functionality, but smaller
Reduced download footprint
Notebook Innovations
In + Out labeled forever
In[•] and Out[•] to label input and output, even without a kernel
Iconize! »
Store code and data directly in a notebook, formatting only as an icon
Out-of-notebook storage
Summaries of Audio, SparseArray, etc. give a choice of storage location
Give your presentations with notebooks »
New Presenter Notebooks for rich screen size–adaptive interactive presentations
Mac front end is 64 bit!
Full support of modern 64-bit Cocoa for notebooks on the Mac (> 2 GB etc.)
Do you see that closed cell group?
Automatic indicators to make it easier to notice closed cell groups
Headless Linux notebooks
Qt 5 support, enabling rendering without an X server
Knowledgebase
No need to load Knowledgebase data
Automatic predictive (or manual) prefetching of Wolfram Knowledgebase data
Immediate implicit entity queries
First, largest, most, etc. direct queries on entity types and classes
Programmatically search the web
Find pages and images with WebSearch and WebImageSearch
Systems & Developer
No more init.m!
Programmatically settable initialization of values
Digital signatures for anything »
Create and verify digital signatures
WolframScript editor
Create and edit .wl and .wls files from File > New
Asynchronous tasks »
In a session, on your machine or in the cloud
Communicate through byte arrays
Import, export, string-convert, etc. directly with byte arrays
PersistentValue: persist anything anywhere »
This notebook, this machine, this user, ...: persist code and data anywhere
Fire-and-forget web operations
Asynchronously submit to a URL, with callbacks
How much memory do I have left?
MemoryAvailable for programmatic access to memory limits
External Operations
Seamless remote file operations
Use RemoteFile in CopyFile etc., authenticating as you need
It is a mail client/analyzer too! »
Connect to any IMAP server and read/analyze/modify mail folders
Built-in SSH
RemoteRun etc. to run processes through SSH on remote machines
What is running on my machine?
Programmatic access to ps-like data on running processes
Symbolic network analyzer »
Capture network packets going to and from your machine
Talking to Databases
MongoDB
Read and write data in MongoDB
Terabyte databases are no problem
Full symbolic layer for seamlessly accessing SQL databases
SPARQL, RDF, IRIs & all that »
Programmatically access graph databases and triplestores
Bringing in Data
Better, faster CSV, XLS
Much more efficient (and robust) import and export of tabular data
Get a picture of that webpage
WebImage to get an image of any webpage
The full HDF5
Complete import and export of expressions to HDF5
Bloomberg & Reuters
Real-time and asynchronous financial data feeds (Wolfram Finance Platform only)
Interacting with the Outside
Go autonomous with microcontrollers »
Deploy control systems and filters directly to microcontrollers
Python cells, right in a notebook
Use > to start a Python cell, then get results back in the Wolfram Language
Puppet your web browser »
Programmatically interact with a web browser
Evaluate Python, JavaScript, ...
ExternalEvaluate to call code directly from the Wolfram Language
Authenticate that external service
OAuth etc. to authenticate access to external services
Make a game for Unity »
Create geometry, get telemetry... or programmatically make a full game
In the Cloud
Wolfram Function Repository »
Instantly access (and contribute to) a public repository of functions
One-click notebook publishing
File > Publish to Cloud: for the world, or with a password
Put your name in your cloud URL
Base URLs now allow usernames in addition to UUIDs