[ANN] system 0.2.0

149 views
Skip to first unread message

Daniel Szmulewicz

unread,
Nov 22, 2015, 7:15:24 PM11/22/15
to Clojure
I am happy to announce that system is now at 0.2.0

What's new?

* New components

  • Cider nREPL component
  • Neo4j component
  • Quartzite component 
  • ScheduledExecutorService component
  • Immutant web service component

* Modified components

It is noteworthy that changes in components are non-breaking.

  • Web components (jetty, immutant, http-kit) can be passed functions, but also components. This allows ad-hoc components to participate in dependency injection scenarii. User-defined components should respect the convention that (:app my-custom-component) returns a web handler. The provided App component does exactly this, enabling a dependency graph where the web server depends on routes and middleware, which in turn depend on a database. A full example is available in the repository.
  • The aforementioned App component uses closures to expose resources to http requests instead of merging it in the request map. This is a best practice, well argued by James Reeves in his "Structuring Clojure Web Applications" article.
  • The Monger component can be initialized with a function that receives the db as argument. A typical use case is to create/ensure indices on startup. Refer to the tests for usage examples.
  • A link to a video of my talk on Interactive programming has been added to the README. If you are new to system, the video should give you all the context needed to get up to speed.
Special thanks to contributors for the current release: Karel Miarka, Thomas Sonntag and Larry Stanton Jr.

Reply all
Reply to author
Forward
0 new messages