curio v1.2 Release Notes

Release Date: 2020-04-06 // over 1 year ago
  • ๐Ÿšš 04/06/2020 Removed hard dependency on contextvars. It was unnecessary and needlessly broken some things on Python 3.6.

    ๐Ÿ 04/06/2020 Added a default selector timeout of 1 second for Windows. This makes everything a bit more friendly for Control-C. This can be disabled or changed using the max_select_timeout argument to Kernel or curio.run().

    04/04/2020 First crack at a Curio repl. Idea borrowed from the asyncio REPL. If you run python -m curio it will start a REPL in which Curio is already running in the background. You can directly await operations at the top level. For example:

              bash $ python -m curio
              Use "await" directly instead of "curio.run()".
              Type "help", "copyright", "credits" or "license" for more information.
              >>> import curio
              >>> await curio.sleep(4)
              >>>
    
           Pressing Control-C causes any `await` operation to be cancelled
           with a `curio.TaskCancelled` exception.   For normal operations
           not involving `await, Control-C raises a `KeyboardInterrupt` as
           normal.  Note: This feature requires Python 3.8 or newer. 
    

    โœ… 03/24/2020 Added a pytest plugin for Curio. Contributed by Keith Dart. See curio/pytest_plugin.py.

    03/02/2020 Slight refinement to TaskGroup result reporting. If no tasks are spawned in a TaskGroup g, then g.exception will return None to indicate no errors. g.result will raise an exception indicating that no successful result was obtained. Addresses issue #314.