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

Upcoming v0.9 release #496

Open
1 task done
juntyr opened this issue Sep 3, 2023 · 10 comments
Open
1 task done

Upcoming v0.9 release #496

juntyr opened this issue Sep 3, 2023 · 10 comments
Assignees

Comments

@juntyr
Copy link
Member

juntyr commented Sep 3, 2023

I want to publish v0.9 within the next 1-2 weeks.

While I originally planned to focus on round-tripping Values in v0.9, instead my focus shifted to improving the format by supporting more Rusty syntax (and serde attributes). As part of these changes, we now have much more tests, higher code coverage, and a pretty good fuzzer that keeps uncovering obscure edge cases (in the future I want to extend it to also support fuzzing serde attributes).

I now want to give the fuzzer and our users some time to find any bugs and for me to fix them. Once we've had e.g. one week without new fuzzer issues, I'll publish v0.9.

Afterwards, I will probably be a bit less active again and only fix bugs for a while, before I then shift focus to improving Value to become closer to an AST that can roundtrip.

  • Fix the byte literal grammar to include the b' prefix and ' suffix + define ASCII
@juntyr juntyr self-assigned this Sep 3, 2023
@torkleyy torkleyy pinned this issue Sep 3, 2023
@NiklasEi
Copy link

NiklasEi commented Sep 6, 2023

Just dropping in to say thank you for all your work ❤️
I am very happy that #217 was fixed and can verify that my usecase works with latest main 🙂

@juntyr
Copy link
Member Author

juntyr commented Sep 6, 2023

Just dropping in to say thank you for all your work ❤️

I am very happy that #217 was fixed and can verify that my usecase works with latest main 🙂

Thank you @NiklasEi for your kind message!

@juntyr
Copy link
Member Author

juntyr commented Sep 17, 2023

I wanted to give a brief update since v0.9 may be delayed by a few more days. #502 has consumed quite some time, since I want to update our fuzzer to cover all tricky serde attributes so that we can at least know what exotic combinations we do not support (see #503 for a start to expanding the restrictions section in the README). I'm almost done with updating the fuzzer, so hopefully it shouldn't take too much longer :)

@juntyr
Copy link
Member Author

juntyr commented Oct 7, 2023

The 60-commit fuzzer update PR is finally merged. If the fuzzer doesn't find any non-timeout or non-OOM bugs (which are related to huge arrays and which I'm not quite sure yet how to fix), I will now finally publish v0.9 in the coming days, now with limitations of the new serde attribute supper properly investigated.

@juntyr
Copy link
Member Author

juntyr commented Nov 27, 2023

I've unfortunately had to push back the release as I am an expecting parent and did not have the time to fix some fuzzer-identified (non-security) issues - I hope I will be able to get back to ron soon though :)

@shenjackyuanjie
Copy link

a tiny ping, how is your child going?
are they happy? :)

@juntyr
Copy link
Member Author

juntyr commented Feb 11, 2024

a tiny ping, how is your child going? are they happy? :)

Thanks for this wholesome ping :)

The child is doing well but the birth was traumatic and I'm still relearning how to be a functional human. I want to finally get 0.9 released but finding the energy for it hasn't happened yet.

Releasing 0.9 is really only stuck on me trying to find all weird interactions of ron with #[serde(flatten)] attributes that the fuzzer can find. This is unfortunately quite the arduous task since serde flatten is just a bit cursed in all its special cases. Perhaps 0.9 could be released without an exhaustive list which is slowly filled in over patch releases? Almost all bugs the fuzzer found so far were either serde bugs or ones that ron cannot fix until serde supports format-specific Value types for buffering.

@shenjackyuanjie
Copy link

how about releasing a 0.9-beta/alpha before you finish #[serde(flatten)] ?
I think it can helps this crate

@juntyr
Copy link
Member Author

juntyr commented Mar 9, 2024

how about releasing a 0.9-beta/alpha before you finish #[serde(flatten)] ?
I think it can helps this crate

That’s a fantastic idea!

@juntyr
Copy link
Member Author

juntyr commented Mar 9, 2024

https://docs.rs/ron/0.9.0-alpha.0/ron/index.html is now live

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

No branches or pull requests

3 participants