-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[new release] yojson and yojson-bench (2.0.0) #21460
Conversation
We need a separate PR with upper bounds for the broken packages. I'll try to work on it by the mid of next week, then we can rebase and re-run the CI |
What are the advantages of doing that as a separate PR versus adding the constraints in this PR? |
The ci will be faster to deal with a few separate PRs than having all of them and all their revdeps added to the already high number of revdeps of yojson |
Ok, that makes sense (though looking at the revdep failures I think a lot of them are transitive failures of |
@panglesd could you rebase on the current master and force push? |
Sure! |
dea293d
to
b1b0fac
Compare
@panglesd can you do a new rebase? |
CHANGES: ### Removed - Removed dependency on easy-format and removed `pretty_format` from `Yojson`, `Yojson.Basic`, `Yojson.Safe` and `Yojson.Raw`. (@c-cube, ocaml-community/yojson#90) - Removed dependency on `biniou`, simplifying the chain of dependencies. This changes some APIs: * `Bi_outbuf.t` in signatures is replaced with `Buffer.t` * `to_outbuf` becomes `to_buffer` and `stream_to_outbuf` becomes `stream_to_buffer` (@Leonidas-from-XIV, ocaml-community/yojson#74, and @gasche, ocaml-community/yojson#132) - Removed `yojson-biniou` library - Removed deprecated `json` type aliasing type `t` which has been available since 1.6.0 (@Leonidas-from-XIV, ocaml-community/yojson#100). - Removed `json_max` type (@Leonidas-from-XIV, ocaml-community/yojson#103) - Removed constraint that the "root" value being rendered (via either `pretty_print` or `to_string`) must be an object or array. (@cemerick, ocaml-community/yojson#121) - Removed `validate_json` as it only made sense if the type was called `json`. (@Leonidas-from-XIV, ocaml-community/yojson#137) ### Add - Add an opam package `yojson-bench` to deal with benchmarks dependency (@tmcgilchrist, ocaml-community/yojson#117) - Add a benchmark to judge the respective performance of providing a buffer vs letting Yojson create an internal (ocaml-community/yojson#134, @Leonidas-from-XIV) - Add an optional `suf` keyword argument was added to functions that write serialized JSON, thus allowing NDJSON output. Most functions default to not adding any suffix except for `to_file` (ocaml-community/yojson#124, @panglesd) and functions writing sequences of values where the default is `\n` (ocaml-community/yojson#135, @Leonidas-from-XIV) ### Change - The `stream_from_*` and `stream_to_*` functions now use a `Seq.t` instead of a `Stream.t`, and they are renamed into `seq_from_*` and `seq_to_*` (@gasche, ocaml-community/yojson#131). ### Fix - Avoid copying unnecessarily large amounts of strings when parsing (ocaml-community/yojson#85, ocaml-community/yojson#108, @Leonidas-from-XIV) - Fix `stream_to_file` (ocaml-community/yojson#133, @tcoopman and @gasche)
b1b0fac
to
accb6b8
Compare
Ah, looks like we missed merlin somehow. Should I make a separate PR or should I drop it in here? |
If it is just merlin and calculon, let's do it here |
Fantastic, thanks for the patience and all the help! |
Yojson is an optimized parsing and printing library for the JSON format
CHANGES:
Removed
pretty_format
fromYojson
,Yojson.Basic
,Yojson.Safe
andYojson.Raw
. (@c-cube, remove dep on easy-format ocaml-community/yojson#90)biniou
, simplifying the chain of dependencies. Thischanges some APIs:
Bi_outbuf.t
in signatures is replaced withBuffer.t
to_outbuf
becomesto_buffer
andstream_to_outbuf
becomesstream_to_buffer
(@Leonidas-from-XIV, Remove hard dependency on Biniou ocaml-community/yojson#74, and @gasche, lib/write: more regular usage protocol for ?buf parameters ocaml-community/yojson#132)
yojson-biniou
libraryjson
type aliasing typet
which has been availablesince 1.6.0 (@Leonidas-from-XIV, Remove
json
type ocaml-community/yojson#100).json_max
type (@Leonidas-from-XIV, Removejson_max
type ocaml-community/yojson#103)pretty_print
orto_string
) must be an object or array. (@cemerick,pretty_print
raises errors when asked to print any value other than an array or object ocaml-community/yojson#121)validate_json
as it only made sense if the type was calledjson
.(@Leonidas-from-XIV, Remove
validate_json
ocaml-community/yojson#137)Add
yojson-bench
to deal with benchmarks dependency(@tmcgilchrist, Add bench dependencies on core and core_bench. ocaml-community/yojson#117)
letting Yojson create an internal (Add benchmark for running
to_channel
with a preallocated buffer ocaml-community/yojson#134, @Leonidas-from-XIV)suf
keyword argument was added to functions that writeserialized JSON, thus allowing NDJSON output. Most functions default to not
adding any suffix except for
to_file
(Makingto_string
generate POSIX-compliant files ocaml-community/yojson#124, @panglesd) and functionswriting sequences of values where the default is
\n
(Add a configurablesuf
separator ocaml-community/yojson#135,@Leonidas-from-XIV)
Change
stream_from_*
andstream_to_*
functions now use aSeq.t
instead of aStream.t
, and they are renamed intoseq_from_*
andseq_to_*
(@gasche, Stream to Seq ocaml-community/yojson#131).Fix
map_lexeme
ocaml-community/yojson#108,@Leonidas-from-XIV)
stream_to_file
(Stream fixes ocaml-community/yojson#133, @tcoopman and @gasche)