Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I see if you go to the project page with no parameters, Github presents you the v2 branch. Be sure to check out the v3 branch, which I've been using. It allows better access to the parse tree during unmarshaling, and I've used it to good effect. For instance, I have a "notification" unmarshaler that allows you to do either:
Also bear in mind your own ability to take the project, fork it, and merge in a PR or two you may really need. I understand taking on full maintenance is probably too much on a project with 100+ PRs, but don't forget that if you have a couple of things that you need with a big bang-for-the-buck that you can always do it yourself, and you have the full power of git backing you as you maintain your branch. I've got a couple forks of things where I'm just basically maintaining a single patch on top of it. Most are internal but here's a public one I can show you, where I've added something I really needed for my project, but is probably of no interest to the original maintainer or anybody else. Right now, conveniently for me, Github is even showing that I'm a commit behind the original; what you can't see is that I've already pulled in two previous updates from the original branch in the past. You need to pick cases where you get good bang-for-the-buck, but if you need it, don't be too afraid. (Be a little bit afraid; it is some extra maintenance burden, and that shouldn't be counted as zero. But it's not infinitely bad, either.)
Honestly, I would rather use https://github.com/goccy/go-yaml which is a lot classier.