livebook/CHANGELOG.md
2023-06-20 17:09:45 +02:00

41 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

v0.9.3 (2023-06-20)

Fixed

  • Do not browser open arbitrary URLs

v0.9.2 (2023-04-14)

Added

  • Made the error status clickable on failed deployments (#1854)

Changed

  • Made app settings form hidden in app session (#1860)

Fixed

  • Fix smart cell indicator when source changes on start (#1851)
  • Persist show-source app option (#1859)
  • Added a link to navigate out of iframe when Livebook has no access to cookies (#1863)

v0.9.1 (2023-04-06)

Added

  • Support for clients-only outputs (#1810)
  • Option to unstar notebooks directly from cards (#1818)
  • Option to hide notebooks from recent list (#1830)
  • Purging cookies once they exceed 24kB (#1833)
  • Preview for booting apps on the auth screen (#1836)

Changed

  • Moved "Livebook" to the end of page title (#1828)

Fixed

  • Image and audio inputs to update preview on change for other users (#1807)
  • Notebooks on Kino and on MapLibre (#1806, #1811)
  • Booting if apps path is unavailable (#1812)
  • Rendering of error pages
  • (Desktop) Fixed app URLs (#1835)
  • Respect whitespace in plain text output (#1841)
  • (Desktop) Fixed displaying error dialog and logging errors (#1848)

v0.9.0 (2023-03-20)

We migrated Docker images from Docker Hub to GitHub Container Registry (see #1792). Make sure to upgrade image references from livebook/livebook to ghcr.io/livebook-dev/livebook.

Added

  • (Desktop) "Copy URL", "View Logs" and "Settings" buttons (#1650)
  • Support for sending frame updates to a specific client (#1662)
  • Support for setting node and distribution using environment vars (#1672)
  • (Desktop) Support for configuring env vars (#1676)
  • Configuration for allowed hyperlink schemes in Markdown content (#1702)
  • Support for deploying notebooks as apps locally (#1709, #1715, #1728, #1733)
  • Support for deploying apps from directory (#1741, #1757)
  • History of recently open notebooks (#1639)
  • Ability to star notebooks for quicker access (#1639, #1753)
  • Added "New notebook" action to the file explorer (#1754)
  • Light editor theme (#1755)
  • Added Hubs page and Personal Hub for secret management, much more to come (#1756, #1744, #1763)
  • Added "Data transform cell" to predefined Smart cells (#1758)
  • Added stamp to notebook source to securely persist allowed secret names (#1768)
  • Support for collapsing sections (#1772, #1779)
  • Data transform guide (#1773)
  • Triggering completion suggestions on dot (#1784)
  • Reorganized Kino guides
  • Support for plain text output (#1790)

Changed

  • Evaluation error to cancel further evaluation and show distinct status (#1688)
  • Setup cell to stay open on error (#1718)
  • Unified opening and importing notebooks under a single Open page (#1639)
  • MIX_ENV from Livebook startup is no longer propagated to the runtime
  • Default directory when saving a forked notebook (#1767)
  • Migrated Docker images to GitHub Container Registry (#1792, #1794)

Removed

  • Removed most CLI flags in favour of env vars (#1704)
  • High contrast editor theme in favour of light theme (#1755)

Fixed

  • Reworked file input to work inside form with multiple clients (#1673)
  • Resetting autosave interval when changing file system (#1689)
  • Erlang module docs in intellisense (#1719)
  • Assertion errors in doctests (#1752)
  • Error when converting Smart cell with input to Code (#1781)
  • Improved iframe repositioning when moving sections (#1796)

v0.8.2 (2023-06-20)

Fixed

  • Do not browser open arbitrary URLs

v0.8.1 (2023-01-18)

Added

  • Docker images with CUDA libraries (#1578 and #1590)
  • Support for capturing images from camera in the image input (#1595)
  • Support for audio input (#1610)
  • Added an option to run the Setup cell with no cache (#1616)
  • Loading LB_ environment variables as Livebook secrets (#1615)
  • Support for file input (#1622)
  • Support for specifying S3 region explicitly when adding a file system (#1638)

Changed

  • Don't track :rand and :random keys in process dictionary (#1599)
  • Optimized iframe-based outputs and Smart cells to load only once in viewport (#1607)
  • Changed image upload to a block item instead of a button in the Markdown editor (#1439)
  • Made automatic reevaluation accessible in evaluation menu (#1628)
  • Rebuilt Livebook Desktop (#1641)
    • [macOS] Don't include wx, observer, debugger, et, jinterface and odbc in the vendored OTP
    • [macOS] Add "View Logs" button to the error dialog when Livebook crashes
    • [macOS][Windows] Display "Livebook is shutting down" flash on app shutdown
    • [Windows] Rewrite in C# and build with dotnet CLI to avoid most Windows security errors
    • [Windows] Log release stdin/stdout to %LOCALAPPDATA%\Livebook\Logs\Livebook.log
    • [Windows] The installer now performs basic Erlang smoke tests

Fixed

  • Redefining a module after evaluator crash (#1582)
  • Rendering inline math in on-hover docs (#1635)
  • Import notebook button missing on small screens (#1643)
  • Windows false positive security errors (#1641)

v0.8.0 (2022-12-08)

Added

  • Introduced a mechanism for tracking how cells depend on each other and reevaluate only if necessary (#1517)
  • Improved reproducibility of module definitions (#1518)
  • Started persisting modules bytecode to disk (#1521)
  • Support for doctests, now running automatically (#1525)
  • Support for image input (#1538)
  • Environment variable for setting app base path, useful when deploying behind a proxy (#1549)
  • Rendering math in on-hover documentation (#1566)
  • Support for monospace font in textarea input (#1565)
  • Added "Neural Network task" and "Slack message" to predefined Smart cells

Changed

  • Made the textarea input resize automatically to fit the content (#1552)

v0.7.2 (2022-10-26)

Added

  • Options to view and delete secrets in the session sidebar (#1473)
  • Option to change the default file system in settings (#1450)

Changed

  • Improved CLI configuration for Attached runtime to support short node name without hostname (#1474)

Fixed

  • Relative URLs in HTML elements in Markdown (#1491)
  • Units in byte formatting when showing memory usage (#1494)
  • Fixed vendoring OTP in the desktop app (#1495)

v0.7.1 (2022-10-09)

Fixed

  • Fixed editing Mermaid graphs in Markdown cells (#1471)

v0.7.0 (2022-10-07)

Added

  • Added Shift + Enter ( + ) for evaluating a cell and advancing to the next one (#1294)
  • Support for composite outputs - tabs and grid (#1326 and #1375)
  • Support for anchor links in notebook-relative navigation (#1327)
  • Support for uploading SVG images in Markdown cells (#1341)
  • Secrets management (#1348, #1406 and #1441)
  • Completion for bitstring modifiers (#1291)
  • Ability to configure global environment variables on the settings page (#1387 and #1409)
  • Support for uploading files to the file system navigator via drag-and-drop (#1422)
  • Universal desktop build for Mac and automated nightly builds

Changed

  • Redesigned the homepage sidebar (#1325)
  • Package search to always list the exact match first (#1355)
  • Renamed the Explore section to Learn (#1424)
  • Reduced the number of clicks necessary to save a notebook (#1458)

Removed

  • Removed Mix standalone runtime in favour of the new Mix.install/2 options, see #1345 to learn more (#1370)

Fixed

  • Fixed the "evaluate all" shortcut to work when a cells is evaluating (#1334)
  • Source corruption when adding dependencies on Windows (#1337)
  • Failure when changing file system from S3 to local (#1377)
  • Evaluator to wait for garbage collected processes to terminate before next evaluation (#1385)
  • Fixed unnecessary vertical whitespace in Mermaid graphs (#1415)
  • Started ignoring non-Livebook logs in the Attached runtime (#1451)

v0.6.3 (2022-07-13)

Fixed

  • Crashes when editing user profile on the homepage (#1268)
  • Input change to be reflected immediately when clicking a button (#1269)
  • JS outputs and smart cells when waking up from hibernation (#1270)

v0.6.2 (2022-06-30)

Added

  • Session sidebar toggle on mobile (#1183)
  • Support for configuring a custom iframe URL (#1200)
  • Link to Hexdocs in on-hover docs (#1221)
  • Capturing logs from processes outside Livebook supervision (#1235)
  • Support HTML and CSS highlighting in Markdown cells (#1244 and #1246)
  • MapLibre introductory notebook (#1250)
  • Support for SQLite, Google BigQuery and AWS Athena under the well-known cells (#1256)

Changed

  • Default Livebook home path for Docker to /data (#1191)
  • Mac app to run in the background (#1199)

Fixed

  • Memory monitoring to show the correct amount of free memory available on the system (#1179)
  • Livebook access URL when running livebook server with custom --ip (#1181)
  • Smart cell evaluation button in forked notebooks (#1185)
  • Relative links in Markdown output (#1189)
  • Docker startup when specifying --user (#1193)
  • Support for target="_blank" links inside JS outputs and smart cells (#1203)
  • Context menu in the file system component (#1205)
  • Copying content with math syntax (#1225)
  • Windows absolute paths when configuring Mix runtime via CLI (#1242)

v0.6.1 (2022-05-06)

Changed

  • Stopped ignoring mouse events on crash (#1168)

Fixed

  • Added iframes to the Hex archive (#1174)

v0.6.0 (2022-05-03)

Added

  • Code error highlighting on formatting and evaluation (#948)
  • Bulk actions in the sessions list (#939)
  • Support for opening files and URLs via livebook server args (#947, #969 and #960)
  • Persistent user configuration (#937, #1002 and #1017)
  • Word wrapping toggle to the editor (#961)
  • Option to download notebook source from the sessions list (#980)
  • Support for binary payloads in JS outputs (#982)
  • Introduced smart cells (#1029, #1030, #1041, #1048, #1050)
  • Confirmation modals (#1033)
  • Introduced desktop app packaging for Windows (#1032)
  • Autosave path configuration on the settings page (#1019)
  • Support for forcing SSL connection (#1064)
  • Introduced a setup cell (#1075)
  • Added cell insert buttons for a list of predefined smart cells (#1078 and #1090)
  • UI for searching and adding new dependencies (#1081)
  • An option for wrapping words in all Markdown editors (#1107)
  • Support for mix run flags in the Mix runtime (#1108)
  • Introduced code zen (#1115)
  • Optional instance information when running in the cloud (#1116)
  • Warning when running in the cloud and system memory is low (#1122)
  • Notification when a new Livebook version is available (#1121)
  • Insert button for Markdown cell with a Mermaid diagram (#1134)
  • Taskbar icon for the desktop app (#1119)
  • Notebook discussing Smart cells (#1141)

Changed

  • Notebook export file name to match notebook file or title (#870)
  • Switched importing to opening files in the desktop app (#995)
  • Renamed Elixir cell to Code cell (#1035)
  • Use the first cell in viewport as the default for j/k navigation (#1054)
  • Limit standard output to last 1000 lines (#1063)
  • Restructured cell insert buttons (#1073)
  • Allowed inserting images without specifying name in Markdown cells (#1083)
  • Unified authentication to always redirect to the initial URL (#1104 and #1112)
  • Erase outputs action to clear cell indicators (#1160)

Removed

  • --open and --open-new CLI flag to livebook server in favour of args (#969 and #960)
  • --autosave-path in favour of --data-path (#963)
  • Disabled font ligatures in Markdown code blocks (#1072)
  • Embedded runtime under the default configuration (#1084)

Fixed

  • Properly handle Cloud Storage S3 API operation responses (#956)
  • Access to cookies and other browser APIs inside JS output iframe (#968, #985 and #989)
  • Improved accessibility (#979, #1009, #1007 and #1010)
  • Editor input in Chrome when waking up from Windows hibernation (#1018)
  • Improved input performance with multiple Mermaid diagrams in a Markdown cell (#1023)
  • Opening browser from the CLI when running in WSL (#1074)

v0.5.2 (2022-01-27)

Added

  • Allowed Livebook port to be set to 0 for a random port (#906)
  • Added memory usage information to runtime panel and sessions list (#898, #917 and #918)
  • Added support for font-awesome in mermaid.js diagrams (#913)
  • Support for reopening the desktop app (#928)
  • Added a warning when copying to clipboard fails (#922)

Changed

  • App icon on macOS to look more native (#924)
  • Improved errors formatting (#926)
  • Improved intellisense to work while code is evaluating (#941)
  • Updated the release to run in interactive mode, hence using less memory (#944)
  • Updated the release to use a random cookie on every startup (#944)

Fixed

  • Favicon rendering in Safari (#920)
  • Fixed code evaluation in the desktop app to work without Elixir installed globally (929)
  • Fixed line break support in Mermaid diagram definition (932)
  • Improved error handling in case of erroneous implementations of the Inspect protocol (934)
  • Fixed image insertion in Markdown cells when the image name includes special characters (945)

v0.5.1 (2022-01-20)

Changed

  • Changed the file system root path to $HOME in the desktop app (#887)

Fixed

  • Loading JavaScript widgets when running behind a domain (#902)

v0.5.0 (2022-01-19)

Added

  • Support for input forms (#790)
  • Completion for struct keys (#793)
  • Support for custom JavaScript widgets (#826)
  • Introduced a dedicated Explore subsection for Kino guides (#830)
  • Added notebook name to page title (#844)
  • Added @deprecated and @since documentation metadata on mouse over (#852)
  • Added Livebook and Elixir version information to the Settings page (#851)
  • Added shutdown button to the sidebar (#862)
  • An option to increase the font size in the editor (#860)
  • An option to use a high-contrast editor theme (#868 and #871)
  • Support for rendering mermaid.js graphs in Markdown cells (#816)
  • Introduced desktop app packaging for macOS (#865)

Changed

  • Removed confirmation step when deleting an empty section (#829)
  • Applied several design improvements (#858, #859 and #882)
  • Changed the color scheme in text outputs to improve contrast (#864 and #859)
  • Reworked Kino guides in the Explore section (#879 and #859)

Fixed

  • Disallowed saving notebooks with empty file name (#823)
  • Fixed unexpected focus behaviour in large editors (#831)
  • Fixed Escape key to exit multi-cursor mode (#833)
  • Improved error reports when reconnecting Mix runtime fails (#837)
  • Fixed code blocks in Markdown to use monospaced font for all characters (#855)

v0.4.1 (2021-12-09)

Added

  • Added Ctrl + Shift + Enter ( + + ) for evaluating current and all outdated cells (#766)

Changed

  • Disabled word suggestions on Elixir cells (#763)

Fixed

  • Fixed error on back navigation after closing a session (#769)
  • Fixed disappearing indentation when pasting code into the editor (#779)

v0.4.0 (2021-12-05)

Added

  • Support for file scheme when importing notebook from URL (#706)
  • Support for rendering UI controls, such as buttons and keyboard (#710)
  • Added Pong notebook to the explore section to showcase controls (#729)
  • Improved function completion to insert parentheses (#693)
  • Added user-specific intellisense configuration (#693)
  • Added signature completion (#640)
  • Added automatic persistence for unsaved notebooks (#736)
  • Support XML and JSON highlighting in Markdown cells (#743)

Changed

  • Restructured j/k navigation to support headlines (#707)
  • Migrated inputs to Kino (#714)

Removed

  • Removed input cells in favour of Kino.Input, see #714 for more details

Fixed

  • Fixed evaluation timer reset on page refresh (#732)
  • Fixed alignment of long names in the sections panel (#734)
  • Fixed timeout when importing a notebook with Vega-Lite output (#741)

v0.3.2 (2021-11-10)

Added

  • An option to clear evaluation outputs (#661)
  • Evaluation indicators to the sections side panel (#657)
  • Support for importing a notebook via file upload (#665)
  • Show/hide button to password inputs (#664)
  • Improved new directory creation under high latency (#674)
  • Enabled persisting static Vega-Lite plot to Live Markdown (#676)
  • Support for animable frame output (#688)
  • An option to amplify cell outputs (#689)
  • Included CMake in the Docker image (#694)
  • Environment variable for disabling token auth (#696)

Changed

  • Redesigned save to file modal (#663)
  • Moved current runtime information into a new side panel (#692)

Fixed

  • Rendering math with KaTeX that uses SVGs (#684)

v0.3.1 (2021-10-27)

Added

  • Introduced automatically reevaluating cells (#637)

Changed

  • Changed color for aborted and queued cell status (#620)
  • Improved Markdown rendering of task and nested lists (#623 and #623)

Fixed

  • Connecting to an empty S3 bucket (#646 and #623)
  • Importing notebooks served with application/octet-stream content type (#650 and #623)

Removed

  • Removed the keyboard shortcut for "Evaluate cells below" (#621)
  • Removed reactive inputs in favour of automatically reevaluating cells (#649)

v0.3.0 (2021-10-19)

Added

  • Introduced file system abstraction and an S3 support (#492)
  • Added support for configuring file systems using env variables (#498)
  • Added a keyboard shortcut for triggering on-hover docs (#508)
  • Added --open-new CLI flag to livebook server (#529)
  • Nx introductory notebook (#528)
  • Display creation date of a session in home (#593)
  • Dynamic favicon reflecting session state (#594)

Changed

  • Improved intellisense to handle structs and sigils (#513)
  • Create new notebooks with an already focused code cell (#527)
  • Switched base Docker image from alpine to debian-slim (#552)
  • Update matching brackets style (#595)

Fixed

  • Improved Markdown and math integration by migrating to remark (#495)
  • Improved the evaluator process to not consume user-submitted messages from inbox (#502)
  • Improved sections panel UI to better handle numerous sections or long section names (#534 and #537)
  • Fixed branching section evaluation when the parent section is empty (#560)
  • Fixed ANSI support to handle multi-code escape sequences (#569)

v0.2.3 (2021-08-12)

Added

  • Added UI for directory creation (#424)
  • Added UI for file deletion and renaming (#426)
  • Listing Livebook version on dashboard home
  • Support for relative navigation between notebooks (#441 and #445)
  • Introduced branching sections (#449)
  • Range (slider) input (#435 and #440)
  • Select input (#448)
  • Checkbox input (#461)
  • Showing full documentation when hovering over an identifier (#453)
  • Added notebook source preview and export (#457)
  • Added Elixir source export (#476)
  • Added option to export and persist Live Markdown with output (#483 and #485)

Changed

  • Merge undo stack for collaborative editing (#433)
  • Restructured remote node processes to allow for multiple connections (#434)

Fixed

  • Fixed editor font size on MacOS

v0.2.2 (2021-07-01)

Added

  • Support for configuring Attached as the default runtime (#397)
  • Textarea input (#382)
  • Color input (#410)
  • Support for markdown output (#404)
  • Introduced cells bin for restoring deleted cells (#414)
  • Added code formatting integration to Elixir cells (#416)
  • Added --open CLI flag to livebook server (#417)
  • Suggest restarting runtime on Mix.install error and add restart shortcut (#418)
  • Documented editor shortcuts and added basic view (#419)

Changed

  • Improved section management (#411)
  • Highlight matching brackets only in insert mode (#421)

v0.2.1 (2021-06-24)

Added

  • Showing the evaluation time next to the cell indicator (#366)
  • Showing a ticking timer while cell is evaluating (#374)
  • Added a section on evaluation vs compilation to the Elixir notebook (#376)
  • Support for image output (#380)
  • Introduced reactive inputs (#389)
  • Added copy to clipboard button to virtualized output (#393)

v0.2.0 (2021-06-17)

Next milestone, see New in Livebook v0.2 by José Valim.

Added

  • Introduced an Explore section (#310)
  • Notebook about the unique features behind Elixir and Livebook (#314)
  • Portal guide (#328)
  • VegaLite introductory notebook (#335)
  • Kino introductory notebook (#364)
  • Notebook on VM introspection (#346)
  • Show an informative message on completion when there is no runtime (#316)
  • Support for inputs (#328)
  • Numeric input (#352)
  • Password input (#357)
  • Support for Mix runtime as the default one (#334)
  • Dynamic table output (#356)

v0.1.2 (2021-06-01)

Added

  • Capture and show logger output (#298)
  • Support for dynamic Vega-Lite graphics (#306 and #309)

v0.1.1 (2021-05-24)

Added

Changed

  • Improved path selector to properly handle text editing in the middle (#283)
  • Made section anchor links deterministic (#288)

v0.1.0 (2021-05-19)

Initial release, see Livebook's announcement by José Valim.