github basilisp-lang/basilisp v0.5.0.dev2
Release v0.5.0.dev2

pre-release9 hours ago

Added

  • Added support for Python 3.14 (#1282)
  • Added support for Unicode escape sequences in string literals (#1295)
  • Added environment variable configurations for the PyTest testrunner to allow more specific test discovery (#1301)
  • Added no-op Clojure compatibility functions: inc', dec', int-array, long-array, short-array, float-array, double-array, bool-array (#1305)

Changed

  • try and catch special form bodies may now be empty and will return nil when no expressions are given (#1294)
  • basilisp.str/blank? now matches the behavior of Clojure, which returns true for nil, empty strings, and strings consisting of all whitespace (#1305)
  • String representations of infinity and NaN values now matches Clojure (#1305)
  • Promises can now be called to deliver the result (#1305)
  • Calling keyword on nil now returns nil (#1305)
  • cons always returns an ISeq now, not specifically a PersistentList (#1305)
  • seqable? now returns true for nil (#1305)
  • Calling a vector with an invalid index will now raise IndexError (#1305)
  • keys and vals now return nil rather than an empty seq if the input collection is empty (#1305)
  • get-in always returns the input mapping if no keys are given (#1305)
  • assoc! allows an odd number of arguments, substituting nil for the missing value (#1305)
  • nthrest and nthnext return the input collection unchanged if the index given is negative (#1305)
  • even? and odd? predicates throw exceptions for non-integral inputs (#1305)
  • min and max now return ##NaN if any input argument is ##NaN (#1305)
  • Ratios which reduce to an integer are now returned from the reader as integers (#1305)
  • mod, quot, and rem return values are now consistent with the Clojure return values for the same inputs (#1305)
  • derive will throw exceptions if the provided hierarchy is invalid or if the tag and parent are invalid types (#1305)

Fixed

  • Fix a bug where import refers would incorrectly be applied to all import modules in the same form (#1274)
  • Suppress pytest assertion rewrite warning for basilisp when running basilisp test (#1252)
  • Fix a bug where + characters were not allowed after the e in scientific notation literal numbers (#1292)
  • Fix a bug where namespaces created dynamically at the REPL could not be required from other namespaces in the REPL (#1302)
  • Fix a bug where NaN floats were not properly represented in compiled code (#1305)
  • Fix a bug where calling dissoc on a record type would throw an exception for keys which weren't defined on the record (#1305)
  • Fix a bug where arithmetic functions with operands of different types would throw exceptions (#1305)
  • Fix a bug where number? and integer? would return true for Python bool types (#1305)

Removed

  • Removed support for Python 3.9 (#1283)

Other

  • Improve the state of the Python type hints in basilisp.lang.multifn (#800)

Full Changelog: v0.4.0...v0.5.0.dev2

Don't miss a new basilisp release

NewReleases is sending notifications on new releases.