I figured it out. I had the navigation callback defined, but hadn't realized I had to update the version, until I looked through the moodle code.
It would be useful to have a list somewhere of all the things that require a version update. It isn't obvious what's cached and what's not.