49 KiB
Changelog
For a list of breaking changes, check here.
0.7.4
- Add new namespace from clojure 1.11:
clojure.math - Add new vars from clojure 1.11:
abs,iterate - Add compatibility with
org.clojure/algo.monads - SCI: support
:as-alias - SCI: add
pop!(@kbaba1001) deps.clj: update to clojure CLI 1.10.3.1058- Add metabom jar to docker images #1133 (@kipz, @lispyclouds)
- Add opencontainers annotations to docker image #1134 (@kipz, @lispyclouds)
- Fix Alpine Linux Docker images in CI script #1140 (@kipz, @lispyclouds)
babashka.fs: create dirs incopy-tree(@duzunov)- SCI: fix order of metadata evaluation (@erdos)
- Fix: cannot take value of macro of
-> - Fix #1144: cannot create multidimensional arrays
- Fix #1143: allow optional (ignored)
--when using using--main(@grzm) - SCI: throw when
recuris used from non-tail position - Add more libraries to CI lib tests (@cljwalker)
- Upgrade several built-in deps:
org.clojure/clojure,cheshire,core.async,test.check
0.7.3 (2021-12-30)
0.7.2 (2021-12-29)
- Add
spymacro fromtaoensso.timbre#1087 - Better error for higher order fn arity mismatch
- Check
shasum/sha256suminPATHon install script (@thiagokokada) - Build arm64 docker image in CI #1099 (@cap10morgan)
- Upgrade to
edamamev0.0.19 - Load tasks and deps from other bb.edn file using
--configand--deps-rootoptions #1110 - Uberscript improvements #584, #1037
- Include native elements in printed stacktrace #1105
- Missing error message when exception happens in REPL print #1116
- Undeprecate
$in babashka.process - Add lots of library tests to CI (@cldwalker)
- Release SNAPSHOT builds to babashka-dev-builds (use only for testing)
0.7.0 (2021-12-10)
- Add compatibility with
clojure.spec.alpha. See babashka/spec.alpha and this blog post. - Add
to-array-2d,aclone,areduceandamap(@MrEbbinghaus) - Add
inst-ms - Add
java.util.StringTokenizer clojure.core/readcan read withPushbackReaderthat is notLineNumberingPushbackReader- Allow macroexpand on
foranddoseq(@erdos) - Add
clojure.instant/read-instant-date - Add
StackTraceElement->vec - Add
memfn - Implement Java field access (for
clojure.spec.alpha) - Warn on requiring
clojure.spec.alpha, suggesting to use babashka/spec.alpha - Warn on requiring
clojure.core.specs.alpha, suggesting to explicitly add it to deps - Deprecate
$in babashka.process (still available, but no longer recommended)
0.6.8 (2021-12-02)
- Add
reader-conditional?,test - Deps.clj: bump to tools jar
1.10.3.1040 - Babashka.process: support
derefwith timeout (@SevereOverfl0w) - Add new functions from clojure 1.11 alpha 3 except
clojure.java.math - nREPL server: catch
Throwableinstead ofException, fixes hanging withassert
0.6.7 (2021-11-29)
Minor bugfix release:
print-depsincluded:local/rootdependency which is not valid outside babashka repofs/whichedge case improvement on Windows #1083
0.6.6 (2021-11-29)
- Resolve program in
babashka.processon Windows using known extensions. This means you can now invoke(shell "yarn")and it will work on both Unix-like systems and Windows. - Add
babashka.corenamespace withwindows?predicate. - Add
fs/with-temp-dirtobabashka.fs(@hugoduncan) - Add
fs/homeandfs/expand-hometobabashka.fs(@Kineolyan) clojure.core/readimprovements: support:eof+:read-cond- Add support
*read-eval*,*default-reader-fn*and*reader-resolver*dynamic vars to be used withclojure.core/read. - Add
SQLITEfeature flag (@nikvdp) - Add
javax.crypto.Macandjavax.crypto.spec.SecretKeySpecclasses to support development of yaaws-api (@grzm) - Add
java.net.Inet4Addressandjava.net.Inet6Addressclasses - Fix
--versionoption, don't read cp file. #1071 (@bobisageek) - Add classes to support running the
xforms library from source:
java.util.ArrayDequejava.util.ArrayListjava.util.Collectionsjava.util.Comparatorjava.util.NoSuchElementException
babashka.curl: support:as :bytesoption to download binary file- Add compatibility with hato and
clj-http-lite insecure feature
by adding classes:
java.net.CookiePolicyjava.net.http.HttpTimeoutExceptionjavax.net.ssl.HostnameVerifierjavax.net.ssl.HttpsURLConnectionjavax.net.ssl.KeyManagerFactoryjavax.net.ssl.SSLSessionjavax.net.ssl.TrustManagerFactoryjava.security.KeyStorejava.util.zip.Inflaterjava.util.zip.ZipException
0.6.5 (2021-11-13)
- Compatibility with a fork of tools.namespace. This allows running the Cognitect test-runner (Cognitest) from source.
- Add various
tools.buildrelated classes for running parts of tools.build with bb (@hugoduncan). Keep an eye on this repo. - Deps.clj: upgrade tools jar, support checking manifest staleness (see TDEPS-83)
- Add
clojure.lang.IPersistentList(@FieryCod) - The contajners library is now compatible with babashka
- Support
ObjecttoStringoverride on defrecords #999. - Bump to GraalVM 21.3.0 JVM 11
- Bump
core.asyncto1.4.627 - Bump edamame to
v0.0.14, fixes parsing offoo@bar - Fix segfault when reifying
FileVisitorwithvisitFileFailed#1055 - Add
PGPropertyfields to reflection config (fix for postgres feature flag) #1046 (@bobisageek) - Fix for
babashka.fs/unzipwhen entry in dir comes before dir in entries - Calling
.closeonDirectoryStreamfails #1061 - Add support for
java.nio.file.attribute.BasicFileAttributes
0.6.4
- Fix for
DEPS_CLJ_TOOLS_VERSIONintroduced in deps.clj bundled in 0.6.3
0.6.3
- Add
java.security.Providerandjava.security.Security. This adds compatibility with clj-commons/digest. - Fix mapping for
babashka.fs/unzip#1030 - Pods: support metadata in pod vars, like docstrings (@quoll)
- babashka.curl: support
:follow-redirects false(@sudorock) - Add support for
--initas a file to be loaded before evaluation actions #1033 (@bobisageek) - Bump rewrite-clj to v1.0.699-alpha (@yannvanhalewyn)
- Fix
BABASHKA_FEATURE_POSTGRESQLfeature flag, initializejava.sql.SQLExceptionbuild time #1040 - Deps.clj: upgrade to tools version
1.10.3.998and include newDEPS_CLJ_TOOLS_VERSIONenvironment variable to use older or newer tools jar.
0.6.2
- Add
java.util.zip.ZipFile,java.util.stream.BaseStream - Fix data reader for clojure.data.xml and
*input*#1004 (@bobisageek) - Upgrade
deps.clj(matches clojure CLI1.10.986) - Print locals only when debug option is enabled #1015
SCI:
- Fix order of protocol handling wrt/
extend-type,defrecordand:extend-via-metadata
babashka.curl:
- Support keywords as query and form param keys (@lispyclouds)
babashka.nrepl:
- Fix hanging CIDER #45
babashka.fs:
- Add
fs/unzip
0.6.1
- Fix for
java-http-cljsend-async#997 - Add
PipedInput/OutputStream#1001 aarch64static binaries are compiled with"-H:+StaticExecutableWithDynamicLibC"
SCI:
- Self-referential function returns wrong binding in presence of laziness #1006
0.6.0
- Support for
java.netHTTP Client. This enables running java-http-clj from source. The raw interop is the first part of a multi-stage plan to move all http related scripting towardsjava.net.httpin favor of the other two solutions currently available inbb:babashka.curlandorg.httpkit.client. (@grzm) - Add
*print-readably*and*flush-on-newline*#959 - Support
:clojure.core/eval-file metadata#960 - Add
clojure.data.xml/alias-uri#995 - Make REPL requires available in expression on command line #972 (@bobisageek)
- Fix docstrings and metadata for large number of vars #957 (@bobisageek)
- Upgrade
deps.clj/tools.jarto match Clojure CLI 1.10.3.967 - Add (limited) support for
java.lang.reflect.Method(getNameonly) #969 - Use tagged-literal for unknown tags when reading EDN via
*input*#975 (@bobisageek) - Logging feature flag and
tools.logging.readable#981 (@bobisageek) - Migrate GraalVM config to uberjar #973 (@ericdallo)
- Upgrade to GraalVM 21.2.0
0.5.1
- Add new
print-depssubcommand for printing adeps.ednmap and classpath which includes all built-in deps. This can be used for editor tooling like Cursive and clojure-lsp, but also for migrating a babashka project to a Graal native-image project. - Upgrade
clj-yamlto 0.7.107 which adds two new vars:generate-stream,parse-stream - Add
timbre/merge-config! - Add
strip-exttobabashka.fs(@corasaurus-hex) - Fixed:
with-openfails onjava.io.PrintWriter#953 - Upgrade
deps.cljto match Clojure CLI1.10.3.933 - Upgrade several other deps
0.5.0
Babashka proper:
- Add
clojure.tools.loggingwithtaoensso.timbreas the default implementation - Source compatibility with
org.clojure/data.json {:mvn/version "2.4.0"} - Support
pprint/formatter-out#922 - Support
pprint/cl-formatwithwith-out-str#930 - Support passing
GITLIBSvia:extra-envinclojureto set git lib dir:(clojure {:extra-env {"GITLIBS" ".gitlib"}} ...)#934 - Add
--forceoption to force recomputation of babashka deps classpath. - Add
java.io.FileInputStream. This fixes compatibility with replikativ/hasch. - Update Selmer to
1.12.44, include<<interpolation macro - Passing form on Windows with question mark breaks evaluation #889
- Fix
(read-line)in REPL #899 babashka.tasks/clojurewith:diroption doesn't resolve deps in:dir#914
Deps.clj:
Update to v0.0.16 which corresponds to clojure CLI 1.10.3.855.
Sci:
- Perf improvements
caseexpression generated from macro doesn't work correctly- Fix stacktrace with invalid import borkdude/sci#589
Special thanks to:
- @bobisageek for spending time and energy on getting the majority of tests to work on Windows.
- @ptaoussanis for creating timbre.
- @puredanger for accepting patches to data.json which made it compatible with babashka.
0.4.6
- Upgrade to GraalVM 21.1, fixes #884
0.4.5
Babashka proper:
- Add
java.net.InetSocketAddress - Add support for slingshot #675
- Add STM facilities (
dosync,ref, etc.) - Fix
.wait,.notifyinterop on arbitrary classes
Deps.clj (used for resolving deps and clojure invocations):
- Fix JVM option parsing #46
Sci: various minor performance improvements.
0.4.4
Babashka proper:
- Print ex-data in error report #730 (@GreshamDanielStephens, @rng-dynamics)
- Tasks: support dynamic vars #865
- Tasks: use stable namespace when using
run#865 - Add
java.lang.ProcessHandle$Info#872 - Add
java.util.Optional#872 - Add
java.lang.StackTraceElement(to gain compatibility with libraries such as omniconf)
Babashka.nrepl:
- Error reporting improvement #40
Sci:
- Support trailing metadata in
defn
0.4.3
- Add
cognitect.transit/tagged-value, needed for sql pods
0.4.2
Babashka proper:
- Improve
clojure.java.browse, add*open-url-script*#846 (@thiagokokada) - Add
--checksumoption to install script #842 (@thiagokokada) - Add more agent functions and fix binding conveyance
- Better error handling for parallel tasks #847
- Use
sequential?for identifying if the script output needs splitting (@arichiardi)
Babashka.pods:
- Allow pods to set custom transit read and write handlers
0.4.1
- Base static linux build on musl. The binary should now work in most linuxes out of the box. (@lispyclouds, @thiagokokada)
- Add
NullPointerExceptionto default imports - Add
thread-bound?function - Expose escaping functions from
selmer.util#835 - Fix Windows GraalVM config for httpkit
- Add
:error-fnoption toshell#836 - Add
babashka.taskSystemproperty #837 - Allow thread-first with
shelllikebabashka.process#829
0.4.0
Babashka proper:
- Add Task runner feature
- Add
java.util.zip.ZipOutputStreamclass - Add
java.text.ParseExceptionexception class to support jasentaa parser combinator library - Update Selmer to 1.12.40
Sci:
- Better error msg for protocol not found or class
0.3.8
- Add Selmer to built-in libraries #821
- Don't throw when
PATHisn't set during deps resolving (@ieugen) - Add
with-precisionmacro #662 - Task changes and improvements, see issue
0.3.7
- Ignore local and global deps.edn when resolving deps for
bb.edn#807 - Use
IllegalArgumentExceptionwhen throwing on duplicate case constants #809 - Fix --classpath when no additional args are passed #811
- Task changes and improvements, see issue
0.3.6
Babashka proper:
- Add check for arg count to
formacro #767 - Ignore empty classpath entries #780
- Fix uberjar CLI parsing and throw when no classpath is provided #780
- Support
:min-bb-versioninbb.ednSee docs. #663 - Tasks improvements. See issue.
Deps.clj:
- Windows fixes
Babashka.fs:
0.3.5
- Support binf.cljc library by adding
ByteBufferandCharset-related classes #784 - Tasks improvements. See issue.
- Add
java.security.SecureRandom#790
Sci:
- Add
aset-byte,aset-boolean,aset-short, etc. - Add
bit-clear - Add
bound-fnandbound-fn*
v0.3.4
Babashka:
- Tasks improvements. See issue.
Deps.clj:
- Fix arg parsing when invoking from Powershell #42
v0.3.3
Babashka:
- Fix building uberjar with classpath from
bb.edn#776 - Provide linux arm64 static binaries #782
- Upgrade to Clojure
1.11.0-alpha1to get full map passing to kwargs function support - First cut of bb tasks #778. This is a preview version which is expected to change. Please try it out but use with caution.
Deps.clj:
- Bump tools jar to to 1.10.3.822
Fs:
delete-treeshould not throw when dir does not exist #22
Sci:
- Bug with protocol methods in record where later arg overrides "this" #557
- Support
:renamein:refer-clojure#558
0.3.2
- Include rewrite-clj into babashka #769 .
0.3.1
Babashka proper:
- Support
bb.ednproject config with:pathsand:deps. See docs. - Rewrite CLI arg parsing to to subcommand style invocations:
bb --uberjarbecomesbb uberjar - Support fully qualified symbol in
--mainoption #758. See docs. - Support new
docoption to retrieve a docstring from the command line
Babashka.fs:
- Create target dir automatically in
copy-tree
Babashka.nrepl:
Babashka.process:
Deps.clj:
- Catch up with Clojure CLI 1.10.3.814 #40
Sci:
0.3.0
New
- Linux support for AArch64 #241. This means you can now run babashka on Raspberry Pi 64bit and Chromebooks with ARM 64-bit processors!
A major thanks to CircleCI for enabling AArch64 support in the babashka organization and GraalVM for supporting this platform.
Enhancements / fixes
- Fix
print-methodwhen writing to stdout #667 - Fix interop with
System/out#754 - Support version-clj v2.0.1 by adding
java.util.regex.Matcherto the reflection config - Distribute linux and macOS archives as
tar.gz. The reason is thatunzipis not pre-installed on most unix-y systems. (@grazfather)
Babashka.fs:
- Fix globbing on Windows
- Fix Windows tests
- Fix issue with
copy-treewhen dest dir doesn't exist yet
Thanks @lread for his help on fixing issues with Windows.
Sci:
- Support
:reload-all#552 - Narrow
reifyto just one class. See discussion in sci#549. - Add preliminary support for
proxy(mainly to support pathom3 smart maps) sci#550.
Thanks to @wilkerlucio and @GreshamDanielStephens for their help and discussions.
v0.2.13
Enhancements / fixes
- Add more interfaces to be used with
reify(@wilkerlucio) (mostly to support smart maps with pathom3)
Babashka.curl:
- Use
--data-binarywhen sending files or streams #35
Babashka.fs:
- Add
create-linkandsplit-paths(@eamonnsullivan) - Add
split-extandextension(@kiramclean) - Add
regular-file?(@tekacs) - Globbing is always recursive but should not be #18
Sci:
- Allow combinations of interfaces and protocols in
reify#540 (@GreshamDanielStephens) - Fix metadata on non-constant map literal expression #546
0.2.12
Enhancements / fixes
- Fix false positive cyclic dep problem with doric lib #741
0.2.11
Enhancements / fixes
- Use default
*print-right-margin*value fromclojure.pprint - Upgrade httpkit to 2.5.3 #738
- Upgrade tools.cli to 1.0.206
- Add several classes to be used with
defprotocol(PersistentVector,PersistentHashSet, ...) - Support reifying
clojure.lang.IFnandclojure.lang.ILookup
Sci:
- Detect cyclic load dependencies #531
- Pick fn arity independent of written order #532 (@GreshamDanielStephens)
(instance? clojure.lang.IAtom 1)returnstrue#537- Add
dissoc!(@wilkerlucio) - Add
force - Fix
ns-unmapon referred var #539
Babashka.nrepl:
0.2.10
Sci:
0.2.9
New
- Include babashka.fs
Enhancements / fixes
- Upgrade to GraalVM 21.0.0 #712
Babashka.nrepl:
- Implement pprint support #18 (@kolharsam, @grazfather, @bbatsov)
Sci:
- Fix error reporting in case of arity error #518
- Shadowing record field names in protocol functions #513
- Fix destructuring in protocol method for record #512
- Faster processing of maps, sets and vectors #482
- Prioritize current namespace vars in syntax quote #509
- Fix ns-publics to not include refers #520
- Add
refer-clojuremacro #519
v0.2.8
New
- Include clojure.core.match #594
- Include hiccup #646
- Include clojure.test.check #487. Included namespaces:
- clojure.test.check
- clojure.test.check.generators
- clojure.test.check.properties
Fixed / enhanced
- Fix symbol resolution in syntax quote when overwriting core var
- Performance enhancements
v0.2.7
New
- Add Alpine Docker images #699 (@lispyclouds)
- Add
ppfromclojure.pprint#707
Fixed / enhanced
- Fix issue with unzipping nested directory babashka/pod-registry#4
- Test cannot be defined conditionally #705
- Add
--download-diroption to install script #688 (instance? clojure.lang.Fn x)now works- (.keySet {:a 1}) returns nil #711
- Various performance enhancements
- Babashka.curl: allow keywords as header names #32 (@xificurC)
v0.2.6
New
- Implement pod registry to automatically obtain pods when used in script. #690
- Buddy pod #656
- Etaoin pod 0.0.1 release
- Filewatcher pod 0.0.1 release
- Fswatcher pod (@lispyclouds)
Fixed / enhanced
- Auto-resolved map fix #684
- Handle whitespace after read-cond splice
- Several performance improvements
Thanks
Special thanks to @lispyclouds for hammocking on the pod registry and working on the new fswatcher pod.
v0.2.5
This release adds a new babashka.deps namespace which offers tools.deps
integration. See
docs.
New
- Add
get-classpathandsplit-classpathtobabashka.classpathnamespace. #670. See docs. - Expose
add-depsinbabashka.deps#677. See docs. - Expose
clojureinbabashka.deps#678. See docs. - Implement
--clojureoption to invoke a JVM clojure process similar to the official Clojure CLI. See docs.
Fixed / enhanced
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-getandvar-set - Print used port when starting nREPL server (@plexus)
Fixed / enhanced
- Can't call symbol literal as function #622
:orin destructuring broken forfalsecase- Support aliases in protocol fns borkdude/sci#440
- Reader metadata preservation and evaluation fixes #654, borkdude/sci#447, borkdude/sci#448
- Optimization for constant colls borkdude/sci#452
ns-unmapdoesn't work for imported classes borkdude/sci#432- Fix parsing of trailing uneval in reader conditional borkdude/edamame#65
symbolworks on sci var borkdude/sci#453
Changed
- Remove cheshire smile functions #658
babashka.curlnow calls curl with--compressedby default babashka/babashka.curl#28
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
- babashka/process: a Clojure library for working with
java.lang.Process - pod-tzzh-mail: a pod for sending mail by @tzzh
- pod-babashka-lanterna: a pod for creating TUI apps
- pod.xledger.sql-server: a pod for interacting with SQL Server
- 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 babashka/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 - Add pretty-printer vars from
cheshire.core#619
Fixed
pprint/print-tableshould write tosci/out#611System/exitdoesn't work in REPL #605- 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.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.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. - babashka/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.