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.check1.1.1 (#1062) - Update to
transit-cljs0.8.269 (#1066) - Update to Fipp 0.6.24 (#1064)
- Indicate
core.rrb-vectorships with Planck (#1067) - Qualify lib names (#1043)
- Use
-Mwithclojure.main(#1044) - Switch to GitHub for CI
- Update internal
cljs-beancode (#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
-Rtriggers 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-jssupporting meta serialization functionality (#1009) - Remove unneeded
planck.replrequire inplanck.ioandplanck.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/readeron http follow redirects by default (#937)- Update dependencies (#940, #941, #942)
- Use
paredit.jsfor indentation (#973) - Improve perf of
io/file-attributesusing CLJS Bean (#969) - Optimize
planck.io/copyfor input stream to writer case - Promote
planck.socket.alphatoplanck.socket(#956) - Syntax-highlight
#instand#uuid(#975) - Use CLJS Bean to convert output of http (#988)
- Avoid
js->cljwhen forming sh results (#992) - Just use
seqto convert command line args (#990) - Avoid
js->clj/clj->jsin highlight coordinates calculation (#994)
- Deprecate
planck.socket.alphanamespace (#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
*.swpfiles - 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
strncpytomemcpyto avoid GCC warning - Backslash return return should produce "\n" (661)
-eaffects*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-aliasesandns-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-stringevaluates in current namespace (#867)
2.20.0 - 2019-01-31
- Option to have
planck.httpfollow 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
fnilexpression:0fornilin second position (#854) - Ensure
cljs.js/requirecalled with bound vars (#855)
2.19.0 - 2018-11-02
- Update to ClojureScript 1.10.439
- Support for
:spec-skip-macroscompiler option (#806) - Enhanced
delayprinting (#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)
docfor spec-registered keywords- Support for passing options via
--compile-opts(#774) - Support for
:closure-defines(#773) - Support for
:source-mapcompiler option - Support for
:warningscompiler option (#783) - Support for
:repl-requirescompiler option (#786) - Support for
:def-emits-varcompiler option (#785) - Auto-load
user.(cljs|cljc) (#754) - Allow
planck.shell:into take same asio/copy(#808) - Add
find-varimitation (#743) - Add
planck.io/list-files(#748) - Add
planck.core/load-readerandplanck.core/load-string(#687)
- Updates for private var use in Planck namespaces
- Ensure all earmuffed vars defined in Planck namespaces are dynamic
- Support
IPrintWithWriteron native types (#767) - Use Number.isInteger if possible (#799)
- Monkey patch target-specific array? and find-ns-obj (#798)
- Update
test.checkto 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:inshould indicatestring(#807) - Faster
array<->vecI/O (#812) - Faster
file-seq(#816)
2.17.0 - 2018-07-02
- Update to ClojureScript 1.10.339
- Delegate to ClojureScript
deps.ednfortransit-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.EvalJsonProcessorin 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
-Sdepsin shebang on macOS (#720) - Man pages for
planckandplk(#727) - A
script/installthat 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
plkscript which delegates toclojurefordeps.edn, etc. (#710) - Port
clojure.java.io/copy(#677)
js/clearTimeoutshould allow shutdown (#698)
- Update to
transit-cljs0.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
execvpewhen 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
-fastwhen 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-iand script paths - Support for insecure http connections (#694)
- Use
clojure/deps.edninstead oflein/project.cljwhen 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/evalto 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.reflectnot 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/fileshould make use ofio/as-fileinternally (#683)
2.11.0 - 2018-01-23
- Add
M-f,M-b, andM-dsupport 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-envcodepath subjectsenvto 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_requestwithoutSIGSEGVs (#600)
2.10.0 - 2017-12-07
- Site docs for
--fn-invoke-direct(#547) - Implement http put, patch, delete, head (#548)
- Make
dirwork 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-fnsas a workaround for (fixed) JavaScriptCore perf bug. - Update to Closure v20170910
- Update build to allow alternate
xxd -iimplementation (#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-minif optimizationssimple(#555)
- Remove
planck.coretypes meant to be private (#562)
- Single-dash command line args not passed to script (#550)
thisbound toplanck.replwhen 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)
sourcefails 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-arglistsspec (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.nodejsfor code callingenable-util-print!.
- ClojureScript 1.9.946.
- Eliminate leaks and properly initialize memory.
planck.repl/get-arglistsnow 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/--optimizationsto 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
-houtput. - No longer bundle
goog.structs.weak(not available).
- Disable
:def-emits-varin 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-directcompiler 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
docs 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-searchin the REPL. - Print
ex-datainpst. - Better error reporting for malformed scripts.
- Available via
apt-geton Ubuntu.
- ClojureScript 1.9.473.
- Use
pollinstead ofselectin order to async more than 1024 shell processes.
- Add
::bodyto 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-asynccompletes.
2.0.0-beta.6 - 2017-01-21
sourceworks fordefforms 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
JSValueReflifetimes. - 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-lineperf. - 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
BufferedReaderimplementation. - 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
timefunction. - Use Planck's
evalwhen needed bycljs.spec.testmacros.
- ClojureScript 1.9.376.
- Syntax-hightlight specs in
docoutput. - Various robustness revisions in C source.
- Update the copyright notices (in
-loutput). - 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/shchild processes that produce lots of output.
2.0.0-beta.3 - 2016-11-27
- Now builds on NixOS and Centos.
- High resolution timer for
timemacro. - Added
loadREPL 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_CLASSPATHenv 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
-kand-Kspecified. - Eliminate double analysis of forms at REPL.
- Update
nsdocstring.
- Preserve
ns-internswhen 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.reader1.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.httpnamespace supportinggetandpost. - Support
:foreign-libsindeps.cljsembedded in JARs. - Support re-configuring control keys used in REPL.
- Support disabling asserts at launch time (like
:elide-asserts). - Add simpler cache support via
-Kto create.planck_cachedir.
- console log simply logs text (w/o NSLog info).
- Don't refer to Maven (brew install w/o Java).
- Use
tools.reader1.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.jsitself 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.testfor use in bootstrap (post). - Colors (with light and dark theme) (post).
- Indentation (via Parinfer) (post).
evaland friendsresolve,ns-resolve,intern(post).- Securely prompt for and read password.
- Source mapping for user code.
with-openandline-seq.with-sh-dirandwith-sh-env.shaccepts string and file.- Honor
:formsindocoutput. planck.io/file-attributes(likefstat).find-doc.- Startup banner with helpful instructions.
- Use ClojureScript master (1.8.28).
- Throw exception on error from
sh. docforcatch,finally,&.- AOT compile Planck macro namespaces (post).
- Throw if using closed file.
- Properly index open JARs (needed for large classpaths).
- You can now
requireplanck.replnamespace. - Don't let
cljs.envbe 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).
aproposanddirsupport.- 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
-houtput 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
sourcefailing 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-fnsfor cache invalidation. - Fix for
load-file.
1.8 - 2015-11-06
- Tab completion for core macros.
- Support for
:static-fns(via-sor--static-fns). - Analysis / compilation cache (
-k <cache dir>option). planck.core/*planck-version*.
- Use ClojureScript 1.7.170.
- Can now
(require 'cljs.analyzer).
0is truthy.docfix when using namespace alias.sourcefix 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
spitandslurpfail. - Support terminating REPL by typing
quitorexit.
- Use ClojureScript 1.7.122.
- Experimental analysis / compilation cache (
-k <cache dir>option).
sourceREPL special forplancknamespace code.- Fall back to ASCII encoding if needed when using
planck.shell. - Eliminate residual processing of
boption. - 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/--classpathfor specifying source directories and JAR deps. - Support for OS X 10.8 Mountain Lion.
- Ship with bundled
cljs.pprintandcljs.test. - Support
sourceREPL special. - Support
importREPL special. - Support for
planck.core/*command-line-args*. - Support
:encodingoption for file I/O. - Support for byte-oriented streams (
planck.io/input-streamandplanck.io/output-stream). docoutput for macros.docand tab completion for special forms.
- Read pre-compiled namespaces and analysis metadata for faster loading.
- Deprecate
-s/--srcin favor of using-c/--classpath. - Revise
planck.core/file-seqto 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/exitis 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(:asetc., error reporting). file-seqsupportload-fileREPL special.- Exit codes (
1if 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.pprintand lots of Google Closure. -d/--dumb-terminaloption (facilitatesrlwrap).-l/--legalto show licenses / copyrights.
- Rearranged so that there is now a
planck.coreto 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.shellnamespace. - Streaming file I/O:
reader/writerusingIOFactory. - Repeated ordered
-e-ioptions. - Improved tab completion (considers namespaces, specials, etc.).
pst(print stack trace) support.- Mavericks support.
- ClojureScript 1.7.28 -> 1.7.48.
- Work towards improved
docsupport.
- Crash with single-char ns.
- Printing to
stderrvia*print-err-fn*. - Properly suppress printing of
nilvalues 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-linesupport.
- Fixes ^D so that it exits REPL.
1.0 - 2015-07-31
- Initial release.