This release of SDML introduces a new feature: constraints. This is provided by permitting "false" to be used in the consequents of a rule. Since it is clearly ridiculous to infer that false is true, firing such a rule causes SDML to generate a special self-contradictory assumption and backtrack to investigate other possibilities. Thus, a rule whose consequents are false acts as a constraint - it specifies that the antecedents must NOT hold. This release also incorporates some improvements to the backtracking algorithm that is used when assumptions cannot be resolved in one partition (including when a constraint fails). This algorithm attempts to find resolutions of assumptions in earlier partitions which enable all the rules in the rulebase to be fired. Specifically this release fixes some bugs which caused the backtracking algorithm to go wrong under some rare circumstances, and it introduces some optimisations to speed up backtracking. A map colouring example is available to illustrate the constraint and backtracking features of SDML.