Looks like the date
column is being coerced to numeric as you can see with
data.table(test_data)[, date, by=list(group,date)]
# group date date
#1: 1 2011-01-01 14975
#2: 2 2012-02-02 15372
#3: 3 2013-03-03 15767
I think it's a regression since it worked with older versions of data.table, but you can work around by coercing back to Date.
data.table(test_data)[, seq(as.Date(date, origin="1970-01-01"), Sys.Date(), by="days"),
by=list(group,date)]