Releases: r-lib/pillar
pillar 1.10.0
Features
-
tbl_format_setup()
gains asetup
argument that supports printing the header before the data for the body is available, e.g., for remote backends such as databases (#686). -
New
tbl_nrow()
generic to support lazy data frames (#679). -
Show missing values in red in
glimpse()
(@ryanzomorrodi, #662). -
Math operations on
num()
objects now pass additional arguments to the mathematical function (@gvelasq, #659, #660).
Breaking changes
Bug fixes
Documentation
pillar 1.9.0
Features
- Math operations on
num()
objects no longer perform type checks. This allows, e.g., multiplying anum()
with a logical (#630, #632).
Printing
-
The default for the
pillar.min_title_chars
option has been bumped up to 20 characters so that title truncuation only affects very long variables. Useoptions(pillar.min_title_chars = 5)
to reset to the previous default (#582, #620). -
Use info bullets to format details (#582, #617, #627, #635).
Breaking changes
Bug fixes
-
Show
colnames()
hint only when needed (tidyverse/tibble#1488, #622). -
Shortened list columns are also shown with a subtle style (#628, #634).
-
Avoid warning with S4 character classes (tidyverse/tibble#1367, #625).
-
Fix method consistency, checked by R-devel (#633).
Documentation
-
Polish
?pillar_options
(#583). -
Fix typo & missing quote in digits vignette stub (@gavinsimpson, #629).
Internal
- Require vctrs >= 0.5.0
pillar 1.8.1
Features
- New
pillar.advice
option to turn off advice in the footer, see?pillar_options
. Now off by default in non-interactive mode (#577).
pillar 1.8.0
Display
-
Column names that are abbreviated in the header gain a footnote and are printed in full in the footer (#483),
after the extra columns (#548). If a column name in the header is abbreviated, all backticks are removed (#525). The new"pillar.superdigit_sep"
option that determines the string used to separate footnote from column name in the footer (#553). -
The default value of the
pillar.min_title_width
option is changed to 5. This means that effectively the width of a pillar is decided only by the data. Useoptions(pillar.min_title_width = 15)
to restore the previous default, see also?pillar_options
for details (#531). -
Offer advice in the footer on how to print all columns or rows (#567).
-
Avoid aligning
NA
inside quotes for very short character vectors (#562).
Features
-
Pick up
"pillar_focus"
attribute on printing to define focus columns (#549). -
New
ctl_new_rowid_pillar()
generic and default method for customizing the appearance of row IDs (#260, #550, @nbenn).
Bug fixes
-
Fix printing of
Surv
andSurv2
objects (#561). -
Fix wording for corner case
max_extra_cols = 1
(#535). -
Remove excess underlines for
bit64::integer64()
data of different magnitude (#517, #529).
Documentation
-
ctl_new_pillar_list()
is documented on a separate help page (#516). -
Remove outdated detail in
?tbl_sum
(@IndrajeetPatil, #565).
Chore
-
Drop crayon dependency (#559).
-
Import ellipsis from rlang (#554).
-
Skip test that requires lubridate if it's not installed (#505, @MichaelChirico).
API
pillar 1.7.0
Breaking changes
colonnade()
is now soft-deprecated (#485).expect_known_display()
andis_vector_s3()
are now deprecated (#460, #501).new_pillar()
deprecatesextra
argument (#497).
Features
- Focus columns specified via the
focus
argument totbl_format_setup()
are kept in their original place and shown with the maximum width and with the "type" component underlined (#465).
Bug fixes
- Update
s3_register()
to use new implementation from rlang, this fixes CRAN checks related toscale_type()
(#462).
Internal
- Single pillars constructed with
pillar()
use only as much width as required when printing (#484).
pillar 1.6.5
Breaking changes
- New
ctl_new_pillar_list()
, supersedesctl_new_compound_pillar()
(#433).
Features
- If some but not all sub-columns of a data frame or matrix column are shown, the names and types of the remaining columns are displayed in the footer (#365, #444).
num(fixed_exponent = ...)
is now represented with the fixed exponent in the pillar header, and in the title in ggplot2 (#307).tbl_format_setup()
gainsfocus
argument that expects a character vector of column names. Focus columns are moved to the front and separated from the main columns by a subtle vertical line (#384).- New
scale_x_num()
andscale_y_num()
. If a column created withnum()
is used in a ggplot, the x and y scale will be formatted automatically according to to the specification (#400, #404). - List columns omit size information if horizontal space is insufficient (#392).
- If the column title of a backticked column is abbreviated, the trailing backtick is still printed (#391).
new_pillar_shaft_simple()
gainsshort_formatted
argument that contains the data to be used if horizontal space is insufficient (#389).- Default
obj_sum()
method returns abbreviation in attribute of return value (#390).
Bug fixes
- Extra columns in footer show backticks again if they are non-syntactic (#393).
- Fixed some cases for combinations of printed width and
getOption("width")
(#432). - Fix support for
nanotime::nanotime()
classes (#378, #380).
Documentation
?num
and?char
now point to tibble (#382).
Internal
- Use eager registration via
NAMESPACE
for own methods for classes from other packages. - Reworked formatting routine, now using a visitor-based approach with in-order iteration over all pillars. The only visible changes are that usage of free space (in the case of limited space) has slightly improved (#435).
- Prepared removal of dependency on the crayon package (#233, #406).
- Use snapshot variants, requires testthat >= 3.1.1 (#387).
- Replace internal
"pillar_vertical"
class withglue::as_glue()
(#279).
pillar 1.6.4
pillar 1.6.3
- Avoid blanket import for lifecycle package for compatibility with upcoming rlang (#368, @romainfrancois).
pillar 1.6.2
Options
- Options
pillar.print_max
,pillar.print_min
,pillar.width
andpillar.max_extra_cols
are now queried before the correspondingtibble.
ordplyr.
options are consulted, the latter will be soft-deprecated in pillar v2.0.0 (#353). - New
pillar.bidi
option. When active, control characters are inserted to improve display of data with right-to-left text (#333). - The new
pillar.max_footer_lines
option (default: 7) allows controlling the maximum number of footer lines shown. It is applied in addition to the existingtibble.max_extra_cols
option (#263).
Formatting
- If a column doesn't make use of all horizontal width offered to it, the excess width is distributed over other columns (#331).
- Improved allocation of free space in multi-tier tables with
getOption("tibble.width") > getOption("width")
(#344). - All pillars are shown with their true horizontal extent, irrespective of the indicated
width
. This simplifies the implementation of custompillar_shaft()
methods (#347).
Features
num()
gainsextra_sigfig
argument to automatically show more significant figures for numbers of the same magnitude with subtle differences (#97).print.tbl()
andformat.tbl()
support themax_extra_cols
andmax_footer_lines
arguments that override the corresponding options (#360).print.tbl()
andformat.tbl()
maps the now deprecatedn_extra
argument tomax_extra_cols
for consistency (#360).
Bug fixes
- Avoid mangling of duplicate column names in footer (#332).
- Fix warning with zero of type
bit64::integer64()
(#319).
Documentation
- All package options are now documented in
?pillar_options
(#339). obj_sum()
no longer callstype_sum()
for vectors since pillar v1.6.1, this is now documented (#321).- Fix documentation on usage of
vctrs::vec_proxy()
andvctrs::vec_restore()
(#322).
Internal
pillar 1.6.1
- Bump required versions of ellipsis and vctrs to avoid warning during package load.
obj_sum()
no longer includes shape twice (#315).