Skip to content
eswann edited this page Oct 20, 2014 · 11 revisions

Welcome to the Banzai wiki!

Release Notes:

###1.2.9

  • Banzai.Autofac release only.
  • Fixed a couple of problems with Registering ITransitionFuncNode. It seems that Autofac was having problems resolving some child interfaces with one generic parameter, so had to be more restrictive on interfaces registered as. Odd behavior, potentially an Autofac bug...this is a workaround.

###1.2.8

  • Fixed TransitionFuncNode not implementing ITransitionFunc Node.
  • Added support for Ninject for node registration.

###1.2.7

  • Added support for DegreeOfParallelism when running ExecuteManyAsync. Allows executing against a set both Async and in Parallel in the case of a larger set of data.

###1.2.6

  • Added support for NLog, added support for writing node timings when logging is at the debug level.

###1.2.5/1.2.4/1.2.3

  • Small fix for Autofac registration (NodeFactory not injected into TransitionNode)
  • Added untyped version of INodeFactory and implemented in Autofac

###1.2.1

  • Added CancelProcessing flag to the ExecutionContext to cancel all further flow processing if this is set.

###1.2.0

  • Completed variance work so the contravariant nodes can be added to MultiNodes, see Variance topic in readme for more information. As a result:
  • ShouldExecuteFunc/Async now accept IExecutionContext instead of strongly typed subject.
  • To mitigate this change, extension method: AddShouldExecute was added to accept typed ShouldExecuteFuncs.

###1.1.1

  • Added convenience method GetSubjectAs from result to make casting subject easier.

###1.1.0

  • Definitely a few breaking changes, but only broke a few of my tests.
  • Basic idea was to enable covariance of the subject, which was a big oversight on my part.
  • Everything that used to take an ExecutionContext now takes an IExecutionContext, because:
  • Added support so that IExecutionContext covaries, thus allowing it (and nodes) to accept inherited subjects.
  • Had to change Subject of NodeResult to object type so that it would cause simultaneous covariance/contravariance complexity.

1.0.14

  • Added support for ExecuteManyAsync/ExecuteManySeriallyAsync to perform execution on an enumerable of subjects.
  • Fixed a bug where all results/exceptions weren't being aggregated up to the parent when a multi-node owned another multi-node

1.0.13

I now have all the functionality I had planned added to the library. Other than bug fixes, I don't plan on making any immediate changes. So no more breaking refactoring. That being said:

  • Factored FuncNode back out into it's own class (from Node) due to leaky abstraction :( Sorry...missed that the first time.
  • Factored out base classed for Pipeline/Group/FirstMatch. There is now a PipelineBase, GroupBase, and FirstMatch base. The Pipeline/Group/FirstMatch classes are still present, but these are now sealed. To inherit, use one of the base classes instead.
  • Added support for TransitionNode. This allows transitioning from one subject type to another. Useful in complex scenarios.
Clone this wiki locally