Skip to content

Releases: candid82/joker

v0.11.0

02 Jan 06:39
Compare
Choose a tag to compare
v0.11.0 Pre-release
Pre-release

General improvements

  • added joker.repl namespace
  • added :ns and :name to vars' meta
  • added joker.os/chdir (thanks @jcburley!)
  • added Joker versions of clojure.template and clojure.walk namespaces (thanks @jcburley!)
  • added min and max arity reporting in some error messages (thanks @jcburley!)
  • added multimethods support (thanks @jcburley!)
  • defmacro now returns the var
  • fixed arity error message when calling macros
  • implemented refer-clojure

Linter improvements

  • added re-find with arity 1
  • fixed this inside proxy (thanks @conormcd!)
  • Joker now evaluates in-ns when linting. This results in more accurate error messages (pointing to the current namespace rather than user namespace). IMPORTANT: if you have .jokerd/linter.* files, you might have to add (in-ns 'joker.core) at the top to make sure your definitions reside in joker.core namespace and are therefore referred in the namespace being linted.

Fixes

  • only public joker.core vars are now referred in user namespace (previously, private vars were referred as well)

v0.10.2

03 Dec 05:39
Compare
Choose a tag to compare
v0.10.2 Pre-release
Pre-release

General improvements

  • changed -- to mean only end of Joker options, never stdin. Use - for stdin. (Thanks @jcburley)
  • added new core function: requiring-resolve (from Clojure 1.10)
  • added socket REPL (for example, joker --repl localhost:8080). Thanks @jcburley!

Linter improvements

  • made Joker aware of more Clojure core's vars, including new vars introduced in Clojure 1.10
  • Joker now warns on odd number of clauses in cond-> and cond->>

Fixes

  • fixed read-line to read entire lines (thanks @jcburley)

v0.10.1

05 Nov 01:36
Compare
Choose a tag to compare
v0.10.1 Pre-release
Pre-release

General improvements

  • joker.os/sh and joker.os/sh-from now return integer exit code in :exit key. (Thanks @jcburley!)
  • added new command line flag --no-readline. It disables readline functionality in the repl. Useful if joker is called with rlwrap.
  • added new functions from Clojure 1.10: joker.core/ex-cause, joker.core/ex-message
  • Joker now prints result of evaluating -e <expr> if not nil
  • for consistency with Clojure, (str <ns>) now returns namespace's name, while (pr <ns>) prints #object[Namespace "<name>"].
  • command line option --expr is renamed to --eval (for consistency with Clojure). (Thanks @jcburley)

Linter improvements

  • made Joker aware of new Clojure 1.10 functions: add-tap, remove-tap, tap>, read+string, PrintWriter-on
  • warn on shadowed unused binding (see #96)
  • warn on fn form with empty body. The warning is behind :fn-with-empty-body flag (defaults to true).
  • warn on unused fn parameters. The warning is behind :unused-fn-parameters flag (defaults to false). See #97
  • suppress unused binding or unused parameter warnings if the name starts with underscore.
  • made Joker aware of *data-readers*

Fixes

  • fixed indentation when pretty-printing seqs.

v0.10.0

30 Sep 19:52
Compare
Choose a tag to compare
v0.10.0 Pre-release
Pre-release

General improvements

  • Improved command line parsing. Thanks @jcburley!
  • command-line-args now correctly returns a seq of arguments passed to the script rather than a vector of arguments passed to joker itself. Thanks @jcburley!
  • Added support for CPU and memory profiling. Thanks @jcburley!
  • Significantly improved Joker's startup time by pre-parsing joker.core code and storing the AST in a binary format.

v0.9.7

13 Sep 04:17
Compare
Choose a tag to compare
v0.9.7 Pre-release
Pre-release

General improvements

  • support '-' (single hyphen) as alias for stdin, deprecate '--' (double hyphen) for stdin. Thanks @jcburley!

Linter improvements

  • skip type inference for dynamic vars to avoid false positives

v0.9.6

08 Sep 05:00
Compare
Choose a tag to compare
v0.9.6 Pre-release
Pre-release

General improvements

  • added joker.url namespace to standard library for encoding / decoding urls.

Linter improvements

  • improved support for user declarations (.jokerd/linter.clj)
  • fixed arities for spit and slurp
  • fixed :include-macros linting in ClojureScript (thanks @benalbrecht !)
  • Joker now exits with code 1 if there are any linter warnings or errors

v0.9.5

06 Aug 04:27
Compare
Choose a tag to compare
v0.9.5 Pre-release
Pre-release

Linter improvements

  • added Math to known namespaces (ClojureScript)
  • added support for shadow-cljs's :default option in require
  • added cljs.test macros to known-macros

v0.9.4

07 Jul 19:18
Compare
Choose a tag to compare
v0.9.4 Pre-release
Pre-release

Fixes

  • syncrhonized http server handler to avoid race condition
  • if-let with one child now gives warning if :if-without-else is set to true (#62)

v0.9.3

03 Jun 00:20
Compare
Choose a tag to compare
v0.9.3 Pre-release
Pre-release

General improvements

  • added joker.os/sh-from function

Linter improvements

  • better support for ClojureScript JS interop symbols (#57)
  • added :unused-as rule (#59)

v0.9.2

07 May 05:16
Compare
Choose a tag to compare
v0.9.2 Pre-release
Pre-release

General improvements

  • qualified names are now handled correctly in let bindings (they are forbidden)

Linter improvements

  • nicer arity warnings