Welcome to the 14 February 2022 release of Marys! This release is focused on reliability and reaction to website and API updates.
Highlights
* Generated SSML is now fully valid, improving stability of voice assistant/TTS consumers of this library.
* Added `now` as a key in `Menu` objects, which returns only meals currently available (i.e. if Sharples is currently open for lunch, `now` will return only the lunch menu, whereas `current` would return lunch and dinner).
* If no dining venue in an object is open, `now` will fall back to `current` (i.e. return meals "up next").
* The `current` key is still available, and its behaviour is unchanged.
* Post-pandemic, Essie Mae's, Kohlberg, and Science Center have been using "Essie Mae's open", "Kohlberg Open", etc. as menu titles. To make speech more efficient, generated SSML no longer contains fragments like "at Essie Mae's, Essie's open".
* Dietary preferences (`::vegan::`, `::halal::`, etc.) are now rendered in round brackets in menu cards and string representations.
* HTTP errors are propagated upward to ease debugging.
* In a few instances this semester, the JSON endpoint went down, returning 5xx errors for a few hours. The web team think it might be due to a security appliance in front of the webserver. I've asked them to whitelist the Mary's user-agent, but in the meantime any HTTP errors will be raised as exceptions so issues are easier to trace for end users.
* `<html-blob>`...`</html-blob>` tags from the API are filtered out of HTML cards.