TL;DR The brand-spanking-new Stash developer site is now online here and documentation for the Stash REST API has touched down here. These updates couldn’t have come at a better time as Atlassian Codegeist has just started (with some serious cash prizes and a category specifically for Stash) so get hacking! A bit of history Stash 2.1 has a bunch of cool new features, but what really excites me are the improvements to the Stash plugin system and developer documentation that we’ve shipped with this release. The Atlassian plugin system started as a small library embedded in JIRA almost a decade ago, and has since facilitated over 1,477 plugins across seven different Atlassian products. Stash itself started life as a fork of the Atlassian RefApp – a bare-bones Java web app container with an Atlassian plugins implementation – and has supported plugins since day one. In fact, a large number of the features that ship with the standard Stash distribution actually are plugins. Three of the headline features from 2.1(JIRA integration, build integration and the new pull request inbox) all ship as bundled plugins, as are SSH support, branch permissions and countless other Stash features from previous releases. If you download the Stash source (as all commercial license holders are entitled to do - yes, even $10 starter license holders!) you can take a gander at our modular, highly-pluggable architecture. All of these have been built on top of the public Stash API and SPI, as well as the common Atlassian Platform libraries available in all Atlassian applications. Who cares? If Stash 2.1 were sentient, you might have a conversation with it like this: Developer: ”So Stash, you’re built on plugins, who cares?” Stash: ”You do, let me tell you why: All of these great features are built on top of a robust, battle-hardened API that is expanded upon, but backwards-compatible, every release. Stash works pretty great out of the box, but I just bet there’s a facet of your development workflow that you could grease up a little bit with a plugin or two: Want to notify a build server whenever a new branch is pushed to any repository in Stash? Build yourself a push event listener. Not using JIRA? You should be. But until that day comes you could tweak the Stash UI a little and integrate with your own issue tracker (or wiki, build server, legacy VCS, toaster or whatever). Think it’d be cool to send a custom message to developers every time they push or pull? Maybe run a little static analysis and berate them for using tabs instead of spaces? Hack up a little pre-receive hook and let Stash lay the smackdown for you. Sick of crafting arcane curl commands to communicate with REST APIs? Keep it short and sweet on the command line with custom SSH commands. Want to stop that half-mad person on your team (I think they’re related to the boss?) from merging pull requests willy-nilly? Lock ‘em out with a bespoke merge check. Want to do something else to Stash? You probably can. Head over to our brand spanking new developer docs site and take a look at what’s available. Developer: ”Wow! That does sound kinda sweet. I [...]