In previous releases, machines that auto-enlisted went to 'New' state and stayed there. A client could see a newly auto-enlisted node in 'New' state and safely issue a 'commission' command without worrying about getting an error back. That means a client that correctly used the API in 2.4 may get an error back in 2.5, using the exact same sequence of reads/writes. That's what makes it an API breaking change. I think 'Commissioning -> New' is much better than 'New -> Commissioning -> New'. In the latter, 'New' is used for two different states and creates a race with clients issuing the commissioning operation. When we see a node in 'Commissioning' we know we can't do anything with it, except wait for it to finish 'Commissioning'. Even that is a bit weird though, because usually after 'Commissioning' we go to 'Testing' or 'Ready'. This feels like a different state to me - 'Enlisting' maybe. However, I'm not sure how a client would react differently to the two states. On Tue, Dec 11, 2018 at 11:25 AM Andres Rodriguez