Added
- Added support for referring imported Python names as by
from ... import ...(#1154) - Added the
basilisp.urlnamespace for structured URL manipulation (#1239) - Added support for proxies (#425)
- Added a
:slotsmeta flag fordeftypeto disable creation of__slots__on created types (#1241) - Added support for f-strings (#922)
- Added the
aslicemacro to facilitate the use of Python stylearray[start:stop:step]slicing in Basilisp (#1248) - Added the
IPendinginterface which is implemented by delays, futures, and promises (#1260) - Added the
basilisp.pprintnamespace (#513)
Changed
- Removed implicit support for single-use iterables in sequences, and introduced
iterator-seqto explicitly handle them (#1192) basilisp.core/strnow delegates to the builtin Pythonstrin all cases except for customizing the string output for builtin Python types (#1237)- Optimised mainstream seq-consuming functions by coercing their inputs into
sequpfront (#1234) - Renamed
awithandafortowith-asyncandfor-asyncfor improved clarity (#1248) basilisp.main.initwill only initialize the runtime environment on the first invocation (#1242)- Updated support for PyPy to 3.9 and 3.10 (#1265)
Fixed
- Fix a bug where protocols with methods with leading hyphens in method names could not be defined (#1230)
- Fix a bug where attempting to
:refera non-existent Var from another namespace would throw an unhelpful exception (#1231) - Fixed a bug where
(range 0)would return(0)rather than than()as expected (#1258)
New Contributors
- @amano-kenji made their first contribution in #1245
- @ShalokShalom made their first contribution in #1257
- @jf made their first contribution in #1259
Full Changelog: v0.3.8...v0.4.0