Skip to content

Latest commit

 

History

History
291 lines (224 loc) · 18.4 KB

CHANGELOG.md

File metadata and controls

291 lines (224 loc) · 18.4 KB

Changelog

For a list of breaking changes, check here.

v0.2.4

Thanks to Nextjournal for funding work on prepl. Thanks to the community for taking the time to create issues, discussions and code contributions. Thanks to sponsors on OpenCollective and Github for continued financial support.

New

  • pREPL implementation #664. See docs. The pREPL is used by NextJournal to expose a babashka notebook environment.
  • News page where you can follow the latest developments around babashka.
  • Expose pprint/simple-dispatch #627
  • Support nested libspecs borkdude/sci#399
  • Add OracleDB feature flag #638 (@holyjak)
  • Docker build documentation improvements #643 (@holyjak)
  • Implement get-thread-bindings, var-get and var-set
  • Print used port when starting nREPL server (@plexus)

Fixed / enhanced

Changed

v0.2.3 (2020-10-21)

Thanks to @tzzh, @Heliosmaster, @lispyclouds and @kwrooijen for contributing to this release. Thanks to Clojurists Together for sponsoring this release. Thanks to Adgoji and other sponsors on OpenCollective and Github for their ongoing support.

New

Fixed

Changed

  • The Docker image is now based on Ubuntu instead of Alpine.

v0.2.2 (2020-09-30)

This is a patch release for babashka/babashka.pods#20, but it also introduces new support around reify.

New

  • Support java.nio.file.FileVisitor and java.io.FilenameFilter with reify #600. Nice side effect: this makes babashka compatible with the fs library:
    $ export BABASHKA_CLASSPATH=$(clojure -Spath -Sdeps '{:deps {clj-commons/fs {:mvn/version "1.5.2"}}}')
    $ bb -e '(ns foo (:require [me.raynes.fs :as fs])) (map str (fs/glob "*.md"))'
    ("/Users/borkdude/Dropbox/dev/clojure/glam/README.md")
  • Add classes java.util.zip.ZipInputStream and java.util.zip.ZipEntry. This makes babashka compatible with glam, a work in progress package manager.

Fixed

v0.2.1 (2020-09-25)

Thanks to @RickMoynihan, @joinr, @djblue, @lread, @teodorlu, @tzzh and @zoren for contributing to this release. Thanks to Clojurists Together for sponsoring this release.

New

  • Include org.httpkit.client, a high performance async http client #561
  • Include org.httpkit.server, an HTTP server #556. This namespace should be considered experimental and may stay or be removed in a future version of babashka, depending on feedback from the community. See example
  • Add java.io.FileNotFoundException, java.security.DigestInputStream, java.nio.file.FileVisitOption classes
  • Support implementing IDeref, IAtom and IAtom2 on records sci#401
  • Support compatibility with version-clj #565 @lread and @borkdude
  • Support YAML roundtrip through *input* #583
  • Support clojure.core/find-var sci#420 @RickMoynihan
  • Support clojure.pprint/cl-format #571
  • AWS pod

Fixed / enhanced

  • Fix location printing in REPL (--repl) #598
  • Babashka.curl sends form params incorrectly as multipart babashka.curl#25
  • Update Windows build instructions #574
  • Set minimum macOS version in build explicitly #588
  • Fix NPE in error handling logic #587
  • Fix namespace switch in REPL (--repl) #564
  • Fix location of errors in REPL (--repl) #589
  • Support multi-arity methods in defprotocol sci#406
  • Constructor call not recognized in protocol impl sci#419
  • Improve handling of top-level do in macro expansion sci#421
  • Performance improvements suggested by @joinr sci#415
  • Throw when trying to redefine referred var sci#398
  • pprint is now backed by clojure.pprint/pprint instead of fipp #571

v0.2.0 (2020-08-28)

Thanks to @cldwalker, @dehli, @djblue, @GomoSDG, @grahamcarlyle, @j-cr, @jeroenvandijk, @justone, @kwrooijen, @lread, @patrick-galvin and @wodin for contributing to this release. Thanks to Clojurists Together for sponsoring this release.

New

  • Add support for clojure.datafy, Datafiable and Navigable #468. To play with the new clojure.datafy support, you can use portal:
    $ bb -cp `clj -Spath -Sdeps '{:deps {djblue/portal {:mvn/version "0.4.0"}}}'`
  • Add support for building and running uberjars #536. See docs.
  • Print context, locals and stack trace on exception #543.
  • Expose more transit vars #525 (@djblue)
  • Add add-tap,tap>, remove-tap, class?, iterator-seq, remove-watch, realized?
  • Add clojure.walk/macroexpand-all
  • Add java.lang.ProcessHandle and better support for killing subprocesses via Java interop. See test script.
  • Add clojure.lang.ArityException and tests to support the circleci/bond library #524 (@cldwalker).
  • Add java.time.format.DateTimeParseException

Fixed

v0.1.3 (2020-06-27)

Thanks @llacom, @AndreTheHunterand @xingzheone for contributing to this release.

New

  • Add eldoc support in babashka.nrepl (@borkdude and @llacom)
  • Add java.time.temporal.{TemportalAdjuster, TemporalAmount} classes
  • Add clojure.java.browse/browse-url #495
  • Add classes for cli-matic library (@AndreTheHunter)
  • Add babashka.version system property #479
  • Add java.net.ConnectException class
  • Add babashka.file system property to support __name__ = "__main__" pattern (see docs) #478.

Fixed

  • Make clojure.test/report a dynamic var #482, #491
  • Make clojure.test/test-var a dynamic var
  • Allow arbitrary Clojure code in tagged literals (previously only EDN was allowed)
  • Fix http-server example (@xingzheone)
  • Fix bug in alter-var-root: it used thread-local binding in updating root value
  • Fix for invoking bb -f file.clj when file.clj was empty

v0.1.2 (2020-06-14)

Thanks @jeroenvandijk for contributing to this release.

  • Support :extend-via-metadata option in protocols
  • Fix classpath issue for Windows #496
  • Add double-array, short-array and clojure.lang.BigInt for compatibility with clojure.data.generators
  • Add support for *print-level*
  • Add version info in :describe message of babashka.nrepl #471
  • Add compatibility for honeysql (most notable change: support import for records)

v0.1.1 (2020-06-10)

Thanks @Chowlz and @mharju for contributing to this release.

This release brings compatibility with the camel-snake-kebab and aero libraries due to the introduction of defprotocol, defrecord and other enhancements.

New

  • Add java.io.Console. This is useful for letting users type in passwords.
  • Add initial support for defprotocol and defrecord
  • Add default-data-readers

Enhancements / fixes

  • Fix interop with result of .environment method on ProcessBuilder #460
  • Disable signal handlers via environment variable for AWS Lambda #462 (@Chowlz). See README.md.
  • babashka.curl: fix double quote escaping issue on Windows
  • Fix resolving var in syntax-quote from other namespace brought in via :refer
  • io/resource should return nil for non-relative paths instead of throwing
  • Fix field access interop when wrapped in parens: (Integer/SIZE)

v0.1.0 (2020-06-01)

Thanks @martinklepsch and @cldwalker for contributing to this release.

  • Add more java.time classes. This makes babashka fully compatible with the cljc.java-time library.
  • Add java.lang.Float class
  • Add java.nio.file.PathMatcher class. This allows one to implement a glob function.
  • Support alternative interop form: (. Integer -SIZE) ;;=> 32
  • #454: syntax check on amount of arguments to def
  • #458: add clojure.data namespace

Prior to v0.1.0

Details about releases prior to v0.1.0 can be found here.

Breaking changes

v0.2.4

  • Remove cheshire smile functions #658

v0.2.3

  • The Docker image is now based on Ubuntu instead of Alpine.

v0.0.90

  • The next.jdbc namespace and PostgresQL driver, introduced in v0.0.89, are no longer part of the standardly distributed bb binary. This is now available behind a feature flag. See feature flag documentation.
  • borkdude/babashka.curl#16: Exceptional status codes or nonzero curl exit codes will throw exceptions by default. You can opt out with :throw false.

v0.0.79

  • babashka.curl#9: Functions in babashka.curl like get, post, etc. now always return a map with :status, :body, and :headers.

v0.0.71

  • #267 Change behavior of reader conditionals: the :clj branch is taken when it occurs before a :bb branch.

v0.0.44 - 0.0.45

  • #173: Rename *in* to *input* (in the user namespace). The reason for this is that it shadowed clojure.core/*in* when used unqualified.

v0.0.43

  • #160: Add support for java.lang.ProcessBuilder. See docs. This replaces the conch namespace.