The condition of trace being larger than epsilon (1e-12) made sense before the fix, but now it is not necessary. Before the fix this was checking the condition of the (trace + 1 > epsilon) which is relevant for matrices with trace being near -1. (e.q. R = [-1,0,0; 0,-1,0;0,0,1])
The new condition should be such that trace needs to be larger or equal to zero. Epsilon is not required. ( you can check this by looking into a matrix (eg. R = [0,-1,0; 0,0,1,-1,0,0]) which has a trace = 0).
The quaternion can be still normalized at the end of all the transformations to ensure the unity condition.