34 KiB
| description |
|---|
| Learn what has changed in the latest Typst releases and move your documents forward. |
Changelog
Version 0.6.0 (June 30, 2023)
-
Package Management
- Typst now has built-in package management
- You can import published community packages or create and use system-local ones
- Published packages are also supported in the web app
-
Math
- Added support for optical size variants of glyphs in math mode
- Added argument to enable
limitsconditionally depending on whether the equation is set indisplayorinlinestyle - Added
gt.eq.slantandlt.eq.slantsymbols - Increased precedence of factorials in math mode (
[$1/n!$]works correctly now) - Improved underlines and overlines in math mode
- Fixed usage of
limitsfunction in show rules - Fixed bugs with line breaks in equations
-
Text and Layout
- Added support for alternating page margins with the
insideandoutsidekeys - Added support for specifying the page
binding - Added
toargument to pagebreak function to skip to the next even or odd page - Added basic i18n for a few more languages (TR, SQ, TL)
- Fixed bug with missing table row at page break
- Fixed bug with underlines
- Fixed bug superfluous table lines
- Fixed smart quotes after line breaks
- Fixed a crash related to text layout
- Added support for alternating page margins with the
-
Command line interface
- Breaking change: Added requirement for
--root/TYPST_ROOTdirectory to contain the input file because it designates the project root. Existing setups that useTYPST_ROOTto emulate package management should switch to local packages - Breaking change: Now denies file access outside of the project root
- Added support for local packages and on-demand package download
- Now watches all relevant files, within the root and all packages
- Now displays compilation time
- Breaking change: Added requirement for
-
Miscellaneous Improvements
- Added
outline.entryto customize outline entries with show rules - Added some hints for error messages
- Added some missing syntaxes for
rawhighlighting - Improved rendering of rotated images in PNG export and web app
- Made footnotes reusable and referenceable
- Fixed bug with citations and bibliographies in
locate - Fixed inconsistent tense in documentation
- Added
-
Development
- Added contribution guide
- Reworked
Worldinterface to accommodate for package management and make it a bit simpler to implement (Breaking change for implementors)
Version 0.5.0 (June 9, 2023)
-
Text and Layout
- Added
rawsyntax highlighting for many more languages - Added support for Korean numbering
- Added basic i18n for a few more languages (NL, SV, DA)
- Improved linebreaking for East Asian languages
- Expanded functionality of outline
indentproperty - Fixed footnotes in columns
- Fixed page breaking bugs with footnotes
- Fixed bug with handling of footnotes in lists, tables, and figures
- Fixed a bug with CJK punctuation adjustment
- Fixed a crash with rounded rectangles
- Fixed alignment of
lineelements
- Added
-
Math
- Breaking change: The syntax rules for mathematical
attachments were improved:
[$f^abs(3)$]now parses as[$f^(abs(3))$]instead of[$(f^abs)(3)$]. To disambiguate, add a space:[$f^zeta (3)$]. - Added forced size commands for math
(e.g.,
display) - Added
supplementparameter toequation, used by references - New symbols:
bullet,xor,slash.big,sigma.alt,tack.r.not,tack.r.short,tack.r.double.not - Fixed a bug with symbols in matrices
- Fixed a crash in the
attachfunction
- Breaking change: The syntax rules for mathematical
attachments were improved:
-
Scripting
- Added new
datetimetype anddatetime.today()to retrieve the current date - Added
str.from-unicodeandstr.to-unicodefunctions - Added
fieldsmethod on content - Added
baseparameter tostrfunction - Added
calc.expandcalc.ln - Improved accuracy of
calc.powandcalc.logfor specific bases - Fixed removal order for dictionary
- Fixed
.at(default: ..)for strings and content - Fixed field access on styled elements
- Removed deprecated
calc.modfunction
- Added new
-
Command line interface
- Added PNG export via
typst compile source.typ output-{n}.png. The output path must contain[{n}]if the document has multiple pages. - Added
--diagnostic-format=shortfor Unix-style short diagnostics - Doesn't emit color codes anymore if stderr isn't a TTY
- Now sets the correct exit when invoked with a non-existent file
- Now ignores UTF-8 BOM in Typst files
- Added PNG export via
-
Miscellaneous Improvements
- Improved errors for mismatched delimiters
- Improved error message for failed length comparisons
- Fixed a bug with images not showing up in Apple Preview
- Fixed multiple bugs with the PDF outline
- Fixed citations and other searchable elements in
hide - Fixed bugs with reference supplements
- Fixed Nix flake
Version 0.4.0 (May 20, 2023)
-
Footnotes
- Implemented support for footnotes
- The
footnotefunction inserts a footnote - The
footnote.entryfunction can be used to customize the footnote listing - The
{"chicago-notes"}citation style is now available
-
Documentation
- Added a Guide for LaTeX users
- Now shows default values for optional arguments
- Added richer outlines in "On this Page"
- Added initial support for search keywords: "Table of Contents" will now find the outline function. Suggestions for more keywords are welcome!
- Fixed issue with search result ranking
- Fixed many more small issues
-
Math
- Breaking change: Alignment points (
&) in equations now alternate between left and right alignment - Added support for writing roots with Unicode:
For example,
[$root(x+y)$]can now also be written as[$√(x+y)$] - Fixed uneven vertical
attachmentalignment - Fixed spacing on decorated elements (e.g., spacing around a canceled operator)
- Fixed styling for stretchable symbols
- Added
tack.r.double,tack.l.double,dotless.ianddotless.jsymbols - Fixed show rules on symbols (e.g.
{show sym.tack: set text(blue)}) - Fixed missing rename from
ast.optoastthat should have been in the previous release
- Breaking change: Alignment points (
-
Scripting
- Added function scopes: A function can now hold related definitions in its
own scope, similar to a module. The new
assert.eqfunction, for instance, is part of theassertfunction's scope. Note that function scopes are currently only available for built-in functions. - Added
assert.eqandassert.nefunctions for simpler equality and inequality assertions with more helpful error messages - Exposed list, enum, and term list items in their respective functions' scope
- The
atmethods on strings, arrays, dictionaries, and content now support specifying a default value - Added support for passing a function to
replacethat is called with each match. - Fixed replacement strings: They are now inserted completely verbatim instead of supporting the previous (unintended) magic dollar syntax for capture groups
- Fixed bug with trailing placeholders in destructuring patterns
- Fixed bug with underscore in parameter destructuring
- Fixed crash with nested patterns and when hovering over an invalid pattern
- Better error messages when casting to an integer or float fails
- Added function scopes: A function can now hold related definitions in its
own scope, similar to a module. The new
-
Text and Layout
- Implemented sophisticated CJK punctuation adjustment
- Disabled overhang for CJK punctuation
- Added basic translations for Traditional Chinese
- Fixed alignment of text inside raw blocks (centering a raw block, e.g. through a figure, will now keep the text itself left-aligned)
- Added support for passing a array instead of a function to configure table cell alignment and fill per column
- Fixed automatic figure
kinddetection - Made alignment of enum numbers configurable,
defaulting to
end - Figures can now be made breakable with a show-set rule for blocks in figure
- Initial fix for smart quotes in RTL languages
-
Export
- Fixed ligatures in PDF export: They are now copyable and searchable
- Exported PDFs now embed ICC profiles for images that have them
- Fixed export of strokes with zero thickness
-
Web app
- Projects can now contain folders
- Added upload by drag-and-drop into the file panel
- Files from the file panel can now be dragged into the editor to insert them into a Typst file
- You can now copy-paste images and other files from your computer directly into the editor
- Added a button to resend confirmation email
- Added an option to invert preview colors in dark mode
- Added tips to the loading screen and the Help menu. Feel free to propose more!
- Added syntax highlighting for YAML files
- Allowed middle mouse button click on many buttons to navigate into a new tab
- Allowed more project names
- Fixed overridden Vim mode keybindings
- Fixed many bugs regarding file upload and more
-
Miscellaneous Improvements
- Improved performance of counters, state, and queries
- Improved incremental parsing for more efficient recompilations
- Added support for
.yamlextension in addition to.ymlfor bibliographies - The CLI now emits escape codes only if the output is a TTY
- For users of the
typstcrate: TheDocumentis nowSyncagain and theWorlddoesn't have to be'staticanymore
Version 0.3.0 (April 26, 2023)
-
Breaking changes:
- Renamed a few symbols: What was previous
dot.opis now justdotand the basic dot isdot.basic. The same applies toastandtilde. - Renamed
modtoremto more accurately reflect the behaviour. It will remain available asmoduntil the next update as a grace period. - A lone underscore is not a valid identifier anymore, it can now only be used in patterns
- Removed
beforeandafterarguments fromquery. This is now handled through flexible selectors combinator methods - Added support for attachments (sub-, superscripts) that
precede the base symbol. The
topandbottomarguments have been renamed totandb.
- Renamed a few symbols: What was previous
-
New features
- Added support for more complex strokes (configurable caps, joins, and dash patterns)
- Added
cancelfunction for equations - Added support for destructuring in argument lists and assignments
- Added
alttext argument to image function - Added
tomlfunction for loading data from a TOML file - Added
zip,sum, andproductmethods for arrays - Added
fact,perm,binom,gcd,lcm,atan2,quo,trunc, andfractcalculation
-
Improvements
- Text in SVGs now displays properly
- Typst now generates a PDF heading outline
- References now provides the referenced element as a field in show rules
- Refined linebreak algorithm for better Chinese justification
- Locations are now a valid kind of selector
- Added a few symbols for algebra
- Added Spanish smart quote support
- Added
selectorfunction to turn a selector-like value into a selector on which combinator methods can be called - Improved some error messages
- The outline and bibliography headings can now be styled with show-set rules
- Operations on numbers now produce an error instead of overflowing
-
Bug fixes
- Fixed wrong linebreak before punctuation that follows inline equations, citations, and other elements
- Fixed a bug with argument sinks
- Fixed strokes with thickness zero
- Fixed hiding and show rules in math
- Fixed alignment in matrices
- Fixed some alignment bugs in equations
- Fixed grid cell alignment
- Fixed alignment of list marker and enum markers in presence of global alignment settings
- Fixed path closing
- Fixed compiler crash with figure references
- A single trailing line breaks is now ignored in math, just like in text
-
Command line interface
- Font path and compilation root can now be set with the environment
variables
TYPST_FONT_PATHSandTYPST_ROOT - The output of
typst fontsnow includes the embedded fonts
- Font path and compilation root can now be set with the environment
variables
-
Development
- Added instrumentation for debugging and optimization
- Added
--updateflag andUPDATE_EXPECTenvironment variable to update reference images for tests - You can now run a specific subtest with
--subtest - Tests now run on multiple threads
Version 0.2.0 (April 11, 2023)
-
Breaking changes:
- Removed support for iterating over index and value in
for loops. This is now handled via unpacking and
enumerating. Same goes for the
map()method. - Dictionaries now iterate in insertion order instead of alphabetical order.
- Removed support for iterating over index and value in
for loops. This is now handled via unpacking and
enumerating. Same goes for the
-
New features
- Added unpacking syntax for let bindings, which
allows things like
{let (1, 2) = array} - Added
enumerate()method - Added
pathfunction for drawing Bézier paths - Added
layoutfunction to access the size of the surrounding page or container - Added
keyparameter tosorted()method
- Added unpacking syntax for let bindings, which
allows things like
-
Command line interface
- Fixed
--openflag blocking the program - New Computer Modern font is now embedded into the binary
- Shell completions and man pages can now be generated by setting the
GEN_ARTIFACTSenvironment variable to a target directory and then building Typst
- Fixed
-
Miscellaneous improvements
- Fixed page numbering in outline
- Added basic i18n for a few more languages (AR, NB, CS, NN, PL, SL, ES, UA, VI)
- Added a few numbering patterns (Ihora, Chinese)
- Added
sincoperator - Fixed bug where math could not be hidden with
hide - Fixed sizing issues with box, block, and shapes
- Fixed some translations
- Fixed inversion of "R" in
calandfrakstyles - Fixed some styling issues in math
- Fixed supplements of references to headings
- Fixed syntax highlighting of identifiers in certain scenarios
- Ratios can now be multiplied with more types and be converted
to floats with the
floatfunction
Version 0.1.0 (April 04, 2023)
-
Breaking changes:
- When using the CLI, you now have to use subcommands:
typst compile file.typortypst c file.typto create a PDFtypst watch file.typortypst w file.typto compile and watchtypst fontsto list all fonts
- Manual counters now start at zero. Read the "How to step" section here for more details
- The bibliography styles
{"author-date"}and{"author-title"}were renamed to{"chicago-author-date"}and{"chicago-author-title"}
- When using the CLI, you now have to use subcommands:
-
Figure improvements
- Figures now automatically detect their content and adapt their behaviour. Figures containing tables, for instance, are automatically prefixed with "Table X" and have a separate counter
- The figure's supplement (e.g. "Figure" or "Table") can now be customized
- In addition, figures can now be completely customized because the show rule gives access to the automatically resolved kind, supplement, and counter
-
Bibliography improvements
- The
bibliographynow also accepts multiple bibliography paths (as an array) - Parsing of BibLaTeX files is now more permissive (accepts non-numeric edition, pages, volumes, dates, and Jabref-style comments; fixed abbreviation parsing)
- Labels and references can now include
:and.except at the end - Fixed APA bibliography ordering
- The
-
Drawing additions
-
Command line interface
- Now returns with non-zero status code if there is an error
- Now watches the root directory instead of the current one
- Now puts the PDF file next to input file by default
- Now accepts more kinds of input files (e.g.
/dev/stdin) - Added
--openflag to directly open the PDF
-
Miscellaneous improvements
- Added
yamlfunction to load data from YAML files - Added basic i18n for a few more languages (IT, RU, ZH, FR, PT)
- Added numbering support for Hebrew
- Added support for integers with base 2, 8, and 16
- Added symbols for double bracket and laplace operator
- The
linkfunction now accepts labels - The link syntax now allows more characters
- Improved justification of Japanese and Chinese text
- Calculation functions behave more consistently w.r.t to non-real results
- Replaced deprecated angle brackets
- Reduced maximum function call depth from 256 to 64
- Fixed
first-line-indentbeing not applied when a paragraph starts with styled text - Fixed extraneous spacing in unary operators in equations
- Fixed block spacing, e.g. in
{block(above: 1cm, below: 1cm, ..)} - Fixed styling of text operators in math
- Fixed invalid parsing of language tag in raw block with a single backtick
- Fixed bugs with displaying counters and state
- Fixed crash related to page counter
- Fixed crash when
symbolfunction was called without arguments - Fixed crash in bibliography generation
- Fixed access to label of certain content elements
- Fixed line number in error message for CSV parsing
- Fixed invalid autocompletion after certain markup elements
- Added
March 28, 2023
-
Breaking changes:
- Enumerations now require a space after their marker, that is,
[1.ok]must now be written as[1. ok] - Changed default style for term lists: Does not include a colon anymore and has a bit more indent
- Enumerations now require a space after their marker, that is,
-
Command line interface
- Added
--font-pathargument for CLI - Embedded default fonts in CLI binary
- Fixed build of CLI if
gitis not installed
- Added
-
Miscellaneous improvements
- Added support for disabling matrix and
vector delimiters. Generally with
[#set math.mat(delim: none)]or one-off with[$mat(delim: #none, 1, 2; 3, 4)$]. - Added
separatorargument to term lists - Added
roundfunction for equations - Numberings now allow zeros. To reset a counter, you can write
[#counter(..).update(0)] - Added documentation for
{page()}and{position()}methods onlocationtype - Added symbols for double, triple, and quadruple dot accent
- Added smart quotes for Norwegian Bokmål
- Added Nix flake
- Fixed bibliography ordering in IEEE style
- Fixed parsing of decimals in math:
[$1.2/3.4$] - Fixed parsing of unbalanced delimiters in fractions:
[$1/(2 (x)$] - Fixed unexpected parsing of numbers as enumerations, e.g. in
[1.2] - Fixed combination of page fill and header
- Fixed compiler crash if
repeatis used in page with automatic width - Fixed matrices with explicit delimiter
- Fixed
indentproperty of term lists - Numerous documentation fixes
- Links in bibliographies are now affected by link styling
- Fixed hovering over comments in web app
- Added support for disabling matrix and
vector delimiters. Generally with
March 21, 2023
-
Reference and bibliography management
- Bibliographies and citations (currently supported styles are APA, Chicago Author Date, IEEE, and MLA)
- You can now reference sections, figures, formulas, and works
from the bibliography with
[@label] - You can make an element referenceable with a label:
[= Introduction <intro>][$ A = pi r^2 $ <area>]
-
Introspection system for interactions between different parts of the document
counterfunction- Access and modify counters for pages, headings, figures, and equations
- Define and use your own custom counters
- Time travel: Find out what the counter value was or will be at some other point in the document (e.g. when you're building a list of figures, you can determine the value of the figure counter at any given figure).
- Counters count in layout order and not in code order
statefunction- Manage arbitrary state across your document
- Time travel: Find out the value of your state at any position in the document
- State is modified in layout order and not in code order
queryfunction- Find all occurrences of an element or a label, either in the whole document or before/after some location
- Link to elements, find out their position on the pages and access their fields
- Example use cases: Custom list of figures or page header with current chapter title
locatefunction- Determines the location of itself in the final layout
- Can be accessed to get the
pageandx,ycoordinates - Can be used with counters and state to find out their values at that location
- Can be used with queries to find elements before or after its location
-
New
measurefunction- Measure the layouted size of elements
- To be used in combination with the new
stylefunction that lets you generate different content based on the style context something is inserted into (because that affects the measured size of content)
-
Exposed content representation
- Content is not opaque anymore
- Content can be compared for equality
- The tree of content elements can be traversed with code
- Can be observed in hover tooltips or with
repr - New methods on content:
func,has,at, andlocation - All optional fields on elements are now settable
- More uniform field names (
heading.titlebecomesheading.body,list.itemsbecomeslist.children, and a few more changes)
-
Further improvements
- Added
figurefunction - Added
numberingparameter on equation function - Added
numberingandnumber-alignparameters on page function - The page function's
headerandfooterparameters do not take functions anymore. If you want to customize them based on the page number, use the newnumberingparameter orcounterfunction instead. - Added
footer-descentandheader-ascentparameters - Better default alignment in header and footer
- Fixed Arabic vowel placement
- Fixed PDF font embedding issues
- Renamed
math.formulatomath.equation - Font family must be a named argument now:
[#set text(font: "..")] - Added support for hanging indent
- Renamed paragraph
indenttofirst-line-indent - More accurate logarithm when base is
2or10 - Improved some error messages
- Fixed layout of
termslist
- Added
-
Web app improvements
- Added template gallery
- Added buttons to insert headings, equations, raw blocks, and references
- Jump to the source of something by clicking on it in the preview panel (works for text, equations, images, and more)
- You can now upload your own fonts and use them in your project
- Hover debugging and autocompletion now takes multiple files into account and works in show rules
- Hover tooltips now automatically collapse multiple consecutive equal values
- The preview now automatically scrolls to the right place when you type
- Links are now clickable in the preview area
- Toolbar, preview, and editor can now all be hidden
- Added autocompletion for raw block language tags
- Added autocompletion in SVG files
- New back button instead of four-dots button
- Lots of bug fixes
February 25, 2023
- Font changes
- New default font: Linux Libertine
- New default font for raw blocks: DejaVu Sans Mono
- New default font for math: Book weight of New Computer Modern Math
- Lots of new math fonts available
- Removed Latin Modern fonts in favor of New Computer Modern family
- Removed unnecessary smallcaps fonts which are already accessible through
the corresponding main font and the
smallcapsfunction
- Improved default spacing for headings
- Added
panicfunction - Added
clustersandcodepointsmethods for strings - Support for multiple authors in
set document - Fixed crash when string is accessed at a position that is not a char boundary
- Fixed semicolon parsing in
[#var ;] - Fixed incremental parsing when inserting backslash at end of
[#"abc"] - Fixed names of a few font families (including Noto Sans Symbols and New Computer Modern families)
- Fixed autocompletion for font families
- Improved incremental compilation for user-defined functions
February 15, 2023
- Box and block have gained
fill,stroke,radius, andinsetproperties - Blocks may now be explicitly sized, fixed-height blocks can still break across pages
- Blocks can now be configured to be
breakableor not - Numbering style can now be configured for nested enums
- Markers can now be configured for nested lists
- The
evalfunction now expects code instead of markup and returns an arbitrary value. Markup can still be evaluated by surrounding the string with brackets. - PDFs generated by Typst now contain XMP metadata
- Link boxes are now disabled in PDF output
- Tables don't produce small empty cells before a pagebreak anymore
- Fixed raw block highlighting bug
February 12, 2023
- Shapes, images, and transformations (move/rotate/scale/repeat) are now
block-level. To integrate them into a paragraph, use a
boxas with other elements. - A colon is now required in an "everything" show rule: Write
{show: it => ..}instead of{show it => ..}. This prevents intermediate states that ruin your whole document. - Non-math content like a shape or table in a math formula is now centered vertically
- Support for widow and orphan prevention within containers
- Support for RTL in lists, grids, and tables
- Support for explicit
{auto}sizing for boxes and shapes - Support for fractional (i.e.
{1fr}) widths for boxes - Fixed bug where columns jump to next page
- Fixed bug where list items have no leading
- Fixed relative sizing in lists, squares and grid auto columns
- Fixed relative displacement in
placefunction - Fixed that lines don't have a size
- Fixed bug where
{set document(..)}complains about being after content - Fixed parsing of
{not in}operation - Fixed hover tooltips in math
- Fixed bug where a heading show rule may not contain a pagebreak when an outline is present
- Added
baselineproperty onbox - Added
tgandctgoperators in math - Added delimiter setting for
casesfunction - Parentheses are now included when accepting a function autocompletion
February 2, 2023
- Merged text and math symbols, renamed a few symbols
(including
inftytoinfinitywith the aliasoo) - Fixed missing italic mappings
- Math italics correction is now applied properly
- Parentheses now scale in
[$zeta(x/2)$] - Fixed placement of large root index
- Fixed spacing in
[$abs(-x)$] - Fixed inconsistency between text and identifiers in math
- Accents are now ignored when positioning superscripts
- Fixed vertical alignment in matrices
- Fixed
textset rule inrawshow rule - Heading and list markers now parse consistently
- Allow arbitrary math directly in content
January 30, 2023
Go to the announcement blog post.
- New expression syntax in markup/math
- Blocks cannot be directly embedded in markup anymore
- Like other expressions, they now require a leading hashtag
- More expressions available with hashtag, including literals
(
[#"string"]) as well as field access and method call without space:[#emoji.face]
- New import syntax
[#import "module.typ"]creates binding namedmodule[#import "module.typ": a, b]or[#import "module.typ": *]to import items[#import emoji: face, turtle]to import from already bound module
- New symbol handling
- Removed symbol notation
- Symbols are now in modules:
{sym},{emoji}, and{math} - Math module also reexports all of
{sym} - Modified through field access, still order-independent
- Unknown modifiers are not allowed anymore
- Support for custom symbol definitions with
symbolfunction - Symbols now listed in documentation
- New
{math}module- Contains all math-related functions
- Variables and function calls directly in math (without hashtag) access this module instead of the global scope, but can also access local variables
- Can be explicitly used in code, e.g.
[#set math.vec(delim: "[")]
- Delimiter matching in math
- Any opening delimiters matches any closing one
- When matched, they automatically scale
- To prevent scaling, escape them
- To forcibly match two delimiters, use
lrfunction - Line breaks may occur between matched delimiters
- Delimiters may also be unbalanced
- You can also use the
lrfunction to scale the brackets (or just one bracket) to a specific size manually
- Multi-line math with alignment
- The
\character inserts a line break - The
&character defines an alignment point - Alignment points also work for underbraces, vectors, cases, and matrices
- Multiple alignment points are supported
- The
- More capable math function calls
- Function calls directly in math can now take code expressions with hashtag
- They can now also take named arguments
- Within math function calls, semicolons turn preceding arguments to arrays to
support matrices:
[$mat(1, 2; 3, 4)$]
- Arbitrary content in math
- Text, images, and other arbitrary content can now be embedded in math
- Math now also supports font fallback to support e.g. CJK and emoji
- More math features
- New text operators:
opfunction,lim,max, etc. - New matrix function:
mat - New n-ary roots with
rootfunction:[$root(3, x)$] - New under- and overbraces, -brackets, and -lines
- New
absandnormfunctions - New shorthands:
[|,|], and|| - New
attachfunction, overridable attachments withscriptandlimit - Manual spacing in math, with
h,thin,med,thickandquad - Symbols and other content may now be used like a function, e.g.
[$zeta(x)$] - Added Fira Math font, removed Noto Sans Math font
- Support for alternative math fonts through
[#show math.formula: set text("Fira Math")]
- New text operators:
- More library improvements
- New
calcmodule,abs,min,max,even,oddandmodmoved there - New
messageargument on{assert}function - The
pairsmethod on dictionaries now returns an array of length-2 arrays instead of taking a closure - The method call
{dict.at("key")}now always fails if"key"doesn't exist Previously, it was allowed in assignments. Alternatives are{dict.key = x}and{dict.insert("key", x)}.
- New
- Smarter editor functionality
- Autocompletion for local variables
- Autocompletion for methods available on a value
- Autocompletion for symbols and modules
- Autocompletion for imports
- Hover over an identifier to see its value(s)
- Further editor improvements
- New Font menu with previews
- Single projects may now be shared with share links
- New dashboard experience if projects are shared with you
- Keyboard Shortcuts are now listed in the menus and there are more of them
- New Offline indicator
- Tooltips for all buttons
- Improved account protection
- Moved Status indicator into the error list button
- Further fixes
- Multiple bug fixes for incremental parser
- Fixed closure parameter capturing
- Fixed tons of math bugs
- Bugfixes for performance, file management, editing reliability
- Added redirection to the page originally navigated to after signin