Skip to content

Latest commit

 

History

History
178 lines (120 loc) · 8.8 KB

NEWS.md

File metadata and controls

178 lines (120 loc) · 8.8 KB

2.7

Improvements & Fixes

  • #159 Use aether instead of maven to pull dependencies
  • #210: Updated gradle capsule plugin
  • #102: Removed --self-update
  • Use resource from repo for resolve boostrap header
  • #203: Fix cache check bug on Windows
  • #199: Allow to bootstrap kscript installation with --add-bootstrap-header
  • #200: Expose script file name to script

v2.6

Major Improvements

  • #166: Support dynamic versions ending with +
  • #185: Support "~" in INCLUDE ()
  • #187: Added support for shortened URLs
  • #146: Allow kscript cache directory to be configurable via KSCRIPT_CACHE_DIR environment variable
  • #175: cygwin support improvements
  • Improved kshell launcher to also launch scripts with invalid code

Notable Bug Fixes

  • Confusing error when filename starts with a number
  • Fixed usage @file:CompilerOpts in combination with @file:Include
  • Renamed kshell_from_kscript to kshell_kts

v2.5

Major Improvements

  • Support dependencies with different types (pom instead of jar)
  • Use current kotlin for temporary project when using --idea
  • Started kshell launcher for kscriptlets
  • Support --idea with includes

Minor Enhancements

  • Avoid dependency duplications when using //INCLUDE recursively
  • Fixed: Unable to run script with plus character in filename
  • Allow to include same file from multiple files
  • Fixed: Space-containing argument propagation

v2.4

Major Enhancements:

  • Allow to set kotlinc compiler flags with @file:CompilerOpts or //COMPILER_OPTS (#84). See here.
  • Provide a way to package kscripts (#63). See here.

Minor Enhancements:

  • Fixed #95: //INCLUDE requiring full path
  • Fixed #94: stdin does not allow further switches
  • Allow for round brackets in artifact ids (fixes #100).
  • Fixed #83: interactive fails unless your script contains dependencies
  • Fixed #82: Sym-linking does not work correctly with --idea and relative script paths
  • New: Implemented benchmarking suite to assess runtime impact of kscript
  • Fixed: Don't use null in classpath arguments if classpath is empty
  • Fixed: Use exec for derived interpreter
  • Simplify Gradle config for script bootstrapping with IDEA (#86)
  • Added Gradle wrapper to the project (#87 and #88)

v2.3

Major Enhancements:

  • Replaced javac with kotlinc for faster script compilation
  • Added symlink support
  • Allow to derive custom DSL interpreters from kscript (fixes #67)
  • Implemented @file:Include and @EntryPoint as documented in README (fixes #73)
  • Added gitter channel

Minor Enhancements:

  • Consolidate imports and dependencies when //INCLUDE is used (fixes #75) …
  • Support artifact should have better namespace (fixes #57)
  • Fixed #76: Unspecific error when dependency resolution fails
  • Fixed #66: It should die more gracefully if idea is not present
  • Fixed #81: Allow package declarations for scripts
  • Fixed #78: When using --idea the script argument should be symlinked
  • Fixed #79: Provide setup instructions if idea launcher is missing
  • Simplified build instructions (fixes #60)
  • Document dependencies of kscript (fixes #69)

v2.2

  • Logging of maven artifact downloads to stderr (fixes #23)
  • Added -s / --silent to suppress all logging
  • Fixed #55: dependency resolution fails on travis ci and within docker containers
  • Added alternative @DependsOnMaven(val artifactId: String) annotaiton to declare dependencies. This has been implemented to make kscripts compatible with https://github.com/ligee/kotlin-jupyter
  • Added support for custom maven repositories (fixes #22)

See README.md for usage details.

v2.1

  • support for annotation-driven script configuration
  • refactored support api mode into -t parameter

v2.0

  • Reimplemented in kotlin (fixes #36)
  • Added cygwin support (fixes #39)
  • Added //INCLUDE directive (fixes #34
  • Fixed: interactive mode is not correctly started when using stdin as script argument (#40
  • Fixed compatibility with java9 (#41)

v1.5.1

  • Fixed --self-update
  • More robust self-update on OSses with file-locking (e.g. windows)

v1.5

  • removed curl dependency
  • more streamlined dependency lookup

v1.4

Major new features

  • Redesigned support library for streamlined tabular data processing. See here for an overview.

v1.3

Major new features

  • Dramatically reduced overhead by using dependency lookup cache more efficiently. After the initial scriptlet-jar-building, kscript runs with almost zero overhead now (fixes #4)
  • Dependencies can now declared in multiple lines for better readability (fixes #2)
  • Automatic inclusion of support library for one-liners (fixes #19)
  • Direct script arguments kscript 'println("hello kotlin")' (fixes #18)
  • More robust dependency resolution with more informative error messages

Support API improvements

  • Kotlin DocOpt helpers to build CLIs (example)
  • New utilities to automatically resolve arguments files and stdin to Sequence<String for by-line processing

Other changes

  • Allow dependencies to be declared in multiple lines prefixed by //DEPS (fixes #2)
  • To ensure long-term stability of kscript we've added a suite of unit tests. The repository tested continuously by Travis CI
  • Cache directory is now ~/.kscript
  • More heuristics to guess KOTLIN_HOME
  • Cache cleanup --clear-cache now applies to jars, scripts, urls, and cached dependency lookups

v1.2

  • Fixed compatibility with Kotlin v1.1 (fixes #15)
  • Added -i to dump interactive console command incl deps (fixes #10)
  • Compile jars should go to TEMP (fixes #13)
  • started test-suite

v1.1

  • Support for stdin and process substitution as script source. See examples
  • versioning and auto-update
  • basic command-line help
  • Added support for KOTLIN_OPTS (see #8)
  • Added CLI help to resdeps.kts
  • Added option to clear dependency lookup cache: resdeps.kts --clear-cache

v1.0

Initial Release