Here’s what’s new in Nextjournal! Get in touch here if you have questions, feature requests or want to leave feedback for us.

November 12, 2021

  • 🐞 Fixed an issue which prevented public buckets to be mounted in a notebook

  • ✨ Updated Clojure environments to Clojure

  • ✨ Clicking on a link preview in the command bar now opens link in new tab (instead of editor tab)

  • 🐞 Fixed an issue which prevented some users to access their profile settings

September 3, 2021 - Fixes & Improvements

  • 🐞 Fixed display of the link editor input on Safari

  • 🐞 Fixed collapsible section styling

  • 🐞 Fixed positioning of results in history and publish modals

  • 🐞 Fixed an issue that prevented executing code on

  • 🐞 Fixed copying and pasting of links

  • 🐞 Fixed an issue where an entire paragraph would be selected when clicking on a link, thus preventing the link from opening

  • 🐞 Fixed an issue where remixing published notebooks would still show authors from the original article

June 30, 2021 - An all-new redesign 👩‍🎨

It's all about context

✨ Our feature set has grown a lot over the past years. To make features more discoverable and faster to use, we are introducing multiple new, context-driven components.

The central piece of this redesign is the command bar at the bottom of the screen. Always present, the bar shows you the most likely actions depending on your current context:

Looking for something specific? Cmd/Ctrl-J will expand the bar into a searchable palette with all commands sorted based on your current context.

The Ctrl/Cmd-J command palette with the cursor placed in a code cell

💡 You probably guessed it by now. Context is the essential piece of this redesign and we’re using it to be as useful as possible.

So, if you’re in an "inserting content" context, the Insert palette will resize to not obscure any of the content you’re working with. 😎

Or the "Open notebook" palette (that lets you navigate to your notebooks from anywhere! 🤩) will give you a full notebook browser experience with meta data, etc.

Commands are also available through context menus. Sometimes you just want to click on things to see what you can do with them.

In addition to the new components, we also overhauled Nextjournal’s aesthetic for a way calmer, more focused experience.

Wanna learn more about all of this? Our in-depth blog post about the redesign discusses rationale, historic influences and how we implemented some of this:

June 11, 2021

  • ✨ Bumped sicmutils to 0.19.0 with lots of performance improvements and a fully overhauled expression simplifier, see the sicmutils changelog for details

  • 🐞 Fixed importing of docker environments

  • 🐞 Fixed pushing private images for on-prem

  • 🐞 Fixed a bug which would cause scheduled runners to be uncoupled from notebooks

May 31, 2021 - 🐞 fixes

  • 🐞 Fixed pasting of URLs in code cells that sometimes crashed notebooks

  • 🐞 For our Github notebook explorer

    • Repos with default branch main can now be accessed

    • Runtimes now respect existing mount settings from markdown metadata

April 30, 2021

  • ⏱  Improved site load performance

April 15, 2021 - A faster Dashboard

  • ✨ Allow incremental computation in a cell by referencing the cell’s own results

  • ⏱ Significantly improved dashboard loading time and responsiveness for profiles with a large number of notebooks

April 9, 2021

  • 🐞 Fixed a small bug that would show wrong data for people you invited to Nextjournal

  • 🐞 Fixed an issue which prevented cell results to be displayed in history browser and after publishing a notebook.

  • 🐞 Fixed some issues around html results (a.o. with Python Altair Vega Charts)

  • 🐞 Fixed an issue with exporting notebooks to jupyter format

March 18, 2021

  • 🐞 Fixed an issue where custom plotly layout size options were ignored

March 5, 2021 - Running Notebooks on a (custom) Schedule

  • ✨ Re-worked our functionality to schedule notebook runs for our paying customers: notebooks can be scheduled to run without manual intervention on fixed hourly intervals, or on a custom schedule with the help of cron expressions.

February 26, 2021

  • 🐞 Fixed visual glitch when loading notebooks using blockquotes

  • 🐞 Fixed a performance issue when editing a notebook for a longer time

  • 🐞 Fixed a minor issue with importing Jupyter markdown cells

  • 🐞 Fixed text alignment in Firefox when inserting links

February 17, 2021 - Github Explorer

February 12, 2021 - Observable Javascript Runtime

Lots of fixes, improvements, and a brand new runtime.

  • ✨🌈 Launched a reactive Javascript runtime supporting anything that observablehq can run, built on their reactive runtime

  • ✨ Changed the dashboard search placeholder to make it clearer 

  • ✨ Added the option to turn a node into a blockquote 

  • ✨ Added the option to click on the placeholder text so as to start an empty notebook

  • ✨ Added a level 4 heading as an option in the "Insert" and "Turn into..." menus 

  • ✨ Adjusted the layout so that writing in long notebooks is more pleasant 

  • 🐞 Fixed an issue where a Clojure runtime would hang instead of exiting when running out of memory

  • 🐞 Fixed “Help & Docs” link in profile drop down

  • 🐞 Fixed a regression where a rendering error in a code cell result would cause other results to not render

  • 🐞 Fixed the appearance of the link editor

  • 🐞 Fixed a bug where the scroll position was not set correctly when clicking on links from within one notebook to another 

January 21st, 2021 – Better Clojure

🌈 Structural editing for Clojure/Script cells: slurp 🍹or barf 🤮 parens, grow or shrink the selection semantically 💗 and evaluate specific forms 🔪. Everything stays ⚡️ fast, even when cells become large. Learn about the features & keybindings on the clojure-mode website.


  • ✨ Added a "Shared with you" option in dashboard for notebooks which you are a collaborator of, and reworked the switching of profiles in the dashboard

  •  Improved load time of "Import environment" popup in some profiles

  • 🐞 Fix switching viewers for nodes like file uploads

  • 🐞 Fixed a bug with using the command "copy permalink" which produced an incorrect URL

January 15th, 2021 - Interactive Tutorial

👩‍🏫 You can now use an interactive tutorial to learn the fundamental actions in a Nextjournal notebook, i.e., adding and working with prose, code, data and plots.

December 17th, 2020

✨ Soft-launched ClojureScript evaluation based on sci. To play with it, type ```cljs (note the space) in a paragraph.

(v/view-as :hiccup [ "Hello ClojureScript! 👋"])

December 16th, 2020

  • 🤫 silently launched 🚀

  • ✨ Support for *print-length* and *print-level* in our Clojure pREPL runtime.

November 26th, 2020

  • ✨ Todo Lists can now be nested and are also available in the “Turn into…” menu.

  • ✨ Github component now links to the actual git ref used to clone the repository so you can open it in the browser.

  • 🤫 Launched Nextjournal API beta – get in touch if you want early access.

  • Fixed cloning for Github component when repository uses a default branch that is not master.

  • 🐞  Fixed collaborators showing up in wrong order when searching on the dashboard.

  • 🐞 Fixed a bug where clicking outside of runtime modal would not close it.

November 10, 2020

  • ✨ Better todo list item style

    • For both unchecked

    • As well as checked items

  • ✨ Using Backspace at the beginning of a nested list will now split the first list item off.

  • ✨ Added Shift-Cmd-O as shortcut for opening node options (••• menu).

  • ✨ Omitting http:// or https:// in links will now auto-assign https://.

  • ✨ Updated default Julia environment to 1.5.2.

  • ✨ Added two new Julia environments to the default set, for fast startup with the Flux machine learning package and the DifferentialEquations package set.

  • ✨ Updated PyTorch environment to 1.6.0, on Python 3.7.7.

  • 🐞 Fixes a bug where node controls were disappearing when dragging and dropping nodes at some locations.

  • 🐞 Fixes a bug with deleting lists at the end of the document.

  • 🐞 Fixes the appearance of lists in collapsible sections.

  • 🐞 Fixes displaying of embedded tweets.

  • 🐞 Fixes a bug where opening a notebook from an URL containing an anchor (to #some-heading) would make the editor top bar disappear.

November 6, 2020

  • 🐞 Fixes a bug preventing a correct error message to be displayed when importing of notebooks fails.

  • 🐞 Fixes a connection bug that sometime made Jupyter runtimes hang at boot.

  • 🐞 Fixes a bug when opening the insert menu at the last document position.

  • 🐞 Fixes an issue with deleting unaccepted group invite members.

  • ✨ If you visit a page that requires login, you will now be redirected to that page after completing authentication (except if you login with Google or Github).

  • ✨ Interactive animations are now enabled in Plotly charts.

October 27, 2020

🐍 Jupyter Export: In addition to Markdown, you can now also export your notebooks to the Jupyter/IPython format. Simply open the ••• menu in the top right of your editor and select Export and Export as Jupyter Notebook (.ipynb). This option is also available from the Export menu in the read-only version of your notebook.

October 23, 2020

🚴‍♀️ We streamlined our notebook creation workflow: Clicking "New" will now bring you directly into the editor and you can select a template or import an existing notebook from there. We will follow this up soon with lots of smaller, more specific templates.

Bugfixes & Improvements:

  • 🐞 Fixed a server-side rendering problem for notebooks containing a Github Repository component

  • 🐞 Fixes an issue in Firefox where multiple cursors could be shown in code cells after navigating between them with the mouse

  • 🐞 Fixed an issue with machine type selection

  • 🐞 Fixes an issue while filtering notebooks on the dashboard with Firefox

  • 🐞 Fixes an issue with switching into focus mode for a node didn’t work

  • 🐞 Fixes and issue where sometimes navigating inside a notebook via the sidebar didn’t work

  • 🐞 Fixes permanent loading state when clicking a notebook’s sidebar header

  • now also uses our new template selector so new people can play around with importing notebooks without needing to sign up.

October 14, 2020

  • 🐞 Fixes an issue with static contents of published notebooks not being rendered immediately.

  • 🐞 Fixed deprecation warnings when using Python code completions in Nextjournal runtimes.

  • 🐞 Fixed display of code cell environments while browsing History.

  • 🐞 Fixes a bug in which the slug assignment button was not visible in Share menu.

  • 🐞 Fixes a server-side rendering problem with notebooks containing a code cell that starts with an empty line.

  • ✨ Added Plotly HTML representations for Nextjournal runtimes.

  • ✨ Code cell run events are now automatically grouped in History so that they won’t clutter it up.

  • ✨ More space-efficient read-only link section in Share menu.

October 9, 2020

  • 🐞 Fixed out of memory errors when copying large files identified as text/html to /results.

  • 🐞 Fixed a visual bug with the initial rendering of notebooks.

  • 🐞 Fixed a collaborative editing bug which can lead to broken notebooks.

  • 🐞 Fix mount selection in runtime settings for recently added mountable components (e.g. GitHub or S3 components).

  • 🐞 Fixed the file size display for uploaded files.

October 2, 2020

  • 🐞 Fixed an issue where leaving the group wouldn’t redirect you correctly.

  • 🐞 Fixed a regression with our UTF-8 input method that came with recent changes to our code editor.

  • 🐞 Fixed a Share menu bug that happened for external notebooks collaborators.

  • ✨ Drastically improve performance of the Import Environment… menu (especially for profiles that have a lot of notebooks).

September 25, 2020

🛠 Runtime Settings Improvements: Figuring out when a runtime needs to be restarted (or sometimes even reset) depending on what settings you changed could be quite challenging. Not anymore. We reworked our runtime settings to show you exactly what you changed and what action it requires to make those changes effective! Along with that, the runtime settings now show the runtime’s standard output and its current status. If there were any errors while starting, the settings will show them as well.

The reworked runtime settings dialog

👮 Group Permissions: You can now assign roles for your group members. Supported roles currently include: Viewer (view and run notebooks), Editor (view, run, edit notebooks) and Admin (view run, edit and manage group settings and billing). Roles for existing members can be changed in group settings and can be assigned for new members when you invite them (also from inside the editor’s collaborators dialog).

Bugfixes & Improvements:

  • ✨ Dashboard now shows the avatar of the person who last edited a notebook as well as the notebook’s creation date.

  • ✨ It’s now possible to set the initial working directory for all code cells in a runtime.

  • ✨ Login automatically after accepting an invite.

  • 🐞 Fixes an issue where collapsible sections couldn’t be toggled when containing code cells.

September 7, 2020

💸 New pricing scheme: We now differentiate between Personal and Team pricing and made it clearer what all the plans include. We also added FAQ sections to all pricing-relevant pages and introduced a Fair Use Policy for Free accounts. All this can be found on our new pricing page!

August 21, 2020

(Lots of!) Bugfixes & Improvements:

  • ✨ Command palette now also allows navigating to New notebooks page

  • ✨ Periodic running of notebooks now also works for groups

  • ✨ Better command palette notebook navigation for members of multiple groups

  • ✨ Dramatically improved loading times for very large notebooks

  • ✨ Improved reliability of executing code from a notebook

  • 🐞 Fixes a bug in profile switching via the command palette

  • 🐞 Fixes a bug where the gutter controls and “Add new content” button wouldn’t work anymore after publishing

  • 🐞 The page loading indicator now works more reliably when navigating between pages

  • 🐞 Fixes editing links in paragraphs

  • 🐞 Fixes issues where opening intercom would hide the notebook contents

  • 🐞 Fixes an issue where the mime type switcher would be shown in the wrong position when a cell has more than one result

  • 🐞 Fixes an issue which prevented the file upload IPyWidget from uploading files

  • 🐞 Fixes an issue which caused stale results of code cells which were produced using Jupyter’s display and the display calls where subsequentially removed

  • 🐞 Fixed various editors issues with scrolling for mobile devices

  • 🐞 Fixed a bug in which signing up with OAuth wasn't automatically considering the email address as verified

  • 🐞 Fixed an issue where copying output of the code cells wasn't working

  • 🐞 Fixed toggle behavior when marking text (bold, italic, etc.)

  • 🐞 Fixed an issue where Vega viewer wasn't working

  • 🐞 Fixed a bug that occured when editing archived notebooks

  • 🐞 Fixed a bug with inviting a collaborator / group member with email addresses that are not primary

  • 🐞 Fixed an issue with profile/handles, which now have to contain at least 1 letter

  • 🐞 Fixed an issue where you could publish a notebook with no title

August 7, 2020

🎛 IPyWidgets Support: Our Python Jupyter Runtimes have now experimental support for standard ipywidgets and Plotly Figure Widgets for enhanced interactive plotting. Find out more in our help guide or play around with example widgets.

Bugfixes & Improvements:

  • ⚡️ We pushed some performance enhancements for the dashboard: Navigating to and switching between group dashboards should be much faster now.

  • ⚠️ We removed the +code+ text expansion in favor of Ctrl+`.

July 24, 2020

💡 Dashboard Improvements: We tweaked the dashboard fuzzy search to show more relevant and less irrelevant results.

July 23, 2020

✉️ Emails: We've reworked the way you can manage email addresses associated with your account: From now on, you can add multiple email addresses and log in using any of them! Also, any of these email addresses can be used to invite you. You can find the new settings panel for this under Settings > Emails.

🔑 OAuth: We also added OAuth support for Google and Github, so logging in to Nextjournal is quicker than ever. Any of the emails associated with your account (see email settings) can be used for this. Keep in mind though that you have to add them first!

July 20, 2020

🎨 Command Palette: Ever wanted to have an overview of all available Nextjournal functions? Pressing Cmd/Ctrl+J (or clicking "Commands" in the upper right corner) will now open the command palette, a keyboard-navigable, searchable interface that shows you everything you can do in the given context. Use it to:

  • run code in various ways (also subsets, e.g. "Run cells above/below")

  • interact with your runtimes (e.g. reset all)

  • navigate between notebooks or pages (e.g. your dashboard)

  • switch between profiles and create new notebooks from a template

  • run all of Nextjournal’s basic commands (e.g. Publish, History, etc)

The palette also shows all available keyboard shortcuts next to the listed commands (if they have any). We hope this is a helpful step towards discovering what Nextjournal can do and we’ll add more and more capabilities to the palette as we go.

July 8, 2020

⚡️ Performance updates that make working with large notebooks way better:

  • Typing is much faster now. Before this update typing in large notebooks felt almost impossible.

  • Scrolling is much smoother now.

  • Initial load times are also improved but we are still looking into more improvements for this.

Here is a comparison video showing a notebook with 1K lines, before and after the optimizations:

July 6, 2020

Here’s a big one with lots of improvements:

  • Strike-through: We added a new strike-through text style that is available from the formatting tooltip.

  • ♻️ Turn into: Turn any text-style node into another node type. Simply select Turn into from the ••• menu next to a node and select the node type you want.

  • 🎯 Quick access to formattings: No more need to select text first when you want to edit a text style (bold, italic, etc). Placing the cursor inside any styled text will now pop up the formatting tooltip.

  • 🏎 Fast-travel between nodes: Enter block-wise selection mode by pressing Esc in any node. Use the arrow keys to quickly travel between nodes at the root level. Press Esc again to focus your target node.

  • inline_formula not implemented Improved formula editing: We made it quicker to get into edit mode for formulas by simply selecting them and pressing Enter. Your formulas will update their preview as you type and can now also be edited collaboratively. Done editing? Press Shift+Enter to leave edit mode.

  • Periodic Article Runs: It’s now possible to run your notebooks periodically (hourly, daily, weekly and monthly). When active, your notebooks will run at UTC+0 at the specified interval. This feature is currently only available for paying customers.

  • ⇥ Improved List Indentation: Press Tab to indent list items and Shift+Tab to outdent them.

  • 🧵 Blockquotes: This one has been long-requested. You can now insert blockquotes via the insert menu or by typing > followed by a space in any empty paragraph.

Bugfixes & Improvements:

  • ✨ Added soft tab support to our code editor. Tabs now always result in spaces.

  • ✨ Support for toggling comments in code cells via Ctrl/Cmd+/.

  • ✨ There’s a new ⇧+⎇+Cmd+C keyboard shortcut for formatting text as code.

  • 🐞 High definition icon avatar widgets will now be displayed correctly.

  • 🐞 Sometimes plots (and titles) were cut off. This issue has been fixed now.

June 24, 2020

⌚📤 Increase Runner Timeout: We have increased the idle time of runners to 3 hours for paying Nextjournal users.

May 19, 2020

⬆️ Updated Julia: Our Julia Template now provides version 1.4.1, while 1.3.1 is still also available on the default environment list. This update should clear up the problems we've been seeing with updating and installing Julia packages.

April 21, 2020

🔍 A Redesigned Dashboard: Ever found yourself looking for that one notebook amidst a sea of tiles but you can’t just find it? We found ourselves in that spot all the time. That’s why we redesigned our dashboard to show more of what’s relevant and make it easier to find what you’re looking for. That means: showing notebooks in a sortable, searchable, keyboard-navigable table. Read more on the blog.

Bugfixes & Improvements:

  • ✨ Added option to unpublish and improved sharing menu hints.

  • 🐞 Multiple fixes in LaTeX rendering.

  • 🐞 Fixed clicking the Keep running button.

  • 🐞 Fixed showing multiple occurences of the same profile in the dashboard’s profile select dropdown.

  • 🐞 Fixed copying code between code cells.

March 18, 2020

🌍 Better Sharing Controls: We decided to overhaul Nextjournal’s sharing controls to have one unified place for all sharing settings and make a clearer distinction between public and private. Read the blog post to learn more.

February 27, 2020

🖼 Improved Jupyter Display Support: Until recently, code cells using a Jupyter runtime could only display the last result in Nextjournal. Not anymore! Our Jupyter runtimes now fully support all of the display kernel messages that you can use in Jupyter which, e.g. enables components like progress bars:

Remix our Jupyter Display Playground notebook to play around with this.

🎶 Audio Results: Our result viewers will now display your browser’s default audio player when your result is a recognized audio format (MP4, WAV, ). The same is true if you upload an audio file. If its format is recognized, an audio player will show.

Bugfixes & Improvements:

  • ✨ Undoing text expansions: Simply press Backspace right after a text expansion triggers (e.g. *bold text*) will now undo it.

  • 🐞 Expanding inline formulas with $formula$ ate up white-space in some cases.

  • 🐞 We fixed some edge cases when exporting Nextjournal-specific nodes to Markdown.

  • 🐞 When re-arranging code cells via drag & drop, cells’ outputs would get mixed up in some cases.

December 19, 2019

This is a long one. Merry Christmas everyone! 🎄

🎯 Improved Selection Behavior: Ever had a hard time selecting multiple code cells in a row? Not anymore. Drag-selecting with the mouse or using Shift-Arrow now smoothly selects whatever comes up.

📃 Print Stylesheet: Notebooks can be hand-outs too. Our new print stylesheet makes sure your notebooks look as good on paper as they do on-screen. Simply print your current browser tab, select "hide headers & footers" and click "Print" or "Save as PDF..."

⚡️ Connect to Google Cloud: Notebooks can now use service runtimes that support long-running processes, like a proxy, to connect to Google Cloud. We also wrote a handy guide on how to use them to connect to Google Cloud SQL from your notebook. Let us know if this works out for you!

🔏 Better Secrets Editing: Adding multi-line secrets was quite frustrating until now. We added a new secrets editor that grows with each new line and highlights special characters (spaces, line-breaks, etc) and shows if you accidentally added blanks at the end.

🗄 Easily add GitHub repos to runtimes: Mounting a repo to a runtime after cloning required multiple steps (and going to each runtime’s settings panel individually). Now, you can select which runtimes it’s available to right from the repo. Much more convenient.

📜 Programming Language Foundations in Agda: We partnered with Philip Wadler to provide first-class Agda support in Nextjournal. Along with that, we’re hosting a remixable version of his book Programming Language Foundations in Agda. We also provide all of Agda’s supported Unicode symbols via a handy autocompleter that shows up when you type \. Expect a bigger announcement on this soon!

Bugfixes & Improvements

  • ✨ Better refining of autocompleted suggestions as you type

  • ✨ Collapsible sections (e.g. appendices) now properly show in read-only mode

  • ✨ Using #a-heading-name as link URL will scroll to the matching section

  • ✨ Less invasive link styles, inspired by Tufte CSS

  • ✨ Nesting/Un-nesting of lists can be toggled via Cmd-[ and Cmd-]

  • ✨ Rewrote our Markdown importer for stability and flexibility

  • 🐞 Clicking a browser notification now focuses the tab in all browsers

  • 🐞 Nested lists of all kinds now display properly

  • 🐞 Fixed re-ordering of outline items in Firefox

November 8, 2019

🚨✨ Runner Notifications: Ever had a runner shut down after a long computation but wanted to continue working? You can now set up browser notifications to get notified when runs complete. This comes in especially handy when you’re focused on another browser tab. Here’s how it works:

You will now also get notified when an automatic runner shutdown has been scheduled (after 20 minutes idle time) with an option to keep it running for another 20 minutes.

November 5, 2019

  • ✨ Improved AGDA Support: Code completions and syntax highlighting as well as better reliability of code cell execution.

  • ✨ Added F# syntax coloring support for code listings.

  • 🐞 We fixed a regression where the cursor in long lines in code cells was too large and it was not clear at which position it really was.

October 28, 2019

🎹✨ Improved Cursor Motion: Until now we had various hard-to-reach places, like between two adjacent code cells or at the end of the document. To insert content, you had to switch to your mouse. Not anymore: We now show a horizontal cursor in those places and you can keep in your keyboard flow, no mouse needed.

October 24, 2019

📖 ✨ New Table of Contents for reading published notebooks: Previously, the TOC took over a significant amount of space when reading a published notebook. We changed it to be hidden by default and only show once you move the mouse near it. Want to keep it open all the time? Click "Pin" in the TOC’s upper right corner:

Bugfixes & Improvements

  • ✨ We drastically improved the autocompletion performance when searching for environments to import.

  • ✨Reduced content insets and improved TOC on mobile.

  • 🐞 We fixed various regressions following our recent editor launch.

October 14, 2019

🎹⚡️ New editor version that provides a more fluid text editing experience: You can now freely select, cut, copy and paste text and other nodes across node and notebook boundaries. Need to quickly re-arrange some content? Simply drag nodes around right inside the editor to re-order them. This update has been long in the making so we expect some bugs to show up. Read about the details here and let us know how it works for you!

October 8, 2019

🏹 New Landing Page: We tried to be more clear about what exactly Nextjournal offers and a more technical explanation of the individual features.

🎬 Native video support in notebooks: Previously the only way to show video in a notebook was via a Vimeo or YouTube embed. Uploading an MP4 file will now show a native HTML5 video player in your notebooks.

August 29, 2019

  • ✨ Improved the data viewer to correctly display Dates and UUIDs.

August 22, 2019

  • Altair added to the default Python environments and all derivatives.

August 20, 2019

August 19, 2019

  • ✨ Our table viewer component now displays an error if it cannot parse a CSV instead of swallowing parsing errors.

  • ✨Improvements for showing tables in Julia.

August 17, 2019

Added experimental support for multiple languages via Jupyter kernels:

Just Remix any of the linked templates to try them out!

August 16, 2019

  • ✨ Updated environment images.

August 8, 2019

  • 🐞 Fixed an issue that would cause output streaming to break under heavy load.

  • ✨ Improved Julia runtime to use the built-in Vega viewers instead of displaying it in an iframe.

August 1st, 2019

  • ✨ Improved display of small images.

  • 🐞 Fixed gutter button layout.

July 25, 2019

  • ✨ Improved web-socket stability, leading to fewer disconnects.

  • 🐞 Fixed resetting history.

  • ✨ Improved error when scheduling a runner fails.

July 12, 2019

  • 🐞 Fix R table output display.

  • ✨ Added support for Julia command line modes ( ], ;, ?)

  • ✨Improvements for experimental slideshow feature (enable by appending ?slideshow=1 to the notebook's URL).

July 10, 2019


📊 Full Vega-Lite Support: Any valid Vega-Lite grammar that is written to /results is now displayed as plot. Furthermore you can use Altair for conveniently plotting with Vega-Lite in Python. Check out the feature blog post and our plotting guides for more infos.

🔗 Linking to Sections: Clicking a table of contents entry will now (in addition to scrolling to the section) update the notebook’s URL to include a link to it. To share, simply copy the URL from your browser’s URL field. Opening the URL will automatically scroll to the linked section.

Security Update

👮‍♂️ We enabled live updates of code listings again while circumventing CVE-2018-15664 the recommended way by suspending the Docker container while copying until the docker patches can be applied to all instances.

Updated Branding

💅 We refreshed our logo to be more readable and in line with our brand name’s preferred capitalization: "Nextjournal". Hopefully this will reduce occurrences of "NextJournal", "nextjournal" and "netjournal":

Bugfixes & Improvements

  • ✨ Our CSV table results viewer now auto-detects separator tokens and displays tab-, comma-, semicolon- and pipe-separated values.

  • ✨ The default Clojure environment is now based on GraalVM 19.1.0, which is used as Java runtime. This allows the use of GraalVM features such as the Polyglot APIs for zero overhead interoperability between programming languages and native image compilations.

  • ✨ Picking a different result viewer will be persisted and respected in a notebook’s read-only version.

  • 🐞 Fixed a bug where the browser’s "Back"-button wouldn’t work when navigating between Dashboard and notebooks.

June 16, 2019


🗃 Referencing files now keeps filenames and extensions intact: This fixes situations where certain packages need their input files with specific names and extensions. See our Preserving Filenames for Uploads & Results blog post for more details on this.

Bugfixes & Improvements

  • ✨ R code cells now support Shiny applications.

  • ✨ Code Autocompletions are now available for Clojure runtimes.

May 30, 2019

Security Update

👮‍♂️ Disabled Live-Updates of mounted code listings in response to Docker CVE-2018-15664. In the meantime, it is required to update the runtime by restarting it, after a mounted code listing changed. We hope to enable this again as soon as a fix is released.

May 6, 2019


🚀 Signups are open for everyone!


🕰 Unified undo & redo: Previously, all text-based nodes in a Nextjournal notebook (paragraphs, lists, code cells) had their own undo stack. Unless you used the Notebook History feature, undo rewinded only changes for the node your cursor was placed in. No more! Changes are now synced between nodes and undo will move the cursor into other nodes if they changed in-between.

🗺 Improved navigation for shared notebooks: What was previously the Switch Group menu on your articles listing is now the Show notebooks for menu. Click it and you’ll see all authors or groups that you are collaborating with.

Bugfixes & Improvements

✨ Notebook History now shows the author next to a change.

🐞 There was an issue were Clojure cells crashed when using comments at some positions. This is fixed now.

March 28, 2019


🛠 Selection toolbox improvements: We’ve update the text selection toolbox with an option to insert inline formulas and more. Just select some text and click the plus button. A similar menu is now also available when selecting code in a code cell with options to complete the selected code, show code docs or reference paths to files. You can also conveniently trigger the plus button via the Ctrl/Cmd+E keyboard shortcut.

March 18, 2019


🙋‍♀️ Ask for help: We know getting your code to run can be challenging at times. That’s why we built a neat little feature to make it easy to ask us for support with your notebook’s code. When a code cell runs into an error, it now shows a little help button right next to the error message. When you click it you can give our support team permission to help you out with your notebook. See for yourself:

💅 Lots of design updates: March has seen a big design update for Nextjournal. We redesigned all our product pages and improved readability on lots of screen sizes.

March 7, 2019


🌐 No more hunting for functions: All important notebook functions can now be accessed from a central, searchable menu in the upper right corner. The menu can also be opened via ⌘+Shift+P, or Ctrl+Shift+P if you’re on Windows or Linux.

🗺 Brand-new sidebar: We completely redesigned the sidebar to make it easier to use and added more functionality to it as well. When you’re editing, the new sidebar gives you a way to jump to your notebooks dashboard or create a new notebook right from where you are. For a more focused writing experience, you can collapse the sidebar and it slides away. Hovering near the left edge of your browser window brings it back into view. This new sidebar design is the first step in a series of features that will make navigating between notebooks much more fluid.

💡 More design updates: We are now showing the notebook’s author infos, visibility setting and publish/draft status at all times. This should make it much clearer to see in which context you are. We also slightly adjusted the insert and options buttons so that they are less obtrusive when mousing around in a notebook.

February 12, 2019


🎹 New Editor Underpinnings: Doesn’t look like much but Nextjournal’s writing experience has gotten a complete overhaul that lays the foundation for handy new features. First among them: As-you-type text expansions and better link editing.

See for yourself:

⚡️Inline Error Messages: We redesigned Nextjournal’s error messages so that they appear right next to the offending line. Long errors are automatically collapsed to a single line and can be expanded with a click. This should give more context to your errors and a less cluttered coding experience if you have long errors.

Bugfixes & Improvements

  • ✨ Even more handy shortcuts: Use Cmd/Ctrl-I, Cmd/Ctrl-B to mark text bold or italic or use Tab/Shift-Tab to promote or demote headings.

  • ✨ Publishing improvements: You will now be alerted before you publish over an already existing notebook.

  • Articles are now called Notebooks across the system. Notebook is the prevailing term used in the data science field and we decided to make it easy for new users.

  • ✨ Similarily, Transclude environment… is now called Import environment to avoid confusion and more clearly describe the intent.

January 29, 2019


💨 Drag & Drop File Uploads: You can now drag multiple files right into an article to upload them. As you drag the files, an indicator will show you where they will appear after you dropped them.

Bugfixes & Improvements

  • ✨ Using File and Image from the Insert Menu now also allows selecting multiple files at once.

  • Transclude was renamed to Import for clarity

  • ✨ Improved Help & Docs with a brand-new Quickstart article

  • 🐞 fixed a problem where the values of references weren’t shown immediately

December 20, 2018


💌 Invites: Easily invite up to ten people to Nextjournal once you’re accepted into the Private Beta program and have created a user. The new invite feature is available from your article dashboard.

✂️ Cross-article copy & paste: Did you ever stumble upon something in another article that would be perfect to use in your own? Cross-article copy & paste now makes it possible. Copy by clicking the copy button next to any node and paste (⌘V) into any paragraph. Need to restore only specific nodes from the past? You can use the same copy & paste interaction from within history view.

Bugfixes & Improvements

  • ✨ Richtext nodes are using the browser spellcheck feature now

  • 🐞 fixed encoding bugs for richtext formatted text in section headings

  • 🐞 fixed a bug where the whole list would be removed when deleting the last list item in a nested list

  • 🐞 fixed a bug where the copy to clipboard button overlapped the expand button for collapsed code cells

  • 🐞 improved aspect ratio for GGPlot in R code cells

December 5, 2018


👫 Active Collaborators: Real-time collaborators now appear as their avatars in the lower-right corner of the editor.

Bugfixes & Improvements

  • ✨ Code cell error popups use the full width now when their error message exceed a single line

  • ✨ The content of code listings can now be mounted into a runtime. This is currently used to provide a deps.edn file to Clojure runtimes.

  • ✨ More supported programming languages for code listings

  • ✨ Runtimes now show their boot output when they are starting

  • ✨ Better Clojure support

November 28, 2018


🔐 Better controls over article visibility: You can change the article owner and visibility in article settings.

Bugfixes & Improvements

  • ✨ Improved Markdown export and import

November 15, 2018


⏳ Improved history view: Going back in time is now easier than ever. Editor sessions are grouped by date and can be expanded to show all individual changes.

Bugfixes & Improvements

  • ✨ Bucket nodes! Use them to access public or private S3 or Google Cloud buckets from your article.

  • ✨ Improved inline code documentation

  • ✨ You can now reference secrets in code cells and in runtime environment variables

  • 🐞 Fixed runner status logs with timeouts

  • 🐞 Fixed issues with updating avatars for personal profiles

Runtimes (1)