Recent developments in DNOPT and SNOPT