Your comments

The short answer is that we recommend your second approach: delete the current and then download a new one.

Hebcal syncs with Google Calendar on yearly (Gregorian or Hebrew) boundaries. So it's not possible to keep the old calendar through a specific date in May and then a new calendar start immediately after.

Hope this helps.

We're pushing out a change that should fix the server-side to be compatible with the widget.
Hi Mark, good to hear from you. Yes, we made a change in our JS API to replace several document.write() calls with a single occurrence. It did appear to break the widget. Sorry about that!

Several years ago we introduced proper RSS and JSON APIs which let clients format the results howver they like. Perhaps the thing to do would be to use one of those?

http://www.hebcal.com/home/197/shabbat-times-rest-api

Thanks for using Hebcal and thanks for your question!

No, we don't currently support Havdalah by solar degrees below the horizon. This is an excellent idea, and one that we'll consider implementing.