As of r40713, log entries for protections store some sort of protection summary like [edit=autoconfirmed] (expires 13:04, 4 October 2008 (UTC)) [move=sysop] (indefinite) in log_params, along with a flag telling whether cascading protection was enabled. Instead of storing this as one blob of formatted text, it would be cleaner and more API-friendly (more about this below) to store each of the pieces in a separate element.
So instead of $paramArray = array('[edit=autoconfirmed] (expires 13:04, 4 October 2008 (UTC)) [move=sysop] (indefinite)', 'cascade') I'd like to see $paramArray = array('edit', 'autoconfirmed', '20081004130400', 'move', 'sysop', 'infinity', 'cascade')
As to the API-friendliness: the current format makes it hard to extract protection data from list=logevents in a reliable way (currently, the only way is to parse the string, but that's not very future-proof). It'd be nice to be able to present this data in a decent format.
Assigning to Aaron as he did the log_params change.