Skip to content

Coconut v3.0.3

Compare
Choose a tag to compare
@evhub evhub released this 29 Jul 07:40
· 260 commits to master since this release
dbec988

See Coconut's documentation for more information on all of the features listed below.

New features:

  • #738: New and_then and and_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 existing coconut --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 return multisets when the arguments are all multisets rather than Counters.
  • #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.