a consequence of PR #552 is R 3.0.0

those who still wish to install shiny under R 2.15.x may take a look at these instructions: https://gist.github.com/yihui/43a68d811dade1d9e828
Fix edge case with nested choices. Fixes #560

When the set of choices is a list containing a named vector of length 1,
choicesWithNames would return the wrong result.
no need to use wrap = FALSE for roxygen2 now
fixes #557: choicesWithNames() turns a character vector to a list, which is no longer appropriate as a column in data.frame()
bump version
a typo in the news for 0.10.1
upgrade DataTables from 1.9.4 to 0.10.2; closes #487
fix a bug when the number of rows of data to show is zero

all(logical(0)) == TRUE!
tweaking the bootstrap style copied from DataTables:

1. sorted columns have different colors;
2. correct position of the processing info;
3. override the width of text input (search fields), otherwise they will be too wide (206px defined in bootstrap.min.css);
white space
the names of keys and values are useless
support [] in query strings like $_GET in PHP, because server-side DataTables 1.10 passes parameters as arrays

e.g. columns[0][search][value]=foo&columns[1][search][value]=bar

we need list(columns = list(`0` = list(search = list(value = 'foo')), `1` = ...)
new option names for DataTables from Hungarian to camelCase notations
tweak doc and roxygenize
get rid of the ugly trick eval(parse()), and use a plain loop to create a nested list