There was one main change to the SDK since the 8.5.1 R3 release:
SpeedTree’s heap reserve system needed updating to allow for more control over (read: preventing) run-time heap allocations. One of the key adjustments is that instances passed to the SDK via CCell::SetTreeInstances()
will now hold the instance data for the life of the cell instead of copying it. This puts more responsibility on the host application to keep the instances around longer.