3.15.1

Curriculum proposals now submit, approve and create records correctly on sites that read from the data tables, and credential requirement edits reach the tables during the save instead of at the end of the request.

  • Fixed **Submitting, voting on, approving and materializing a curriculum proposal gave wrong results once proposals read from the data tables.** While a change was being saved, the proposal was read back from the tables before they had caught up, so a submitted proposal reported itself as a draft, an approval did not advance the step, and an approved proposal created a course with no fields. Reads made during a save now come from WordPress, which is always current. The proposal check that decides whether tables may be read now also catches this, and a new check walks a proposal from creation to materialization.
  • Fixed **Credential requirement edits reached the data tables only at the end of the request.** On sites reading credentials from the tables, saving a credential rebuilt its requirements from the very table it was about to update, so the table caught up only in the end-of-request repair. It now rebuilds from WordPress during the save.