forked from goodboy/tractor
				
			Add .alpha1 news flash
							parent
							
								
									14379a0f46
								
							
						
					
					
						commit
						8a4a11b885
					
				| 
						 | 
					@ -0,0 +1,100 @@
 | 
				
			||||||
 | 
					=========
 | 
				
			||||||
 | 
					Changelog
 | 
				
			||||||
 | 
					=========
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					tractor 0.1.0a1 (2021-08-01)
 | 
				
			||||||
 | 
					============================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Features
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					- Updated our uni-directional streaming API (`#206
 | 
				
			||||||
 | 
					  <https://github.com/goodboy/tractor/pull/206>`) to require a context
 | 
				
			||||||
 | 
					  manager style ``async Portal.stream_from(target) as stream:`` which
 | 
				
			||||||
 | 
					  explicitly determines when to stop a stream in the calling (aka portal
 | 
				
			||||||
 | 
					  opening) actor much like ``async_generator.aclosing()`` enforcement.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Improved the ``multiprocessing`` backend sub-actor reaping (`#208
 | 
				
			||||||
 | 
					  <https://github.com/goodboy/tractor/pull/208>`) during actor nursery
 | 
				
			||||||
 | 
					  exit, particularly during cancellation scenarios that previously might
 | 
				
			||||||
 | 
					  result in hard to debug hangs.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Added initial bi-directional streaming support in `#219
 | 
				
			||||||
 | 
					  <https://github.com/goodboy/tractor/pull/219>` with follow up debugger
 | 
				
			||||||
 | 
					  improvements via `#220 <https://github.com/goodboy/tractor/pull/220>`
 | 
				
			||||||
 | 
					  using the new ``tractor.Context`` cross-actor task syncing system.
 | 
				
			||||||
 | 
					  The debugger upgrades add an edge triggered last-in-tty-lock semaphore
 | 
				
			||||||
 | 
					  which allows the root process for a tree to avoid clobbering children
 | 
				
			||||||
 | 
					  who have queued to acquire the ``pdb`` repl by waiting to cancel
 | 
				
			||||||
 | 
					  sub-actors until the lock is known to be released **and** has no
 | 
				
			||||||
 | 
					  pending waiters.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Experiments and WIPs
 | 
				
			||||||
 | 
					--------------------
 | 
				
			||||||
 | 
					- Initial optional ``msgspec`` serialization support in `#214
 | 
				
			||||||
 | 
					  <https://github.com/goodboy/tractor/pull/214>` which should hopefully
 | 
				
			||||||
 | 
					  land by next release.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Improved "infect ``asyncio``" cross-loop task cancellation and error
 | 
				
			||||||
 | 
					  propagation by vastly simplifying the approach.  We may end up just
 | 
				
			||||||
 | 
					  going with a use of ``anyio`` in the medium term to avoid re-doing
 | 
				
			||||||
 | 
					  work done by that group cross-event-loop portals.  See the
 | 
				
			||||||
 | 
					  ``infect_asyncio`` for details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Improved Documentation
 | 
				
			||||||
 | 
					----------------------
 | 
				
			||||||
 | 
					- `Updated our readme <https://github.com/goodboy/tractor/pull/211>` to
 | 
				
			||||||
 | 
					  include more (and better) `examples
 | 
				
			||||||
 | 
					  <https://github.com/goodboy/tractor#run-a-func-in-a-process>` (with
 | 
				
			||||||
 | 
					  matching multi-terminal process monitoring shell commands) as well as
 | 
				
			||||||
 | 
					  added many more examples to the `repo set
 | 
				
			||||||
 | 
					  <https://github.com/goodboy/tractor/tree/master/examples>`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Added a readme `"actors under the hood" section
 | 
				
			||||||
 | 
					  <https://github.com/goodboy/tractor#under-the-hood>` in an effort to
 | 
				
			||||||
 | 
					  guard against suggestions for changing the API away from ``trio``'s
 | 
				
			||||||
 | 
					  *tasks-as-functions* style.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Moved to using the `sphinx book theme
 | 
				
			||||||
 | 
					  <https://sphinx-book-theme.readthedocs.io/en/latest/index.html>`
 | 
				
			||||||
 | 
					  though it needs some heavy tweaking and doesn't seem to show our logo
 | 
				
			||||||
 | 
					  on rtd :(
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Trivial/Internal Changes
 | 
				
			||||||
 | 
					------------------------
 | 
				
			||||||
 | 
					- Added a new ``TransportClosed`` internal exception/signal (`#215
 | 
				
			||||||
 | 
					  <https://github.com/goodboy/tractor/pull/215>` for catching TCP
 | 
				
			||||||
 | 
					  channel gentle closes instead of silently falling through the message
 | 
				
			||||||
 | 
					  handler loop via an async generator ``return```.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Deprecations and Removals
 | 
				
			||||||
 | 
					-------------------------
 | 
				
			||||||
 | 
					- Dropped support for invoking sync functions (`#205
 | 
				
			||||||
 | 
					  <https://github.com/goodboy/tractor/pull/205>`) in other
 | 
				
			||||||
 | 
					  actors/processes since you can always wrap a sync function from an
 | 
				
			||||||
 | 
					  async one.  Users can instead consider using ``trio-parallel`` which
 | 
				
			||||||
 | 
					  is a project specifically geared for purely synchronous calls in
 | 
				
			||||||
 | 
					  sub-processes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Deprecated our ``tractor.run()`` entrypoint `#197
 | 
				
			||||||
 | 
					  <https://github.com/goodboy/tractor/pull/197>`; the runtime is now
 | 
				
			||||||
 | 
					  either started implicitly in first actor nursery use or via an
 | 
				
			||||||
 | 
					  explicit call to ``tractor.open_root_actor()``. Full removal of
 | 
				
			||||||
 | 
					  ``tractor.run()`` will come by beta release.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					tractor 0.1.0a0 (2021-02-28)
 | 
				
			||||||
 | 
					============================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					..
 | 
				
			||||||
 | 
					    TODO: fill out more of the details of the initial feature set in some TLDR form
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Summary
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					- ``trio`` based process spawner (using ``subprocess``)
 | 
				
			||||||
 | 
					- initial multi-process debugging with ``pdb++``
 | 
				
			||||||
 | 
					- windows support using both ``trio`` and ``multiprocessing`` spawners
 | 
				
			||||||
 | 
					- "portal" api for cross-process, structured concurrent, (streaming) IPC
 | 
				
			||||||
		Loading…
	
		Reference in New Issue