Skip to content

Coconut v3.0.4

Compare
Choose a tag to compare
@evhub evhub released this 28 Nov 04:59
· 137 commits to master since this release
e8dd479

This is primarily a bugfix release to resolve #804. See Coconut's documentation for more information on all of the features listed below.

Language changes:

  • #784: where statements now use temporary variable names to limit the scope of contained assignments.
  • #795: New async_map function utilizing anyio to work with asyncio or trio.
  • #793: New mapreduce, collectby.using_threads, collectby.using_processes, mapreduce.using_threads, and mapreduce.using_processes built-ins.
  • #787: Support for .method[index] implicit partials.
  • #749, #792: Some built-ins have been renamed for clarity (the old names will still work unless --strict is passed). Specifically:
    • recursive_iterator -> recursive_generator
    • parallel_map -> process_map
    • concurrent_map -> thread_map
  • #797: Partial application objects now preserve the original function's __name__ attribute.
  • #789: Coconut will automatically backport ExceptionGroup using the exceptiongroup module.

Compiler changes:

  • #772: Substantial improvements to recompilation speed for most files.
  • #798: New api.find_packages and api.find_and_compile_packages utilities for working with Coconut packages.
  • #803: New --fail-fast option to fail upon the first error when compiling multiple files.
  • #778: The --history-file command-line option has been removed; use COCONUT_HISTORY_FILE environment variable if you really need it.

Bugfixes:

  • #804: Fixed an incompatibility with new cPyparsing versions.
  • #781, #794: Improved formatting for compilation errors/warnings.
  • #800: override now works in conjunction with classmethod and staticmethod.