Where can we see new versions that affect compatibility_date?
Hi! I understood that compatibility_date is just a date we can define without limits, and it will pick up changes until that date, right?
I was trying to find the list of versions, but at https://developers.cloudflare.com/workers/configuration/compatibility-dates/#change-history it only mentions certain changes.
Actual changes are releases in the workerd repository? https://github.com/cloudflare/workerd/releases
If so, I couldn't find for example the version
2023-12-01
, which is described at https://developers.cloudflare.com/workers/configuration/compatibility-dates/#webcrypto-preserve-publicexponent-field, so it wouldn't really match 😦
Just asking because I would like to automate updating my dates whenever there is a new version with renovatebot, so that I could use this repository releases.8 Replies
There is some limits, for example I believe it won't let you publish a worker if the date is greater then the current
Workerd is where a lot of the Workers code lives and some of the compat date logic but not all of it afaik, some products are implemented in other ways like D1 and have their own logic
There is this file they constantly bump to the latest supported: https://github.com/cloudflare/workerd/blob/main/src/workerd/io/supported-compatibility-date.txt
Just asking because I would like to automate updating my dates whenever there is a new version with renovatebot, so that I could use this repository releases.I don't think that's really what you want to do though, or necessarily a smart idea. Compat date is made to prevent breaking changes from bothering you. Unless you want a new feature, there's no reason to update it
Thanks for answering @Chaika ! 🙂
I am checking and that file you mention does reflect the same versions as the GitHub releases
Well, I guess it is the same arguments as always to keep things up to date. If I do not update often, and in 2 years suddenly I want the latest feature, I would need to update with many changes, which may mean a lot of breaking changes that then I need to figure out at once, instead of slow, keep up with new versions, being easier to detect issues as the delta is way smaller.
If you just want a specific latest feature, you can always opt into just that one via compat flags
For every change, there is a flag to enable and a flag to disable
It doesn't mean there was any new changes gated behind that though
For example, there's been none in 2024 so far
Mmm, so instead of defining dates, this could all work just with features to enable/disable 🤔
The whole point of compat dates is so you don't have to work to constantly update your workers to keep them working
Okay! Got it! Thanks a lot @Chaika ! 😄
yea imo you'd just be creating more work for yourself then is necessary/worth it. Most of the compat date gated changes were just weird behavior/things that would require potentially changing code, I don't think any being necessarily worth it to go through the trouble of constantly updating for unless you wanted a feature, and you can follow the change log and such if you are curious about ones coming out. That's just my opinion at least, and from what I've seen most people I know follow the same logic.
Sure. Yeah with RenovateBot and decent tests that we have it should required close to 0 effort to update the versions, but I will consider it then, if it is almost not interesting to keep things up to date 👍