We have been using easyjson as a way to workaround TinyGo not supporting the reflection module. However, starting from the 0.28 release, the reflection capabilities have been added to TinyGo. Because of that, we can stop using easyjson.
Why we are doing that
Using easyjson requires policy developers to learn one more tool. By using vanilla encoding/json we will improve the developer experience.
Caveats
Easyjson main purpose is provide fast serialization/deserialization. However, looking at some work we've already done, the performance of policies are not going to be significantly impacted by this transition.
Checklist
[x] k8s-objects-generator: do not generate easyjson models anymore
[x] k8s-objects: rebuild all the k8s branches to be "easyjson free"
We have been using easyjson as a way to workaround TinyGo not supporting the
reflection
module. However, starting from the 0.28 release, the reflection capabilities have been added to TinyGo. Because of that, we can stop using easyjson.Why we are doing that
Using easyjson requires policy developers to learn one more tool. By using vanilla
encoding/json
we will improve the developer experience.Caveats
Easyjson main purpose is provide fast serialization/deserialization. However, looking at some work we've already done, the performance of policies are not going to be significantly impacted by this transition.
Checklist
encoding/json