Today I'm proud to announce that Octopus 3.0 has graduated to a production-ready release! You can download it now, or explore a live Octopus server on our demo site. Be sure to check out the upgrading guide - we made some big changes but we've tried to make the upgrade experience relatively painless.
Work on Octopus 3.0 started 8 months ago, and it involved some massive changes. Huge parts of the most important bits of Octopus were rewritten, and barely a piece of code escaped unchanged:
- We switched from Raven to SQL Server
- We gutted our deployment agent and open sourced all the deployment execution code
- We rewrote our communication stack and all of our deployment orchestration code
By this time in a product's lifecycle, most companies would be happy to stick with the current architecture, and just occasionally add a big feature and call it a new version. Personally, I think this leads to products that become stale and no fun to use. For a company our size, with no other product to rely on, I think it's a pretty bold decision to invest so much time in rewriting such fundamental parts of the product, and to take 8 months to do it. I hope that with 3.0 you'll agree that it was worth it.
Of course 3.0 isn't just about big architectural changes; we also added a bunch of big new features:
- New deployment targets for SSH, Windows Azure web applications and offline drops
- A data migrator that allows you to export and import data in JSON format between Octopus servers, or commit them to a Git repo
- Delta compression to reduce bandwidth and deployment times
- A complete look and feel revamp
- A new project overview (pictured above) that makes promoting releases easier
- Work to enable High Availability, which we'll share more on in a few weeks
All in all, 1,790 Git commits across 4,170 files went in to making this release. It's also our most tested release ever - we've bug bashed it multiple times, and we've had a long beta process with over 100 Octopus 3.0 installations in the wild. Shane's been keeping a close eye on performance, and we've tested it across installations with hundreds of Tentacles.
Eight months is a long time to go between releases. I'm looking forward to getting back into a more regular rhythm of releasing new versions of Octopus every month or two, which incrementally make the software better.
For me, the creative endeavour of software construction, with it's unlimited possibilities, is the perfect vehicle for self-actualization. When Octopus first started, it was a reflection of me and me alone; my ideas, and my flaws. Octopus 3.0, on the other hand, was built by a team that's now 13 strong, and I think it reflects the best of all of us. To my team, it was a real honour to bring Octopus 3.0 into the world with you. Special thanks also to everyone who attended the 3.0 pre-release webinars and provided feedback on our new community forum.