Softbodies have seen a substantial improvement. Better collision and rigidity options allow for a much greater range of effects, even to the point of emulating cloth to some extent.
Softbodies can now have an extra rigidity factor, which makes springs across multiple edges and adds an extra stiffness to meshes. Softbodies can keep their shape much better with rigidity, which also helps prevent interpenetrations with cloth and collision objects.


Collisions have been vastly improved. Softbodies now support simple ball-based self-collisions, and also collisions with edges and faces as well as verts of softbodies.
Simple Self Collision
Self-collision in softbodies simulates the vertices of the underlying object being surrounded by viscoelastic balls. Setting the size of the collision balls can be done manual (Man) or using the spring length to attached neighbours. The tooltips on Av Min Max AvMinMax should be descriptive enough. The elaticity module is B Stiff and the viscous part is done by B Damp like in the edge settings.
Pitfalls with self collision
When a vertex collision ball sees other balls that are not joined by an edge, it tries to stay away. If the distance between vertex balls joined by the same edge is too great, unwanted results may occur.
With MIN, the shortest edge (spring) connected to the vertex will set the collision size; this can give leaks for other veritces to pass through. Choosing MAX, the longest edge (spring) connected to the vertex will be used; this can give better results but will take more time, as the solver has to work harder and thus the solving time increases.
The softbody solver has been improved. The previous frame is used to calculate more efficient collisions, which in combination with the enforcable step size helps lessen collision leakage.
MinS is the minimum numbers of steps per frame to be taken. Increase this number if the softbody misses fast moving colliders. A value of 0 disables this option.
MaxS is the maximum numbers of steps per frame to be taken. Overrides the adaptive stepsize calulated from Error Limit if it gets too small. However the solution is less acurate in some cases. A value of 0 disables this option.
The Fuzzy option trades less accurate collisions for speed. A high value reduces accuracy.
The M option is for monitoring the solver. It prints the progress of the running solver during a frame on the console and finaly prints how long it took to advance one frame. Depending on the amount of vertices and the current collision situation (number of substeps needed) advancing one frame can take a while. For tweaking solver settings and to verify the system is still alive turn on this option
The Choke option is for calming down reaction of vertices/edges on collision events, but also tries to push them out of the object if the vertices/edges interpenetrate into the mesh.
This is the file used to render the cloth-on-cube example.