In the January release notes, we have a strong focus on our Visual Studio Code Extension, API and overall stability. We also improved the UX experience by fixing a few bugs that might have left some users confused. Without further ado, here we go:
- We are big fans of IDEs (VS Code is already out, Atom is in the pipeline). However we might not be able to cover all IDEs and editors out there. So if you want to help us and write a DeepCode extension for your favourite IDE, we've prepared documentation on how to do it. Happy to help if you have questions and we can fund the effort as well :)
Visual Studio Code extension
- Documentation. Fully revamped and updated documentation: https://github.com/DeepCodeAI/vscode-extension/blob/master/README.md (with youtube videos).
- Working progress bar. The extension had an unpleasant habit of hiding hide the progress bar when uploading big repositories. Well, we decided to go with a more friendly behavior to always show the progress bar while uploading files.
- Respect the .dcignore file. We introduced a .dcignore file (mirroring .gitignore) to exclude files from the file upload and code analysis. Isn't that great? Write your own .dcignore using the glob patterns.
- Updated copy on configuration and popups. We heard that users do not fully grasp some of the messages - well, we got you covered now.
- Bundling logic fix. The extension employs a logic to bundle the code files before sending them to our servers for analysis. That logic was a bit faulty. Now, this is fixed together with some stability issues. We hope you enjoy it!
API and overall stability
- TL;DR - we are now faster and more stable for you.
- No more network/500 errors. Our health monitoring page recently started showing more network and 500 errors. We dig deep and found an old AppEngine load balancer which was causing the troubles. The faulty load balancer is now gone and DeepCode is running fully on Google Cloud.
- Public API update. Do you recall the VS Code bundling logic we mentioned earlier - it was accompanied by a similar update on our public API. Both work in sync to deliver smooth upload of the code to our servers.
- Faster. We felt it is about time to speed up the website a bit as well. The page resources are now served through a mighty CDN all over the globe.
What's new or fixed?
- Manage tokens. Our apps use tokens to authenticate the user. You can now view the tokens by visiting your account page. This would be enormously helpful if you want to embed our cli (coming out of beta soon) in your CI/CD infrastructure.
- Get notified when analysis fails. We noticed that sometimes our analysis fails. What's more important - it doesn't notify you (the user). We happily fixed it, so now if the analysis fails you would get a comment from our lovely bot. Don't worry - we try 3 times before giving up.
- Manually retry analysis. We even provided an option for you to manually retry the analysis. If you comment on any pull request "retry deepcode" our analysis will automatically start over. Why don't you try it right away?
- Analyse only existing branches. Do you recall the option in the UI to enter a non-existing branch and analyse it? Not there anymore. From now on you can only analyse branches that exist.
- Friendly screens. Sometimes it happens that a repository has no files which we can analyse. We are working hard to make this happen less often. For the few cases when it happens we now have friendly screens that gently remind you of that and help you proceed with your analysis.
- Github app is published. Users searching for DeepCode on the Github Marketplace will be pleased to find our newly published app. Thank you, Github!
Atom (early version)
- We are working on a package for Atom! If you are a fan of alphas and betas, then you should give it a try. If you prefer the stable releases, then you should wait a week or two before we release it.
- For the early adopters here is how to install it: https://github.com/DeepCodeAI/atom-plugin/blob/dev/docs/development.md. Feel free to open an issue and we will gladly look into it.