Looking at Quantopian's github repo for zipline it does appear there has been a lot of recent activity in the trading calendar arena.
I know that the above code snippet has worked for years ; I originally got it from an algo posted on the forums here in days gone by. In any event, something changed between Wed 22Jun2016 and Thu 23Jun2016 to break this.
Interestingly, this code works just fine and as expected in Research:
# Build an early close calendar
dtStart=datetime(2005, 1, 1, 0, 0, 0, 0, timezone('UTC'))
dtEnd=datetime(2020, 1, 1, 0, 0, 0, 0, timezone('UTC'))
print type(dtStart),dtStart
print type(dtEnd),dtEnd
dtEarlyCloses=get_early_closes(dtStart,dtEnd).date
print dtEarlyCloses
And it doesnt appear that the weekend maintenance had any impact on this; the problem is still here when I tried this morning.
So as a workaround I extracted the dates from research and coded up an old-fashioned hard-coded date routine to use in the IDE in attached notebook.
Richard
http://quant-coder.prokopyshen.com/ContactMe