All notable changes to this project will be documented in this file. This change log follows the conventions of keepachangelog.com.
- Require a minimum version of CMake 3.5 (#1107)
2.28.0 - 2024-03-24
- Update to ClojureScript 1.11.132 (#1102)
2.27.0 - 2022-11-19
- Update to ClojureScript 1.11.60 (#1095)
2.26.0 - 2022-02-12
- Update to ClojureScript 1.10.914 (#1028)
- Update to
test.check
1.1.1 (#1062) - Update to
transit-cljs
0.8.269 (#1066) - Update to Fipp 0.6.24 (#1064)
- Indicate
core.rrb-vector
ships with Planck (#1067) - Qualify lib names (#1043)
- Use
-M
withclojure.main
(#1044) - Switch to GitHub for CI
- Update internal
cljs-bean
code (#1065)
- CMake deprecation warning (#1056)
- Build failing on Fedora 32 (#1032)
integer?
predicate differs from ClojureScript (#1036)- Unit tests failing on macOS (brew shallow clones) (#1046)
- Build with
-R
triggers a warning (#1061) - Suspicious code warnings when building (#1076)
2.25.0 - 2020-03-22
- Ability to specify prefix and suffix for temp files (#1005)
- Implement
console.time*
functionality (#997)
- Update to ClojureScript 1.10.597
- Ship with
com.cognitect/transit-js
supporting meta serialization functionality (#1009) - Remove unneeded
planck.repl
require inplanck.io
andplanck.http
(#1007)
- Crash if writing large byte vector to output stream (#1001)
- GCL lib analysis issue with ClojureScript master (#1011)
- Private var warnings in tests (#1017)
2.24.0 - 2019-07-25
- Native temp file and dir facilities (#934)
- Ability to open i/o streams on URI and JAR resources (#947)
- Allow http post of binary info (#980)
io/reader
on http follow redirects by default (#937)- Update dependencies (#940, #941, #942)
- Use
paredit.js
for indentation (#973) - Improve perf of
io/file-attributes
using CLJS Bean (#969) - Optimize
planck.io/copy
for input stream to writer case - Promote
planck.socket.alpha
toplanck.socket
(#956) - Syntax-highlight
#inst
and#uuid
(#975) - Use CLJS Bean to convert output of http (#988)
- Avoid
js->clj
when forming sh results (#992) - Just use
seq
to convert command line args (#990) - Avoid
js->clj
/clj->js
in highlight coordinates calculation (#994)
- Deprecate
planck.socket.alpha
namespace (#956)
- Remove deprecated
io/read-line
,io/slurp
,io/spit
(#963)
tty?
spec refers toplanck.core/IWriter
(#928)- HTTP binary response includes trailing buffer (#949)
- IO encoding should default to UTF-8 if unspecified (#960)
- Crash when timeout finishes (#998)
2.23.0 - 2019-05-19
- Add
planck.io/tty?
(#911) - Add -keep-gcl option to the clean script
- Ignore
*.swp
files - Support
NO_COLOR
(#923) - Auto complete for
#queue
,#inst
, etc. (#926)
- Re-enable FTL JIT on macOS (#820)
- Updated planck-repl.org to use HTTPs and revised all references.
- Switch
strncpy
tomemcpy
to avoid GCC warning - Backslash return return should produce "\n" (661)
-e
affects*1
,*2
,*3
(#659)- Print queues properly (#921)
2.22.0 - 2019-04-06
- Add
planck.core/with-in-str
(#873) - Document
planck.io/resource
(#487) - Support
ns-aliases
andns-refers
(#505) - Add almost all of the Google Closure Library (#496)
- Bundle official distribution of Google Closure Library
- Add caching of optimisation files
- Update to Google Closure Library v20190301
- Update to Google Closure Compiler v20190301
- Execution error instead of syntax for
08
(#857) - Support interning quoted data structues (#508)
- Fix error messages in
planck.io
(#582) - Bad import taints analysis metadata (#888)
- Long form needed with plk for optimizations / checked arrays (#750)
- Crash when defining single segment ns (#588)
- Handle interruptions while nanosleeping (#909)
2.21.0 - 2019-03-07
- Add
planck.io/exists?
,planck.io/hidden-file?
,planck.io/regular-file?
,planck.io/symbolic-link?
(#863) - Add
planck.io/path-elements
,planck.io/file-name
- Document using Boot to generate a classpath file (#343)
- Crash with empty HTTP response header (#894)
- Update to ClojureScript 1.10.520
- Consistent use of 'accept' in
planck.http
(#837) planck.core/load-string
evaluates in current namespace (#867)
2.20.0 - 2019-01-31
- Option to have
planck.http
follow redirects (#842) - Add
requiring-resolve
(#835) - Support setting user agent in
planck.http
(#838) - Bundle new datafy namespace (#851)
- Support for improvements to exception messages and printing in ClojureScript 1.10.516 (#845)
- Update to ClojureScript 1.10.516
- Update to Fipp 0.6.14
- Syntax-highlight and shorten qualified keywords in default spec explain printer (#848)
- Make s/explain provide names of core fns (#832)
- Analysis cache issue with
load-file
(#843) - Check for handle undefined values in C code that fetches values from JavaScriptCore
- Fix
fnil
expression:0
fornil
in second position (#854) - Ensure
cljs.js/require
called with bound vars (#855)
2.19.0 - 2018-11-02
- Update to ClojureScript 1.10.439
- Support for
:spec-skip-macros
compiler option (#806) - Enhanced
delay
printing (#827)
2.18.1 - 2018-10-23
- Pretty-print atoms and volatiles
- Requiring foreign libs with cljsjs broken (#825)
2.18.0 - 2018-10-13
- Add support for tagged literals (#517)
doc
for spec-registered keywords- Support for passing options via
--compile-opts
(#774) - Support for
:closure-defines
(#773) - Support for
:source-map
compiler option - Support for
:warnings
compiler option (#783) - Support for
:repl-requires
compiler option (#786) - Support for
:def-emits-var
compiler option (#785) - Auto-load
user.
(cljs
|cljc
) (#754) - Allow
planck.shell
:in
to take same asio/copy
(#808) - Add
find-var
imitation (#743) - Add
planck.io/list-files
(#748) - Add
planck.core/load-reader
andplanck.core/load-string
(#687)
- Updates for private var use in Planck namespaces
- Ensure all earmuffed vars defined in Planck namespaces are dynamic
- Support
IPrintWithWriter
on native types (#767) - Use Number.isInteger if possible (#799)
- Monkey patch target-specific array? and find-ns-obj (#798)
- Update
test.check
to 0.10.0-alpha3 (#802)
- Cache behavior when executing standalone script with shebang deps (#749)
- Fix build issue when using
xxdi.pl
(#770) - Fix loading of Closure libs
- Trailing comma error with optimizations (#781)
- Log errors when initializing engine (#787)
- Bundle missing macros namespaces (#794)
- ClojureScript version should not be displayed if there are inits (#804)
- Docstring for
planck.shell/sh
:in
should indicatestring
(#807) - Faster
array
<->vec
I/O (#812) - Faster
file-seq
(#816)
2.17.0 - 2018-07-02
- Update to ClojureScript 1.10.339
- Delegate to ClojureScript
deps.edn
fortransit-clj
- Crash getting http response via socket REPL (#760)
2.16.0 - 2018-06-22
- Update to ClojureScript 1.10.329
2.15.0 - 2018-06-15
- Read the environment variables into
planck.environ/env
(#751)
- Update to ClojureScript 1.10.312
- Update to Closure Compiler v20180610
- No longer bundle
goog.json.EvalJsonProcessor
in order to support latest Closure Library. - Accommodate new Closure Library deps management.
- If you pass a non-fn to setTimeout it should throw (#702)
2.14.0 - 2018-05-02
- Document how to use
-Sdeps
in shebang on macOS (#720) - Man pages for
planck
andplk
(#727) - A
script/install
that will installplanck
,plk
, and man pages (#728) - Document shutdown semantics (#723)
- Default FTL JIT to off (#722)
- Avoid private var use within Planck code to prepare for CLJS-1702
- Improve "launch path not accessible" message from
planck.shell/sh
(#721)
2.13.0 - 2018-04-17
- Add a new
plk
script which delegates toclojure
fordeps.edn
, etc. (#710) - Port
clojure.java.io/copy
(#677)
js/clearTimeout
should allow shutdown (#698)
- Update to
transit-cljs
0.8.248 and remove workaround introduced with #647 - Update to Closure v20180319
- Update help for
*command-line-args*
(#615) - On macOS 10.13.4 and later default FTL JIT to off (#706)
2.12.6 - 2018-03-26
- Fixed issues with building Ubuntu PPA in sandbox environment
- Fixed implicit definition of
execvpe
when compiling for Linux
2.12.0 - 2018-03-25
- Support
js/clearTimeout
,js/setInterval
, andjs/clearInterval
(#127) - Add a NixOS 17.09 build environment
- Include informative message about
-fast
when building (#587) - Allow HTTP response body to optionally be encoded as binary (#649)
- Added
io/make-parents
(#470) - Added
io/as-relative-path
- Support classpath-relative paths (starting with
@
or@/
) for-i
and script paths - Support for insecure http connections (#694)
- Use
clojure
/deps.edn
instead oflein
/project.clj
when building - Tweaks to build process supporting depending on a ClojureScript source tree (instead of JAR)
- Update to Closure v20180204
- Avoid consequences enable-console-print! in core (#638)
- Truncate stacktraces to stop in user code
- Use a simpler startup banner matching ClojureScript
- Update
planck.core/eval
to delegate to the newcljs.core/eval
- In stacktraces, JavaScript sources assumed to be ClojureScript (#624)
- Bundled JavaScript files not source-mapped (#630)
- Fully qualified name lost in stacktrace w/optimization (#635)
- Incorrect stacktrace demunging with hyphens (#641)
- Sometimes async prints missing (#655)
clojure.reflect
not bundled (#667)- Remove unnecessary equals signs between options and parameter values in help output
- Provide more info if sh err is 126 or 127 (#673)
- Degenerate PATH if any env map supplied to
planck.shell/sh
(#672) io/file
should make use ofio/as-file
internally (#683)
2.11.0 - 2018-01-23
- Add
M-f
,M-b
, andM-d
support for REPL (#569) - Add support for core.specs.alpha (#592)
- HTTP facility supports UNIX sockets (#597)
- Update Dependencies page showing how to use deps.edn (#575)
- Use Clojure 1.9.0 when building Planck
- Use FindCurl when building Planck (#598)
with-sh-env
codepath subjectsenv
to spec validation (#565)- Improve perf of loading resources from JARs (#566)
- Update site docs for tab completion (#545)
- Auto-completion fails with numbers in ns names (#578)
- Terminal size changes not detected until line entered (#584)
- Odd jump if you paste long line (#459)
- Don't use sequence to print eduction (#590)
- Can't make trivial revisions to
function_http_request
withoutSIGSEGV
s (#600)
2.10.0 - 2017-12-07
- Site docs for
--fn-invoke-direct
(#547) - Implement http put, patch, delete, head (#548)
- Make
dir
work on aliases (#552) - Add
planck.core/sleep
(#558) - Add
planck.core/read
(#560) - Add
planck.core/read-string
(#559)
- Update build to use Lein 2.8.1
- Eliminate doc site reference to
:static-fns
as a workaround for (fixed) JavaScriptCore perf bug. - Update to Closure v20170910
- Update build to allow alternate
xxd -i
implementation (#549) - Update doc site to reflect that
cljs.core/*command-line-args*
is populated. - Update doc site Dependencies Foreign Libs CLJSJS section to use
boot
- Use
:foreign-libs
:file-min
if optimizationssimple
(#555)
- Remove
planck.core
types meant to be private (#562)
- Single-dash command line args not passed to script (#550)
this
bound toplanck.repl
when foreign lib loaded (#554)- Auto-complete for referred Vars (#556)
- Clear EOF after reading file so subsequent read calls will see any appended data (#557)
source
fails on Vars whose source has ns-aliased keywords (#561)
2.9.0 - 2017-11-14
- transit-cljs 0.8.243
- Show completion candidates when hitting tab (#527)
- Remove
planck.repl/get-arglists
spec (it is non-user supplied and present by default)
- Fix issue where source/doc would work on private planck.repl Vars (#542)
- Fix issue where global a/b/c shadowed by locals (#543)
- Eliminate stale reference to
coercible-file?
spec (#544)
2.8.1 - 2017-10-03
- Fix Linux PPA build issue with build box home dir
2.8.0 - 2017-10-03
- Optimizations for source map loading when first exception is printed.
- Honor
cljs.core/*main-cli-fn*
, calling if set. - Facsimile of
cljs.nodejs
for code callingenable-util-print!
.
- ClojureScript 1.9.946.
- Eliminate leaks and properly initialize memory.
planck.repl/get-arglists
now resolves symbols in current namespace.- It is now possible to require
goog
. - Fix SIGSEGV with glibc 2.26.
2.7.3 - 2017-08-17
- Fix issue with Ubuntu PPA release.
2.7.0 - 2017-08-16
- Ability to specify
-O
/--optimizations
to apply Closure. - Closure applied to bundled deps.
- Pretty print records.
- Update deps management for global exports,
:libs
. - Auto-completion for symbols in Closure Library.
- ClojureScript 1.9.908.
- Add checked-arrays to
-h
output. - No longer bundle
goog.structs.weak
(not available).
- Disable
:def-emits-var
in code-loading forms. - Increas buffers used for paths to be
PATH_MAX
.
2.6.0 - 2017-07-28
- Alpha support for TCP sockets in
planck.socket.alpha
. - Support passing Maven coordinates for JAR deps.
- Hook up flush for writers and output streams.
- Hook up planck.shell/sh :in for smallish strings.
- Support for
:fn-invoke-direct
compiler option. - Support
cljs.core/*command-line-args*
. - Support for
:checked-arrays
. - Make
*print-fn*
and*print-err-fn*
like noderepljs for JavaScript objects. - Pretty print JavaScript arrays and objects.
- ClojureScript 1.9.854.
- Update transit-clj to 0.8.300.
- Update fipp to 0.6.8.
- Revise dump SDK option to be
-S
.
- Fixes crashes when using HTTP.
- Don't print
doc
s for macros that haven't been referred. - Auto-complete after arrow and other special chars.
- Don’t demunge Planck native fns.
- Suppress additional meta printing for unknown types.
- Do a distinct in apropros to provide one response for fn-macros.
2.5.0 - 2017-05-26
- ClojureScript 1.9.562.
- Pretty-print Eductions.
- Fix crash when making HTTP post.
2.4.0 - 2017-05-12
- ClojureScript 1.9.542.
- Improve completions.
- Fix crash when making HTTP request.
- Fix find-doc implementation to be more accurate.
- Properly cache internal
run_timeout_fn
.
2.3.0 - 2017-04-18
- Show version with
-V
/--version
. - Ability to
-D
/--dump-sdk
. - SDK docs on website.
- Imitation of clojure.java.io/resource.
- Add get-arglists function (emacs integration).
- Ability to instrument bundled speced fns.
- ClojureScript 1.9.521
- Don’t bundle cljs/core$macros.cljc or the bundle namespace.
- Make path-separator private.
- Make planck.io/build-uri private.
- Load source maps for more bundled namespaces.
- Don't bundle
tailrecursion/cljson
.
- Crash if specify dumb as theme.
- Ctrl-C leads to a space after prompt.
2.2.0 - 2017-02-25
- Support for namespaced maps.
- ClojureScript 1.9.494
- Deumunge $macros in symbols in macroexpand.
- pprint wrapping honor width.
- Better support for pasting into REPL.
- Handle comments entered in REPL.
2.1.0 - 2017-02-10
- Ability to use Ctrl-R to
reverse-i-search
in the REPL. - Print
ex-data
inpst
. - Better error reporting for malformed scripts.
- Available via
apt-get
on Ubuntu.
- ClojureScript 1.9.473.
- Use
poll
instead ofselect
in order to async more than 1024 shell processes.
- Add
::body
to spec ofplanck.http/post
.
2.0.0 - 2017-02-04
- Support for Linux.
- Async Shell.
- Hi-Res Timer.
- Interrupt Forms Generating Output.
- Source for REPL-defined forms.
- Planck Classpath Environment Variable.
- ClojureScript 1.9.456.
2.0.0-rc.1 - 2017-01-27
- ClojureScript 1.9.456.
- Keep script running until
sh-async
completes.
2.0.0-beta.6 - 2017-01-21
source
works fordef
forms evaluated in the REPL.
- ClojureScript 1.9.397
- Shut down JavaScriptCore when Planck is shut down.
- Fix a leak.
- Fix bugs related to caching native function references.
- Fix bugs related to
JSValueRef
lifetimes. - Fix bug when Ctrl-C out of long form.
2.0.0-beta.5 - 2017-01-04
- ClojureScript 1.9.380.
- Updates to error indicator (caret).
- Optimize
-read-line
perf. - No longer use source requiring C99 support.
- Improvements waiting for ClojureScript runtime initialization.
- Flow control when writing to Socket REPL.
- Fix a corner case in
BufferedReader
implementation. - Properly handle bad file descriptors.
- Fix bugs related to secondary prompt display with
-d
. - Fix a memory leak converting strings.
- Better handling of Socket REPL lifecycle.
- Fix a few buffer overruns.
- Properly route Socket REPL printing when under load.
- Fix crash in
file-seq
.
2.0.0-beta.4 - 2016-12-17
- Can compile with either gcc or clang.
- Use nanosecond-resolution timers for
time
function. - Use Planck's
eval
when needed bycljs.spec.test
macros.
- ClojureScript 1.9.376.
- Syntax-hightlight specs in
doc
output. - Various robustness revisions in C source.
- Update the copyright notices (in
-l
output). - Pre-compile
cljs.spec.test
.
- Don't reload goog JS that has already been loaded.
- Avoid stack overflow with deep require tree.
- Fix the ability to do HTTP POSTs.
- Support
planck.shell/sh
child processes that produce lots of output.
2.0.0-beta.3 - 2016-11-27
- Now builds on NixOS and Centos.
- High resolution timer for
time
macro. - Added
load
REPL special.
- Use the new
require
,require-macros
,import
, macros from ClojureScript.
- Fix build on OS X 10.9.5.
- Properly serialize callbacks.
- Fix
sh-async
. - Guard against missing JARs on classpath causing crash.
- Fix socket REPL indication display (was interleaved with other text).
- Fix endless loop hitting Ctrl-D to stop when using dumb terminal mode.
2.0.0-beta.2 - 2016-11-20
- Ability to install via
brew install --devel planck
.
- ClojureScript 1.9.330.
- Add keyword completion candidates
:refer-clojure
:exclude
. - Build native portion (C code) with release optimizations.
- Properly initialize
*assert*
. - Fix issue when cursor has to hop left.
- Fix ability to
(exit 0)
. - Fix blocking initializing JavaScriptCore on some Unixes.
2.0.0-beta.1 - 2016-11-20
- Support for Linux.
- Support for
PLANCK_CLASSPATH
env var. - Interruptibility of REPL forms producing output.
- Warn if Planck can’t write to cache path.
- ClojureScript 1.9.293.
- Bundle
goog.labs.format.csv
. - Abort if
-k
and-K
specified. - Eliminate double analysis of forms at REPL.
- Update
ns
docstring.
- Preserve
ns-interns
when failing to load a namespace. - Properly track loaded foreign-libs.
- Fix segfault typing
]
after an error.
1.17 - 2016-09-11
- Report filename for compiler warnings and errors.
- ClojureScript 1.9.229.
- Update bundled version of Transit to 0.8.239.
- Update bundled version of Fipp to 0.6.6.
- Close pipes in shell/sh.
1.16 - 2016-08-15
- Support reading namespaced maps.
- Support IOFactory on std streams.
- ClojureScript 1.9.216
- Use
org.clojure/tools.reader
1.0.0-beta3. - Improvements to tab completions.
- Many revsions for 2.0 alpha C-based port.
- Properly initialize
*assert*
with session state (for--elide-asserts
). - Changes to support building on case-sensitive file system.
1.15 - 2016-06-18
- Add indicators for warnings.
- Format macroexpand output as code.
- Spec functions exposed in Planck namespaces.
- Format specs in docstrings.
- ClojureScript 1.9.76.
- Wait for timers to complete before exiting (useful for
core.async
).
1.14 - 2016-06-16
- Support for cljs.spec.
- ClojureScript 1.9.14.
- Partial fix for
eval
(#288).
1.13 - 2016-05-27
- Column indicators for analysis errors.
- Elide pasted prompts when pasting into REPL.
- Isolation for Socket REPLs (
*1
, etc.). - Better handling of async printing.
- Add
console.error
(previously only hadconsole.log
). - Align secondary prompts for 1-char namespaces.
- Properly handle case when
*print-newline*
is set tofalse
.
1.12.1 - 2016-05-18
- Fix slurp failing on Mavericks.
- Fix crash with multi-line forms and single-character namespaces.
1.12 - 2016-05-15
- Pretty print REPL results using Fipp with syntax highlighting.
- A new
planck.http
namespace supportingget
andpost
. - Support
:foreign-libs
indeps.cljs
embedded in JARs. - Support re-configuring control keys used in REPL.
- Support disabling asserts at launch time (like
:elide-asserts
). - Add simpler cache support via
-K
to create.planck_cache
dir.
- console log simply logs text (w/o NSLog info).
- Don't refer to Maven (brew install w/o Java).
- Use
tools.reader
1.0.0-beta1. - Use Parinfer 1.8.1.
- Clean up stack traces (demunge symbols, elide
-invoke
). - Mark a few vars as private.
- Minimal OS required Mavericks (was Lion).
- Properly align docstring output for vars like
some->
. - Fix a bug where caches were not invalided when using an updated JAR.
1.11 - 2016-04-25
- A quiet mode that disables banner and other output.
- Support for
clojure.core.reducers
. - Ability to use
cljs.js
itself within Planck viaplanck.core/init-empty-state
. - Autocompletion on commonly used keywords and other autocomplete improvements.
- Update to ClojureScript 1.8.51.
- Use CloureScript
cljs.test
(instead of previous port).
- Fix for multi-arg file, add File/toString.
- Exit with failure when port is bound.
- Fix for caching top-level files.
- Don't inadvertently load bundled artifacts from classpath.
1.10 - 2016-03-02
- Bundle port of
cljs.test
for use in bootstrap (post). - Colors (with light and dark theme) (post).
- Indentation (via Parinfer) (post).
eval
and friendsresolve
,ns-resolve
,intern
(post).- Securely prompt for and read password.
- Source mapping for user code.
with-open
andline-seq
.with-sh-dir
andwith-sh-env
.sh
accepts string and file.- Honor
:forms
indoc
output. planck.io/file-attributes
(likefstat
).find-doc
.- Startup banner with helpful instructions.
- Use ClojureScript master (1.8.28).
- Throw exception on error from
sh
. doc
forcatch
,finally
,&
.- AOT compile Planck macro namespaces (post).
- Throw if using closed file.
- Properly index open JARs (needed for large classpaths).
- You can now
require
planck.repl
namespace. - Don't let
cljs.env
be inadvertently reloaded (clears*compiler*
). - Search all loaded macro namespaces for docs.
1.9 - 2016-01-20
- New website with comprehensive User Guide: https://planck-repl.org.
- Socket REPL.
- Lazily load core analysis caches (2x faster in some cases).
apropos
anddir
support.- Protocol method doc output.
- Doc support for namespaces.
- Bundle
clojure.zip
,clojure.data
. - Multiple forms on a single REPL line.
- Use ClojureScript 1.7.228.
- Eliminate noisy var code when in verbose mode.
- Don't use default classpath of
.
. - Add = signs in
-h
output for long args. - Mention namespace for
*command-line-args*
in-h
. - Improve exception printing.
- Fix crash if command line arg missing.
- Fix so you can use reader literals.
- Fix
source
failing on VMs. - Purge analysis cache when reloading (allows reloading namespace with constant).
- Fix extra blank lines that appear when pasting.
- Proper caching of macro namespaces.
- If require fails, restore analysis cache state.
- Fix for syntax quote.
- Honor
:static-fns
for cache invalidation. - Fix for
load-file
.
1.8 - 2015-11-06
- Tab completion for core macros.
- Support for
:static-fns
(via-s
or--static-fns
). - Analysis / compilation cache (
-k <cache dir>
option). planck.core/*planck-version*
.
- Use ClojureScript 1.7.170.
- Can now
(require 'cljs.analyzer)
.
0
is truthy.doc
fix when using namespace alias.source
fix when using namespace alias.
1.7 - 2015-10-03
- Support OS X 10.11 El Capitan.
- Support OS X 10.7 Lion.
- Support for setTimeout.
- Errors emitted when
spit
andslurp
fail. - Support terminating REPL by typing
quit
orexit
.
- Use ClojureScript 1.7.122.
- Experimental analysis / compilation cache (
-k <cache dir>
option).
source
REPL special forplanck
namespace code.- Fall back to ASCII encoding if needed when using
planck.shell
. - Eliminate residual processing of
b
option. - Properly merge requires (honoring established namespace aliases).
- Proper VT100 escape sequences (brace matching in iTerm).
1.6 - 2015-08-22
- Support JAR deps.
- Support
-c
/--classpath
for specifying source directories and JAR deps. - Support for OS X 10.8 Mountain Lion.
- Ship with bundled
cljs.pprint
andcljs.test
. - Support
source
REPL special. - Support
import
REPL special. - Support for
planck.core/*command-line-args*
. - Support
:encoding
option for file I/O. - Support for byte-oriented streams (
planck.io/input-stream
andplanck.io/output-stream
). doc
output for macros.doc
and tab completion for special forms.
- Read pre-compiled namespaces and analysis metadata for faster loading.
- Deprecate
-s
/--src
in favor of using-c
/--classpath
. - Revise
planck.core/file-seq
to be lazy (in terms oftree-seq
).
- Capture stderr for
planck.shell/sh
. - Fix a glitch in brace highlighting when vertically aligned.
- Properly exit if
planck.core/exit
is called with0
. - Don't block on I/O in
planck.core/shell/sh
. - Properly decode UTF-8 from stdin.
1.5 - 2015-08-15
- Brace highlighting (cursor temporarily jumps to previous matching brace).
- Improved
require
&require-macros
(:as
etc., error reporting). file-seq
supportload-file
REPL special.- Exit codes (
1
if unhandled exception, or explcit viaplanck.core/exit
). - Hit Ctrl-C to get out of a form and get a new prompt.
- Doc output improvement.
- Google Closure indexed so you can require things from there.
- Ship with
cljs.test
/cljs.pprint
and lots of Google Closure. -d
/--dumb-terminal
option (facilitatesrlwrap
).-l
/--legal
to show licenses / copyrights.
- Rearranged so that there is now a
planck.core
to hold core fns. - Smaller binary (gzipped ClojureScript runtime internally).
- Don't lock up on syntax error.
1.4 - 2015-08-09
- 2× launch perf improvement (for scripts).
- Execute host commands via
planck.shell
namespace. - Streaming file I/O:
reader
/writer
usingIOFactory
. - Repeated ordered
-e
-i
options. - Improved tab completion (considers namespaces, specials, etc.).
pst
(print stack trace) support.- Mavericks support.
- ClojureScript 1.7.28 -> 1.7.48.
- Work towards improved
doc
support.
- Crash with single-char ns.
- Printing to
stderr
via*print-err-fn*
. - Properly suppress printing of
nil
values for launch opts. - Fixes some crashes mishandling UTF-8.
1.3 - 2015-08-03
- Updated to no longer depend on CocoaPods.
- Fast startup even with readline support.
- Tweaks for tab completion (macros included, private vars excluded).
- Cleanup startup options, especially with respect to those used for dev.
1.2 - 2015-08-02
- Source mapping of stack traces.
- Readline support and auto-completion.
1.1 - 2015-08-01
- Adds
read-line
support.
- Fixes ^D so that it exits REPL.
1.0 - 2015-07-31
- Initial release.