Coconut v3.0.3
See Coconut's documentation for more information on all of the features listed below.
New features:
- #738: New
and_then
andand_then_await
built-ins for async function composition.
Language changes:
- #763: Lambdas now support fat arrows (
x => x
) as an alternative to skinny arrows (x -> x
) to better distinguish them from type annotations. Skinny arrow lambdas will be deprecated at some later date. - #756: Coconut now fully supports Python 3.12's enhanced
f
-string syntax on all targets. - #773:
f
-strings with no expressions in them (e.g.f"why does this have an f"
will now show a warning by default and an error on--strict
.
Compiler changes:
- #761:
--line-numbers
are now on by default. Pass--no-line-numbers
to turn them off. - #768 (thanks @kxmh42!): Automatic compilation now uses a cache directory rather than compiling files in-place; additionally, automatic compilation options can now be set via
coconut-run
. - #767: New
--target psf
support for targeting all versions not considered end-of-life. - #765 (thanks @rtbs-dev!): New
coconut --jupyter install
command for easily installing all Jupyter kernels added as an alternative to the existingcoconut --jupyter
syntax. - #766: Coconut now internally supports an incremental parsing mode that is used in some situations (e.g. in the Jupyter kernel) to substantially improve recompilation times.
Bugfixes:
- #759 (thanks @Starwort!):
multiset
methods should now always returnmultiset
s when the arguments are allmultiset
s rather thanCounter
s. - #764 (thanks @koraa!): An issue that caused function definitions to take much longer to compile when compiling from the interpreter has now been fixed.
- #762 (thanks @Starwort!): Semicolon-separated commands should now always work properly on
xonsh
. - #775: Coconut should no longer set the
MYPYPATH
to include the entire directory that Coconut has been installed into when running with--mypy
. - #777: Docstrings should now show up properly in any third-party tools that look at Coconut's stub files.