Skip to content

Release v0.2.0

Compare
Choose a tag to compare
@chrisrink10 chrisrink10 released this 27 Aug 14:01
· 120 commits to main since this release
2116945

Added

  • Added the CollReduce and KVReduce protocols in basilisp.core.protocols and implemented reduce in terms of those protocols (#927)
  • Added support for custom data readers (#924)
  • Added *default-data-reader-fn* (#924)
  • Added basilisp.pprint/print-table function (#983)
  • Added basilisp.core/read-seq function (#986, #999)
  • Added various compiler arguments to CLI commands (#989)
  • Added support for destructuring namespaced symbols using the :ns/syms syntax and non-keyword values in standard associative destructuring forms (#836)

Changed

  • Improved on the nREPL server exception messages by matching that of the REPL user-friendly format (#968)
  • Types created via deftype and reify may declare supertypes as abstract (taking precedence over true abc.ABC types) and specify their member list using ^:abstract-members metadata (#942)
  • Load functions (load, load-file, load-reader, etc.) now return the value of the last form evaluated. (#984)
  • nREPL server no longer hangs waiting for client connections to close on exit (#1002)
  • Align basilisp.core/deref with Clojure to by updating the timeout input argument to be in milliseconds instead of seconds (#1007)

Fixed

  • Fix inconsistent behavior with basilisp.core/with when the body contains more than one form (#981)
  • Fix an issue with basilisp.core/time failing when called outside basilisp.core (#991)
  • Fix an issue with basilisp.core/promise where a thread waiting for a value from another thread might not wake up immediately upon delivery (#983).
  • Fix using keyword as a function not returning the default value in some cases (#997)
  • Fix an issue where Python SyntaxWarnings would be emitted for certain compiled code (#996)
  • Fix an issue where 2- and 3-arity range invocations returned unexpected results (#1004)

Removed

  • Removed python-dateutil and readerwriterlock as dependencies, switching to standard library components instead (#976)

Other

  • Run PyPy CI checks on Github Actions rather than CircleCI (#971)

Full Changelog: v0.1.1...v0.2.0