Skip to content
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

Merged
merged 3 commits into from
Jun 9, 2022

Conversation

panglesd
Copy link
Contributor

@panglesd panglesd commented Jun 2, 2022

Yojson is an optimized parsing and printing library for the JSON format

CHANGES:

Removed

Add

Change

Fix

@mseri
Copy link
Member

mseri commented Jun 3, 2022

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

@Leonidas-from-XIV
Copy link
Contributor

What are the advantages of doing that as a separate PR versus adding the constraints in this PR?

@mseri
Copy link
Member

mseri commented Jun 3, 2022

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

@Leonidas-from-XIV
Copy link
Contributor

Ok, that makes sense (though looking at the revdep failures I think a lot of them are transitive failures of atd). I'll go through the list and create some PRs to update the API.

@mseri
Copy link
Member

mseri commented Jun 3, 2022

@panglesd could you rebase on the current master and force push?

@panglesd
Copy link
Contributor Author

panglesd commented Jun 3, 2022

Sure!

@mseri
Copy link
Member

mseri commented Jun 8, 2022

@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)
@Leonidas-from-XIV
Copy link
Contributor

Ah, looks like we missed merlin somehow. Should I make a separate PR or should I drop it in here?

@mseri
Copy link
Member

mseri commented Jun 9, 2022

If it is just merlin and calculon, let's do it here

@mseri
Copy link
Member

mseri commented Jun 9, 2022

Fantastic, thanks for the patience and all the help!

@mseri mseri merged commit 3cf1e40 into ocaml:master Jun 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants