-
Notifications
You must be signed in to change notification settings - Fork 23
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
chore(deps): update dependency miniflare to v3 #186
base: master
Are you sure you want to change the base?
Conversation
|
cf1c944
to
6260bd5
Compare
9b65759
to
98e41d9
Compare
5d6740b
to
2b378f5
Compare
27fe931
to
24677ab
Compare
24677ab
to
da10c1a
Compare
a160167
to
adfa6fc
Compare
b964721
to
243f7fb
Compare
090bbc9
to
e01c3e9
Compare
1b242b5
to
17f976c
Compare
9d20b11
to
ff55c1b
Compare
63292d8
to
6040bb9
Compare
67d9139
to
df221b6
Compare
f8ed849
to
4adca8a
Compare
d690219
to
02709a2
Compare
e34216b
to
81830fd
Compare
371bcae
to
a6b801c
Compare
a6b801c
to
979239d
Compare
This PR contains the following updates:
2.14.0
->3.20240605.0
Release Notes
cloudflare/workers-sdk (miniflare)
v3.20240605.0
Compare Source
Patch Changes
#5961
ab95473
Thanks @CarmenPopoviciu! - chore: update dependencies of "miniflare" packageThe following dependency versions have been updated:
v3.20240524.2
Compare Source
Patch Changes
#5922
bdbb7f8
Thanks @dario-piotrowicz! - fix: Allow the magic proxy to handle functions returning functionsPreviously functions returning functions would not be handled by the magic proxy,
the changes here enable the above, allowing for code such as the following:
This also works with the native workers RPC mechanism, allowing users to
return functions in their RPC code.
v3.20240524.1
Compare Source
Patch Changes
e0e7725
Thanks @dario-piotrowicz! - docs: add configuration section with local workerd linking to main readmev3.20240524.0
Compare Source
Minor Changes
#5917
64ccdd6
Thanks @kossnocorp! - fix: D1's JOIN behaviour when selecting columns with the same name.Properly handle the
resultsFormat
query thatworkerd
sends. This partially fixes the JOIN bug and makes the behaviour ofraw
consistent with theworkerd
behaviour.Patch Changes
#5931
4458a9e
Thanks @CarmenPopoviciu! - chore: update dependencies of "miniflare" packageThe following dependency versions have been updated:
v3.20240512.0
Compare Source
Patch Changes
#5827
0725f6f
Thanks @petebacondarwin! - chore: update dependencies of "miniflare" packageThe following dependency versions have been updated:
#5798
89b6d7f
Thanks @RamIdeas! - fix: update miniflare's response compression to act more like Cloudflare platformv3.20240419.1
Compare Source
Minor Changes
#5570
66bdad0
Thanks @sesteves! - feature: support delayed delivery in the miniflare's queue simulator.This change updates the miniflare's queue broker to support delayed delivery of messages, both when sending the message from a producer and when retrying the message from a consumer.
Patch Changes
#5670
9b4af8a
Thanks @dario-piotrowicz! - fix: Allow the magic proxy to proxy objects containing functionsThis was previously prevented but this change removes that restriction.
v3.20240419.0
Compare Source
Patch Changes
#5682
3a0d735
Thanks @dependabot! - chore: update dependencies of "miniflare" packageThe following dependency versions have been updated:
#5482
1b7739e
Thanks @DaniFoldi! - docs: show new Discord url everywhere for consistency. The old URL still works, but https://discord.cloudflare.com is preferred.v3.20240405.2
Compare Source
Patch Changes
#5599
c9f081a
Thanks @penalosa! - fix: add support for wrapped bindings in magic proxycurrently
Miniflare#getBindings()
does not return proxies to providedwrappedBindings
, make sure that appropriate proxies are instead returnedExample:
#5599
c9f081a
Thanks @penalosa! - fix: add support for RPC in magic proxycurrently
Miniflare#getBindings()
does not return valid proxies to providedserviceBindings
using RPC, make sure that appropriate proxies are instead returnedExample:
v3.20240405.1
Compare Source
Minor Changes
#5409
08b4908
Thanks @mrbbot! - feature: respect incomingAccept-Encoding
header and ensureAccept-Encoding
/request.cf.clientAcceptEncoding
set correctlyPreviously, Miniflare would pass through the incoming
Accept-Encoding
header to your Worker code. This change ensures this header is always set toAccept-Encoding: br, gzip
for incoming requests to your Worker. The original value ofAccept-Encoding
will be stored inrequest.cf.clientAcceptEncoding
. This matches deployed behaviour.Fixes #5246
v3.20240405.0
Compare Source
Patch Changes
#5554
9575a51
Thanks @dependabot! - chore: update dependencies of "miniflare" packageThe following dependency versions have been updated:
v3.20240404.0
Compare Source
Patch Changes
#5520
9f15ce1
Thanks @dependabot! - chore: update dependencies of "miniflare" packageThe following dependency versions have been updated:
v3.20240403.0
Compare Source
Minor Changes
#5215
cd03d1d
Thanks @GregBrimble! - feature: customisable unsafe direct sockets entrypointsPreviously, Miniflare provided experimental
unsafeDirectHost
andunsafeDirectPort
options for starting an HTTP server that pointed directly to a specific Worker. This change replaces these options with a singleunsafeDirectSockets
option that accepts an array of socket objects of the form{ host?: string, port?: number, entrypoint?: string, proxy?: boolean }
.host
defaults to127.0.0.1
,port
defaults to0
,entrypoint
defaults todefault
, andproxy
defaults tofalse
. This allows you to start HTTP servers for specific entrypoints of specific Workers.proxy
controls theStyle
of the socket.Note these sockets set the
capnpConnectHost
workerd
option to"miniflare-unsafe-internal-capnp-connect"
.external
serviceBindings
will set theircapnpConnectHost
option to the same value allowing RPC over multipleMiniflare
instances. Refer to https://github.com/cloudflare/workerd/pull/1757 for more information.#5215
cd03d1d
Thanks @GregBrimble! - feature: support named entrypoints forserviceBindings
This change allows service bindings to bind to a named export of another Worker using designators of the form
{ name: string | typeof kCurrentWorker, entrypoint?: string }
. Previously, you could only bind to thedefault
entrypoint. With this change, you can bind to any exported entrypoint.Patch Changes
#5499
6c3be5b
Thanks @GregBrimble! - chore: Bump workerd@1.20240403.0#5215
cd03d1d
Thanks @GregBrimble! - fix: allowscript
s withoutscriptPath
s to import built-in modulesPreviously, if a string
script
option was specified withmodules: true
but without a correspondingscriptPath
, allimport
s were forbidden. This change relaxes that restriction to allow imports of built-innode:*
,cloudflare:*
andworkerd:*
modules without ascriptPath
.v3.20240329.1
Compare Source
Patch Changes
#5491
940ad89
Thanks @dario-piotrowicz! - fix: make sure the magic proxy can handle multiple parallel r2 stream readsCurrently trying to read multiple R2 streams in parallel (via
Promise.all
for example) leads to deadlock which prevents any of the target streams from being read. This is caused by the underlying implementation only allowing a single HTTP connection to the Workers runtime at a time. This change fixes the issue by allowing multiple parallel HTTP connections.v3.20240329.0
Compare Source
Minor Changes
d994066
Thanks @mrbbot! - chore: bumpworkerd
to1.20240329.0
v3.20240320.1
Compare Source
Minor Changes
fbdca7d
Thanks @OilyLime! - feature: URL decode components of the Hyperdrive config connection stringv3.20240320.0
Compare Source
Patch Changes
#5341
248a318
Thanks @dependabot! - chore: update dependencies of "miniflare" packageThe following dependency versions have been updated:
v3.20240314.0
Compare Source
Minor Changes
1720f0a
Thanks @CarmenPopoviciu! - chore: bumpworkerd
to1.20240314.0
v3.20240304.2
Compare Source
Patch Changes
2e50d51
Thanks @CarmenPopoviciu! - fix: Add internal APIs to support the Workers Vitest integrationv3.20240304.1
Compare Source
Patch Changes
#5201
1235d48
Thanks @wydengyre! - fix: ensureminiflare
works with Node 21.7.0+#5191
27fb22b
Thanks @mrbbot! - fix: ensure redirect responses handled correctly withdispatchFetch()
Previously, if your Worker returned a redirect response, calling
dispatchFetch(url)
would send another request to the originalurl
rather than the redirect. This change ensures redirects are followed correctly.url
, the request will be sent to the Worker.url
, the request will also be sent to the Worker.v3.20240304.0
Compare Source
Minor Changes
#5148
11951f3
Thanks @dom96! - chore: bumpworkerd
to1.20240304.0
#5148
11951f3
Thanks @dom96! - fix: use python_workers compat flag for Pythonv3.20240223.1
Compare Source
Patch Changes
#5133
42bcc72
Thanks @mrbbot! - fix: ensure internals can accessworkerd
when starting on non-localhost
Previously, if Miniflare was configured to start on a
host
that wasn't127.0.0.1
,::1
,*
,::
, or0.0.0.0
, calls toMiniflare
API methods relying on the magic proxy (e.g.getKVNamespace()
,getWorker()
, etc.) would fail. This change ensuresworkerd
is always accessible to Miniflare's internals. This also fixeswrangler dev
when using local network address such as192.168.0.10
with the--ip
flag.#5133
42bcc72
Thanks @mrbbot! - fix: ensure IPv6 addresses can be used ashost
sPreviously, if Miniflare was configured to start on an IPv6
host
, it could crash. This change ensures IPv6 addresses are handled correctly. This also fixeswrangler dev
when using IPv6 addresses such as::1
with the--ip
flag.v3.20240223.0
Compare Source
Minor Changes
0c0949d
Thanks @garrettgu10! - chore: bumpworkerd
to1.20240223.1
v3.20240208.0
Compare Source
Minor Changes
b03db864
Thanks @mrbbot! - chore: bumpworkerd
to1.20240208.0
v3.20240129.3
Compare Source
Minor Changes
#4795
027f9719
Thanks @mrbbot! - feat: passMiniflare
instance as argument to custom service binding handlersThis change adds a new
Miniflare
-typed parameter to function-valued service binding handlers. This provides easy access to the correct bindings when re-using service functions across instances.#4795
027f9719
Thanks @mrbbot! - feat: allowURL
s to be passed inhyperdrives
Previously, the
hyperdrives
option only acceptedstring
s as connection strings. This change allowsURL
objects to be passed too.#4795
027f9719
Thanks @mrbbot! - feat: add support for custom root pathsMiniflare has lots of file-path-valued options (e.g.
scriptPath
,kvPersist
,textBlobBindings
). Previously, these were always resolved relative to the current working directory before being used. This change adds a newrootPath
shared, and per-worker option for customising this behaviour. Instead of resolving relative to the current working directory, Miniflare will now resolve path-valued options relative to the closestrootPath
option. Paths are still resolved relative to the current working directory if norootPath
s are defined. Worker-levelrootPath
s are themselves resolved relative to the sharedrootPath
if defined.#4795
027f9719
Thanks @mrbbot! - feat: allow easy binding to current workerPreviously, if you wanted to create a service binding to the current Worker, you'd need to know the Worker's name. This is usually possible, but can get tricky when dealing with many Workers. This change adds a new
kCurrentWorker
symbol that can be used instead of a Worker name inserviceBindings
.kCurrentWorker
always points to the Worker with the binding.Patch Changes
#4954
7723ac17
Thanks @mrbbot! - fix: allow relativescriptPath
/modulesRoot
s to break out of current working directoryPreviously, Miniflare would resolve relative
scriptPath
s againstmoduleRoot
multiple times resulting in incorrect paths and module names. This would lead tocan't use ".." to break out of starting directory
workerd
errors. This change ensures Miniflare usesscriptPath
as is, and only resolves it relative tomodulesRoot
when computing module names. Note this bug didn't affect service workers. This allows you to reference a modulesscriptPath
outside the working directory with something like:Fixes #4721
#4795
027f9719
Thanks @mrbbot! - fix: return non-WebSocket responses for failed WebSocket upgradingfetch()
esPreviously, Miniflare's
fetch()
would throw an error if theUpgrade: websocket
header was set, and a non-WebSocket response was returned from the origin. This change ensures the non-WebSocket response is returned fromfetch()
instead, withwebSocket
set tonull
. This allows the caller to handle the response as they see fit.#4795
027f9719
Thanks @mrbbot! - fix: ensureMiniflareOptions
,WorkerOptions
, andSharedOptions
types are correctMiniflare uses Zod for validating options. Previously, Miniflare inferred
*Options
from the output types of its Zod schemas, rather than the input types. In most cases, these were the same. However, thehyperdrives
option has different input/output types, preventing these from being type checked correctly.v3.20240129.2
Compare Source
Patch Changes
#4950
05360e43
Thanks @petebacondarwin! - fix: ensure we do not rewrite external Origin headers in wrangler devIn https://github.com/cloudflare/workers-sdk/pull/4812 we tried to fix the Origin headers to match the Host header but were overzealous and rewrote Origin headers for external origins (outside of the proxy server's origin).
This is now fixed, and moreover we rewrite any headers that refer to the proxy server on the request with the configured host and vice versa on the response.
This should ensure that CORS is not broken in browsers when a different host is being simulated based on routes in the Wrangler configuration.
v3.20240129.1
Compare Source
Minor Changes
#4905
148feff6
Thanks @dario-piotrowicz! - feature: add agetCf
method to Miniflare instancesadd a new
getCf
method attached to instances ofMiniflare
, thisgetCf
returnsthe
cf
object that the Miniflare instance provides to the actual workers and itdepends of the core option of the same name
Example:
v3.20240129.0
Compare Source
Minor Changes
#4873
1e424ff2
Thanks @dom96! - feature: implemented basic Python supportHere is an example showing how to construct a MiniFlare instance with a Python module:
Patch Changes
749fa3c0
Thanks @mrbbot! - chore: bumpworkerd
to1.20240129.0
v3.20231218.4
Compare Source
Patch Changes
#4812
8166eefc
Thanks @petebacondarwin! - fix: ensure that Origin header is rewritten as necessaryThe
wrangler dev
command puts the Worker under test behind a proxy server.This proxy server should be transparent to the client and the Worker, which
means that the
Request
arriving at the Worker with the correcturl
property,and
Host
andOrigin
headers.Previously we fixed the
Host
header but missed theOrigin
header which isonly added to a request under certain circumstances, such as cross-origin requests.
This change fixes the
Origin
header as well, so that it is rewritten, when it exists,to use the
origin
of theurl
property.Fixes #4761
v3.20231218.3
Compare Source
Patch Changes
c3e410c2
Thanks @petebacondarwin! - ci: bump undici versions to 5.28.2v3.20231218.2
Compare Source
Minor Changes
#4686
4f6999ea
Thanks @mrbbot! - feat: exposerows_read
androws_written
in D1 resultmeta
rows_read
/rows_written
contain the number of rows read from/written to the database engine when executing a query respectively. These numbers may be greater than the number of rows returned from/inserted by a query. These numbers form billing metrics when your Worker is deployed. See https://developers.cloudflare.com/d1/platform/pricing/#billing-metrics for more details.Patch Changes
#4719
c37d94b5
Thanks @mrbbot! - fix: ensureminiflare
andwrangler
can source map in the same processPreviously, if in a
wrangler dev
session you calledconsole.log()
and threw an unhandled error you'd see an error like[ERR_ASSERTION]: The expression evaluated to a falsy value
. This change ensures you can do both of these things in the same session.v3.20231218.1
Compare Source
Patch Changes
#4630
037de5ec
Thanks @petebacondarwin! - fix: ensure User Worker gets the correct Host header in wrangler dev local modeSome full-stack frameworks, such as Next.js, check that the Host header for a server
side action request matches the host where the application is expected to run.
In
wrangler dev
we have a Proxy Worker in between the browser and the actual User Worker.This Proxy Worker is forwarding on the request from the browser, but then the actual User
Worker is running on a different host:port combination than that which the browser thinks
it should be on. This was causing the framework to think the request is malicious and blocking
it.
Now we update the request's Host header to that passed from the Proxy Worker in a custom
MF-Original-Url
header, but only do this if the request also contains a shared secret between the Proxy Worker
and User Worker, which is passed via the
MF-Proxy-Shared-Secret
header. This last feature is toprevent a malicious website from faking the Host header in a request directly to the User Worker.
Fixes https://github.com/cloudflare/next-on-pages/issues/588
v3.20231218.0
Compare Source
Minor Changes
c410ea14
Thanks @mrbbot! - chore: bumpworkerd
to1.20231218.0
v3.20231030.4
Compare Source
Patch Changes
#4448
eb08e2dc
Thanks @mrbbot! - fix: include request url and headers in pretty error pageThis change ensures Miniflare's pretty error page includes the URL and headers of the incoming request, rather than Miniflare's internal request for the page.
v3.20231030.3
Compare Source
Patch Changes
#4466
71fb0b86
Thanks @mrbbot! - fix: ensure unused KV and Cache blobs cleaned upWhen storing data in KV, Cache and R2, Miniflare uses both an SQL database and separate blob store. When writing a key/value pair, a blob is created for the new value and the old blob for the previous value (if any) is deleted. A few months ago, we introduced a change that prevented old blobs being deleted for KV and Cache. R2 was unaffected. This shouldn't have caused any problems, but could lead to persistence directories growing unnecessarily as they filled up with garbage blobs. This change ensures garbage blobs are deleted.
Note existing garbage will not be cleaned up. If you'd like to do this, download this Node script (https://gist.github.com/mrbbot/68787e19dcde511bd99aa94997b39076). If you're using the default Wrangler persistence directory, run
node gc.mjs kv .wrangler/state/v3/kv <namespace_id_1> <namespace_id_2> ...
andnode gc.mjs cache .wrangler/state/v3/cache default named:<cache_name_1> named:<cache_name_2> ...
with each of your KV namespace IDs (not binding names) and named caches.#4550
63708a94
Thanks @mrbbot! - fix: validateHost
andOrgin
headers where appropriateHost
andOrigin
headers are now checked when connecting to the inspector and Miniflare's magic proxy. If these don't match what's expected, the request will fail.v3.20231030.2
Compare Source
Patch Changes
#4505
1b348782
Thanks @mrbbot! - fix: remove__STATIC_CONTENT_MANIFEST
from module workerenv
When using Workers Sites with a module worker, the asset manifest must be imported from the
__STATIC_CONTENT_MANIFEST
virtual module. Miniflare provided this module, but also erroneously added__STATIC_CONTENT_MANIFEST
to theenv
object too. Whilst this didn't break anything locally, it could cause users to develop Workers that ran locally, but not when deployed. This change ensuresenv
doesn't contain__STATIC_CONTENT_MANIFEST
.v3.20231030.1
Compare Source
Minor Changes
#4348
be2b9cf5
Thanks @mrbbot! - feat: add support for wrapped bindingsThis change adds a new
wrappedBindings
worker option for configuringworkerd
's wrapped bindings.These allow custom bindings to be written as JavaScript functions accepting an
env
parameter of "inner bindings" and returning the value to bind. For moredetails, refer to the API docs.
d9908743
Thanks @RamIdeas! - Added ahandleRuntimeStdio
which enables wrangler (or any other direct use of Miniflare) to handle thestdout
andstderr
streams from the workerd child process. By default, if this option is not provided, the previous behaviour is retained which splits the streams into lines and callsconsole.log
/console.error
.v3.20231030.0
Compare Source
Minor Changes
16cc2e92
Thanks @penalosa! - Update to latestworkerd@1.20231030.0
#4322
8a25b7fb
Thanks @dario-piotrowicz! - addunsafeEvalBinding
optionAdd option to leverage the newly introduced
UnsafeEval
workerd binding API,such API is used to evaluate javascript code at runtime via the provided
eval
andnewFunction
methods.The API, for security reasons (as per the workers docs), is not to be use in production but it is intended for local purposes only such as local testing.
To use the binding you need to specify a string value for the
unsafeEvalBinding
, such will be the name of theUnsafeEval
bindings that will be made available in the workerd runtime.For example the following code shows how to set the binding with the
UNSAFE_EVAL
name and evaluate the1+1
string:Patch Changes
4f8b3420
Thanks @mrbbot! - fix: rejectMiniflare#ready
promise ifMiniflare#dispose()
called while waiting#4428
3637d97a
Thanks @mrbbot! - fix: addminiflare
bin
entryMiniflare 3 doesn't include a CLI anymore, but should log a useful error stating this when running
npx miniflare
. We had a script for this, but it wasn't correctly hooked up. 🤦 This change makes sure the requiredbin
entry exists.#4321
29a59d4e
Thanks @mrbbot! - fix: ensureMutex
doesn't report itself as drained if lockedPreviously, Miniflare's
Mutex
implementation would report itself as drainedif there were no waiters, regardless of the locked state. This bug meant that
if you called but didn't
await
Miniflare#setOptions()
, future calls toMiniflare#dispatchFetch()
(or any other asynchronousMiniflare
method)wouldn't wait for the options update to apply and the runtime to restart before
sending requests. This change ensures we wait until the mutex is unlocked before
reporting it as drained.
7fbe1937
Thanks @jspspike! - Only output ipv4 addresses when starting#4400
76787861
Thanks @mrbbot! - fix: cleanup temporary directory after shutting downworkerd
Previously on exit, Miniflare would attempt to remove its temporary directory
before shutting down
workerd
. This could lead toEBUSY
errors on Windows.This change ensures we shutdown
workerd
before removing the directory.Since we can only clean up on a best effort basis when exiting, it also catches
any errors thrown when removing the directory, in case the runtime doesn't
shutdown fast enough.
v3.20231025.1
Compare Source
v3.20231025.0
Compare Source
v3.20231023.0
Compare Source
v3.20231016.0
Compare Source
v3.20231010.0
Compare Source
v3.20231002.1
Compare Source
v3.20231002.0
Compare Source
v3.20230922.0
Compare Source
v3.20230918.0
Compare Source
v3.20230904.0
Compare Source
v3.20230821.0
Compare Source
v3.20230814.1
Compare Source
v3.20230807.0
Compare Source
v3.20230801.1
Compare Source
v3.20230801.0
Compare Source
v3.20230724.0
Compare Source
v3.20230717.0
[Compare Source](https://togithub.com/cloudflare/workers-sdk/compare/miniflare@3
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.