# List of notable changes made between 2.x and 3.0 All breaking changes must be described here. When adding a new entry, always describe the impact on users and instructions for upgrading applications from 2.x to 3.0. ## boot.compile is now async and returns context with instructions Users that uses `boot.compile()` in the following syntax would need to update their implementation, it now calls callback function with `instructions` in `context` object rather than synchronously returning instructions. Before: ```js var APP_PATH = path.resolve('../sandbox'); var instructions = boot.compile(APP_PATH); ``` New signature: ```js var APP_PATH = path.resolve('../sandbox'); var instructions; boot.compile(APP_PATH, function(err, context) { instructions = context.instructions; }); ``` Please see [PR #181](https://github.com/strongloop/loopback-boot/pull/181) for full details of change.