Before Trunks became super saiyan rage (super saiyan hikari), he had a battle where he was able to hold, hit and take apart Black Goku super saiyan rosé from super saiyan blue Goku. How was this possible? We know by that moment Black Goku super saiyan rose was stronger than Goku Super saiyan blue, which is a transformation stronger than super saiyan god, which is a transformation stronger than SSJ3, which is a transformation stronger than SSJ2.
In the manga Toyotaro made SSJ2 Trunks to be "mastered" and become as strong as SSJ3 Goku, but in the anime, Goku SSJ3 Goku knocked with one punch SSJ2 Trunks (even though Beerus commented Trunks was a good fighter) . Did Trunks become much stronger after this, because of a zenkai boost or something? Did his sparring later with super saiyan blue Vegeta and the mental training he had made his SSJ2 much stronger (to the point where he could fight in SSJ2 against Black Goku SSJ Rosé) or is there any other explanation to the situation of SSJ2 being able to fight SSJ Rosé?