Changelog
Source:NEWS.md
frictionless (development version)
- frictionless now relies on R version 3.6.0 or higher. Originally it stated version 3.5.0 or higher, but this was not tested and likely not true (#238).
-
read_package()
now returns a warning rather than an error when adatapackage.json
contains no resources. This allows use to create the JSON and then add resources with frictionless (#265). -
example_package()
now has aversion
parameter, allowing to load the example Data Package following the Data Package v1 or v2 specification (#249).
frictionless 1.2.0
CRAN release: 2024-08-28
Changes for users
-
add_resource()
now allows to replace an existing resource (#227). -
read_resource()
now returns an error if bothpath
anddata
are provided (#143). -
write_package()
no longer writes to"."
by default, since this is not allowed by CRAN policies. The user needs to explicitly define a directory (#205). -
null
values in a readdatapackage.json
are now retained bywrite_package()
, rather than being changed to empty lists. Properties assigned by the user toNA
andNULL
remain being written asnull
and removed respectively (#203). - New vignettes
vignette("data-package")
,vignette("data-resource")
,vignette("table-dialect")
andvignette("table-schema")
describe how frictionless implements the Data Package standard. The (verbose) function documentation ofread_resource()
andcreate_schema()
has been moved to these vignettes, improving readability and maintenance (#208, #246). - The included dataset
example_package
is removed in favour of the functionexample_package()
. This function allows to reproducibly provide a local Data Package, without the need for an internet connection. Theobservations
resource was also changed from a remote to a local resource and from CSV to TSV. This change affects the use ofexample_package
in older versions of frictionless. We recommend to update frictionless to the latest version (#114, #253).
Changes for developers
-
read_resource()
is now more modular under the hood, which should make it easier to extend (#210). -
checklist tooling was removed, in favour of
CITATION.cff
for citation and Zenodo deposit (#206).
Other changes
- Add Sanne Govaert as author. Welcome Sanne!
frictionless 1.1.0
CRAN release: 2024-03-29
Changes for users
- New function
print()
prints a human-readable summary of the Data Package, rather than a (long) list (#155). -
read_package()
no longer returns a message regarding rights and credit (#121). Ifpackage$id
is a URL (e.g. a DOI) it will be mentioned inprint()
. -
add_resource()
accepts additional arguments via...
. These are added as (custom) properties to the resource and are retained inwrite_package()
(#195). -
read_resource()
now supports column selection via thecol_select
argument fromreadr::read_delim()
. This can vastly improve reading speed (#123). Tidy selection is not supported. -
write_package()
no longer adds"profile": "tabular-data-package"
todatapackage.json
. It is also removed from the example dataset (#188). - Error and warning messages use semantic colours for variables, parameters, fields, etc.
-
readr::problems()
is included in NAMESPACE so you don’t have to load readr to inspect parsing issues. The function is mentioned in the documentation ofread_resource()
(#129).
Changes for developers
- A Data Package object (
package
) now has adatapackage
class (#184). This enables a customprint()
function (see above).check_package()
will warn if the class is missing, so previously saved Data Package objects (without the class) will generate a warning. -
check_package()
is now a public function, so it can be used in your package (#185). This and the othercheck_
functions return the first argument silently (rather thanTRUE
), so they can be chained. -
create_package()
now accepts adescriptor
argument so that a Data Package object can be created from an existing object (#184). It will always validate the created object withcheck_package()
. -
cli::cli_abort()
,cli::cli_warn()
andcli::cli_inform()
are used for all errors, warnings, and messages (#163). This has several advantages:- Messages use semantic colours for variables, parameters, fields, etc.
- Messages and warnings can be silenced with a global or local option, see this blog post.
- Each call has an rlang class, e.g.
frictionless_error_fields_without_name
, making it easier to test for specific errors.
-
glue and assertthat are removed as dependencies (#163). The functionality of glue is replaced by cli, while
assertthat::assert()
calls are nowif ()
statements. - rlang is added as dependency (#192). It is already used by other dependencies.
- frictionless now depends on R >= 3.5.0.
Other changes
- The package now adheres to the requirements of checklist, so that
.zenodo.json
can be created withchecklist::update_citation()
. - Add Pieter Huybrechts as author and Kyle Husmann as contributor. Welcome both!
frictionless 1.0.2
CRAN release: 2022-11-16
- Add
skip_if_offline()
to selected tests and verbosely include output in vignette examples, to avoid CRAN errors caused by timeouts (#116).
frictionless 1.0.1
CRAN release: 2022-09-08
- Rebuild documentation for compatibility with HTML5 on request of CRAN.
- Add funder information.
frictionless 1.0.0
CRAN release: 2022-02-16
- First release on CRAN. 🎉
- Files (
datapackage.json
, resource files, schemas) can now be read from(s)ftp://
URLs (#102). - Package website is now served from https://docs.ropensci.org/frictionless/.
frictionless 0.11.0
-
add_resource()
now setsformat
,mediatype
andencoding
for added CSV file(s) (#78). -
add_resource()
now supports addingschema
via path or URL. -
write_package()
now supports added data to be gzip compressed before being written to disk (#98). -
read_resource()
will now warn rather than error on unknown encoding (#86). -
package
objects no longer have or require the custom attributeresource_names
, use new functionresources()
instead (#97). -
package
objects no longer have or require the custom attributedatapackage
, making it easier to edit them as lists (with e.g.append()
).
frictionless 0.10.0
-
add_resource()
now supports adding CSV file(s) directly as a resource. This skips reading/handling by R and gives users control overpath
(#74). - CSV files in a remotely read package (like
example_package
) are now downloaded when writing withwrite_package()
, rather than being skipped. This is more consistent with locally read packages. The behaviour for resources with apath
containing URLs (only) and resources withdata
remains the same (no files are written). The write behaviour is better explained in the documentation (#77). -
write_package()
now silently returns the output rather than inputpackage
. -
create_package()
will set"profile" = "tabular-data-package"
since packages created by frictionless meet those requirements (#81). -
create_schema()
interprets empty columns asstring
notboolean
(#79). -
read_package()
can now read from adatapackage.yaml
file. -
read_resource()
now accepts YAML Table Schemas and CSV dialects. -
add_resource()
/create_schema()
’sdf
argument is renamed todata
. -
example_package
’sobservations
resource now has URLs aspath
to serve as an example for that.
frictionless 0.9.0
- Add vignette with overview of functionality (#60).
- Prepare frictionless for rOpenSci submission.