0.8.0
Pre-release
Pre-release
Breaking changes:
- Renamed
StateSpaceSearch
toStateSpaceAStarPlanner
andGoalSpaceSearch
toGoalSpaceAStarPlanner
- for clarity. - The various
IPlanningTask
implementations are no longer public inner types of their respective planners. Planning.Search.IStrategy
renamed toICostStrategy
, for clarity. Considered "ICostProvider", but decided that perhaps implies that it provides only the costs themselves, and not also cost estimates. Also some renaming for consistency in the face of this change:- The
Planning.Search.Strategies
namespace renamed toCostStrategies
DelegateStrategy
renamed toDelegateCostStrategy
- The
PlanningGraph
's API has changed significantly - mostly for robustness. It was far too easy to write fragile code against it before - because whether you'd called GetLevel enough times for it to level off was something you needed to consider. No longer. Also lifted the public inner types (Level, PropositionNode, ActionNode) out of PlanningGraph. There's no need for them to be inner types (doing this unecessarily is a bad habit of mine..).
Non-breaking changes:
- A number of significant
PlanningGraph
fixes. - Added
GraphPlanPlanner
andGraphPlanPlanningTask
. In so doing, realised that "Artifical Intelligence: A Modern Approach" really isn't a good resource for GraphPlan - leaves so much out that it's downright misleading in places. This implementation is more influenced by "Automated Planning: Theory and Practice". - Made all
...PlanningTask
ctors public. There's no reason consumers shouldn't be allowed to instantiate these directly, as opposed to going viaIPlanner
- so might as well empower people. Plan.Steps
prop changed from an IReadOnlyCollection to an ImmutableList (should be non-breaking, since ImmutableList implements IReadOnlyCollection).- Added
TemplatePlanningTask
- just a handy base class for planning tasks. - Some performance improvements to transformations, by confronting my LINQ addiction.
- As ever, continuous improvements to XML docs, as well as various comment improvements for those that are debugging.
- Fixed self-closing para tags in XML documentation - which aren't valid (and, while fine for VS, don't get rendered "correctly" in FuGet explorer).
- Package description typo fix.
- Some relatively unimportant dependency updates