Komodo 10 Alpha Pre-release Now Available

Releasing an alpha/beta of your product is like showing everyone your new baby. Everyone is excited, but he’s still very fragile, and you’re scared someone might look at them the wrong way. Komodo 10 has come a long way, and still has quite a ways to go before being called “final” (and even then work won’t be “over”). Komodo has received a lot of love, but it’s been tough love. In many places we’ve opted to basically run a sledge hammer through our codebase: for reasons of performance, user experience, code quality, you name it. A new major version isn’t just about releasing new features; it’s about making changes that can potentially be breaking for the betterment of the product.

With that in mind, I want to make sure to clearly point out to anyone downloading the pre-release: this is ALPHA stage software. Please do NOT use it unless you are ready for bugs and want to contribute to the process by reporting them to us. If you need a stable, tested version of Komodo, please download the current Komodo 9.x.

What’s New

Keep in mind that NONE of this is final and things will change before the final release. I’ve dedicated a section below to things we are focussing on, ie. things you can expect to change.

New User Interface

The entire user interface has been given a big facelift. This facelift isn’t just about making Komodo more attractive and enjoyable to use; a ton of user experience work has gone into the facelift. On the technical end, these changes make Komodo far more maintainable and far less prone to interface related bugs. Possibly the biggest feature, though, is that you can define your own colors. Every color scheme now also extends to the user interface, so you can tweak and style not just how your code looks, but also how Komodo looks. Or not–it’s entirely up to you, of course.

For those who prefer not to have their user interface change too much we’ve also introduced some preferences which let you essentially use the “classic” approach to UI in many places.

These changes do mean that skins and iconsets for Komodo 8 and 9 will no longer work.

First Start Wizard

When you first start Komodo (or when you update between major versions) Komodo will now show you a short and simple first start wizard that lets you customize Komodo to your likings. Tabs or spaces? The bias is all yours.

New Default Keybindings

Our old defaults (which are still available as “Legacy” keybindings) were an accumulation of 10+ years of changes. Needless to say they became messy and illogical. With Komodo 10 we dumped them entirely and started from scratch. A rule of thumb here was that if something didn’t make sense then it didn’t deserve a default binding, the user can define these themselves. We also reviewed other editors complete default keybinding sets to find commonalities in the industry. The new bindings are based on logic and sensible defaults that programmers have become accustomed to.

Additionally we are introducing keybindings for other editors and IDE’s to facilitate developers transitioning to Komodo.

Chrome Remote Debugging (IDE only)

Debug your code in Chrome, from Komodo! No more context switching or locating the same code you’ve been working on again in the Chrome dev tools. You can write code, place breakpoints and debug all right from inside Komodo.

Debugging for Ruby 2.1 And Beyond (IDE only)

Due to the library that Komodo was depending on for Ruby debugging no longer working in Ruby version 2.1 and beyond we have not been able to properly support those versions for a while now. With Komodo 10 that changes, we’ve been hard at work at Ruby 2.1+ support and are confident in introducing it with Komodo 10. This also includes Ruby 2.1+ REPL support.

Build System Integration (IDE only)

Komodo now integrates with Gulp, Grunt, PhoneGap and Cordova. The integration allows you to run commands for those build systems in your shell scope (inside Commando), it also adds a button to your side toolbar (new in Komodo 10) which lets you quickly run commands via those build systems. This button is only visible when your project uses one of these tools. So for example, if you have a Gulp task called “Concatenate” you can just hit the Gulp button and hit “Concatenate”.

Improved JavaScript and PHP CodeIntel

JS and PHP CodeIntel has had significant improvements, NodeJS modules and PSR4 classes are fully supported as well as various new features of each language.

Support For React, Ember, Angular, TypeScript, ES6

We’ve put a lot of focus on individual frameworks in Komodo 10, a trend you can expect to continue. With this iteration we focussed on some of the most popular JS frameworks and derivatives.

Symbol Browser (IDE only)

The section scope (inside Commando) now allows you to browse symbols across your entire project. So you can easiy jump to classes, functions, properties, or other symbols no matter where they are in your project.

Performance Improvements

Komodo 10 has received significant performance improvements. File opening, closing, saving, typing, .. you name it. Additionally we’ve fixed a long standing memory leak which caused users to have to restart Komodo every few days, that should no longer be the case.

So Much More

A lot more has changed, too name a few more changes that don’t need much more explanation:

  • Improved source code control UI and UX (IDE only)
  • New SCC Commit Dialog (IDE only)
  • New SCC Widget (IDE only)
  • Improved unit testing UI and UX (IDE only)
  • Improved color picker UI and UX
  • New color scheme editor
  • New UI SDK (used in our new First Start Wizard)

Known Issues

It takes about a day for us to actually push a new pre-release live (including the time it takes to build). By the time we are ready to push the new release we will already have made a ton more fixes and improvements. Releasing alphas and betas is a frustrating experience for a developer for that reason; you are releasing new versions of your software for which you not only know there are bugs, but some of them have already been fixed but just aren’t in the version you’re releasing. But if we let that hold back releases, we would never release an alpha/beta.

So, here’s what you can expect to be broken in the current iteration (and likely already fixed on our master branch):

  • Hangs on large SCC changes
  • Alert popups related to SCC
  • The Syntax Checking button is missing
  • Slow window resizing
  • Gulp integration doesn’t list tasks
  • Broken/Ugly/Missing UI in some places
  • UI font/size cannot be changed
  • Focus mode is broken
  • Fullscreen switching messes up the new UI (when native decorations are off)
  • Can’t save userscripts
  • OSX window buttons on wrong side of screen
  • File status sometimes doesnt update
  • Interface scheme switching can be buggy
  • Commando doesn’t always center properly
  • Default color scheme is a placeholder

Find anything else? Please report it!

Nathan Rijksen

Nathan Rijksen

Nathan Rijksen is the Development Lead for Komodo IDE. He works adeptly with Mozilla, Python and JavaScript to ensure that Komodo IDE is the IDE of choice for development teams. Nathan has been working with Komodo IDE for a decade before joining the development team in 2012. Since then he has worked tirelessly on new features such as Commando, Breadcrumbs, a completely new UI and much more.