33 KiB
@cloudflare/workers-shared
0.19.7
Patch Changes
-
#14314
5c3bb11Thanks @harryzcy! - Bump esbuild to 0.28.1This update includes several bug fixes from esbuild versions 0.27.3 through 0.28.1. See the esbuild changelog for details.
0.19.6
Patch Changes
-
#13855
dba84c2Thanks @courtney-sims! - Temporarily hardcode asset worker cohort to "ent" for latency testingDisables the
lookupCohortRPC call and cohort-based version routing in the outer entrypoint while keeping all the glue code (analytics, bindings, types) in place for re-enablement.
0.19.5
Patch Changes
-
#13740
6d2a573Thanks @courtney-sims! - During deployment, routes requests to new versions of asset-worker based on customer account plan. -
#12276
926bad5Thanks @penalosa! - Warn when_headersrules contain multiple wildcards or wildcard combined with:splatRules containing multiple wildcards (e.g.
https://*.workers.dev/*) or combining a wildcard with a:splatplaceholder (e.g.https://*.pages.dev/:splat) are now rejected during parsing. Previously this would fail silently during dev.
0.19.4
Patch Changes
- #13363
6457fb3Thanks @courtney-sims! - Prepares router-worker for a more gradual rollout by refactoring and separating out the invocation from the business logic. In the future, this will provide space for us to route requests to new versions of router-worker based on their plan, but should make no functional difference today.
0.19.3
Patch Changes
-
#13668
ef24ff2Thanks @for-the-kidz! - FixTypeError: rules is not iterablein the router-worker whenstatic_routingis configured withoutuser_workerrulesThe router-worker's static-routing include-rule evaluation passed
config.static_routing.user_workerdirectly to the matcher, which iterates withfor...of. Whenstatic_routingwas set butuser_workerwas omitted, the matcher threwTypeError: rules is not iterableand failed the request. The adjacentasset_workerbranch already falls back to[]in this case; theuser_workerbranch now does the same.
0.19.2
Patch Changes
- #13354
854d66cThanks @courtney-sims! - Prepares asset-worker for a more gradual rollout by refactoring and separating out the invocation from the business logic. In the future, this will provide space for us to route requests to new versions of asset-worker based on their plan, but should make no functional difference today.
0.19.1
Patch Changes
-
#12752
00a4356Thanks @WillTaylorDev! - fix: Normalize backslash characters in/cdn-cgipathsRequests containing backslash characters in
/cdn-cgipaths are now redirected to their normalized equivalents with forward slashes. This ensures consistent URL handling across different browsers and HTTP clients.
0.19.0
Minor Changes
-
#12467
7036310Thanks @petebacondarwin! - Add support for inline comments in_redirectsfilesYou can now add inline comments to redirect rules using the
#character:/old-page /new-page 301 # Moved during site redesign /blog/* /articles/:splat # Blog URL migrationThis improves the maintainability of
_redirectsfiles by allowing documentation of complex redirect rules directly alongside the rules themselves. Full-line comments (lines starting with#) continue to work as before. URL fragments (e.g.,/page#section) are preserved correctly.
0.18.11
Patch Changes
- #12416
38ad241Thanks @WillTaylorDev! - Revert reduced cache TTL. Restore 60-second TTL for KV asset fetches.
0.18.10
Patch Changes
- #11920
09a8829Thanks @WillTaylorDev! - The asset-worker now uses a shorter 10-second TTL for cached assets, down from 60 seconds. This ensures that asset updates are reflected more quickly during development and deployment, reducing the window where stale assets might be served.
0.18.9
Patch Changes
- #11448
2b4813bThanks @edmundhung! - Builds package with esbuildv0.27.0
0.18.8
Patch Changes
- #10500
19b1881Thanks @WillTaylorDev! - Block /_image routes with href query param using double slash.
0.18.7
Patch Changes
- #10462
c4e164cThanks @WillTaylorDev! - Update mime dependency to 4.X so that javascript files will have content types oftext/javascriptinstead ofapplication/javascript. This will affect the content-types computed by Asset Worker within Workers Static Assets.
0.18.6
Patch Changes
-
#10402
8fd6dc0Thanks @danielrs! - Sanitize double-slashes in asset-worker relative redirects.Without sanitizing, some relative redirect patterns were being treated as external redirects.
0.18.5
Patch Changes
-
#10007
d82c8e8Thanks @WillTaylorDev! - Bugfix: Removes unnecessary cloning of the request. This is no longer needed. We were also seeing failures in runtime for large files due to this. -
#10008
ca00d74Thanks @vicb! - block responses with multiple Content Type values
0.18.4
Patch Changes
0.18.3
Patch Changes
-
#9908
ab75fd8Thanks @GregBrimble! - perf: graduate asset-server binary search experiment to 100%The improved iterative binary search implementation has been graduated from a 50% experiment to the default implementation. This provides better performance for asset manifest lookups by replacing the recursive binary search with an iterative approach.
0.18.2
Patch Changes
-
#9892
78e259aThanks @GregBrimble! - perf: increase binary search experiment sample rate to 50% -
#9884
a60e9daThanks @matthewdavidrodgers! - Adds metrics for time-to-dispatch to Router Worker
0.18.1
Patch Changes
-
#9824
8104705Thanks @petebacondarwin! - Allow "plain text" images when blocking vulnerable non-image responses -
#9785
07416baThanks @matthewdavidrodgers! - Handle next apps hosted at a path other than the root when blocking vulnerable non-image requests
0.18.0
Minor Changes
- #9661
e216a76Thanks @matthewdavidrodgers! - Limit free tier requests in the Router worker
Patch Changes
- #9635
b066cf8Thanks @matthewdavidrodgers! - Block possibly vulnerable requests to the router worker
0.17.6
Patch Changes
-
#9416
3383021Thanks @matthewdavidrodgers! - Adds support for static routing to Workers AssetsImplements the proposal noted here https://github.com/cloudflare/workers-sdk/discussions/9143
In brief: when static routing is present for a Worker with assets, routing via those static rules takes precedence. When a request is evaluated in the Router Worker, the request path is first compared to the
"asset_worker"rules (which are to be specified via "negative" rules, e.g."!/api/assets"). If any match, the request is forwarded directly to the Asset Worker. If instead any"user_worker"rules match, the request is forwarded directly to the User Worker. If neither match (or static routing was not provided), the existing behavior takes over.As part of this explicit routing, when static routing is present, the check against
Sec-Fetch-Mode: navigate(to determine if this should serve an asset or go to the User Worker for not_found_handling) is disabled. Routing can be controlled by setting routing rules viaassets.run_worker_firstin your Wrangler configuration file.
0.17.5
Patch Changes
- #9050
1be5644Thanks @WalshyDev! - Adds tracing to _headers & _redirects in Workers Assets allowing Cloudflare employees to better debug customer issues regarding these features.
0.17.4
Patch Changes
- #9033
2c50115Thanks @dario-piotrowicz! - chore: convert wrangler.toml files into wrangler.jsonc ones
0.17.3
Patch Changes
- #9043
7744f1aThanks @WalshyDev! - Adds tracing into asset-worker unstable methods so we can better measure/debug these.
0.17.2
Patch Changes
- #8887
511be3dThanks @GregBrimble! - Add log message whenSec-Fetch-Mode: navigateis responsible for assets routing decision inwrangler dev
0.17.1
Patch Changes
- #8643
75005e3Thanks @GregBrimble! - Support customizing the metafile limits
0.17.0
Minor Changes
-
#8443
3b1d081Thanks @GregBrimble! - Requests with aSec-Fetch-Mode: navigateheader, made to a project withsec_fetch_mode_navigate_header_prefers_asset_servingcompatibility flag, will be routed to the asset-worker rather than a user Worker when no exact asset match is found.Requests without that header will continue to be routed to the user Worker when no exact asset match is found.
0.16.0
Minor Changes
- #7334
869ec7bThanks @penalosa! - Packages in Workers SDK now support the versions of Node that Node itself supports (Current, Active, Maintenance). Currently, that includes Node v18, v20, and v22.
0.15.0
Minor Changes
-
#8390
53e6323Thanks @GregBrimble! - Parse and apply metafiles (_headersand_redirects) inwrangler devfor Workers Assets -
#8373
08b8c46Thanks @WalshyDev! - AddCF-Cache-Statusto Workers Assets responses to indicate if we returned a cached asset or not. This will also populate zone cache analytics and Logpush logs. -
#8279
aba0e9cThanks @GregBrimble! - Add support for custom headers and redirects in asset-worker
0.14.5
Patch Changes
-
#8338
2d40989Thanks @GregBrimble! - feat: Upload _headers and _redirects if present with Workers Assets as part ofwrangler deployandwrangler versions upload. -
#8350
56a8aedThanks @GregBrimble! - chore: Removes non-public methods from asset-worker
0.14.4
Patch Changes
- #8247
a9a4c33Thanks @GregBrimble! - feat: Omits Content-Type header for files of an unknown extension in Workers Assets
0.14.3
Patch Changes
0.14.2
Patch Changes
- #8138
f465840Thanks @GregBrimble! - chore: Remove the interpolation search experiment for asset manifest reading
0.14.1
Patch Changes
-
#8116
ee4873cThanks @WillTaylorDev! - Adds a RewriteFrames integration for workers-shared Sentry source-mappings. -
#8122
e8829e3Thanks @GregBrimble! - fix: interpolation search method now checks for a single match at the beginning of every iteration -
#8115
dba3f21Thanks @GregBrimble! - chore: Bump interpolation search method for asset manifest reading to 1% -
#8117
08e37f6Thanks @WalshyDev! - Change asset-worker and router-worker analytics to using version tag rather than version UUID. -
#8126
59eda4aThanks @GregBrimble! - chore: Add status code analytics to router-worker -
#8105
f2e6e74Thanks @GregBrimble! - fix: Handles a divide by zero error that could occur when searching large manifests -
#8127
d4d5987Thanks @GregBrimble! - chore: Bump interpoplation search method for asset manifest reads to 50%
0.14.0
Minor Changes
-
#8094
d83dd19Thanks @WillTaylorDev! - Provides sentry sourcemap generation and upload on production deploys. -
#8084
2547c0fThanks @GregBrimble! - Rollout interpolation search method for asset manifests (1 / 20,000 requests)
0.13.2
Patch Changes
- #8044
7006630Thanks @GregBrimble! - chore: Adds analytics and code (zero-percent gated) for a new asset manifest search algorithm
0.13.1
Patch Changes
-
#7989
cf09cfaThanks @WillTaylorDev! - Adds additional error messaging for errors from KV. -
#7996
f9fd9dfThanks @WillTaylorDev! - Provide shorter message for KV GET errors.
0.13.0
Minor Changes
- #7897
34f9797Thanks @WillTaylorDev! - chore: providesrun_worker_firstfor Worker-script-first configuration. Deprecatesexperimental_serve_directly.
0.12.5
Patch Changes
- #7906
f5eaf4bThanks @WillTaylorDev! - Fixes bug in router-worker that prevents unexpected errors from being captured.
0.12.4
Patch Changes
-
#7887
cab3e37Thanks @WalshyDev! - chore: add more observability into asset-worker for the Workers team to better insight into how requests are handled. -
#7887
cab3e37Thanks @WalshyDev! - chore: add tracing into router-worker so the Workers team can have a better insight into into how requests are handled.
0.12.3
Patch Changes
- #7844
92ed81eThanks @WalshyDev! - chore: plumb through account ID and Worker ID into the asset-worker and router-worker for use in analytics and error reporting.
0.12.2
Patch Changes
- #7808
7faabebThanks @WalshyDev! - fix: fix analytics not being logged forasset-workerin the case of a successful request.
0.12.1
Patch Changes
- #7790
c588c8aThanks @WalshyDev! - fix: remove--experimental-versionsflag from the Asset/Router Workersdeployscripts, now that Wrangler has removed the flag.
0.12.0
Minor Changes
- #7761
bb85c9aThanks @WillTaylorDev! - Adds jaeger tracing for asset-worker.
Patch Changes
- #7768
97603f0Thanks @WalshyDev! - fix: on a 404 from KV, we do not want the asset to stay in cache for the normal 1 year TTL. Instead we want to re-insert with a 60s TTL to revalidate and prevent a bad 404 from persisting.
0.11.2
Patch Changes
- #7612
2e78812Thanks @Cherry! - fix: resolves an issue where a malformed path such ashttps://example.com/%A0would cause an unhandled error
0.11.1
Patch Changes
-
#7598
178fd01Thanks @CarmenPopoviciu! - Dummy workers-shared version bumpThe Router Worker and Asset Worker of
workers-sharedare currently in a weird state that prevents us to redeploy them. The current versions of these workers are developer modified due to adding secrets. We want a CI controlled version to safely use these secrets.This commit performs a dummy
workers-sharedversion bump to unlock us from this blocked state.
0.11.0
Minor Changes
- #7465
5449fe5Thanks @WillTaylorDev! - Instrument analytics around assets.serve_directly
0.10.0
Minor Changes
- #7445
f4ae6eeThanks @WillTaylorDev! - Support forassets.experimental_serve_directlywithwrangler dev
0.9.1
Patch Changes
- #7410
6b21919Thanks @WalshyDev! - chore: remove awaits from Asset Worker fetches. This has no user-facing impact.
0.9.0
Minor Changes
- #7303
0d314edThanks @WillTaylorDev! - Preparatory work to allow invoking user worker ahead of assets
Patch Changes
- #7176
476e5dfThanks @jamesopstad! - Remove incorrect logic in Asset Worker.
0.8.0
Minor Changes
- #7318
6ba5903Thanks @WillTaylorDev! - Prevent same-schema attacks
0.7.1
Patch Changes
- #7183
08c6580Thanks @WillTaylorDev! - Fixes bug where indexId was never set for router-worker and asset-worker
0.7.0
Minor Changes
- #7053
8dc2b7dThanks @WillTaylorDev! - Adds analytics to asset-worker
0.6.0
Minor Changes
- #6941
fd43068Thanks @WillTaylorDev! - feat: Add observability to router-worker
0.5.4
Patch Changes
-
#6728
1ca313fThanks @emily-shen! - fix: remove filepath encoding on asset upload and handle sometimes-encoded charactersSome characters like [ ] @ are encoded by encodeURIComponent() but are often requested at an unencoded URL path. This change will make assets with filenames with these characters accessible at both the encoded and unencoded paths, but to use the encoded path as the canonical one, and to redirect requests to the canonical path if necessary.
0.5.3
Patch Changes
0.5.2
Patch Changes
-
#6708
31bfd37Thanks @penalosa! - fix: Usepnpxforwrangler deploy -
#6709
5d8547eThanks @GregBrimble! - fix: Add missing config params to asset-worker and router-worker
0.5.1
Patch Changes
-
#6670
fed1fdaThanks @GregBrimble! - chore: Rename asset-worker RPC methods as unstable_*The Asset Worker is currently set up as a
WorkerEntrypointclass so that it is able to accept RPC calls to any of its public methods. There are currently four such public methods defined on this Worker:canFetch,getByETag,getByPathnameandexists. While we are stabilising the implementation details of these methods, we would like to prevent developers from having their Workers call these methods directly. To that end, we are adopting theunstable_<method_name>naming convention for all of the aforementioned methods, to indicate that they are still in flux and that they are not an established API contract.
0.5.0
Minor Changes
-
#6631
59a0072Thanks @emily-shen! - feat: Add asset config behaviour.Add
html_handling(e.g. /index.html -> /) with options"auto-trailing-slash" | "force-trailing-slash" | "drop-trailing-slash" | "none"to Asset Worker.Add
not_found_handlingbehaviour with options"404-page" | "single-page-application" | "none"to Asset Worker.
0.4.1
Patch Changes
-
#6588
45ad2e0Thanks @CarmenPopoviciu! - fix: Stabilize Workers naming acrossworkers-sharedThe Asset Worker and Router Worker use inconsistent naming conventions across
workers-shared. This commit stabilizes the naming to Asset Worker and Router Worker and permutations of those.
0.4.0
Minor Changes
-
#6539
6c057d1Thanks @CarmenPopoviciu! - feat: Add basic Asset Worker behaviourThis commit implements a basic Asset Worker behaviour, including:
- headers handling
200/404/500response handling- fetching data from KV
0.3.0
Minor Changes
- #6537
f5bde66Thanks @emily-shen! - feat: add basic Router Worker to workers-shared
0.2.0
Minor Changes
-
#6403
00f340fThanks @CarmenPopoviciu! - feat: Extend KV plugin behaviour to support Workers assetsThis commit extends Miniflare's KV plugin's behaviour to support Workers assets, and therefore enables the emulation of Workers with assets in local development.
0.1.0
Minor Changes
-
#6370
8a3c6c0Thanks @CarmenPopoviciu! - feat: Create very basic Asset Server Worker and plumb it intowrangler devThese changes do the ground work needed in order to add Assets support for Workers in
wrangler dev. They implement the following:- it creates a new package called
workers-sharedthat hosts theAsset Server Worker, and theRouter Workerin the future - it scaffolds the
Asset Server Workerin some very basic form, with basic configuration. Further behaviour implementation will follow in a subsequent PR - it does the ground work of plumbing ASW into Miniflare
- it creates a new package called