15 KiB
Changelog
For a list of breaking changes, check here
v0.2.3 (2020-10-21)
Thanks to @tzzh, @Heliosmaster and @kwrooijen for contributing to this release. Thanks to Clojurists Together for sponsoring this release.
New
- babashka/process: a Clojure library for working with
java.lang.Process - pod-tzzh-mail: a pod for sending mail by @tzzh
- Add
lazy-cat#605 - Support error output in babashka.nrepl babashka.nrepl#28 (@tzzh)
- Add lanterna feature flag (@kwrooijen)
- Add socket support to pods babashka/pods#2
- Add
curlto borkdude/babashka Docker image to supportbabashka.curl(@hansbugge) - Add
transit+jsonformat support to pods babashka/pods#21 - Add
bound?borkdude/sci#430 - Add portal example
- Add
*print-namespace-maps*borkdude/sci#428 - Support
clojure.java.io/Coercionsprotocol #601 - Add
clojure.pprint/write#607
Fixed
pprint/print-tableshould write tosci/out#611System/exitdoesn't work in REPL #605pprint/print-tableshould write to sci/out #611- Fix pod destroy function #615
- Bind
*file*in nREPL server babashka/babashka.nrepl#31 - Support
map->constructor on defrecords borkdude/sci#431 - Import should return class #610
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.FileVisitorandjava.io.FilenameFilterwithreify#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.ZipInputStreamandjava.util.zip.ZipEntry. This makes babashka compatible with glam, a work in progress package manager.
Fixed
- Ensure ns map exists for namespaces used only "code" vars babashka/babashka.pods#20. This fixes compatibility with bootleg.
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.FileVisitOptionclasses - Support implementing
IDeref,IAtomandIAtom2on records sci#401 - Support compatibility with version-clj #565 @lread and @borkdude
- Support YAML roundtrip through
*input*#583 - Support
clojure.core/find-varsci#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
defprotocolsci#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
pprintis now backed byclojure.pprint/pprintinstead 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,DatafiableandNavigable#468. To play with the newclojure.datafysupport, 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.ProcessHandleand better support for killing subprocesses via Java interop. See test script. - Add
clojure.lang.ArityExceptionand tests to support the circleci/bond library #524 (@cldwalker). - Add
java.time.format.DateTimeParseException
Fixed
- Fix order of namespaces in uberscript #535
- Fix reading resources from jar files #528
- Switch from canonical to absolute paths in
:filefield on var metadata #532 - Babashka shows wrong filename when error is from required ns #508
- Eval metadata on var created with
defnborkdude/sci#36 - Metadata fn on var fails if calling the var itself borkdude/sci#363
- Allow re-binding of core vars in with-redefs borkdude/sci#375
- Fix
falsedynamic binding value (which was read asnil) borkdude/sci#379 - Fix setting of
*warn-on-reflection*in nREPL session babashka/babashka.nrepl#25 - Fix protocols with multiple methods on defrecords borkdude/sci#367 (@patrick-galvin)
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.versionsystem property #479 - Add
java.net.ConnectExceptionclass - Add
babashka.filesystem property to support__name__ = "__main__"pattern (see docs) #478.
Fixed
- Make
clojure.test/reporta dynamic var #482, #491 - Make
clojure.test/test-vara 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.cljwhenfile.cljwas empty
v0.1.2 (2020-06-14)
Thanks @jeroenvandijk for contributing to this release.
- Support
:extend-via-metadataoption in protocols - Fix classpath issue for Windows #496
- Add
double-array,short-arrayandclojure.lang.BigIntfor compatibility with clojure.data.generators - Add support for
*print-level* - Add version info in
:describemessage of babashka.nrepl #471 - Add compatibility for honeysql
(most notable change: support
importfor 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
defprotocolanddefrecord - Add
default-data-readers
Enhancements / fixes
- Fix interop with result of
.environmentmethod onProcessBuilder#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/resourceshould returnnilfor 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.timeclasses. This makes babashka fully compatible with the cljc.java-time library. - Add
java.lang.Floatclass - Add
java.nio.file.PathMatcherclass. 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.datanamespace
Prior to v0.1.0
Details about releases prior to v0.1.0 can be found here.
Breaking changes
v0.2.3
- The Docker image is now based on Ubuntu instead of Alpine.
v0.0.90
- The
next.jdbcnamespace and PostgresQL driver, introduced inv0.0.89, are no longer part of the standardly distributedbbbinary. This is now available behind a feature flag. See feature flag documentation. - borkdude/babashka.curl#16:
Exceptional status codes or nonzero
curlexit codes will throw exceptions by default. You can opt out with:throw false.
v0.0.79
- babashka.curl#9:
Functions in
babashka.curllikeget,post, etc. now always return a map with:status,:body, and:headers.
v0.0.71
- #267 Change behavior of
reader conditionals: the
:cljbranch is taken when it occurs before a:bbbranch.
v0.0.44 - 0.0.45
- #173: Rename
*in*to*input*(in theusernamespace). The reason for this is that it shadowedclojure.core/*in*when used unqualified.
v0.0.43
- #160: Add support for
java.lang.ProcessBuilder. See docs. This replaces theconchnamespace.