The last Chestnut release came out last June. In the 10 months since then changes, additions and improvements have been accumulating on master.
The big one is Stuart Sierra's Component support, both on the backend and, since today, on the frontend. This is a big change, and it introduces some more complexity and boilerplate, but I think it's important that Chestnut provides people with best practices, and that includes using a Component framework.
Now half of you are thinking: "what about mount?". I initially held off mount support because I wanted to make sure the component support had stabilized first. I think we're there now, and mount adoption is big enough that it makes sense to add it. I'm happy to review a PR to add a
+mount switch, I'm also happy to ship 0.15.0 without Mount support. Patches welcome, in other words.
Another patch that would be really welcome is a
+sente flag. This would be an excellent test to see if the component setup helps us to modularly add components, and it would impact both the front- and the backend.
But both of those are nice to have. What we do have in the meanwhile is support for two new frontend libraries,
+re-frame, and support
+garden as a CSS system.
I would like to move quickly in getting 0.15.0 out. We've held off on it long enough. The one part where things are still lacking is in documentation. Chestnut aims to be user and beginner friendly, and from the start it's differentiated itself with better-than-average docs. Now the docs are getting old and unmaintained, and it's high time we address that.
The main things that I'd like to see in the docs
- a code walkthrough. "What's in the box"
- how to start/stop/restart the app and get a REPL in various environments (plain REPL, Emacs, Cursive, etc)
- an overview how things are tied together
- instructions on building an uberjar and deploying it to production
The current docs are markdown files which compile to a docbook, I think we can get rid of that setup and just use plain markdown files hosted directly on Github, the way that re-frame does it.
If you want to help out just jump into the code, or get in touch here. Someone also recently created a
#chestnut channel on slack, so you can find me there as well.