You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
There is snakeyaml-engine 2.x - (new snakeyaml version) #25
Hi @ieugen, are you suggesting that we change clj-yaml to build on top of SnakeYAML 2.x?
Are there any user-visible benefits from that upgrade?
FWIW, in recent projects at CircleCI, I've taken to using SnakeYAML directly, rather than clj-yaml. I don't expect the folks at CircleCI to put in any major investment in this library at present.
As far as I understand, the biggest difference is that snakeyaml supports YAML 1.1, whereas snakeyaml-engine supports YAML 1.2.
Thank you, @wongjoel . I agree that this is the biggest difference between snakeyaml and snakeyaml-engine. Looks like YAML 1.2 is designed to move it closer to a superset of JSON (i.e., explicitly support JSON).
There's also some internal changes to make smaller modules it looks like. Some references:
Migration to snakeyaml-engine would be a nice addition, but probably a low priority. We can throw the YAML 1.2 files from the spec at the unit tests and see what happens. If I have the time, I'll take a stab at it. ;)
SnakeYAML is a YAML 1.1 processor for the Java Virtual Machine version 7. For YAML 1.2 (which is a superset of JSON) you may have a look at SnakeYAML Engine
Activity
marcomorain commentedon Nov 2, 2021
Hi @ieugen, are you suggesting that we change
clj-yamlto build on top of SnakeYAML 2.x?Are there any user-visible benefits from that upgrade?
FWIW, in recent projects at CircleCI, I've taken to using SnakeYAML directly, rather than
clj-yaml. I don't expect the folks at CircleCI to put in any major investment in this library at present.The-Alchemist commentedon Mar 2, 2022
If I may chime in, as an outsider:
So I'm not exactly sure which is the "new" library, and what the difference between the APIs is, and what improvements to switching.
There is a Google Group (https://groups.google.com/g/snakeyaml-core), is someone is interested in venturing deeper.
Cheers
wongjoel commentedon Apr 26, 2022
As far as I understand, the biggest difference is that snakeyaml supports YAML 1.1, whereas snakeyaml-engine supports YAML 1.2.
My usecases of YAML all involve very simple YAML files, so I can't bring to mind a clojure use-case where this would matter.
The-Alchemist commentedon Apr 26, 2022
Thank you, @wongjoel . I agree that this is the biggest difference between snakeyaml and snakeyaml-engine. Looks like YAML 1.2 is designed to move it closer to a superset of JSON (i.e., explicitly support JSON).
There's also some internal changes to make smaller modules it looks like. Some references:
Migration to snakeyaml-engine would be a nice addition, but probably a low priority. We can throw the YAML 1.2 files from the spec at the unit tests and see what happens. If I have the time, I'll take a stab at it. ;)
borkdude commentedon Apr 26, 2022
Doesn't snakeyaml use snakeyaml-engine internally?
The-Alchemist commentedon Apr 26, 2022
I don't think so.
borkdude commentedon Sep 14, 2022
Trying snakeyaml engine as the "backend" of this lib would likely solve #35