2020-05-30 15:56:10 +00:00
# Changelog
2020-11-21 11:15:06 +00:00
For a list of breaking changes, check [here ](#breaking-changes ).
2020-05-30 15:56:10 +00:00
2022-03-03 13:48:40 +00:00
A preview of the next release can be installed from
[babashka-dev-builds ](https://github.com/babashka/babashka-dev-builds ).
2022-07-29 19:18:20 +00:00
2022-11-01 12:09:28 +00:00
## Unreleased
2022-11-08 11:35:21 +00:00
- Add `run-test` and `run-test-var` to `clojure.test`
2022-11-18 22:43:42 +00:00
- Compatibility with Cognitest [test-runner ](https://github.com/cognitect-labs/test-runner ) and [tools.namespace ](https://github.com/clojure/tools.namespace )
2022-11-11 14:35:29 +00:00
- Compile distributed uberjar using GraalVM, fixes `babashka.process/exec` for Nix
2022-11-11 16:34:44 +00:00
- [#1414 ](https://github.com/babashka/babashka/issues/1414 ): preserve metadata on exec task function argument map
2022-11-13 21:07:01 +00:00
- [#1269 ](https://github.com/babashka/babashka/issues/1269 ): add lib tests for sluj ([@bobisageek](https://github.com/bobisageek))
2022-11-17 15:58:20 +00:00
- Update nix app example in docs
2022-11-20 10:34:31 +00:00
- Add `java.lang.Error` and `java.net.URLClassLoader` (only for compatibility with the `clojure.java.classpath` lib)
- Deps.clj `deps.clj: 1.11.1.1200`
- Upgrade timbre to `6.0.1`
- Performance improvements in SCI
- SCI: preserve stack information on `throw` expressions
2022-11-18 22:43:42 +00:00
2022-11-01 12:11:56 +00:00
## 1.0.165 (2022-11-01)
2022-09-24 11:54:26 +00:00
2022-10-23 18:07:22 +00:00
- Fix [#1401 ](https://github.com/babashka/babashka/issues/1401 ): mutation of `deftype` field should be visible in protocol method
- Fix [#1405 ](https://github.com/babashka/babashka/issues/1405 ): drop name metadata from conditionally defined var
2022-10-24 20:23:24 +00:00
- [#602 ](https://github.com/babashka/babashka/issues/602 ): add lib tests for clj-commons/fs ([@bobisageek](https://github.com/bobisageek))
2022-10-25 09:11:31 +00:00
- Add `java.net.URLConnection` class
2022-10-31 21:40:39 +00:00
- Add `java.time.zone.ZoneRules` class
2022-11-01 11:46:18 +00:00
- Copy more docstrings for core macros and vars
- Bump `core.async` to `1.6.673`
2022-11-01 12:09:28 +00:00
- Implement `in-ns` as function, rather than special form ([@SignSpice](https://github.com/SignSpice))
2022-11-01 11:46:18 +00:00
- Bump `deps.clj` to `1.11.1.1182`
- Bump GraalVM to `22.3.0`
- SCI: don't rely on metadata for record implementation
2022-10-18 16:05:59 +00:00
## 1.0.164 (2022-10-17)
- SCI: optimizations for `let`
2022-09-26 08:52:59 +00:00
- Add single argument read method support to PipedInputStream proxy ([@retrogradeorbit](https://github.com/retrogradeorbit))
2022-10-04 17:11:59 +00:00
- feat: Honor `*print-namespace-maps*` in pprint ([@ghoseb](https://github.com/ghoseb))
2022-10-06 12:12:13 +00:00
- [#1369 ](https://github.com/babashka/babashka/issues/1369 ): provide `.sha256` files for every released asset
2022-10-18 15:27:17 +00:00
- [#1397 ](https://github.com/babashka/babashka/issues/1397 ): Add `clojure.lang.Namespace` as alias for `sci.lang.Namespace` , such that `(instance? clojure.lang.Namespace *ns*)` returns `true` in bb
2022-10-18 15:32:22 +00:00
- [#1384 ](https://github.com/babashka/babashka/issues/1384 ): allow `.indexOf` on `LazySeq`
2022-10-18 15:54:38 +00:00
- [#1330 ](https://github.com/babashka/babashka/issues/1330 ): allow `(set! *warn-on-reflection*)` in programmatic nREPL
2022-10-18 16:05:59 +00:00
- Better error message when failing to load `bb.edn` ([@lispyclouds](https://github.com/lispyclouds))
- Pods: print and flush to `*out*` and `*err*` instead of using `println` ([@justone](https://github.com/justone))
- deps.clj: support for `CLJ_JVM_OPTS` and `JAVA_OPTS` ([@ikappaki](https://github.com/ikappaki))
- Fix `*print-namespace-maps*` when using `clojure.pprint` ([@ghoseb](https://github.com/ghoseb))
- Process: only slurp `*err*` when inputstream ([@ikappaki](https://github.com/ikappaki))
- Process: add `alive?` API function ([@grzm](https://github.com/grzm))
- Bump libraries: tools.cli, babashka.cli
- [#1391 ](https://github.com/babashka/babashka/issues/1391 ): include raw in `hiccup2.core` ns
- [#1391 ](https://github.com/babashka/babashka/issues/1391 ): support loading `hiccup.page` when adding hiccup to deps
2022-09-24 11:54:26 +00:00
2022-09-24 11:27:04 +00:00
## 0.10.163 (2022-09-24)
2022-09-09 15:25:32 +00:00
2022-09-24 11:25:06 +00:00
- [#808 ](https://github.com/babashka/babashka/issues/808 ): support `-Sdeps` option to support passing extra deps map which will be merged last
2022-09-24 11:56:25 +00:00
- [#1336 ](https://github.com/babashka/babashka/issues/1336 ): tasks subcommand doesn't work with global `-Sforce` option ([@bobisageek](https://github.com/bobisageek))
- [#1340 ](https://github.com/babashka/babashka/issues/1340 ): `defprotocol` methods are missing `:doc` metadata ([@bobisageek](https://github.com/bobisageek))
2022-09-22 18:04:41 +00:00
- [#1368 ](https://github.com/babashka/babashka/issues/1368 ): `-x` : do not pick up on aliases in `user` ns
2022-09-22 12:05:42 +00:00
- [#1367 ](https://github.com/babashka/babashka/issues/1367 ): Fix line number in clojure.test output ([@retrogradeorbit](https://github.com/retrogradeorbit))
2022-09-22 12:05:50 +00:00
- [#1370 ](https://github.com/babashka/babashka/issues/1370 ): Add `core.async` `to-chan!` , `to-chan!!` , `onto-chan!` ([@cap10morgan](https://github.com/cap10morgan))
2022-09-24 11:56:46 +00:00
- [#1358 ](https://github.com/babashka/babashka/issues/1358 ): Expose a subset of `java.lang.ref` to enable hooking into the destruction/GC of objects ([@retrogradeorbit](https://github.com/retrogradeorbit))
2022-09-18 10:29:16 +00:00
- [#1364 ](https://github.com/babashka/babashka/issues/1364 ): Be tolerant of unknown tags in `bb.edn`
2022-09-18 10:48:21 +00:00
- Add and expose `babashka.classes/all-classes` to get a list of all available classes (as `java.lang.Class` objects) ([@eerohele](https://github.com/eerohele))
- Add more reflection class methods ([@eerohele](https://github.com/eerohele))
- Bump `clj-yaml`
- Add `-x` help
- Set `TCP_NODELAY` in pods for performance
- Expose `clojure.main/with-bindings`
- Add `ThreadPoolExecutor` rejection policy classes ([@eerohele](https://github.com/eerohele))
- Download but don't run pods when `os.name` / `os.arch` don't match ([@cap10morgan](https://github.com/cap10morgan))
- Add `clojure.core.server/stop-server` ([@eerohele](https://github.com/eerohele))
- Add `ns-unalias`
- Add `AtomicInteger` and `AtomicLong` to full interop
- Add `PrintWriter-on`
- Improve `reify` error messages ([@retrogradeorbit](https://github.com/retrogradeorbit))
- Expose `core.async` `ManyToManyChannel`
- fs: add `write-lines`
- fs: add `write-bytes`
- [#1350 ](https://github.com/babashka/babashka/issues/1350 ): map `clojure.lang.Var` to `sci.lang.Var`
2022-09-24 10:41:00 +00:00
- Use temporary fork of `clj-yaml` with new `:load-all` , `:unknown-tag-fn`
options and preserves strings with numbers that start with zeros as strings
(this solves a problem when YAML 1.1 output is read as YAML 1.2.). Once
upstream SnakeYAML 1.33 lands, this will be used again.
2022-09-09 15:25:32 +00:00
2022-09-04 20:56:51 +00:00
## 0.9.162 (2022-09-04)
2022-08-23 15:40:28 +00:00
2022-09-18 10:51:02 +00:00
Check out our new project: [bbin ](https://github.com/babashka/bbin ): install any Babashka script or project with one command. Thanks [@rads ](https://github.com/rads )!
2022-09-06 08:24:15 +00:00
2022-09-18 10:51:02 +00:00
- Throw exception on attempt to reify multiple interfaces ([@retrogradeorbit](https://github.com/retrogradeorbit))
- Allow java.lang.Object reify with empty methods ([@retrogradeorbit](https://github.com/retrogradeorbit))
2022-08-23 15:40:28 +00:00
- [#1343 ](https://github.com/babashka/babashka/issues/1343 ): Fix postgres feature
2022-08-26 07:45:12 +00:00
- [#1345 ](https://github.com/babashka/babashka/issues/1345 ): add `javax.net.ssl.SSLException` and `java.net.SocketTimeoutException` classes ([@lread](https://github.com/lread))
2022-09-04 19:39:39 +00:00
- Fix `satisfies?` with marker protocol (no methods)
- Update `rewrite-clj`
- Update `deps.clj`
- Update `babashka.cli`
- Update `org.clj-commons/clj-yaml`
- `babashka.fs` : fix `expand-home` on Windows
- `babashka.fs` : expose `:win-exts`
- nREPL: preserve stacktrace on exception
- Fix [#1322 ](https://github.com/babashka/babashka/issues/1322 ): improve error location
- Fix [#1338 ](https://github.com/babashka/babashka/issues/1338 ): `add-watch` segfault
2022-09-04 21:26:13 +00:00
- Fix [#1339 ](https://github.com/babashka/babashka/issues/1339 ): resolve record name ending with dot.
2022-09-04 19:39:39 +00:00
2022-07-31 12:20:40 +00:00
## 0.9.161 (2022-07-31)
- Fix `exec`
2022-07-29 19:18:20 +00:00
## 0.9.160 (2022-07-29)
- Breaking: change `exec` , introduced in `0.9.159` to a function instead.
You now write `(exec 'mynamespace.function)` instead.
2022-03-03 13:48:40 +00:00
2022-07-29 11:10:24 +00:00
## 0.9.159 (2022-07-29)
2022-07-29 10:57:23 +00:00
2022-07-29 19:32:36 +00:00
Read the introductory blog post about the new babashka CLI integration [here ](https://blog.michielborkent.nl/babashka-tasks-meets-babashka-cli.html ).
2022-07-29 10:57:23 +00:00
- [#1324 ](https://github.com/babashka/babashka/issues/1324 ): `-x` to invoke a function with babashka CLI
- [#1324 ](https://github.com/babashka/babashka/issues/1324 ): `babashka.tasks/exec` to invoke a function with babashka CLI in tasks
- SCI: don't eval metatada on defn body
- SCI issue 774: make interpreter stacktrace available to user
- `babashka.process` : improve `tokenize`
- Upgrade to GraalVM 22.2.0 (#1325)
2022-07-01 10:46:22 +00:00
## 0.8.157 (2022-07-01)
2022-06-20 10:48:31 +00:00
2022-07-01 10:46:22 +00:00
- Add compatibility with [`metosin/malli` ](https://github.com/metosin/malli#babashka ) `{:mvn/version "0.8.9"}` .
2022-06-20 10:48:31 +00:00
- Expose `babashka.nrepl.server/start-server!` - and `stop-server!` -functions to support programmatically starting
an nrepl-server. `start-server!` is redefined to not require a sci-context as its first argument.
2022-06-29 20:48:19 +00:00
- Fix misspelling in script/uberjar: `BABASHKA_FEATURE_TRANSIT`
2022-06-20 10:48:31 +00:00
2022-06-08 17:40:56 +00:00
## 0.8.156 (2022-06-08)
2022-06-08 18:06:21 +00:00
- macOS aarch64 support. Upgrading via brew or the installer script should
install the aarch64 version on an M1 system.
2022-06-08 17:40:56 +00:00
- Support for running [prismatic/schema ](https://github.com/plumatic/schema )
2022-06-08 18:06:21 +00:00
from source. There is an open PR for babashka. Until it is merged you can use
2022-06-08 18:15:44 +00:00
[this ](https://github.com/borkdude/schema/tree/bb-test-suite ) fork.
2022-06-08 17:40:56 +00:00
- SCI: many small improvements, especially in `defrecord` (discovered while
trying to make `schema.core` work)
2022-06-08 18:06:21 +00:00
- Switch version schema to major.minor.release_count.
2022-06-08 17:40:56 +00:00
- babashka.nrepl: fix completions for static Java interop
- `fs/read-all-lines` , support charset
- fs: `strip` and `split-ext` are less reliant on file system and are now just
string operations
- Bump cheshire
- Add `babashka.process/exec` for exec call (replacing the current process)
- Improve `babashka.process/tokenize`
- [#1264 ](https://github.com/babashka/babashka/issues/1264 ): add support for calling `ScheduledExecutorService`
- Add support for `sun.misc.SignalHandler`
- Add `java.net.BindException` , `clojure.lang.AFunction` , `AbstractMethodError`
- Upgrade httpkit to `2.6.0-RC1`
- Add `process/shell` , similar to `babashka.tasks/shell` but in process ns
- pods: fix benign socket closed exception error output
2022-05-13 09:07:11 +00:00
2022-05-06 12:57:01 +00:00
## 0.8.2 (2022-05-06)
2022-04-16 09:36:06 +00:00
- Convey `*print-length*` to pprint and allow `set!`
2022-05-04 13:07:20 +00:00
- `babashka.nrepl` : support pprint length
- SCI: support invoking field, without dash
- Add compatibility with clojure numeric tower
2022-05-06 12:57:01 +00:00
- Update deps.clj to tools jar `1.11.1.1113`
2022-05-04 13:07:20 +00:00
- Compatibility with fipp and puget
2022-05-06 12:57:01 +00:00
- Fix [#1233 ](https://github.com/babashka/babashka/issues/1233 ): don't print error to stdout in prepl
- Update process with `:pre-start-fn` option
- Update fs with `cwd` and Windows glob improvements
- Expose edamame, fixes [#549 ](https://github.com/babashka/babashka/issues/549 ) and [#1258 ](https://github.com/babashka/babashka/issues/1258 ) (#1259)
2022-05-06 12:59:11 +00:00
- Support `BABASBHKA_PODS_DIR` environment variable
2022-04-16 09:36:06 +00:00
2022-04-15 19:42:04 +00:00
## 0.8.1 (2022-04-15)
2022-04-05 09:03:39 +00:00
2022-04-05 09:04:38 +00:00
- Add `prepare` subcommand to download deps & pods and cache pod metadata
2022-04-05 09:03:39 +00:00
- [#1041 ](https://github.com/babashka/babashka/issues/1041 ): Improve error message when regex literal in EDN config
2022-04-07 12:02:06 +00:00
- [#1223 ](https://github.com/babashka/babashka/issues/1223 ): Ensure that var metadata (specifically `:name` ) aligns with the var's symbol (which in turn ensures that `doc` will print the var's name)
2022-04-15 19:42:04 +00:00
- [#556 ](https://github.com/babashka/babashka/issues/556 ) Add server-status to org.httpkit.server
- [#1231 ](https://github.com/babashka/babashka/issues/1231 ): missing methods in `reify` should fall back to default interface methods
- Fix destructuring in defrecord protocol impls
- Support `*print-dup*`
2022-04-05 09:03:39 +00:00
2022-04-04 14:22:45 +00:00
## 0.8.0 (2022-04-04)
2022-03-23 16:08:59 +00:00
### New
2022-04-04 14:19:35 +00:00
- [#863 ](https://github.com/babashka/babashka/issues/863 ): allow pods to be declared in `bb.edn` and load them when required. See [pod library docs ](https://github.com/babashka/pods#in-a-babashka-project ) and the entry in the [babashka book ](https://book.babashka.org/#_pods_in_bb_edn ) for details.
2022-03-23 16:08:59 +00:00
2022-03-23 22:48:09 +00:00
### Enhanced
- [#1216 ](https://github.com/babashka/babashka/issues/1216 ): support `core.async/alts!` using polyfill
2022-03-25 11:06:55 +00:00
- [#1220 ](https://github.com/babashka/babashka/issues/1220 ): add reflection on java.util.concurrent.Future
2022-04-03 12:11:03 +00:00
- [#1211 ](https://github.com/babashka/babashka/issues/1211 ): return exit code 130 on sigint
2022-03-31 08:00:16 +00:00
- [#1224 ](https://github.com/babashka/babashka/issues/1224 ): add `proxy` support for `java.io.PipedInputStream` and `java.io.PipedOutputStream` . Add reflection for `java.utils.Scanner` .
2022-04-03 12:45:13 +00:00
- [babashka.curl#43 ](https://github.com/babashka/babashka.curl/issues/43 ) fix: last set-cookie headers on a page overwrites the ones before
2022-04-15 19:42:04 +00:00
- [#1216 ](https://github.com/babashka/babashka/issues/1216 ): fix `core.async` alts example with polyfill
2022-04-03 12:55:10 +00:00
- SCI: support `let*` special form
- Add compatibility with GraalVM 22.1
- Bump timbre
2022-04-03 13:06:37 +00:00
- Bump Clojure to 1.11.0
2022-04-03 12:55:10 +00:00
- Pods: support Rosetta2 fallback
- Process: fix for pprint
- Fs: improvement for which: do not match on local paths
- Proxy support for PipedInputStream and PipedOutputStream
- Expose `java.util.Scanner` for interop
- Bump Selmer
2022-04-04 14:18:36 +00:00
- Add `->Eduction`
- Add `*unchecked-math` for compatibility
2022-03-31 08:00:16 +00:00
2022-03-13 19:03:39 +00:00
## 0.7.8 (2022-03-13)
2022-03-11 10:03:42 +00:00
2022-03-13 19:29:34 +00:00
This release improves compatibility with several libraries: [loom ](https://github.com/aysylu/loom ), [hugsql.core ](https://www.hugsql.org ) and [specter ](https://github.com/redplanetlabs/specter )!
2022-03-13 19:31:00 +00:00
To use specter in babashka, use the following coordinates:
2022-03-13 19:29:34 +00:00
``` clojure
2022-03-18 18:35:44 +00:00
{:deps {com.rpl/specter {:mvn/version "1.1.4"}}}
2022-03-13 19:29:34 +00:00
```
2022-03-11 11:31:45 +00:00
- Add `clojure.data.priority-map` as built-in library - this makes babashka compatible with [aysylu/loom ](https://github.com/aysylu/loom )
2022-03-13 19:03:39 +00:00
- Add part of `clojure.tools.reader.reader-types` to support [hugsql.core ](https://www.hugsql.org )
2022-03-11 10:03:42 +00:00
- [#1204 ](https://github.com/babashka/babashka/issues/1204 ) add property `babashka.config` to reflect `bb.edn` location ([@mknoszlig](https://github.com/mknoszlig))
2022-03-13 19:03:39 +00:00
- Several fixes and enhancements to run Red Planet Lab's [specter ](https://github.com/borkdude/specter/commit/8ba809a2cd35d3b6f8c5287e6bd3b4e06e42f6dc ) library in babashka
- [#1199 ](https://github.com/babashka/babashka/issues/1199 ): support `print-method` impls on records
2022-03-12 12:37:26 +00:00
- `babashka.fs` : add `windows?` predicate
- SCI: add `*clojure-version*` and `(clojure-version)`
2022-03-13 19:03:39 +00:00
- Add `java.util.zip.Deflater` and `java.util.zip.DeflaterOutputStream`
- SCI: implement `declare` as macro
- [#938 ](https://github.com/babashka/babashka/issues/938 ): drop location metadata from symbols, except top level
2022-03-11 10:03:42 +00:00
2022-03-04 14:26:09 +00:00
## 0.7.7 (2022-03-04)
2022-02-27 10:50:46 +00:00
2022-02-27 11:10:33 +00:00
### New
- [#1187 ](https://github.com/babashka/babashka/issues/1187 ) tasks: Add `:result` key to `(current-task)` map that can be used in `:leave` task hook
2022-03-03 13:48:40 +00:00
- [#1192 ](https://github.com/babashka/babashka/issues/1192 ): expose `*assert*`
- Add `clojure.instant/parse-timestamp`
- Compatibility with [at-at ](https://github.com/overtone/at-at ) by adding:
- `java.text.SimpleDateFormat`
- `java.util.concurrent.ThreadPoolExecutor`
- `java.util.concurrent.ScheduledThreadPoolExecutor`
2022-03-04 11:43:49 +00:00
- Add `pprint/get-pretty-writer`
2022-02-27 11:10:33 +00:00
2022-02-27 10:50:46 +00:00
### Enhancements
2022-02-27 11:10:33 +00:00
- [#1190 ](https://github.com/babashka/babashka/issues/1190 ) tasks: task dependencies resolve as core.async channels
2022-03-03 13:48:40 +00:00
- Bump tools deps jar to `1.10.3.1087`
2022-02-27 10:50:46 +00:00
2022-02-24 11:39:23 +00:00
## 0.7.6 (2022-02-24)
2022-02-16 10:18:44 +00:00
2022-02-24 11:39:23 +00:00
Please leave some feedback about babashka in the [2022 Q1 Survey ](https://forms.gle/ko3NjDg2SwXeEoNQ9 )!
2022-02-18 21:55:17 +00:00
2022-02-24 11:39:23 +00:00
- SCI performance improvements
- Bump clj-yaml to 0.7.1.108
2022-02-18 21:55:17 +00:00
- [#1181 ](https://github.com/babashka/babashka/issues/1181 ): clojure.test report does not respect *test-out* correctly
2022-02-24 11:28:11 +00:00
- [#1180 ](https://github.com/babashka/babashka/issues/1180 ): limit bb tasks output to first line of docstring
2022-02-24 11:39:23 +00:00
- babashka.process: support appending to `:out` file
- babashka.fs: add `create-temp-file` , `read-attributes*` , `zip`
2022-02-16 10:18:44 +00:00
## 0.7.5 (2022-02-16)
2022-02-08 22:54:36 +00:00
2022-02-16 13:18:13 +00:00
Please leave some feedback about babashka in the [2022 Q1 Survey ](https://forms.gle/ko3NjDg2SwXeEoNQ9 )!
2022-02-16 09:48:10 +00:00
- SCI: Performance improvements for loops and varargs function invocation.
- Fix [#1170 ](https://github.com/babashka/babashka/issues/1170 ): `defmacro` with a `defrecord` inside fails to resolve classname in protocol implementation.
- Bump deps.clj to tools jar `1.10.3.1082` .
- Upgrade to GraalVM 22.0.0.2.
- Add `halt-when` .
- Add `java.io.Data` classes
- Add compatibility with [clojure-msgpack ](https://github.com/edma2/clojure-msgpack )
- Upgrade to clojure 11 beta1
- Bump transit to 1.0.329
2022-02-08 22:54:36 +00:00
2022-01-25 17:14:24 +00:00
## 0.7.4 (2022-01-25)
2022-01-11 12:21:52 +00:00
2022-01-25 17:15:10 +00:00
Please leave some feedback about babashka [here ](https://forms.gle/ko3NjDg2SwXeEoNQ9 ).
2022-01-25 14:23:53 +00:00
- Add new namespace from clojure 1.11: `clojure.math`
2022-01-25 17:14:24 +00:00
- Add new vars from clojure 1.11: `abs` , `iteration`
2022-01-25 14:23:53 +00:00
- Add compatibility with `org.clojure/algo.monads`
- SCI: support `:as-alias`
- SCI: add `pop!` ([@kbaba1001](https://github.com/kbaba1001))
- `deps.clj` : update to clojure CLI 1.10.3.1058
- Add metabom jar to docker images [#1133 ](https://github.com/babashka/babashka/issues/1133 ) ([@kipz](https://github.com/kipz), [@lispyclouds ](https://github.com/lispyclouds ))
- Add opencontainers annotations to docker image [#1134 ](https://github.com/babashka/babashka/issues/1134 ) ([@kipz](https://github.com/kipz), [@lispyclouds ](https://github.com/lispyclouds ))
- Fix Alpine Linux Docker images in CI script [#1140 ](https://github.com/babashka/babashka/issues/1140 ) ([@kipz](https://github.com/kipz), [@lispyclouds ](https://github.com/lispyclouds ))
- `babashka.fs` : create dirs in `copy-tree` ([@duzunov](https://github.com/duzunov))
- SCI: fix order of metadata evaluation ([@erdos](https://github.com/erdos))
- Fix: cannot take value of macro of `->`
- Fix [#1144 ](https://github.com/babashka/babashka/issues/1144 ): cannot create multidimensional arrays
2022-01-25 14:46:17 +00:00
- Fix [#1143 ](https://github.com/babashka/babashka/issues/1143 ): allow optional (ignored) `--` when using using `--main` ([@grzm](https://github.com/grzm))
2022-01-25 14:23:53 +00:00
- SCI: throw when `recur` is used from non-tail position
- Add more libraries to CI lib tests ([@cljwalker](https://github.com/cljwalker))
- Upgrade several built-in deps: `org.clojure/clojure` , `cheshire` , `core.async` , `test.check`
2022-01-11 19:26:29 +00:00
2021-12-30 15:33:15 +00:00
## 0.7.3 (2021-12-30)
- Do not require java for bb tasks without deps [#1123 ](https://github.com/babashka/babashka/issues/1123 ), [#1124 ](https://github.com/babashka/babashka/issues/1124 )
2021-12-29 17:10:56 +00:00
## 0.7.2 (2021-12-29)
2021-12-21 20:32:34 +00:00
- Add `spy` macro from `taoensso.timbre` [#1087 ](https://github.com/babashka/babashka/issues/1087 )
2021-12-21 21:53:11 +00:00
- Better error for higher order fn arity mismatch
2021-12-21 20:32:34 +00:00
- Check `shasum` / `sha256sum` in `PATH` on install script ([@thiagokokada](https://github.com/thiagokokada))
- Build arm64 docker image in CI [#1099 ](https://github.com/babashka/babashka/issues/1099 ) ([@cap10morgan](https://github.com/cap10morgan))
- Upgrade to `edamame` v0.0.19
2021-12-27 22:21:34 +00:00
- Load tasks and deps from other bb.edn file using `--config` and `--deps-root` options [#1110 ](https://github.com/babashka/babashka/issues/1110 )
- Uberscript improvements [#584 ](https://github.com/babashka/babashka/issues/584 ), [#1037 ](https://github.com/babashka/babashka/issues/1037 )
2021-12-29 15:17:01 +00:00
- Include native elements in printed stacktrace [#1105 ](https://github.com/babashka/babashka/issues/1105 )
- Missing error message when exception happens in REPL print [#1116 ](https://github.com/babashka/babashka/issues/1116 )
2021-12-29 17:10:56 +00:00
- Undeprecate `$` in babashka.process
2021-12-29 17:26:59 +00:00
- Add lots of library tests to CI ([@cldwalker](https://github.com/cldwalker))
- Release SNAPSHOT builds to
[babashka-dev-builds ](https://github.com/babashka/babashka-dev-builds/releases )
(use only for testing)
2021-12-21 20:32:34 +00:00
2021-12-10 10:19:19 +00:00
## 0.7.0 (2021-12-10)
2021-12-10 12:33:51 +00:00
- Add compatibility with `clojure.spec.alpha` . See
[babashka/spec.alpha ](https://github.com/babashka/spec.alpha ) and this [blog
post](https://blog.michielborkent.nl/using-clojure-spec-alpha-with-babashka.html).
2021-12-10 10:19:19 +00:00
- Add `to-array-2d` , `aclone` , `areduce` and `amap` ([@MrEbbinghaus](https://github.com/MrEbbinghaus))
- Add `inst-ms`
- Add `java.util.StringTokenizer`
- `clojure.core/read` can read with `PushbackReader` that is not `LineNumberingPushbackReader`
- Allow macroexpand on `for` and `doseq` ([@erdos](https://github.com/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 ](https://github.com/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)
2021-12-02 20:08:54 +00:00
## 0.6.8 (2021-12-02)
2021-12-02 19:49:30 +00:00
- Add `reader-conditional?` , `test`
- Deps.clj: bump to tools jar `1.10.3.1040`
2021-12-02 20:08:39 +00:00
- Babashka.process: support `deref` with timeout ([@SevereOverfl0w](https://github.com/SevereOverfl0w))
2021-12-02 19:49:30 +00:00
- Add new functions from clojure 1.11 alpha 3 except `clojure.java.math`
2021-12-02 20:07:53 +00:00
- nREPL server: catch `Throwable` instead of `Exception` , fixes hanging with `assert`
2021-12-02 19:49:30 +00:00
2021-11-29 23:00:13 +00:00
## 0.6.7 (2021-11-29)
Minor bugfix release:
- `print-deps` included `:local/root` dependency which is not valid outside babashka repo
2021-12-02 19:49:30 +00:00
- `fs/which` edge case improvement on Windows [#1083 ](https://github.com/babashka/babashka/issues/1083 )
2021-11-29 23:00:13 +00:00
2021-11-29 11:03:43 +00:00
## 0.6.6 (2021-11-29)
2021-11-26 15:48:59 +00:00
2021-11-28 22:12:22 +00:00
- Resolve program in `babashka.process` on Windows using known extensions. This
means you can now invoke `(shell "yarn")` and it will work on both Unix-like
systems and Windows.
2021-11-29 11:03:43 +00:00
- Add `babashka.core` namespace with `windows?` predicate.
2021-11-27 15:00:41 +00:00
- Add `fs/with-temp-dir` to `babashka.fs` ([@hugoduncan](https://github.com/hugoduncan))
- Add `fs/home` and `fs/expand-home` to `babashka.fs` ([@Kineolyan](https://github.com/Kineolyan))
- `clojure.core/read` improvements: support `:eof` + `:read-cond`
- Add support `*read-eval*` , `*default-reader-fn*` and `*reader-resolver*` dynamic vars to be used with `clojure.core/read` .
2021-11-29 11:03:43 +00:00
- Add `SQLITE` feature flag ([@nikvdp](https://github.com/nikvdp))
2021-11-28 22:12:22 +00:00
- Add `javax.crypto.Mac` and `javax.crypto.spec.SecretKeySpec` classes to support development of [yaaws-api ](https://github.com/grzm/yaaws-api ) ([@grzm](https://github.com/grzm))
2021-11-27 15:00:41 +00:00
- Add `java.net.Inet4Address` and `java.net.Inet6Address` classes
- Fix `--version` option, don't read cp file. [#1071 ](https://github.com/babashka/babashka/issues/1071 ) ([@bobisageek](https://github.com/bobisageek))
- Add classes to support running the
[xforms ](https://github.com/cgrand/xforms ) library from source:
2021-11-27 15:02:30 +00:00
- `java.util.ArrayDeque`
- `java.util.ArrayList`
- `java.util.Collections`
- `java.util.Comparator`
- `java.util.NoSuchElementException`
2021-11-27 15:00:41 +00:00
- `babashka.curl` : support `:as :bytes` option to download binary file
2021-11-28 22:12:22 +00:00
- Add compatibility with [hato ](https://github.com/gnarroway/hato ) and
[clj-http-lite ](https://github.com/clj-commons/clj-http-lite ) insecure feature
by adding classes:
2021-11-27 15:00:41 +00:00
- `java.net.CookiePolicy`
- `java.net.http.HttpTimeoutException`
- `javax.net.ssl.HostnameVerifier`
- `javax.net.ssl.HttpsURLConnection`
- `javax.net.ssl.KeyManagerFactory`
- `javax.net.ssl.SSLSession`
- `javax.net.ssl.TrustManagerFactory`
- `java.security.KeyStore`
- `java.util.zip.Inflater`
- `java.util.zip.ZipException`
2021-11-26 15:48:59 +00:00
2021-11-13 13:50:49 +00:00
## 0.6.5 (2021-11-13)
- Compatibility with a [fork of
tools.namespace](https://github.com/babashka/tools.namespace). This allows
running the Cognitect
[test-runner ](https://github.com/cognitect-labs/test-runner ) (Cognitest) from source.
- Add various `tools.build` related classes for running parts of tools.build
with bb ([@hugoduncan](https://github.com/hugoduncan)). Keep an eye on [this
repo](https://github.com/babashka/tools.bbuild).
2021-11-02 09:40:05 +00:00
- Deps.clj: upgrade tools jar, support checking manifest staleness (see [TDEPS-83 ](https://clojure.atlassian.net/browse/TDEPS-83 ))
- Add `clojure.lang.IPersistentList` ([@FieryCod](https://github.com/FieryCod))
- The [contajners ](https://github.com/lispyclouds/contajners ) library is now compatible with babashka
2021-11-13 13:50:49 +00:00
- Support `Object` `toString` override on defrecords [#999 ](https://github.com/babashka/babashka/issues/999 ).
2021-11-13 12:09:04 +00:00
- Bump to GraalVM 21.3.0 JVM 11
- Bump `core.async` to `1.4.627`
- Bump edamame to `v0.0.14` , fixes parsing of `foo@bar`
- Fix segfault when reifying `FileVisitor` with `visitFileFailed` [#1055 ](https://github.com/babashka/babashka/issues/1055 )
- Add `PGProperty` fields to reflection config (fix for postgres feature flag) [#1046 ](https://github.com/babashka/babashka/issues/1046 ) ([@bobisageek](https://github.com/bobisageek))
- Fix for `babashka.fs/unzip` when entry in dir comes before dir in entries
- Calling `.close` on `DirectoryStream` fails [#1061 ](https://github.com/babashka/babashka/issues/1061 )
- Add support for `java.nio.file.attribute.BasicFileAttributes`
2021-11-02 09:40:05 +00:00
2021-10-29 12:50:19 +00:00
## 0.6.4
- Fix for `DEPS_CLJ_TOOLS_VERSION` introduced in deps.clj bundled in 0.6.3
2021-10-29 09:44:04 +00:00
## 0.6.3
- Add `java.security.Provider` and `java.security.Security` . This adds compatibility with [clj-commons/digest ](https://github.com/clj-commons/digest ).
- Fix mapping for `babashka.fs/unzip` [#1030 ](https://github.com/babashka/babashka/issues/1030 )
- Pods: support metadata in pod vars, like docstrings ([@quoll](https://github.com/quoll))
- babashka.curl: support `:follow-redirects false` ([@sudorock](https://github.com/sudorock))
- Add support for `--init` as a file to be loaded before evaluation actions [#1033 ](https://github.com/babashka/babashka/issues/1033 ) ([@bobisageek](https://github.com/bobisageek))
- Bump rewrite-clj to v1.0.699-alpha ([@yannvanhalewyn](https://github.com/yannvanhalewyn))
- Fix `BABASHKA_FEATURE_POSTGRESQL` feature flag, initialize `java.sql.SQLException` build time [#1040 ](https://github.com/babashka/babashka/issues/1040 )
- Deps.clj: upgrade to tools version `1.10.3.998` and include new
`DEPS_CLJ_TOOLS_VERSION` environment variable to use older or newer tools jar.
2021-10-08 12:30:30 +00:00
## 0.6.2
- Add `java.util.zip.ZipFile` , `java.util.stream.BaseStream`
- Fix data reader for clojure.data.xml and `*input*` [#1004 ](https://github.com/babashka/babashka/issues/1004 ) ([@bobisageek](https://github.com/bobisageek))
- Upgrade `deps.clj` (matches clojure CLI `1.10.986` )
- Print locals only when debug option is enabled [#1015 ](https://github.com/babashka/babashka/issues/1015 )
### SCI:
- Fix order of protocol handling wrt/ `extend-type` , `defrecord` and `:extend-via-metadata`
### babashka.curl:
- Support keywords as query and form param keys ([@lispyclouds](https://github.com/lispyclouds))
### babashka.nrepl:
- Fix hanging CIDER [#45 ](https://github.com/babashka/babashka.nrepl/issues/45 )
### babashka.fs:
- Add `fs/unzip`
2021-09-12 12:42:49 +00:00
## 0.6.1
2021-09-10 22:20:06 +00:00
2021-09-12 12:42:49 +00:00
- Fix for `java-http-clj` `send-async` [#997 ](https://github.com/babashka/babashka/issues/997 )
2021-09-10 22:20:06 +00:00
- Add `PipedInput/OutputStream` [#1001 ](https://github.com/babashka/babashka/issues/1001 )
2021-09-12 12:42:49 +00:00
- `aarch64` static binaries are compiled with `"-H:+StaticExecutableWithDynamicLibC"`
2021-09-10 22:20:06 +00:00
SCI:
2021-09-12 12:42:49 +00:00
- Self-referential function returns wrong binding in presence of laziness
[#1006 ](https://github.com/babashka/babashka/issues/1006 )
2021-09-10 22:20:06 +00:00
2021-09-01 15:38:21 +00:00
## 0.6.0
2021-09-01 11:45:23 +00:00
2021-09-01 11:59:26 +00:00
- Support for `java.net` HTTP Client. This enables running
2021-09-01 12:49:28 +00:00
[java-http-clj ](https://github.com/schmee/java-http-clj ) from source. The raw
interop is the first part of a multi-stage plan to move all http related
scripting towards `java.net.http` in favor of the other two solutions
2021-09-01 17:48:26 +00:00
currently available in `bb` : `babashka.curl` and `org.httpkit.client` . ([@grzm](https://github.com/grzm))
2021-09-01 11:59:26 +00:00
- Add `*print-readably*` and `*flush-on-newline*` [#959 ](https://github.com/babashka/babashka/issues/959 )
- Support `:clojure.core/eval-file metadata` [#960 ](https://github.com/babashka/babashka/issues/960 )
2021-09-01 12:00:37 +00:00
- Add `clojure.data.xml/alias-uri` [#995 ](https://github.com/babashka/babashka/issues/995 )
2021-09-01 11:59:26 +00:00
- Make REPL requires available in expression on command line [#972 ](https://github.com/babashka/babashka/issues/972 ) ([@bobisageek](https://github.com/bobisageek))
- Fix docstrings and metadata for large number of vars [#957 ](https://github.com/babashka/babashka/issues/957 ) ([@bobisageek](https://github.com/bobisageek))
2021-09-01 15:38:21 +00:00
- Upgrade `deps.clj` / `tools.jar` to match Clojure CLI 1.10.3.967
- Add (limited) support for `java.lang.reflect.Method` (`getName` only) [#969 ](https://github.com/babashka/babashka/issues/969 )
2021-09-01 11:59:26 +00:00
- Use tagged-literal for unknown tags when reading EDN via `*input*` [#975 ](https://github.com/babashka/babashka/issues/975 ) ([@bobisageek](https://github.com/bobisageek))
- Logging feature flag and `tools.logging.readable` [#981 ](https://github.com/babashka/babashka/issues/981 ) ([@bobisageek](https://github.com/bobisageek))
- Migrate GraalVM config to uberjar [#973 ](https://github.com/babashka/babashka/issues/973 ) ([@ericdallo](https://github.com/ericdallo))
- Upgrade to GraalVM 21.2.0
2021-09-01 11:45:23 +00:00
2021-08-03 10:35:07 +00:00
## 0.5.1
2021-07-15 09:18:37 +00:00
2021-08-02 21:41:15 +00:00
- Add new `print-deps` subcommand for printing a `deps.edn` map 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.
2021-07-15 09:18:37 +00:00
- Upgrade `clj-yaml` to 0.7.107 which adds two new vars: `generate-stream` , `parse-stream`
2021-07-18 09:19:47 +00:00
- Add `timbre/merge-config!`
2021-07-22 18:24:54 +00:00
- Add `strip-ext` to `babashka.fs` ([@corasaurus-hex](https://github.com/corasaurus-hex))
2021-07-23 09:01:41 +00:00
- Fixed: `with-open` fails on `java.io.PrintWriter` [#953 ](https://github.com/babashka/babashka/issues/953 )
2021-08-02 21:41:15 +00:00
- Upgrade `deps.clj` to match Clojure CLI `1.10.3.933`
- Upgrade several other deps
2021-07-15 09:18:37 +00:00
2021-07-14 14:31:56 +00:00
## 0.5.0
2021-06-16 19:20:16 +00:00
2021-06-21 20:41:24 +00:00
Babashka proper:
2021-07-10 20:14:06 +00:00
- Add `clojure.tools.logging` with `taoensso.timbre` as the default implementation
2021-07-14 20:54:54 +00:00
- Source compatibility with `org.clojure/data.json {:mvn/version "2.4.0"}`
2021-07-10 09:33:45 +00:00
- Support `pprint/formatter-out` [#922 ](https://github.com/babashka/babashka/issues/922 )
- Support `pprint/cl-format` with `with-out-str` [#930 ](https://github.com/babashka/babashka/issues/930 )
2021-07-10 20:14:06 +00:00
- Support passing `GITLIBS` via `:extra-env` in `clojure` to set git lib dir:
2021-07-14 20:54:54 +00:00
`(clojure {:extra-env {"GITLIBS" ".gitlib"}} ...)` [#934 ](https://github.com/babashka/babashka/issues/934 )
- Add `--force` option to force recomputation of babashka deps classpath.
2021-07-14 12:54:05 +00:00
- Add `java.io.FileInputStream` . This fixes compatibility with [replikativ/hasch ](https://github.com/replikativ/hasch ).
2021-07-14 14:31:56 +00:00
- Update Selmer to `1.12.44` , include `<<` interpolation macro
2021-07-14 12:54:05 +00:00
- Passing form on Windows with question mark breaks evaluation [#889 ](https://github.com/babashka/babashka/issues/889 )
- Fix `(read-line)` in REPL [#899 ](https://github.com/babashka/babashka/issues/899 )
- `babashka.tasks/clojure` with `:dir` option doesn't resolve deps in `:dir` [#914 ](https://github.com/babashka/babashka/issues/914 )
2021-06-21 20:41:24 +00:00
2021-07-05 19:27:45 +00:00
Deps.clj:
Update to v0.0.16 which corresponds to clojure CLI `1.10.3.855` .
2021-07-07 19:20:21 +00:00
Sci:
- Perf improvements
- `case` expression generated from macro doesn't work correctly
2021-07-12 10:10:54 +00:00
- Fix stacktrace with invalid import [borkdude/sci#589 ](https://github.com/borkdude/sci/issues/589 )
2021-06-16 19:20:16 +00:00
2021-07-14 21:32:28 +00:00
Special thanks to:
- [@bobisageek ](https://github.com/bobisageek ) for spending time and energy on
getting the majority of tests to work on Windows.
- [@ptaoussanis ](https://github.com/ptaoussanis ) for creating [timbre ](https://github.com/ptaoussanis/timbre ).
2021-07-14 21:59:39 +00:00
- [@puredanger ](https://github.com/puredanger ) for accepting patches to
[data.json ](https://github.com/clojure/data.json ) which made it compatible
with babashka.
2021-07-14 21:32:28 +00:00
2021-06-13 19:54:54 +00:00
## 0.4.6
- Upgrade to GraalVM 21.1, fixes [#884 ](https://github.com/babashka/babashka/issues/884 )
2021-06-10 10:21:38 +00:00
## 0.4.5
Babashka proper:
- Add `java.net.InetSocketAddress`
- Add support for slingshot [#675 ](https://github.com/babashka/babashka/issues/675 )
- Add STM facilities (`dosync`, `ref` , etc.)
- Fix `.wait` , `.notify` interop on arbitrary classes
2021-06-10 10:38:35 +00:00
Deps.clj (used for resolving deps and `clojure` invocations):
2021-06-10 10:21:38 +00:00
- Fix JVM option parsing [#46 ](https://github.com/borkdude/deps.clj/issues/46 )
2021-06-10 10:37:16 +00:00
Sci: various minor performance improvements.
2021-06-01 09:50:36 +00:00
## 0.4.4
2021-05-30 11:18:19 +00:00
Babashka proper:
- Print ex-data in error report [#730 ](https://github.com/babashka/babashka/issues/730 ) ([@GreshamDanielStephens](https://github.com/GreshamDanielStephens), [@rng-dynamics ](https://github.com/rng-dynamics ))
2021-05-31 08:34:02 +00:00
- Tasks: support dynamic vars [#865 ](https://github.com/babashka/babashka/issues/865 )
- Tasks: use stable namespace when using `run` [#865 ](https://github.com/babashka/babashka/issues/865 )
2021-05-30 22:08:06 +00:00
- Add `java.lang.ProcessHandle$Info` [#872 ](https://github.com/babashka/babashka/issues/872 )
- Add `java.util.Optional` [#872 ](https://github.com/babashka/babashka/issues/872 )
2021-06-01 09:46:53 +00:00
- Add `java.lang.StackTraceElement` (to gain compatibility with libraries such as [omniconf ](https://github.com/grammarly/omniconf ))
2021-05-30 11:18:19 +00:00
Babashka.nrepl:
- Error reporting improvement [#40 ](https://github.com/babashka/babashka.nrepl/issues/865 )
2021-06-01 09:13:30 +00:00
Sci:
- Support trailing metadata in `defn`
2021-05-20 10:52:41 +00:00
## 0.4.3
- Add `cognitect.transit/tagged-value` , needed for sql pods
2021-05-20 10:09:35 +00:00
## 0.4.2
2021-05-18 08:56:48 +00:00
Babashka proper:
2021-05-20 10:41:31 +00:00
- Improve `clojure.java.browse` , add `*open-url-script*` [#846 ](https://github.com/babashka/babashka/issues/846 ) ([@thiagokokada](https://github.com/thiagokokada))
- Add `--checksum` option to install script [#842 ](https://github.com/babashka/babashka/issues/842 ) ([@thiagokokada](https://github.com/thiagokokada))
2021-05-20 10:09:35 +00:00
- Add more agent functions and fix binding conveyance
2021-05-20 10:41:31 +00:00
- Better error handling for parallel tasks [#847 ](https://github.com/babashka/babashka/issues/847 )
- Use `sequential?` for identifying if the script output needs splitting ([@arichiardi](https://github.com/arichiardi))
2021-05-18 08:56:48 +00:00
Babashka.pods:
- Allow pods to set custom transit read and write handlers
2021-05-13 11:26:14 +00:00
## 0.4.1
- Base static linux build on musl. The binary should now work in most linuxes
out of the box. ([@lispyclouds](https://github.com/lispyclouds),
[@thiagokokada ](https://github.com/thiagokokada ))
- Add `NullPointerException` to default imports
- Add `thread-bound?` function
- Expose escaping functions from `selmer.util` [#835 ](https://github.com/babashka/babashka/issues/835 )
- Fix Windows GraalVM config for httpkit
- Add `:error-fn` option to `shell` [#836 ](https://github.com/babashka/babashka/issues/836 )
- Add `babashka.task` `System` property [#837 ](https://github.com/babashka/babashka/issues/837 )
- Allow thread-first with `shell` like `babashka.process` [#829 ](https://github.com/babashka/babashka/issues/829 )
2021-05-08 16:05:33 +00:00
## 0.4.0
2021-04-22 20:58:08 +00:00
2021-05-08 16:05:33 +00:00
Babashka proper:
- Add [Task runner ](https://book.babashka.org/#tasks ) feature
- Add `java.util.zip.ZipOutputStream` class
- Add `java.text.ParseException` exception class to support
[jasentaa ](https://github.com/rm-hull/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 ](https://github.com/yogthos/Selmer ) to built-in libraries [#821 ](https://github.com/babashka/babashka/issues/821 )
2021-05-06 11:12:47 +00:00
- Don't throw when `PATH` isn't set during deps resolving ([@ieugen](https://github.com/ieugen))
- Add `with-precision` macro [#662 ](https://github.com/babashka/babashka/issues/662 )
2021-05-06 11:12:30 +00:00
- Task changes and improvements, see [issue ](https://github.com/babashka/babashka/issues/778 )
2021-04-30 10:01:36 +00:00
## 0.3.7
- Ignore local and global deps.edn when resolving deps for `bb.edn` [#807 ](https://github.com/babashka/babashka/issues/807 )
2021-04-30 10:16:12 +00:00
- Use `IllegalArgumentException` when throwing on duplicate case constants [#809 ](https://github.com/babashka/babashka/issues/809 )
2021-04-30 10:01:36 +00:00
- Fix --classpath when no additional args are passed [#811 ](https://github.com/babashka/babashka/issues/811 )
- Task changes and improvements, see [issue ](https://github.com/babashka/babashka/issues/778 )
2021-04-25 11:48:11 +00:00
## 0.3.6
2021-04-25 12:32:23 +00:00
Babashka proper:
2021-04-25 12:19:46 +00:00
- Add check for arg count to `for` macro [#767 ](https://github.com/babashka/babashka/issues/767 )
2021-04-24 09:52:23 +00:00
- Ignore empty classpath entries [#780 ](https://github.com/babashka/babashka/issues/780 )
- Fix uberjar CLI parsing and throw when no classpath is provided [#780 ](https://github.com/babashka/babashka/issues/780 )
2021-04-25 12:12:31 +00:00
- Support `:min-bb-version` in `bb.edn` See [docs ](https://book.babashka.org/#_bb_edn ). [#663 ](https://github.com/babashka/babashka/issues/663 )
2021-04-25 11:51:32 +00:00
- Tasks improvements. See [issue ](https://github.com/babashka/babashka/issues/778 ).
2021-04-22 20:58:08 +00:00
Deps.clj:
- Windows fixes
2021-04-23 21:56:49 +00:00
Babashka.fs:
- Allow dir as dest in `copy` [#24 ](https://github.com/babashka/fs/issues/24 )
2021-04-24 07:59:44 +00:00
- Allow dir as dest in `move` [#25 ](https://github.com/babashka/fs/issues/25 )
2021-04-23 21:56:49 +00:00
2021-04-15 10:30:58 +00:00
## 0.3.5
2021-04-14 21:36:48 +00:00
- Support [binf.cljc ](https://github.com/helins/binf.cljc ) library by adding `ByteBuffer` and `Charset` -related classes [#784 ](https://github.com/babashka/babashka/issues/784 )
2021-04-14 21:36:54 +00:00
- Tasks improvements. See [issue ](https://github.com/babashka/babashka/issues/778 ).
2021-04-24 09:52:23 +00:00
- Add `java.security.SecureRandom` [#790 ](https://github.com/babashka/babashka/issues/790 )
2021-04-14 21:36:48 +00:00
2021-04-15 08:46:08 +00:00
Sci:
- Add `aset-byte` , `aset-boolean` , `aset-short` , etc.
- Add `bit-clear`
2021-04-15 10:11:29 +00:00
- Add `bound-fn` and `bound-fn*`
2021-04-15 08:46:08 +00:00
2021-04-11 10:53:26 +00:00
## v0.3.4
Babashka:
2021-04-12 08:52:32 +00:00
- Tasks improvements. See [issue ](https://github.com/babashka/babashka/issues/778 ).
2021-04-12 07:47:28 +00:00
2021-04-11 10:53:26 +00:00
Deps.clj:
- Fix arg parsing when invoking from Powershell [#42 ](https://github.com/borkdude/deps.clj/issues/42 )
2021-04-10 15:11:52 +00:00
## v0.3.3
2021-04-09 14:22:54 +00:00
2021-04-10 09:17:02 +00:00
Babashka:
2021-04-10 15:53:28 +00:00
- Fix building uberjar with classpath from `bb.edn` [#776 ](https://github.com/babashka/babashka/issues/776 )
2021-04-10 15:11:52 +00:00
- Provide linux arm64 static binaries [#782 ](https://github.com/babashka/babashka/issues/782 )
2021-04-10 09:17:02 +00:00
- Upgrade to Clojure `1.11.0-alpha1` to get full map passing to kwargs function support
2021-04-10 15:55:35 +00:00
- First cut of bb tasks [#778 ](https://github.com/babashka/babashka/issues/778 ). This is a preview version which is expected to
2021-04-10 15:11:52 +00:00
change. Please try it out but use with caution.
2021-04-10 09:17:02 +00:00
Deps.clj:
- Bump tools jar to to 1.10.3.822
Fs:
- `delete-tree` should not throw when dir does not exist [#22 ](https://github.com/babashka/fs/issues/22 )
2021-04-09 14:22:54 +00:00
Sci:
- Bug with protocol methods in record where later arg overrides "this" [#557 ](https://github.com/borkdude/sci/issues/557 )
- Support `:rename` in `:refer-clojure` [#558 ](https://github.com/borkdude/sci/issues/558 )
2021-04-04 17:48:50 +00:00
## 0.3.2
2021-04-04 14:48:39 +00:00
- Include [rewrite-clj ](https://github.com/clj-commons/rewrite-clj ) into babashka [#769 ](https://github.com/babashka/babashka/issues/769 ) .
2021-03-30 16:11:09 +00:00
## 0.3.1
2021-03-28 18:52:48 +00:00
Babashka proper:
2021-03-30 16:11:09 +00:00
- Support `bb.edn` project config with `:paths` and `:deps` . See [docs ](https://book.babashka.org/index.html#_bb_edn ).
2021-03-30 17:29:24 +00:00
- Rewrite CLI arg parsing to to subcommand style invocations: `bb --uberjar` becomes `bb uberjar`
2021-03-30 16:11:09 +00:00
- Support fully qualified symbol in `--main` option [#758 ](https://github.com/babashka/babashka/issues/758 ). See [docs ](https://book.babashka.org/index.html#_invoking_a_main_function ).
2021-03-28 18:57:15 +00:00
- Support new `doc` option to retrieve a docstring from the command line
2021-03-28 18:52:48 +00:00
Babashka.fs:
- Create target dir automatically in `copy-tree`
2021-03-28 21:42:03 +00:00
Babashka.nrepl:
2021-04-04 14:48:39 +00:00
- Implement `cider-nrepl` `info` / `lookup` op [#30 ](https://github.com/babashka/babashka.nrepl/issues/30 ) ([@brdloush](https://github.com/brdloush))
2021-03-28 21:42:03 +00:00
2021-03-28 18:52:48 +00:00
Babashka.process:
- Support tokenizing single string [#39 ](https://github.com/babashka/process/issues/39 )
- Support `:extra-env` option [#40 ](https://github.com/babashka/process/issues/40 )
Deps.clj:
- Catch up with Clojure CLI 1.10.3.814 [#40 ](https://github.com/borkdude/deps.clj/issues/40 )
Sci:
- Support new kwargs handling from 1.11.0 [#553 ](https://github.com/borkdude/sci/issues/553 )
2021-03-28 21:12:04 +00:00
- Allow dynamic `:doc` on `def` /`defn` [#554 ](https://github.com/borkdude/sci/issues/554 )
2021-03-28 18:52:48 +00:00
2021-03-15 21:55:17 +00:00
## 0.3.0
2021-03-12 09:54:42 +00:00
2021-03-15 16:24:15 +00:00
### New
- Linux support for AArch64 [#241 ](https://github.com/babashka/babashka/issues/241 ). This means you can now run babashka on Raspberry Pi 64bit and Chromebooks with ARM 64-bit processors!
2021-03-15 22:16:39 +00:00
A major thanks to [CircleCI ](https://circleci.com/ ) for enabling AArch64 support
2021-03-15 22:23:34 +00:00
in the babashka organization and [GraalVM ](http://graalvm.org/ ) for supporting this platform.
2021-03-15 22:16:39 +00:00
2021-03-12 09:54:42 +00:00
### Enhancements / fixes
- Fix `print-method` when writing to stdout [#667 ](https://github.com/babashka/babashka/issues/667 )
2021-03-12 10:00:11 +00:00
- Fix interop with `System/out` [#754 ](https://github.com/babashka/babashka/issues/754 )
2021-03-14 21:02:47 +00:00
- Support [version-clj ](https://github.com/xsc/version-clj ) v2.0.1 by adding `java.util.regex.Matcher` to the reflection config
2021-03-15 21:55:17 +00:00
- Distribute linux and macOS archives as `tar.gz` . The reason is that `unzip` is
not pre-installed on most unix-y systems. ([@grazfather](https://github.com/grazfather))
2021-03-13 11:51:34 +00:00
2021-03-13 22:36:26 +00:00
Babashka.fs:
- Fix globbing on Windows
- Fix Windows tests
2021-03-15 21:55:17 +00:00
- Fix issue with `copy-tree` when dest dir doesn't exist yet
2021-03-12 09:54:42 +00:00
2021-03-15 21:59:36 +00:00
Thanks [@lread ](https://github.com/lread ) for his help on fixing issues with Windows.
2021-03-15 21:10:01 +00:00
Sci:
- Support `:reload-all` [#552 ](https://github.com/borkdude/sci/issues/552 )
2021-03-15 21:59:36 +00:00
- Narrow `reify` to just one class. See discussion in
[sci#549 ](https://github.com/borkdude/sci/issues/549 ).
- Add preliminary support for `proxy` (mainly to support pathom3 smart maps)
[sci#550 ](https://github.com/borkdude/sci/issues/550 ).
Thanks to [@wilkerlucio ](https://github.com/wilkerlucio ) and
[@GreshamDanielStephens ](https://github.com/GreshamDanielStephens ) for their
help and discussions.
2021-03-15 21:10:01 +00:00
2021-03-09 08:45:55 +00:00
## v0.2.13
2021-03-04 09:38:34 +00:00
2021-03-09 08:49:39 +00:00
### Enhancements / fixes
- Add more interfaces to be used with `reify` ([@wilkerlucio](https://github.com/wilkerlucio)) (mostly to support smart maps with [pathom3 ](https://github.com/wilkerlucio/pathom3 ))
2021-03-08 19:43:01 +00:00
Babashka.curl:
2021-03-06 10:12:08 +00:00
2021-03-09 08:47:15 +00:00
- Use `--data-binary` when sending files or streams [#35 ](https://github.com/babashka/babashka.curl/issues/35 )
2021-03-06 10:12:08 +00:00
2021-03-04 09:38:34 +00:00
Babashka.fs:
2021-03-08 09:46:38 +00:00
- Add `create-link` and `split-paths` ([@eamonnsullivan](https://github.com/eamonnsullivan))
- Add `split-ext` and `extension` ([@kiramclean](https://github.com/kiramclean))
- Add `regular-file?` ([@tekacs](https://github.com/tekacs))
2021-03-04 09:38:34 +00:00
- Globbing is always recursive but should not be [#18 ](https://github.com/babashka/fs/issues/18 )
2021-03-08 19:43:01 +00:00
Sci:
- Allow combinations of interfaces and protocols in `reify` [#540 ](https://github.com/borkdude/sci/issues/540 )
([@GreshamDanielStephens](https://github.com/GreshamDanielStephens))
2021-03-08 22:27:47 +00:00
- Fix metadata on non-constant map literal expression [#546 ](https://github.com/borkdude/sci/issues/546 )
2021-03-08 19:43:01 +00:00
2021-03-01 11:18:38 +00:00
## 0.2.12
### Enhancements / fixes
- Fix false positive cyclic dep problem with doric lib [#741 ](https://github.com/babashka/babashka/issues/741 )
2021-02-28 17:25:50 +00:00
## 0.2.11
2021-02-12 13:53:56 +00:00
2021-02-21 20:35:40 +00:00
### Enhancements / fixes
- Use default `*print-right-margin*` value from `clojure.pprint`
2021-02-26 21:18:28 +00:00
- Upgrade httpkit to 2.5.3 [#738 ](https://github.com/babashka/babashka/issues/738 )
2021-02-28 09:50:09 +00:00
- Upgrade tools.cli to 1.0.206
2021-02-27 10:15:11 +00:00
- Add several classes to be used with `defprotocol` (`PersistentVector`, `PersistentHashSet` , ...)
2021-02-28 17:25:50 +00:00
- Support reifying `clojure.lang.IFn` and `clojure.lang.ILookup`
2021-02-21 20:35:40 +00:00
2021-02-13 16:10:14 +00:00
Sci:
2021-02-28 19:55:15 +00:00
- Detect cyclic load dependencies [#531 ](https://github.com/borkdude/sci/issues/531 )
- Pick fn arity independent of written order [#532 ](https://github.com/borkdude/sci/issues/532 ) ([@GreshamDanielStephens](https://github.com/GreshamDanielStephens))
2021-02-25 19:19:46 +00:00
- `(instance? clojure.lang.IAtom 1)` returns `true` [#537 ](https://github.com/borkdude/sci/issues/537 )
2021-02-28 17:27:26 +00:00
- Add `dissoc!` ([@wilkerlucio](https://github.com/wilkerlucio))
2021-02-26 12:59:08 +00:00
- Add `force`
2021-02-25 19:41:06 +00:00
- Fix `ns-unmap` on referred var [#539 ](https://github.com/borkdude/sci/issues/539 )
2021-02-21 20:35:40 +00:00
2021-02-12 13:53:56 +00:00
Babashka.nrepl:
- Fix printing in lazy value [#36 ](https://github.com/babashka/babashka.nrepl/issues/36 )
2021-02-28 15:31:29 +00:00
- Update link in nREPL server message [#37 ](https://github.com/babashka/babashka.nrepl/issues/37 )
2021-02-12 13:53:56 +00:00
2021-02-09 19:36:55 +00:00
## 0.2.10
2021-02-09 10:00:50 +00:00
Sci:
- Priorize referred vars over vars in current ns [#527 ](https://github.com/borkdude/sci/issues/527 )
2021-02-09 19:36:55 +00:00
- If with falsy literal returns nil [#529 ](https://github.com/borkdude/sci/issues/529 )
2021-02-09 10:00:50 +00:00
2021-02-07 13:09:44 +00:00
## 0.2.9
2021-01-27 20:04:44 +00:00
2021-02-05 22:43:19 +00:00
### New
- Include [babashka.fs ](https://github.com/babashka/fs )
2021-01-27 20:04:44 +00:00
### Enhancements / fixes
2021-02-07 13:09:44 +00:00
- Upgrade to GraalVM 21.0.0 [#712 ](https://github.com/babashka/babashka/issues/712 )
2021-02-05 08:30:18 +00:00
Babashka.nrepl:
- Implement pprint support [#18 ](https://github.com/babashka/babashka.nrepl/issues/18 ) ([@kolharsam](https://github.com/kolharsam), [@grazfather ](https://github.com/grazfather ), [@bbatsov ](https://github.com/bbatsov ))
2021-01-27 20:04:44 +00:00
Sci:
2021-02-28 19:55:15 +00:00
- Fix error reporting in case of arity error [#518 ](https://github.com/borkdude/sci/issues/518 )
- Shadowing record field names in protocol functions [#513 ](https://github.com/borkdude/sci/issues/513 )
- Fix destructuring in protocol method for record [#512 ](https://github.com/borkdude/sci/issues/512 )
- Faster processing of maps, sets and vectors [#482 ](https://github.com/borkdude/sci/issues/482 )
- Prioritize current namespace vars in syntax quote [#509 ](https://github.com/borkdude/sci/issues/509 )
2021-02-02 21:51:23 +00:00
- Fix ns-publics to not include refers [#520 ](https://github.com/borkdude/sci/issues/520 )
- Add `refer-clojure` macro [#519 ](https://github.com/borkdude/sci/issues/519 )
2021-01-27 20:04:44 +00:00
2021-01-24 20:16:07 +00:00
## v0.2.8
### New
2021-01-24 21:05:26 +00:00
- Include [clojure.core.match ](https://github.com/clojure/core.match ) [#594 ](https://github.com/babashka/babashka/issues/594 )
- Include [hiccup ](https://github.com/weavejester/hiccup ) [#646 ](https://github.com/babashka/babashka/issues/646 )
- Include [clojure.test.check ](https://github.com/clojure/test.check ) [#487 ](https://github.com/babashka/babashka/issues/487 ). Included namespaces:
2021-01-24 20:16:07 +00:00
- clojure.test.check
- clojure.test.check.generators
- clojure.test.check.properties
2021-01-24 21:34:33 +00:00
### Fixed / enhanced
2021-01-24 20:16:07 +00:00
- Fix symbol resolution in syntax quote when overwriting core var
- Performance enhancements
2021-01-20 20:25:57 +00:00
## v0.2.7
2020-12-29 13:00:32 +00:00
2021-01-10 14:32:54 +00:00
### New
2021-01-20 20:40:08 +00:00
- Add Alpine [Docker images ](https://hub.docker.com/repository/registry-1.docker.io/babashka/babashka/tags?page=1&ordering=last_updated ) [#699 ](https://github.com/babashka/babashka/issues/699 ) ([@lispyclouds](https://github.com/lispyclouds))
- Add `pp` from `clojure.pprint` [#707 ](https://github.com/babashka/babashka/issues/707 )
2021-01-10 14:32:54 +00:00
2021-01-24 21:04:57 +00:00
### Fixed / enhanced
2020-12-29 13:00:32 +00:00
- Fix issue with unzipping nested directory [babashka/pod-registry#4 ](https://github.com/babashka/pod-registry/issues/4 )
2021-01-10 12:24:22 +00:00
- Test cannot be defined conditionally [#705 ](https://github.com/babashka/babashka/issues/705 )
2021-01-10 14:43:43 +00:00
- Add `--download-dir` option to install script [#688 ](https://github.com/babashka/babashka/issues/688 )
2021-01-20 20:25:57 +00:00
- `(instance? clojure.lang.Fn x)` now works
2021-01-20 20:40:08 +00:00
- (.keySet {:a 1}) returns nil [#711 ](https://github.com/babashka/babashka/issues/711 )
2021-01-20 20:25:57 +00:00
- Various performance enhancements
2021-01-20 20:40:08 +00:00
- Babashka.curl: allow keywords as header names [#32 ](https://github.com/babashka/babashka.curl/pull/32 ) ([@xificurC](https://github.com/xificurC))
2020-12-29 13:00:32 +00:00
2020-12-29 11:57:04 +00:00
## v0.2.6
2020-12-27 14:54:18 +00:00
### New
2020-12-29 11:57:04 +00:00
- Implement [pod registry ](https://github.com/babashka/pod-registry ) to
automatically obtain pods when used in
2021-01-01 10:26:31 +00:00
script. [#690 ](https://github.com/babashka/babashka/issues/690 )
- [Buddy pod ](https://github.com/babashka/pod-babashka-buddy ) [#656 ](https://github.com/babashka/babashka/issues/656 )
2020-12-29 11:57:04 +00:00
- [Etaoin pod 0.0.1 release ](https://github.com/babashka/pod-babashka-etaoin )
2020-12-29 11:59:24 +00:00
- [Filewatcher pod 0.0.1 release ](https://github.com/babashka/pod-babashka-filewatcher )
- [Fswatcher pod ](https://github.com/babashka/pod-babashka-fswatcher ) ([@lispyclouds](https://github.com/lispyclouds))
2020-12-27 14:54:18 +00:00
### Fixed / enhanced
2021-01-01 10:26:31 +00:00
- Auto-resolved map fix [#684 ](https://github.com/babashka/babashka/issues/684 )
2020-12-27 14:54:18 +00:00
- Handle whitespace after read-cond splice
- Several performance improvements
2020-12-29 11:59:24 +00:00
### Thanks
Special thanks to [@lispyclouds ](https://github.com/lispyclouds ) for hammocking
on the pod registry and working on the new fswatcher pod.
2020-12-13 19:50:06 +00:00
## v0.2.5
2020-12-07 10:12:56 +00:00
2020-12-13 20:10:09 +00:00
This release adds a new `babashka.deps` namespace which offers [tools.deps
integration](https://clojure.org/guides/deps_and_cli). See
[docs ](https://book.babashka.org/#babashkadeps ).
2020-12-07 10:12:56 +00:00
### New
2020-12-13 19:40:51 +00:00
- Add `get-classpath` and `split-classpath` to `babashka.classpath`
2021-01-01 10:26:31 +00:00
namespace. [#670 ](https://github.com/babashka/babashka/issues/670 ). See
2020-12-13 20:03:06 +00:00
[docs ](https://book.babashka.org/#babashka_classpath ).
2020-12-13 19:40:51 +00:00
- Expose `add-deps` in `babashka.deps`
2021-01-01 10:26:31 +00:00
[#677 ](https://github.com/babashka/babashka/issues/677 ). See
2020-12-13 20:03:06 +00:00
[docs ](https://book.babashka.org/#_add_deps ).
2020-12-13 19:40:51 +00:00
- Expose `clojure` in `babashka.deps`
2021-01-01 10:26:31 +00:00
[#678 ](https://github.com/babashka/babashka/issues/678 ). See
2020-12-13 20:03:06 +00:00
[docs ](https://book.babashka.org/#_clojure ).
2020-12-13 19:40:51 +00:00
- Implement `--clojure` option to invoke a JVM clojure process similar to the
2020-12-13 20:03:06 +00:00
official Clojure CLI. See [docs ](https://book.babashka.org/#_invoking_clojure ).
2020-12-07 10:12:56 +00:00
### Fixed / enhanced
2021-01-01 10:26:31 +00:00
- Add syntax checks to `binding` macro [#666 ](https://github.com/babashka/babashka/issues/666 )
- Upgrade to GraalVM 20.3.0 [#653 ](https://github.com/babashka/babashka/issues/653 )
2020-12-07 10:12:56 +00:00
2020-11-27 08:37:39 +00:00
## v0.2.4
2020-11-21 11:13:44 +00:00
2020-11-26 11:27:29 +00:00
Thanks to [Nextjournal ](https://nextjournal.com/ ) for funding work on
prepl. Thanks to the community for taking the time to create issues, discussions
and code contributions. Thanks to sponsors on
2020-11-21 11:13:44 +00:00
[OpenCollective ](https://opencollective.com/babashka ) and
[Github ](https://github.com/sponsors/borkdude ) for continued financial support.
### New
2020-11-27 08:54:29 +00:00
- pREPL implementation
2021-01-01 10:26:31 +00:00
[#664 ](https://github.com/babashka/babashka/issues/664 ). See
[docs ](https://github.com/babashka/babashka/blob/master/doc/repl.md#prepl ).
2020-11-27 08:54:29 +00:00
The pREPL is used by NextJournal to expose a babashka [notebook
environment](http://nextjournal.com/try/babashka?cm6=1).
- [News page ](doc/news.md ) where you can follow the latest developments around babashka.
2021-01-01 10:26:31 +00:00
- Expose `pprint/simple-dispatch` [#627 ](https://github.com/babashka/babashka/issues/627 )
2020-11-21 11:13:44 +00:00
- Support nested libspecs [borkdude/sci#399 ](https://github.com/borkdude/sci/issues/399 )
2021-01-01 10:26:31 +00:00
- Add OracleDB feature flag [#638 ](https://github.com/babashka/babashka/issues/638 ) ([@holyjak](https://github.com/holyjak))
- Docker build documentation improvements [#643 ](https://github.com/babashka/babashka/issues/643 ) ([@holyjak](https://github.com/holyjak))
2020-11-21 11:13:44 +00:00
- Implement `get-thread-bindings` , `var-get` and `var-set`
2020-11-26 18:52:37 +00:00
- Print used port when starting nREPL server ([@plexus](https://github.com/plexus))
2020-11-21 11:13:44 +00:00
2020-11-26 11:27:29 +00:00
### Fixed / enhanced
2020-11-21 11:13:44 +00:00
2021-01-01 10:26:31 +00:00
- Can't call symbol literal as function [#622 ](https://github.com/babashka/babashka/issues/622 )
2020-11-21 11:13:44 +00:00
- `:or` in destructuring broken for `false` case
- Support aliases in protocol fns [borkdude/sci#440 ](https://github.com/borkdude/sci/issues/440 )
2021-01-01 10:26:31 +00:00
- Reader metadata preservation and evaluation fixes [#654 ](https://github.com/babashka/babashka/issues/654 ), [borkdude/sci#447 ](https://github.com/borkdude/sci/issues/447 ), [borkdude/sci#448 ](https://github.com/borkdude/sci/issues/448 )
2020-11-26 11:27:29 +00:00
- Optimization for constant colls [borkdude/sci#452 ](https://github.com/borkdude/sci/issues/452 )
- `ns-unmap` doesn't work for imported classes [borkdude/sci#432 ](https://github.com/borkdude/sci/issues/432 )
- Fix parsing of trailing uneval in reader conditional
[borkdude/edamame#65 ](https://github.com/borkdude/edamame/issues/65 )
- `symbol` works on sci var [borkdude/sci#453 ](https://github.com/borkdude/sci/issues/453 )
2020-11-21 11:13:44 +00:00
### Changed
2021-01-01 10:26:31 +00:00
- Remove cheshire smile functions [#658 ](https://github.com/babashka/babashka/issues/658 )
- `babashka.curl` now calls curl with `--compressed` by default [babashka/babashka.curl#28 ](https://github.com/babashka/babashka.curl )
2020-11-21 11:13:44 +00:00
2020-10-21 19:28:03 +00:00
## v0.2.3 (2020-10-21)
2020-10-21 20:16:33 +00:00
Thanks to [@tzzh ](https://github.com/tzzh ), [@Heliosmaster ](https://github.com/Heliosmaster ), [@lispyclouds ](https://github.com/lispyclouds ) and [@kwrooijen ](https://github.com/kwrooijen ) for contributing to this release. Thanks to [Clojurists Together ](https://www.clojuriststogether.org/ ) for sponsoring this release. Thanks to [Adgoji ](https://github.com/AdGoji ) and other sponsors on [OpenCollective ](https://opencollective.com/babashka ) and [Github ](https://github.com/sponsors/borkdude ) for their ongoing support.
2020-10-21 19:28:03 +00:00
### New
- [babashka/process ](https://github.com/babashka/process ): a Clojure library for working with `java.lang.Process`
2020-10-21 20:18:21 +00:00
- [pod-tzzh-mail ](https://github.com/tzzh/pod-tzzh-mail ): a pod for sending mail by [@tzzh ](https://github.com/tzzh )
2020-10-21 19:29:16 +00:00
- [pod-babashka-lanterna ](https://github.com/babashka/pod-babashka-lanterna ): a pod for creating TUI apps
2020-10-25 15:16:06 +00:00
- [pod.xledger.sql-server ](https://github.com/xledger/pod_sql_server ): a pod for interacting with SQL Server
2021-01-01 10:26:31 +00:00
- Add `lazy-cat` [#605 ](https://github.com/babashka/babashka/issues/605 )
2020-10-21 19:28:03 +00:00
- Support error output in babashka.nrepl
[babashka.nrepl#28 ](https://github.com/babashka/babashka.nrepl/issues/28 )
([@tzzh](https://github.com/tzzh))
2021-01-01 10:26:31 +00:00
- Add lanterna [feature flag ](https://github.com/babashka/babashka/commit/13f65f05aeff891678e88965d9fbd146bfa87f4e ) ([@kwrooijen](https://github.com/kwrooijen))
2020-10-21 19:28:03 +00:00
- Add socket support to pods [babashka/pods#2 ](https://github.com/babashka/pods/issues/2 )
2021-01-01 10:26:31 +00:00
- Add `curl` to babashka/babashka Docker image to support `babashka.curl` ([@hansbugge](https://github.com/hansbugge))
2020-10-21 19:28:03 +00:00
- Add `transit+json` format support to pods [babashka/pods#21 ](https://github.com/babashka/pods/issues/21 )
- Add `bound?` [borkdude/sci#430 ](https://github.com/borkdude/sci/issues/430 )
2021-01-01 10:26:31 +00:00
- Add [portal ](https://github.com/babashka/babashka/tree/master/examples#portal ) example
2020-10-21 19:28:03 +00:00
- Add `*print-namespace-maps*` [borkdude/sci#428 ](https://github.com/borkdude/sci/issues/428 )
2021-01-01 10:26:31 +00:00
- Support `clojure.java.io/Coercions` protocol [#601 ](https://github.com/babashka/babashka/issues/601 )
- Add `clojure.pprint/write` [#607 ](https://github.com/babashka/babashka/issues/607 )
- Add pretty-printer vars from `cheshire.core` [#619 ](https://github.com/babashka/babashka/issues/619 )
2020-10-21 19:28:03 +00:00
### Fixed
2021-01-01 10:26:31 +00:00
- `pprint/print-table` should write to `sci/out` [#611 ](https://github.com/babashka/babashka/issues/611 )
- `System/exit` doesn't work in REPL [#605 ](https://github.com/babashka/babashka/issues/606 )
- Fix pod destroy function [#615 ](https://github.com/babashka/babashka/issues/615 )
2020-10-21 19:28:03 +00:00
- Bind `*file*` in nREPL server [babashka/babashka.nrepl#31 ](https://github.com/babashka/babashka.nrepl/issues/31 )
- Support `map->` constructor on defrecords [borkdude/sci#431 ](https://github.com/borkdude/sci/issues/431 )
2021-01-01 10:26:31 +00:00
- Import should return class [#610 ](https://github.com/babashka/babashka/issues/610 )
2020-10-21 19:28:03 +00:00
### Changed
2021-01-01 10:26:31 +00:00
- The [Docker image ](https://hub.docker.com/r/babashka/babashka/ ) is now based
2020-10-21 19:28:03 +00:00
on Ubuntu instead of Alpine.
2020-09-30 18:53:52 +00:00
## v0.2.2 (2020-09-30)
This is a patch release for
[babashka/babashka.pods#20 ](https://github.com/babashka/babashka.pods/issues/20 ),
but it also introduces new support around `reify` .
### New
2021-01-01 10:26:31 +00:00
- Support `java.nio.file.FileVisitor` and `java.io.FilenameFilter` with `reify` [#600 ](https://github.com/babashka/babashka/issues/600 ). Nice side effect: this makes babashka compatible with the [fs ](https://github.com/clj-commons/fs ) library:
2020-09-30 19:14:48 +00:00
``` clojure
2020-09-30 19:14:24 +00:00
$ 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")
```
2020-09-30 18:53:52 +00:00
- Add classes `java.util.zip.ZipInputStream` and `java.util.zip.ZipEntry` . This makes babashka compatible with [glam ](https://github.com/borkdude/glam ), a work in progress package manager.
### Fixed
- Ensure ns map exists for namespaces used only "code" vars [babashka/babashka.pods#20 ](https://github.com/babashka/babashka.pods/issues/20 ). This fixes compatibility with [bootleg ](https://github.com/retrogradeorbit/bootleg ).
2020-09-25 13:12:08 +00:00
## v0.2.1 (2020-09-25)
2020-09-23 12:32:11 +00:00
2020-09-25 16:19:22 +00:00
Thanks to [@RickMoynihan ](https://github.com/RickMoynihan ), [@joinr ](https://github.com/joinr ), [@djblue ](https://github.com/djblue ), [@lread ](https://github.com/lread ), [@teodorlu ](https://github.com/teodorlu ), [@tzzh ](https://github.com/tzzh ) and [@zoren ](https://github.com/zoren ) for contributing to this release. Thanks to [Clojurists Together ](https://www.clojuriststogether.org/ ) for sponsoring this release.
2020-09-23 12:32:11 +00:00
### New
2021-01-01 10:26:31 +00:00
- Include `org.httpkit.client` , a high performance async http client [#561 ](https://github.com/babashka/babashka/issues/561 )
2020-09-23 12:32:11 +00:00
- Include `org.httpkit.server` , an HTTP server
2021-01-01 10:26:31 +00:00
[#556 ](https://github.com/babashka/babashka/issues/556 ). This namespace should
2020-09-23 12:32:11 +00:00
be considered experimental and may stay or be removed in a future version of
babashka, depending on feedback from the community. See [example ](examples/httpkit_server.clj )
- Add `java.io.FileNotFoundException` , `java.security.DigestInputStream` , `java.nio.file.FileVisitOption` classes
- Support implementing `IDeref` , `IAtom` and `IAtom2` on records [sci#401 ](https://github.com/borkdude/sci/issues/401 )
2021-01-01 10:26:31 +00:00
- Support compatibility with [version-clj ](https://github.com/xsc/version-clj ) [#565 ](https://github.com/babashka/babashka/issues/565 ) [@lread ](https://github.com/lread ) and [@borkdude ](https://github.com/borkdude )
- Support YAML roundtrip through `*input*` [#583 ](https://github.com/babashka/babashka/issues/583 )
2020-09-23 12:32:11 +00:00
- Support `clojure.core/find-var` [sci#420 ](https://github.com/borkdude/sci/issues/420 ) [@RickMoynihan ](https://github.com/RickMoynihan )
2021-01-01 10:26:31 +00:00
- Support `clojure.pprint/cl-format` [#571 ](https://github.com/babashka/babashka/issues/571 )
2020-09-25 16:19:22 +00:00
- [AWS pod ](https://github.com/tzzh/pod-tzzh-aws )
2020-09-23 12:32:11 +00:00
### Fixed / enhanced
2021-01-01 10:26:31 +00:00
- Fix location printing in REPL (`--repl`) [#598 ](https://github.com/babashka/babashka/issues/589 )
- Babashka.curl sends form params incorrectly as multipart [babashka.curl#25 ](https://github.com/babashka/babashka.curl/issues/25 )
- Update Windows build instructions [#574 ](https://github.com/babashka/babashka/issues/574 )
- Set minimum macOS version in build explicitly [#588 ](https://github.com/babashka/babashka/pull/588 )
- Fix NPE in error handling logic [#587 ](https://github.com/babashka/babashka/issues/587 )
- Fix namespace switch in REPL (`--repl`) [#564 ](https://github.com/babashka/babashka/issues/564 )
- Fix location of errors in REPL (`--repl`) [#589 ](https://github.com/babashka/babashka/issues/589 )
2020-09-23 12:32:11 +00:00
- Support multi-arity methods in `defprotocol` [sci#406 ](https://github.com/borkdude/sci/issues/406 )
- Constructor call not recognized in protocol impl [sci#419 ](https://github.com/borkdude/sci/issues/419 )
- Improve handling of top-level do in macro expansion [sci#421 ](https://github.com/borkdude/sci/issues/421 )
- Performance improvements suggested by [@joinr ](https://github.com/joinr ) [sci#415 ](https://github.com/borkdude/sci/issues/415 )
- Throw when trying to redefine referred var [sci#398 ](https://github.com/borkdude/sci/issues/398 )
2021-01-01 10:26:31 +00:00
- `pprint` is now backed by `clojure.pprint/pprint` instead of fipp [#571 ](https://github.com/babashka/babashka/issues/571 )
2020-09-23 12:32:11 +00:00
2020-08-28 18:55:26 +00:00
## v0.2.0 (2020-08-28)
2020-08-21 08:31:54 +00:00
2020-08-26 18:43:16 +00:00
Thanks to [@cldwalker ](https://github.com/cldwalker ), [@dehli ](https://github.com/dehli ), [@djblue ](https://github.com/djblue ), [@GomoSDG ](https://github.com/GomoSDG ), [@grahamcarlyle ](https://github.com/grahamcarlyle ), [@j-cr ](https://github.com/j-cr ),
[@jeroenvandijk ](https://github.com/jeroenvandijk ), [@justone ](https://github.com/justone ), [@kwrooijen ](https://github.com/kwrooijen ), [@lread ](https://github.com/lread ), [@patrick-galvin ](https://github.com/patrick-galvin ) and [@wodin ](https://github.com/wodin ) for
2020-08-29 07:10:41 +00:00
contributing to this release. Thanks to [Clojurists Together ](https://www.clojuriststogether.org/ ) for sponsoring this release.
2020-08-21 08:43:04 +00:00
2020-08-21 08:31:54 +00:00
### New
2021-01-01 10:26:31 +00:00
- Add support for `clojure.datafy` , `Datafiable` and `Navigable` [#468 ](https://github.com/babashka/babashka/issues/468 ). To play with the new `clojure.datafy` support, you can use [portal ](https://github.com/djblue/portal ):
2020-08-28 21:18:13 +00:00
``` clojure
$ bb -cp `clj -Spath -Sdeps '{:deps {djblue/portal {:mvn/version "0.4.0"}}}'`
```
2021-01-01 10:26:31 +00:00
- Add support for building and running uberjars [#536 ](https://github.com/babashka/babashka/issues/536 ). See [docs ](https://github.com/babashka/babashka#uberjar ).
- Print context, locals and stack trace on exception [#543 ](https://github.com/babashka/babashka/issues/543 ).
- Expose more transit vars [#525 ](https://github.com/babashka/babashka/issues/525 ) ([@djblue](https://github.com/djblue))
2020-08-27 13:43:09 +00:00
- Add `add-tap` ,`tap>`, `remove-tap` , `class?` , `iterator-seq` , `remove-watch` , `realized?`
2020-08-27 14:47:00 +00:00
- Add `clojure.walk/macroexpand-all`
2020-08-27 13:43:09 +00:00
- Add `java.lang.ProcessHandle` and better support for killing subprocesses via
2021-01-01 10:26:31 +00:00
Java interop. See [test script ](https://github.com/babashka/babashka/blob/7049b1b0bd582b717094703bcf299fb6363bb142/test/babashka/scripts/kill_child_processes.bb ).
- Add `clojure.lang.ArityException` and tests to support the [circleci/bond ](https://github.com/circleci/bond ) library [#524 ](https://github.com/babashka/babashka/issues/524 ) ([@cldwalker](https://github.com/cldwalker)).
2020-08-27 13:43:09 +00:00
- Add `java.time.format.DateTimeParseException`
2020-08-21 08:31:54 +00:00
### Fixed
2021-01-01 10:26:31 +00:00
- Fix order of namespaces in uberscript [#535 ](https://github.com/babashka/babashka/issues/535 )
- Fix reading resources from jar files [#528 ](https://github.com/babashka/babashka/issues/528 )
2020-08-21 08:40:54 +00:00
- Switch from canonical to absolute paths in `:file` field on var metadata
2021-01-01 10:26:31 +00:00
[#532 ](https://github.com/babashka/babashka/issues/532 )
- Babashka shows wrong filename when error is from required ns [#508 ](https://github.com/babashka/babashka/issues/508 )
2020-08-27 13:43:09 +00:00
- Eval metadata on var created with `defn` [borkdude/sci#36 ](https://github.com/borkdude/sci/issues/36 )
- Metadata fn on var fails if calling the var itself [borkdude/sci#363 ](https://github.com/borkdude/sci/issues/363 )
- Allow re-binding of core vars in with-redefs [borkdude/sci#375 ](https://github.com/borkdude/sci/issues/375 )
2020-08-21 08:31:54 +00:00
- Fix `false` dynamic binding value (which was read as `nil` ) [borkdude/sci#379 ](https://github.com/borkdude/sci/issues/379 )
- Fix setting of `*warn-on-reflection*` in nREPL session [babashka/babashka.nrepl#25 ](https://github.com/babashka/babashka.nrepl/issues/25 )
2020-08-26 18:43:16 +00:00
- Fix protocols with multiple methods on defrecords [borkdude/sci#367 ](https://github.com/borkdude/sci/issues/367 ) ([@patrick-galvin](https://github.com/patrick-galvin))
2020-08-21 08:31:54 +00:00
2020-06-27 11:31:29 +00:00
## v0.1.3 (2020-06-27)
2020-08-26 18:44:16 +00:00
Thanks [@llacom ](https://github.com/llacom ), [@AndreTheHunter ](https://github.com/AndreTheHunter )and [@xingzheone ](https://github.com/xingzheone ) for contributing to this release.
2020-06-27 11:31:29 +00:00
### New
- Add eldoc support in babashka.nrepl ([@borkdude](https://github.com/borkdude) and [@llacom ](https://github.com/llacom ))
- Add `java.time.temporal.{TemportalAdjuster, TemporalAmount}` classes
2021-01-01 10:26:31 +00:00
- Add `clojure.java.browse/browse-url` [#495 ](https://github.com/babashka/babashka/issues/495 )
2020-06-27 11:31:29 +00:00
- Add classes for cli-matic library ([@AndreTheHunter](https://github.com/AndreTheHunter))
2021-01-01 10:26:31 +00:00
- Add `babashka.version` system property [#479 ](https://github.com/babashka/babashka/issues/479 )
2020-06-27 11:31:29 +00:00
- Add `java.net.ConnectException` class
2021-01-01 10:26:31 +00:00
- Add `babashka.file` system property to support `__name__ = "__main__"` pattern (see [docs ](https://github.com/babashka/babashka#__name__--__main__-pattern )) [#478 ](https://github.com/babashka/babashka/issues/478 ).
2020-06-27 11:31:29 +00:00
2020-06-27 11:32:43 +00:00
### Fixed
2020-06-27 11:31:29 +00:00
2021-01-01 10:26:31 +00:00
- Make `clojure.test/report` a dynamic var [#482 ](https://github.com/babashka/babashka/issues/482 ), [#491 ](https://github.com/babashka/babashka/issues/491 )
2020-06-27 11:31:29 +00:00
- 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](https://github.com/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
2020-06-14 10:51:45 +00:00
## v0.1.2 (2020-06-14)
2020-06-14 10:25:38 +00:00
2020-06-14 10:27:35 +00:00
Thanks [@jeroenvandijk ](https://github.com/jeroenvandijk ) for contributing to this release.
2020-06-14 10:25:38 +00:00
- Support `:extend-via-metadata` option in protocols
2021-01-01 10:26:31 +00:00
- Fix classpath issue for Windows [#496 ](https://github.com/babashka/babashka/issues/496 )
2020-06-14 10:25:38 +00:00
- Add `double-array` , `short-array` and `clojure.lang.BigInt` for compatibility with
[clojure.data.generators ](https://github.com/clojure/data.generators )
- Add support for `*print-level*`
2021-01-01 10:26:31 +00:00
- Add version info in `:describe` message of babashka.nrepl [#471 ](https://github.com/babashka/babashka/issues/471 )
2020-06-14 10:25:38 +00:00
- Add compatibility for [honeysql ](https://github.com/seancorfield/honeysql )
(most notable change: support `import` for records)
2020-06-10 21:54:48 +00:00
## v0.1.1 (2020-06-10)
2020-06-01 08:56:00 +00:00
2020-06-10 21:54:48 +00:00
Thanks [@Chowlz ](https://github.com/Chowlz ) and
[@mharju ](https://github.com/mharju ) for contributing to this release.
This release brings compatibility with the
[camel-snake-kebab ](https://github.com/clj-commons/camel-snake-kebab ) and
[aero ](https://github.com/juxt/aero/ ) libraries due to the introduction of
`defprotocol` , `defrecord` and other enhancements.
2020-06-10 22:13:47 +00:00
### New
2020-06-10 22:19:48 +00:00
- Add `java.io.Console` . This is useful for letting users type in passwords.
2020-06-10 21:54:48 +00:00
- Add initial support for `defprotocol` and `defrecord`
- Add `default-data-readers`
2020-06-10 22:13:47 +00:00
### Enhancements / fixes
2021-01-01 10:26:31 +00:00
- Fix interop with result of `.environment` method on `ProcessBuilder` [#460 ](https://github.com/babashka/babashka/issues/460 )
- Disable signal handlers via environment variable for AWS Lambda [#462 ](https://github.com/babashka/babashka/issues/462 ) ([@Chowlz](https://github.com/Chowlz)). See [README.md ](https://github.com/babashka/babashka#package-babashka-script-as-a-aws-lambda ).
2020-06-10 22:13:47 +00:00
- babashka.curl: fix double quote escaping issue on Windows
2020-06-10 22:16:25 +00:00
- Fix resolving var in syntax-quote from other namespace brought in via `:refer`
2020-06-10 21:54:48 +00:00
- `io/resource` should return `nil` for non-relative paths instead of throwing
2020-06-10 22:19:08 +00:00
- Fix field access interop when wrapped in parens: `(Integer/SIZE)`
2020-06-10 21:54:48 +00:00
## v0.1.0 (2020-06-01)
2020-06-01 08:56:00 +00:00
Thanks [@martinklepsch ](https://github.com/martinklepsch ) and [@cldwalker ](https://github.com/cldwalker ) for contributing to this release.
2020-05-30 15:56:10 +00:00
- Add more `java.time` classes. This makes babashka fully compatible with the
[cljc.java-time ](https://github.com/henryw374/cljc.java-time ) library.
- Add `java.lang.Float` class
2020-06-01 09:00:19 +00:00
- Add `java.nio.file.PathMatcher` class. This allows one to implement a
2020-06-01 09:03:56 +00:00
[glob ](test-resources/babashka/glob.clj ) function.
2020-05-30 15:56:10 +00:00
- Support alternative interop form: `(. Integer -SIZE) ;;=> 32`
2021-01-01 10:26:31 +00:00
- [#454 ](https://github.com/babashka/babashka/issues/454 ): syntax check on amount of arguments to `def`
- [#458 ](https://github.com/babashka/babashka/issues/458 ): add `clojure.data` namespace
2020-05-30 15:56:10 +00:00
## Prior to v0.1.0
Details about releases prior to v0.1.0 can be found
2021-01-01 10:26:31 +00:00
[here ](https://github.com/babashka/babashka/releases ).
2020-05-30 15:56:10 +00:00
2019-12-20 09:32:43 +00:00
## Breaking changes
2020-11-21 11:13:44 +00:00
### v0.2.4
2021-01-01 10:26:31 +00:00
- Remove cheshire smile functions [#658 ](https://github.com/babashka/babashka/issues/658 )
2020-11-21 11:13:44 +00:00
2020-10-21 19:28:03 +00:00
### v0.2.3
2021-01-01 10:26:31 +00:00
- The [Docker image ](https://hub.docker.com/r/babashka/babashka/ ) is now based on Ubuntu instead of Alpine.
2020-10-21 19:28:03 +00:00
2020-05-30 15:57:04 +00:00
### v0.0.90
2020-05-01 09:49:42 +00:00
2020-06-01 08:57:43 +00:00
- 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
2021-01-01 10:26:31 +00:00
documentation](https://github.com/babashka/babashka/blob/master/doc/build.md#feature-flags).
- [babashka/babashka.curl#16 ](https://github.com/babashka/babashka.curl/issues/16 ):
2020-05-01 09:51:10 +00:00
Exceptional status codes or nonzero `curl` exit codes will throw exceptions by
2020-05-01 09:53:00 +00:00
default. You can opt out with `:throw false` .
2020-05-01 09:49:42 +00:00
2020-05-30 15:57:04 +00:00
### v0.0.79
2021-01-01 10:26:31 +00:00
- [babashka.curl#9 ](https://github.com/babashka/babashka.curl/issues/9 ):
2020-06-01 08:57:43 +00:00
Functions in `babashka.curl` like `get` , `post` , etc. now always return a map
with `:status` , `:body` , and `:headers` .
2020-04-04 10:25:27 +00:00
2020-05-30 15:57:04 +00:00
### v0.0.71
2021-01-01 10:26:31 +00:00
- [#267 ](https://github.com/babashka/babashka/issues/267 ) Change behavior of
2020-06-01 08:57:43 +00:00
reader conditionals: the `:clj` branch is taken when it occurs before a `:bb`
branch.
2020-02-19 23:29:37 +00:00
2020-05-30 15:57:04 +00:00
### v0.0.44 - 0.0.45
2021-01-01 10:26:31 +00:00
- [#173 ](https://github.com/babashka/babashka/issues/173 ): Rename `*in*` to
2020-06-01 08:57:43 +00:00
`*input*` (in the `user` namespace). The reason for this is that it shadowed
`clojure.core/*in*` when used unqualified.
2019-12-20 09:32:43 +00:00
2020-05-30 15:57:04 +00:00
### v0.0.43
2021-01-01 10:26:31 +00:00
- [#160 ](https://github.com/babashka/babashka/issues/160 ): Add support for
2020-06-01 08:57:43 +00:00
`java.lang.ProcessBuilder` . See docs. This replaces the `conch` namespace.