Minor releases before 1.0.0 may include breaking changes and will explicitly mark them as such.
- Breaking Clojure 1.4 is no longer supported.
- Upgrade to finagle 6.39.0
- Breaking this must run on a JVM >= 1.8
- Breaking finagle-mysql is no longer experimental and its package has changed.
If you depend on any finagle-mysql classes directly you may need to remove
exp
from their package when importing.
- Upgrade to Finagle 6.33.0, Scrooge 4.5.0, and Clojure 1.8.
- Breaking classes used in finagle-clojure/http have changed. See these changes or the Finagle release notes for more info.
- [core] Add
finagle-clojure.scala/scala-map->map
, converts scala.collection.Map
to a Clojure persistent map. - [http] Message utility functions (thanks @bguthrie. PR
- [mysql]
finagle-clojure.mysql.client/select-stmt
: wrap PreparedStatement parameters correctly (thanks @bguthrie. PR
- [core] Add a
algo.monad
instance for Finagle futures. Also add a dofuture
macro which is a thin layer over domonad
from algo.monads
.
This is intended to serve as a replacement for the custom sequencing macro
that we have at present. (Thanks @missingfaktor!) - Upgrade to Finagle 6.27.0, Scrooge 3.20.0, Scala 2.11, Clojure 1.7
- Note that if you're using other Scala libraries finagle-clojure they may also need to be compiled against Scala 2.11
- [core] Add support for creating other FuturePool types in finagle-clojure.future-pool
- interruptible FuturePools attempt to propagate Future interrupts to the backing thread pool. This can help control resource utilization.
- unbounded-future-pool (& interruptible-unbounded-future-pool) are backed by a cached thread pool executor.
- immediate-future-pool executes tasks on the calling thread, useful for tests.
- [core] add raise & raise-within to finagle-clojure.futures. Used to cancel the underlying operation that will define a Future.
- [lein-finagle-clojure] Add support for running Scrooge's linter before compilation.
- Run
lein help finagle-clojure scrooge
for more info
- [mysql] Add support for finagle-mysql (thanks @bguthrie!). PR
- finagle-clojure/mysql wraps the fully featured Finagle compatible MySQL client finagle-mysql.
- Check out the docs or integration test for examples.
- [core] Add support for automatically lifting Clojure fns to Scala Functions. This allows wrappers like
finagle-clojure.futures/flatmap*
to accept either Clojure or Scala functions.
- Ordinary Clojure fns can be used with any desugared wrapper over a method that ordinarily accepts a Scala function.
There are no breaking changes in this release.
- lein-finagle-clojure now correctly ignores Emacs temp files in the thrift directory (thanks @derekslager!). PR
- Add support for finagle-http (thanks @bguthrie!). PR
- finagle-clojure/http can be used to make asynchronous HTTP requests or to build HTTP servers.
- Check out the integration test for example usage.
- Add helpers in finagle-clojure/core for working with
scala.Option
objects (in the finagle-clojure.options
ns, thanks @bguthrie!). - New Scala interop helper
tuple->vec
, converts Scala Tuples to Clojure Vectors (thanks @bguthrie!). - Add ThriftMux support in finagle-clojure/thriftmux
- thriftmux projects can be generated using the finagle-clojure-template lein template by passing the template arg
project-type thriftmux
- e.g.
lein new finagle-clojure dogs -- project-type thriftmux
- the default for finagle-clojure projects remains thrift
- Upgrade Finagle to version 6.24.0 (from 6.18.0). See the Finagle release notes
- Upgrade scrooge-generator in lein-finagle-clojure to version 3.17.0 (from 3.16.3). See the Scrooge release notes.
- Initial release!
- Releasing version 0.1.0 was aborted as missing scm info in project.cljs prevented promition on clojars.