Version 2.9 is the next step towards version 3.0, improving ISO compliance and introducing ISO compliant exception handling. New are catch3, throw1, abolish1, write_term[2,3], write_canonical[1,2] and the C-functions PL_exception and PL_throw. The predicates display[1,2] and displayq[1,2] have been moved to backcomp, so old code referring to them will autoload them.
The interface to PL_open_query has changed. The debug argument is replaced by a bitwise or'ed flags argument. The values FALSE and TRUE have their familiar meaning, making old code using these constants compatible. Non-zero values other than TRUE (1) will be interpreted different.