Skip to content

Releases: basilisp-lang/basilisp

Release v0.1.dev7

18 Dec 13:18
0fa79a5
Compare
Choose a tag to compare
Release v0.1.dev7 Pre-release
Pre-release

Non-code Changes

  • Basilisp source code is now released under the EPL 1.0

New Features

  • Add loop special form (#317)
  • Add Lisp repr support using LispObject abstract base class (#316)
  • Python imports may be aliased like require using a vector (#319)
  • The compiler emits a warning when a local symbol is unused (#314)
  • The compiler can optionally emit a warning when a local name or Var name is shadowed (#303, #312)
  • The compiler can optionally emit a warning when a Var reference requires indirection (#306)

Bug Fixes

  • basilisp.core/ns-resolve can now resolve aliased symbols (#313)
  • Python interop calls can now be made within threading macros (#308)

Release v0.1.dev6

03 Nov 01:04
8efd0de
Compare
Choose a tag to compare
Release v0.1.dev6 Pre-release
Pre-release

New Features

  • Print functions respect output stream bound to *out* (#257)
  • Capture line numbers for test failures and errors (#270)
  • Support threading macros (#284)
  • Support redefinable Vars and suppressing warnings when Vars are redefined (#292)
  • Add more core functions (#293, #296, #298)
  • Support destructuring of arguments in fn and bindings in let (#289)
  • Add set library functions (#261)

Bug Fixes

  • Keyword string and repr are now identical (#259)
  • Don't attempt to resolve names inside syntax-quote (#272)
  • Properly resolve names inside catch blocks (#273)
  • Loosen syntax requirements for interop properties (#276)
  • Fix basilisp.core/map lazy sequence behavior (#278)
  • Allow empty function definitions (#280)
  • Allow the dollar sign $ in symbols (#286)
  • Report exceptions caught in the test runner as errors (#300)

Release v0.1.dev5

14 Oct 21:52
2b92c03
Compare
Choose a tag to compare
Release v0.1.dev5 Pre-release
Pre-release

New Features

  • Add a logger to Basilisp library code (with a default NullHandler) (#243)
  • Implement Bytecode caching for compiled Basilisp modules (#244)

CI/Infrastructure Changes

  • Build on TravisCI now instead of CircleCI, to take advantage of tox-travis (#247)
  • Check for vulnerable packages using safety (#239)

Release v0.1.dev4

29 Sep 21:16
3f17009
Compare
Choose a tag to compare
Release v0.1.dev4 Pre-release
Pre-release

Bump version to v0.1.dev4 to add Python 3.7 support on PyPI.

Release v0.1.dev3

29 Sep 20:53
f3566d7
Compare
Choose a tag to compare
Release v0.1.dev3 Pre-release
Pre-release

New Features

  • Add multi-methods to Basilisp (#222)
  • The Basilisp PyTest runner now prints exception messages for non-failure errors (#235)
  • Add a few new namespace functions to basilisp.core (#224)
  • Create namespace setting context managers for use in tests (#228)

Bug Fixes

  • Removed usages of seq.grouped from PyFunctional which throw StopIteration exceptions and cause Basilisp to be unusable with Python 3.7 (#221)
  • Fix a bug where the wrong namespace may be set in deftest defined tests (#232)
  • Fix a bug where non-symbols could not appear in the member position of Python interop special forms (#230)
  • Fix several instances of bugs where Basilisp tests were changing basilisp.core/*ns* without resetting it, which would cause cascading test failures (#228)

Release v0.1.dev2

28 Sep 02:45
9043775
Compare
Choose a tag to compare
Release v0.1.dev2 Pre-release
Pre-release

New Features

  • Add PyTest runner tests written using the basilisp.test/deftest macro (#195)
  • Throw a useful error when no Var is bound to a symbol (#197)
  • Add a string library as basilisp.string (#187)
  • Add regex functions to basilisp.core (#193)
  • Add namespace functions to basilisp.core (#176)
  • The reader can return a custom EOF indicator (#218)

Bug Fixes

  • Fixed a bug where comment literals were not be fully removed from reader outputs (#196)
  • Fixed a bug where comment literals caused syntax errors inside collection literals (#196)
  • Imported namespaces no longer create extra namespaces bound to munged Python module names (#216)
  • Fixed a bug where import*s would not work within other forms
  • Fixed a bug where the Basilisp import hook could be added to sys.meta_path multiple times (#213)
  • Fixed a bug where keywords could not be used in function position (#174)
  • Fixed a bug where macro symbols were not resolved using the same heuristics as other symbols (#183)
  • Fixed a bug where lazy sequences were not resolved even if they were empty-checked (#182)
  • Fixed a bug where new namespaces were created whenever the compiler checked if a namespace existed to resolve a symbol (#211)
  • Fixed a bug where Python string escape sequences were not handled correctly by the reader (#192)
  • Fixed a bug where character literals caused a syntax error inside collections (#192)

CI/Infra Changes

  • Use Tox to orchestrate CI type checking, linting, and testing both locally and on CircleCI
  • Use coverage now in place of pytest-cov

Continuous improvement :tada:

13 Sep 19:42
cb8616b
Compare
Choose a tag to compare
Pre-release

New Features

  • Basic CLI for REPL and running scripts
  • REPL convenience functions doc and pydoc will return Basilisp and Python documentation respectively
  • Vars containing the last 3 expression results (*1, *2, *3) and last exception (*e) are now included on the REPL
  • Added support for Decimal, Fraction, and complex types
  • Support for Clojure style object instantiation syntax: (new com.lisp.Object) or (com.list.Object.)
  • Read/eval functions in basilisp.core
  • Support for customizing data readers either by binding *data-readers* or supplying a keyword argument from Python
  • Support for character literals using \a syntax
  • Support for deref-literals using @

Bug Fixes

  • Dynamic vars are now properly compiled as dynamic, allowing thread-local bindings
  • let* bindings can no longer eagerly evaluate binding expressions in conditional branches which will not be taken
  • catch expressions no longer throw an error when they appear in a syntax-quote
  • Basilisp files imported using the Basilisp import hook now properly resolve symbols in syntax quotes
  • Basilisp's Map type now supports consing other maps.
  • Syntax quoted special forms are no longer resolved into namespaced symbols

Initial development release

31 Aug 18:50
43d7bae
Compare
Choose a tag to compare
Pre-release

This is just an excuse to generate a release artifact and push that up to PyPI to claim the name.