NEWS
jsonlite 1.8.9 (2024-09-20)
- Fix memory leak in base64 decoder
- Update maintainer email address
jsonlite 1.8.8 (2023-12-04)
- Apply libyajl patches for CVE-2022-24795, CVE-2022-24795, CVE-2023-33460
- Fix printf warnings for cran
jsonlite 1.8.7 (2023-06-29)
- toJSON(digits = NA) once again prints 15 digits max
- Fix getRversion type (requested by CRAN)
jsonlite 1.8.6
- Add method [.json such that subsetting keeps json class
jsonlite 1.8.5 (2023-06-05)
- Max digits in toJSON() raised from 15 to 17 (see #412)
- Remove online example from flaky httpbin server
jsonlite 1.8.4 (2022-12-06)
- Replace sprintf with snprintf for CRAN
jsonlite 1.8.3 (2022-10-21)
- Fix strict-prototypes warning
jsonlite 1.8.2 (2022-10-02)
- Also fix breaking change in base_r for as.character.Date
jsonlite 1.8.1 (2022-10-01)
- Use base::url instead of curl::curl for downloading URLs in fromJSON
- Fix for breaking change 82904 in base-R (changed default as.character.POSIX behavior)
jsonlite 1.8.0 (2022-02-22)
- Remove all calls to setOldClass() for R >= 4.0 (#378)
jsonlite 1.7.3 (2022-01-17)
- Fix memory bug in toJSON(pretty=TRUE) for 0-length vectors (#366)
- Ported rbind_pages() to use vctrs::vec_rbind (#352)
- Fix error serializing S4 class extending SEXPTYPE for certain types (#364)
- Fix citibike example in API vignette
jsonlite 1.7.2 (2020-12-09)
- Special case 'blob' vctrs to prevent boxing of base64 output strings
- Fix a unit test for new stricter all.equal() for environments in base-R
jsonlite 1.7.1 (2020-09-07)
- Always rename the 'sf_column' column to 'geometry' in toJSON(sf = 'geojson') because
that is what the spec says.
- Add asJSON method for ITime.
- Fix toJSON() for encoding strings in multibyte locale on Windows
- serializeJSON() now supports S4 "pseudo-null" (i.e. empty slots)
jsonlite 1.7.0 (2020-06-25)
- Add support for 'sf' classes in toJSON() conform GeoJSON spec.
- Fix a unit test due to a change in rgdal
jsonlite 1.6.1 (2020-02-02)
- Fix bug in C_collapse_array_pretty_inner declarationdetected by CRAN LTO
- Better handing of NA in timestamps with POSIXt = 'mongo'
- The 'raw' parameter in toJSON gains options 'int' and 'js'
jsonlite 1.6 (2018-12-07)
- Add parse_json() wrapper that does not guess if a string is actually a file/url
- Fix a few rchk warnings (mostly false positives)
- Add asJSON method for hms
- Do not require is.vector() for unbox to support values with attributes e.g. factor or tzone
- write_json now suppresses recoding of strings on windows, fixes #226
- Hide internal libyajl symbols from shlib
- Remove C calls R connection API which are no longer allowed on CRAN. This may
lead to about 5% performance decrease for parsing from connections.
- Remove deprecated rbind.pages function
jsonlite 1.5 (2017-06-01)
- Workaround for #180. fromJSON() first checks for literal json, then filename
- Rename rbind.pages to rbind_pages to fix warning in R-devel (requested by CRAN)
jsonlite 1.4 (2017-04-08)
- Properly escape control characters \x01 through \x1f in toJSON()
- Support parsing JSON prefixed with a rfc7464 ASCII Record Separator (0x1E)
- (un)serializeJSON and do not set 'attributes' and 'value' for NULL anymore
- serializeJSON() sets class="json" on output value, consistent with toJSON()
- Rewrite (un)serializeJSON() for S4 classes and added some unit tests
- Fix for simplyfing datelists, needed for mongolite
jsonlite 1.3 (2017-02-28)
- The solidus '/' is now escaped when preceded by '<' for safe html embedding (#163)
- Code for reading from connections is ported to C.
- Code for escaping strings has been rewritten
- toJSON gains internal argument no_dots for needed by mongolite
- Better support for parsing extjson date strings
jsonlite 1.2 (2016-12-30)
- Add 'read_json' and 'write_json' convenience wrappers
- Update modp_numtoa from upstream (fixes a rounding issue in #148)
- Ensure asJSON.POSIXt does not use sci notation for negative values (#155, John Greeley)
- Tweak num_to_char to properly print large negative numbers
- Performance optimization for simplyfing data frames
jsonlite 1.1 (2016-09-14)
- stream_in now passes ... arguments to fromJSON as documented
- Force ANSI_STDIO on Windows to fix -pedantic compiler warning
- Close connection even if opening fails. Fixes #145
- validate() now includes an 'offset' attribute indicating at which byte the error occured
- Refresh some example tokes for vignettes
jsonlite 1.0 (2016-07-01)
- Fix always_decimal for non-whole numbres which get rounded to whole numbers
- Rename and export base64 encoder/decoder
- Fix compiler warning on Windows: don't redefine isnan() and isinf()
- Changed targed in Makevars to libstatyajl.a to prevent conflict with system libyajl
- Bump to 1.0 because this package is basically done
jsonlite 0.9.22 (2016-06-15)
- Fix for side effects of 'always_decimal' on Date and POSIXt integer encoding
- Fixed a small memory leak in the push parser (fromJSON.connection)
- Cleaned up Makevars
- Replace base64 encoder/decoder to be in-memory
- Special case toJSON(NULL, null = "null") now returns "null"
jsonlite 0.9.21 (2016-06-04)
- Add 'always_decimal' argument in toJSON for real number notation in whole number doubles.
jsonlite 0.9.20 (2016-05-10)
- Performance optimization for toJSON on matrices and arrays
- Tweak for unboxed POSIXt = "mongo" queries
jsonlite 0.9.19 (2015-11-28)
- Remove the View() workaround because it causes issues in RStudio and
because the bug in utils::View has been fixed in R-patched.
jsonlite 0.9.18 (2015-11-25)
- Removed support for the archived int64 package. Use bit64 instead.
- The stream_in function now skips over blank lines
- Remove workaround for View() in rstudio
- fromJSON now sets an 'Accept' request header for URLs.
jsonlite 0.9.17 (2015-09-06)
- Fix for 1 dimensional array objects
- Fix for unnamed data frame
- Fix for duplicate _row fields
- The 'unbox' function now accepts classed scalars such as dates
- Ignore BOM with warning in push parser
jsonlite 0.9.16 (2015-04-11)
- Performance optimizations in asJSON.data.frame by avoiding apply()
- Prettifying is now done by default in R (thanks to Yihui Xie)
- Add json_verbatim option to insert verbatim json
- Improve verbose output of streaming functions
jsonlite 0.9.15 (2015-03-26)
- Replaced RCurl dependency with the new curl package.
- Added push parser for more efficient parsing from connection interfaces (e.g. files or urls).
- The toMongo function has been removed. Use stream_out instead.
- The 'View' function will not be exposed in recent versions of rstudio that supported nested data natively.
- Add hidden bigint_as_char argument in fromJSON
- Fixed a memory leak in fromJSON.
- I() forces boxing of a scalar when 'auto_unbox = TRUE' for RJSONIO compatibility.
- toJSON now supports 'keep_vec_names=TRUE' will mimic RJSONIO legacy behavior.
- toJSON now supports 'time_format' argument to customize formatting of POSIXt strings.
jsonlite 0.9.14 (2014-12-01)
- Change license to MIT (for GPL2 compatibility).
- Add support for digits = I(n) to use significant precision.
- When 'pretty' in toJSON is numeric, it specifies the number of spaces to indent.
- Bug fix in validate() related to ScalarLogical
- Add support for dataframe = "values"
- Byte-order-marks are now ignored as suggested by rfc7159
- Add support for integer64 class (bit64 package)
jsonlite 0.9.13 (2014-10-21)
- Ported some number formatting to C
- Fix when http server gives no content-type header
- Prevent auto unboxing within a matrix
- Assume UTF8 but fall back on native encoding for files and urls in fromJSON
- Fix for 32 bit windows XP.
jsonlite 0.9.12 (2014-09-27)
- New JSON parser based on yajl. Some changes:
* smaller and faster than libjson
* better error messages
* automatic validation
* native \uXXXX unicode parsing
* integer parsing
* uses spaces intead of tabs for prettify
- Other functions ported to C: collapse_object, null_to_na, is_recordlist, is_scalarlist
- Expose 'flatten' function
- Row names are encoded as "_row" instead of "$row"
- Start with streaming functions
- Some internal changes to support BSON/MongoDB
jsonlite 0.9.11 (2014-09-05)
- Added toJSON null argument
- Fix bug in prettify object name escaping
- Use C code for escaping and collapsing vectors
- Several performance enhancements in fromJSON/simplify code
- The auto_unbox argument is ignored for dataframes when dataframe="column"
jsonlite 0.9.10 (2014-08-03)
- Add support for escaped (hexadecimal) unicode characters in fromJSON(unicode = TRUE)
- Exporting a wrapper for View() that flattens nested data frames
- Add print method for scalar (unbox)
jsonlite 0.9.9 (2014-07-22)
- Fix bug where 'flatten' argument wasn't passed down
- Make asJSON automatically unname any named lists within a data frame
- fromJSON(url) now sets Accept header
- Increase default to digits=4 in toJSON
jsonlite 0.9.8 (2014-06-02)
- Remove whitespace from default output of toJSON
- Split vignette in 3 documents
- Add support for simplifyMatrix within a data frame
- Add class "json" output of toJSON, simplify, minify
- Add print method for json
- Cleaned up unit tests
- Workaround for SSL handshake issues in https downloads
- Raise warnings for SSL or Content-Type abnormalities
jsonlite 0.9.7 (2014-04-18)
- formally expose 'force' argument in toJSON
- formally expose 'flatten' argument in fromJSON
- fix bug in simplifyDataframe
- fix in rlibjson code that converted empty array to AsIs object
- auto coerse mongo type dates in fromJSON
jsonlite 0.9.6 (2014-04-05)
- toJSON gains argument auto_unbox
- Minor fixes
jsonlite 0.9.5 (2014-03-27)
- Never raise error in toJSON when force=true
- Fix typo in line 2 of JSONDefs/GNU_C.h (GUN -> GNU)
- Run unit tests during R CMD check
- Update vignette
jsonlite 0.9.4 (2014-03-01)
- Added minify function
- Added unbox function
- Fixed bug where toJSON 'force' argument wasn't passed down
- Removed -DJSON_VALIDATE -DJSON_STREAM=1 from Makevars.in (already in JSONoptions.h)
jsonlite 0.9.3 (2014-01-02)
- Changes by Prof Ripley for Solaris/CRAN
jsonlite 0.9.2
- Update libjson to 7.6.1 (fixes bug in the validator)
- Generalized toJSON method 'matrix' to 'array' to work for higher dimensions.
- Add option to encode matrix either row-major or column-major.
- Set default SSL version to 3 for fromJSON("https://...")
jsonlite 0.9.1 (2013-12-12)
- Major performance improvements for toJSON.data.frame
jsonlite 0.9.0 (2013-12-03)