| ## Changes in Expat 3
This page describes some of the changes which should be expected in Expat 3. These are intended as notes made by the developers as things get thought through; these can change at any time. This is not a projected feature list for Expat 3; to learn about the target features, please read the Expat Development Roadmap. The changes described here are much more focused on the details of Expat 3, and no attempt has been made to balance the description of small changes with major new feature development. This list is not complete; we'll add to this as we think of things and have time to write about them. All structural event callback functions will return an `XML_Status` value that the parser will check. This will allow an application to stop or suspend processing without having to use `setjmp()`/`longjmp()` hackery. The parser will support suspension of parsing to allow an application to pause parsing temporarily. A new `XML_Status` value, `XML_STATUS_SUSPEND`, can be returned by the event callbacks to indicate that Expat should suspend parsing; the parser will then return from `XML_Parse()`, returning `XML_STATUS_SUSPEND`. Applications can resume parsing by calling `XML_ParseResume()`.