Changelog

In progress

Teams ⛹️‍♂️

Released

May 2020

Custom initialization πŸ›«

Our initialization process used to be a bit of a black box. If there were any errors, you couldn't really see what went wrong. That was confusing. So we have added an initialization notebook. This notebook always runs when we start up your projects. By default, it restores your environment, but it can also do anything else you want it to! For example, in our own analytics, we use it to start up a proxy to connect to our database or to download fresh data.

Teams (private testing) πŸ¦§πŸΏπŸ¦”

Deepnote is all about collaboration so it only makes sense you should be able to make teams just like on Github. This feature is currently in private testing, but we'll be rolling it out to everyone soon. Teams will enable you to share notebooks with other people in your organization, or to easily give out assignments to your students if you're a teacher. Stay tuned!

Better outputs πŸ’„

Imagine this. You execute a cell and you start typing more code into one of the cells below it. But every time the executing cell prints new output, it grows bigger and pushes all the other cells down. And if there is a lot of output, it can push the cell you're typing into all the way off your screen. Not great. Luckily, we fixed that. Now, the cell you're focused in stays where it is and if another cell has new output, it pushes itself away from your cell.

April 2020

Comments πŸ’¬

A long awaited collaboration feature is finally here! You can now comment on cells in your notebooks in Deepnote. That means you can move the communication about any analysis you're doing directly to where the code is, putting everything in one place and making collaboration another bit easier.

Shortcut cheat sheet 🏎

Shortcuts make you radically more productive regardless of the environment you're in. In Deepnote, we've had them, but sometimes they were a bit hidden. Now we put all of them in one place. A possible next step would be to let you customise your shortcuts. Is this something you'd be interested in?

New dataset modal πŸ“

As Deepnote grows, we have taken a look at some of our older features to see where we could improve the user experience. Connections was one of them. As a first step of improving the UX there, we have redesigned the dataset modal. We also guide you to the modal if you try to upload a file that exceeds our file limits.

Minor improvements and bug fixes πŸ›

  • When you have a focused terminal when closing the tab with your project, we focus you in that terminal again when you come back.

  • You can create and use terminals even if you have no files in your project

  • If you try to upload a file that is too big, you get a suggestion to use connections instead of just an error

  • Fix font in terminals on less common platforms

  • No more overflows of editors in notebook

  • No more misaligned project names in top bar

  • When you rename a project in the projects view, the name refreshes instantly instead of only after refresh

Persistent terminals πŸͺ

Accessing your machine via terminal is often critical to get things done. That's why terminals have always been a part of Deepnote. Now, we've also made them persistent. That means they no longer live only in your browser. You can now refresh the page with your project or even close it and your terminals will stay. This includes their contents, their history of commands and their results – everything stays just as if you never left.

Comments: New sidebar πŸ’¬

Why did we make this change? Well, the new sidebar shows you a lot of information that was previously hard to find. You can now see how much CPU or RAM you're using, which packages you're missing or update your hardware. But, most importantly, this is a build up to allow the most important collaborative feature since we added collaborative notebooks: comments. So stay tuned for the next update!

New markdown cells ✨

The UX of markdown cells can be a bit annoying. They look different depending on if you're just looking at them or editing them. Sometimes, you might want to select some text from a markdown cell, so you click it, and it completely changes its looks. That's why we've added an edit mode for the markdown cell – double click to edit, single click to just select the cell, without the confusing change of its looks!

March 2020

Go to definition πŸ”

Last time, I mentioned we will be improving our codebase. Well we have done just that and as part of it, we have drastically changed the way our cell editors work. Apart from making them faster, this new way also enables us to build new features on top of them more easily. The first such feature is go-to-definition. Cmd-click (or ctrl-click if not on Mac) on a variable will now take you to its definition, just like in a regular offline IDE!

Code intelligence πŸ€“

The second extension to our editors might be even more important than the first one. We now have pretty much full code intelligence, which means you can hover over a variable to see it's value or press shift+tab to get autocompletion, including function parameters! I'm personally super happy about this one as I can never remember the order of arguments in functions. Does the lambda or the iterable go first in a map? No idea. So glad I don't have to remember this anymore.

February 2020

New code cell design implemented 🎨

One of the main problems with notebooks is you can't really see what's going on. The new design we've added is a step towards remedying that. The vertical progress bar now shows you how your execution is progressing for the whole cell, but in the future, it will allow us to show you which line is currently executing so that you know where you're spending most time during your computation. Similarly, the cell state can tell you if the cell has been executed, if its source code is up to date, etc. We're actually figuring out what all the possible and useful states would be.

New notifications ⚠️

Having to constantly check your notebook to see if it finished executing a cell is a massive pain. That's why we've added notifications many months ago. But the way we did that wasn't the easiest to use, so we've decided to change it. Now, if you have an executing cell, you can just click to get notified when it finishes. Hope this makes this feature more useful for you!

Techcrunch loves Deepnote πŸ’™

...Or so we hope! Either way, they have written about us and about what we're planning to do so if you've missed that, you can check it out here.

January 2020

New design: Comments πŸ—£

We founded Deepnote on the belief that data science is a collaborative process at heart and in this spirit, we are excited to be rolling out comments in the next couple of weeks! πŸ€—

New design: Progress Indicator πŸ“ˆ

We all know the feeling – you're working hard on something when your laptop freezes, you have to kill your notebook and you lose all your data. And we all want to avoid this feeling as much as possible. That's why Deepnote now warns you when your memory is running low!

Stabilising Deepnote πŸ„β€β™‚οΈ

While our design team has been working hard on the beautiful designs you can see above, the engineering team has mostly focused on improving the stability of Deepnote. We know, we know, this is not the first time we’ve mentioned this in our updates. But as we are now nearing 30000 launched projects, we need to make sure our infrastructure is ready for the load, our security is right on point and our codebase is ready for the growth of our team. This is therefore our main focus right now – we want to make sure we have a very strong base on top of which we can easily implement new features that keep on coming from the design team (and you!).

December 2019

You now get statistical info when you output a dataframe! 🧚

Deepnote now has custom formatting – dataframes in your output that have less than 10000 rows are now printed in special Deepnote format, giving you statistical info and histograms. If you want the standard view back, no problem: just click the "Raw output" button and you get your classic view back.

Deepnote now warns you when you start running out of memory 😬

We all know the feeling – you're working hard on something when your laptop freezes, you have to kill your notebook and you lose all your data. And we all want to avoid this feeling as much as possible. That's why Deepnote now warns you when your memory is running low!

Improvements you might have missed πŸ•΅

Apart from the features above, we've done a lot of minor improvements and fixes that we wouldn't want you to miss! βš™οΈ

  • We now support Plotly πŸ“ˆ

  • Switching tabs keeps your text selection πŸ€½β€β™‚οΈ

  • Variable explorer now supports n-dimensional arrays πŸŽ–

  • We are showing execution time in the cell sidebar ⏳

  • You can now undo clearing cell outputs 🧼

November 2019

You can get user input in Deepnote πŸ§žβ€

Deepnote now supports input requests, meaning you can use methods that require the user to give you input upon executing. Just like everything else in Deepnote, the inputs are collaborative.

Click on a collaborator's icon to get to where they are! πŸƒ

When you have a large notebook with many collaborators, it can start getting messy. To make it easier to work together, clicking on a collaborator icon now takes you directly to their cell!

Improvements you might have missed πŸ•΅

Apart from the features above, we've done a lot of minor improvements and fixes that we wouldn't want you to miss! βš™οΈ

  • Our Slack community is growing strong and more and more conversations are moving on there. If you haven't yet, make sure to sign up! πŸ‘‹

  • We now show project name in page title πŸ“

  • The execution timer now remembers your execution time even if you switch notebooks ⏱

  • Cmd+shift+up (or down) now selects all text from your cursor to the start (or the end) of the cell πŸ“„

  • Cmd+shift+z now does redo instead of cmd+y β†ͺ️

  • You can get back to your upload modal – we fixed a bug where if you were uploading a file and you closed the modal, you couldn't get it back 🀯

We have a Slack community πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦

Earlier this week, we have invited everyone from our waiting list and we're now approaching 25000 opened projects on Deepnote. With that, the community of Deepnote users is growing more and more, many of you reach out to us and help us push the product in the right direction, for which we're eternally grateful! πŸ™

To be more connected with you guys, as well as to give you a platform to get in touch with each other, we're opening a Deepnote Slack community. See you all there! πŸ‘‹

Deepnote will now autocomplete wh

...atever comes to your mind! 🀝 This needs no more introduction – autocomplete has been on top of the list of the features that you guys requested for a few months, so we're super excited to be rolling it out and giving Deepnote another important IDE skill. The feature is still evolving, so let us know if you catch any bugs πŸ›.

October 2019

You can now watch your models train in real time πŸ‹οΈβ€

We've updated the way we deal with outputs, allowing you to observe your model's training as its happening. As a side-effect of this change, training models in Deepnote is now much less intense on your browser. No more fan spinning ❄️

No more stale outputs 🍞

If you've been reading these updates for a while, you know one of the things that we're trying to fight at Deepnote is the hidden state that most notebooks suffer from. This week, we've implemented a new feature to help with that – from now on, whenever you change a cell's code without running it, the cell will give you a warning about the outputs being stale.

New Backend πŸ—½

After months of adding new features, you start to get ideas about how your backend infrastructure could be so much better had you known everything you know now right at the start, but there's just no time to change it. But we had some really good ideas.

As of today, the new version of our backend is out. It was a huge time investment, but it was worth it. What this means for you is a more reliable service with fewer bugs. πŸ› What this means for us is having a more solid and reliable base for extending our platform, making future development that much easier!

Frontend tweaks 🌌

We've done a lot of work on our frontend based on your feedback: Terminals now open directly in the work folder. We added a shortcut (cmd-shift-h) for hiding cell outputs. Finally, we've made links in markdown cells open in a new tab and tweaked our top bar to make it less cluttered and easier to use.

Undo-Redo autofocus πŸ•΅οΈβ€β™‚οΈ

Undo and redo now automatically focus you on the cell where something is being undone (or redone)! This is in response to some super valuable feedback that you've sent us – thanks so much for that and for all the other feedback you've been sending us. You're the ones pushing us to keep making Deepnote better β™₯

Renaming in project page πŸ’³

You can now rename your projects directly from the projects page! If you want to do it in the project as you did before, you still can, of course – this is just giving you another way of doing that!

Organisations page design 🍭

Deepnote has always been collaboration and community oriented and as another step in this direction, our design team has started some designs of how organisation management in Deepnote could look like. Have a look and let us know what you think!

Optimised GPU Environment πŸ“ˆ

One of the goals of main Deepnote has always been to enable data scientists to do data science and to automate all the devops behind it. This week, we have created an optimized GPU environment with preinstalled libraries to so that you can get going in the blink of an eye!

Variable Explorer Fixes πŸ§™πŸ»β€β™€οΈ

We've fixed a lot of the bug reports you guys have sent! Thanks so much for those, do keep them coming! In particular, we've made sure nan's, timestamps or previously unsupported data types don't cause you any trouble!

Backend Stabilisation Continued βš–οΈ

Our backend team has finished the rewrite of all necessary backend components, giving it a 100 % test coverage! This should make Deepnote much more stable, all that is left is putting it all together and you can be looking forward to experiencing it live some time next week!

September 2019

Presentation Mode is Done πŸ•Ί

We thought this would another week, but here we go – I told you the engineering team's been on fire! The presentation mode allows you to publish your notebooks to the world in a completely noneditable form, just like a blog post! But enough talk, go out there and try it yourselves!

Safe Notebooks By Default β›‘

We let people run code on our site and then share it with others. This can be potentially dangerous and that's why we've had the "trusted notebook" feature. We got rid of it now. All our notebooks are now safe by default so there is no need for you telling us you trust the notebook – you can now trust them all!

Backend Stabilisation βš–οΈ

Last but not least, our engineering team is halfway through rewriting parts of our backend to stabilise it and give it 100 % test coverage. Did I mention they're on fire?

Presentation mode – working prototype πŸ€Ύβ€β™‚οΈ

Last week, we got the presentation mode's design done, this week, we made it work! There are still a couple of edge cases we need to resolve, so we're probably going to release the feature the week after next!

Faster loading times πŸš…

As we've been delivering more and more features, our app has been getting bigger and bigger... and slower to load. This week, we took a meticulous look at that and reduced our webapp's size by 50%!

Fixed markdown cell UI βš™οΈ

Last week, we fixed shortcuts on lowered permission levels. This week, we looked into the UI and fixed a bug where our markdown cell UI didn't reflect your permissions correctly!

Presentation mode design 🎨

Last week, we promised presentation mode would be our next big feature. Since then, we got major step closer to making it a reality – our design team has drafted what the mode will look like!

Beautiful small screens 🀩

We got a great piece of feedback from one of you about how Deepnote does not look good on smaller screens. We've fixed that and you can now enjoy our beautiful designs even on 1024px!

Shortcuts in execution mode πŸ”ͺ

When you're in execution mode, you can execute cells, but not edit them – and this led to shortcuts being unavailable. We've fixed that so that limited permissions only limit what you can do – not how you can do it!

Fast variable explorer stats 🏎

Variable explorer has been a key feature of Deepnote for a while now, but to make full use of it, you often had to wait a bit longer than you'd like to. This week, we made this feature blazingly fast (7x faster on our test dataset!) and hence much more powerful!

Run from current cell πŸƒβ€β™€οΈ

A feature many of you have requested – you can now run all cells from the current one below in the command palette (cmd/ctrl + p)!

No connections shadowing 🚷

We've fixed the situation where you could add two dataset connections with the same name... except they would actually both refer to the latest one you added! We will now warn you when try to do this and ask you to rename your datasets so that you don't accidentally overwrite them!

August 2019

Duplicating projects πŸ‘₯

Deepnote is centered around collaboration and duplicating (forking) was a missing piece of the puzzle. Have example code you want to share with others and have them play around with it without messing up your master copy? Just give everyone a read-only link and they can duplicate your project and work on it on their own!

Runtime local & AWS dataset mounting πŸ‡

You can now add new AWS and local dataset connections without restarting your hardware and losing your state! All your precious models will be preserved and running computations will continue uninterrupted!

Feedback on file deletion πŸ“

Imagine you're working on a file and the project owner deletes it. Apart from it being a real bummer, it can also be quite confusing, which is why we're now giving you clear feedback when that happens!

Old notebook formats πŸ“

Deepnote now supports old notebook formats (nbformat 3 and older). If you have previously tried to upload these and received an annoying unsupported format message, give it a try now.

Stability fixes βš™οΈ

We have been listening to your feedback and fixed the issues which were popping up most frequently. We also fixed an annoying bug which lead to a crash of the app, some of you might have encountered it when switching between files. Thank you for bearing with us!

Pip recommender πŸ’‘

Major release this week features the pip recommender! It keeps track of all the packages (and versions!) you have installed and scans your code for any dependencies you might be missing – say goodbye to having to do all this manually via terminal!

New sample projects! πŸ“š

We have new sample projects! Just head over to creating new projects to try them out!

Smart scrollbar πŸ€“

If you're working on a hard project, your notebooks can get pretty long. To help with that, we made our scrollbar remember where you last ended, so that you can resume your work right away – without wasting time on frantic scrolling!

Permissions UI 🚫

When you don't have full permissions for a project, it can be hard to know what you can and can't do. That's why we've changed the UI to make it immediately obvious which actions are disabled!

Copying from markdown cells Β©

Want to copy something from a markdown cell? Now you can do that without going into the edit mode!

Searching your code is an essential tool for anyone who writes it. Just press ctrl+f or cmd+f to get going!

Scalable collaboration βš–οΈ

We've improved our collaboration backend, which means our whole app is horizontally scalable now! This allows us to easily accommodate more users – hence we switched all of you to new Deepnote! πŸŽ‰

Project status bar 🧐

One of our goals is to increase visibility of what's going on in your project. We moved another step ahead in this direction by introducing the project status bar! It gives you essential info about your project at a glance and lets you run some basic commands, too!

Environment variables 🌲

Want to share a notebook with your client, but don't want to give them all of your passwords? This is exactly what environment variables are for! They also let you reuse the vars across your project, so if you ever need to edit them, they're all in one place!

July 2019

Command Palette 🎨

Like every proper development environment, Deepnote now has a command palette. Want to do something, but can't find the right button? Press ctrl + p or ⌘ + p and problem solved!

Statistics in the variable explorer πŸ”

Last week, we introduced the variable explorer. Now, we added statistics to pandas dataframes and numpy series to give you a better idea of what data you're dealing with at a glance!

MongoDB integration 🀝

We've expanded the list of database connections by adding MongoDB integration! We're now working hard on adding other connections as well to make your Deepnote experience as smooth as possible!

Permissions

Deepnote has always been centered around making notebooks collaborative. With permissions, you are now able to choose which of your collaborators run code, edit project settings or invite others.

Variable explorer

You can now see the state of all your variables on the left sidebar. We are working on expanding this to show even more information, such as histograms and statistical information for data frames.

Postgres and local connections

Want to connect to a Postgres database or mount a local dataset? Create a connection once and use it across your notebooks without having to put passwords into the notebooks themselves.

The beginning of time

Are you curious how this all started? Read our story.