The v3 release & continued support for v2. #588
Replies: 7 comments 8 replies
-
Hi @SupremeTechnopriest 👋, While I'm not MrBBot himself, I hope I can answer some of your questions so he can focus on - you guessed it - fixing some bugs and adding features into v3. While I can't comment on promised support, v2 currently works for me for the majority of use cases that I need a local simulator for, and I doubt anything will break it in the next few months. The reason some of these automated test utilities ( Not sure what's gone wrong with storage persistence, the format is different to v2, so I recommend removing the folder entirely and let v3 recreate everything from scratch. If that doesn't fix persistence for you, opening an issue here with a minimal repro will help the team triage and fix it quickly. To answer your second question as well (weird ordering, apologies), I don't know of any public roadmap for Miniflare, you can follow the repo, or join the Discord (#miniflare channel) to find out as new releases come out. Hope this helps 😄 |
Beta Was this translation helpful? Give feedback.
-
Hey! 👋 Thanks for starting this discussion.
I would love to, but I really don't think we have enough time/resources to. 😢 Our plan at the moment is to only provide security updates for Miniflare 2, until the next major version, at which point Miniflare 2 will be archived. It's very unlikely we'll add support for new bindings like Analytics Engine or Browsers to Miniflare 2. I know this kinda sucks, but unfortunately there's only so many hours in the day...
Definitely agree here, but again as @DaniFoldi points out, it's going to be tricky (but not necessarily impossible) to add these back. What we don't want to do is re-implement all the binding classes again in Node.js. This is what we were trying to avoid with Miniflare 3. What we could do is define some magic stub
If you could share the Worker/configuration that isn't working, that would be super helpful. It's possible there's a bug in Miniflare here we should fix. 🙂
Are you referring to the unit testing environments here? If so, I'd definitely like to bring these back. Again, it's much harder to implement these now with the runtime APIs being defined in a separate process.
Miniflare will now use the KV namespace ID as opposed to the binding name when persisting data. I suspect this is where the
Not yet, but we could probably have a public roadmap for Miniflare. Will have to check. 👍 Thanks again for the feedback though, hopefully you can understand my perspective. 🙂 |
Beta Was this translation helpful? Give feedback.
-
Another regret I have is that fetch response mocking will no longer work. You did such a nice job exposing the undici mock agent and it was a super helpful testing utility. 😢 |
Beta Was this translation helpful? Give feedback.
-
@SupremeTechnopriest PM for the DevProd team here 👋 I'm really sorry for the issues that you faced with the release. It's definitely not our intention to cause stress like that for you or any user. Thanks for your understanding and outlining the ways this change has affected your experience. @mrbbot and I (along with the whole Workers DevProd team) will be working to sort out the various issues that you've raised in light of our long-term goal which is to increase the ability of users like yourself to test their Workers (and related resources) in every way possible, as early as possible. To reiterate, we don't intend to stop supporting v2 in terms of security updates or major issues that might come up, but we want to focus our team's available energy for new development on v3. Happy to schedule a time to discuss more if that's help! |
Beta Was this translation helpful? Give feedback.
-
I’m using the method described in sveltejs/kit#2966 (comment) to simulate Cloudflare KV and DO for local development of a SvelteKit app. I too am concerned about the lack of migration path for this use case. SvelteKit seems to be a great pairing with Cloudflare Pages, as SvelteKit provides a first-party Cloudflare adapter; it would be a shame if there was no good story for local development with Cloudflare’s services. |
Beta Was this translation helpful? Give feedback.
-
IMHO, the most useful feature of Miniflare V2 that is absent in V3 are the unit testing environments, particularly the ability to write tests against various storage options without having to resort to mocking. |
Beta Was this translation helpful? Give feedback.
-
Hey @admah, Any progress on testing utilities? We just had our first global outage due to a mismatch in runtime between wrangler 2 and 3. I can no longer trust my tests... which is going to cause me to lose sleep... |
Beta Was this translation helpful? Give feedback.
-
@mrbbot Are you planning to continue support for v2? The switch to
workerd
kind of removed everything that made miniflare great... Losing theget*
methods is a real bummer. One example of where this hurts is setting up the dev environment. I have a seed file that I use to set up my locally persisted KV Stores. I tried to implement the same functionality using adispatchFetch
to a temporary worker thatput
the json request body in the kv store, but I couldn't get it to work. Testing also took a big hit in v3...While having an identical runtime is nice (no more
behavior mismatch
label), losing all the tooling that made miniflare great is a questionable trade off. It was very rare that I ran into behavior mismatches, but now I cant unit test my code and storage persistence seems to be broken all together (.mf/v3/kv/unused
?). The release of v3 leaves me with these questions:Hopefully the answer to all of these questions is yes because the v3 release feels incomplete and premature. Not trying to disparage all of your hard work. You have definitely made workers 1000000x better to work with and I appreciate you thoroughly. Its just that the v3 release was an emotional roller coaster. I saw a new version available, got super excited, started upgrading my project, was quickly disappointed, and had to roll back. It always feels icky running an outdated version of a dependency. 😢
Beta Was this translation helpful? Give feedback.
All reactions