Skip to content
This repository has been archived by the owner on Feb 7, 2023. It is now read-only.

Latest commit

 

History

History
503 lines (302 loc) · 24.4 KB

CHANGELOG.md

File metadata and controls

503 lines (302 loc) · 24.4 KB

Changelog

3.19.0

Minor Changes

  • 0edd92e Thanks @mrbbot! - Merge and make optional all IncomingRequestCfPropertiesGeographicInformation properties

Patch Changes

3.18.0

Minor Changes

Patch Changes

  • #301 17b6d16 Thanks @caass! - Improve the IncomingRequestCfProperties type.

    Previously, this type was based on our docs, which didn't include some fields. Now we've gone through the code that generates these fields and ensured that every property matches up.

    Additionally, we added examples and documentation for almost everything, so it should be more clear exactly what a certain property is or isn't.

3.17.0

Minor Changes

Patch Changes

  • #288 4fe75b2 Thanks @florianmartens! - Add 'origin-auth' to RequestInitCfPropertiesImage interface. This changes fixes types for users attempting to fetch images from authenticated sources. Before this fix, users had to manually extend the fetch interface to satisfy the TS compiler.

3.16.0

Minor Changes

3.15.0

Minor Changes

Patch Changes

  • #259 38b7e0f Thanks @vlovich! - Fix DurableObject transaction get to properly return Promise<T | undefined> instead of Promise<T>

3.14.1

Patch Changes

3.14.0

Minor Changes

3.13.0

Minor Changes

3.12.0

Minor Changes

  • #247 2cdc8cf Thanks @iveelsm! - Allow for cacheTags to be passed on fetch requests

    Allowing cacheTags within the workers process to be processed as part of a standard fetch has been a highly requested feature. This new object within the request initialization will allow for supplemental Cache-Tag headers to be returned so that they can be stored with the relevant content. This will allow for better control over Purge by Tag mechanisms within the workers processes.

    Implementation:

    • Adds a new object to the cf.d.ts declaration.

3.11.0

Minor Changes

3.10.0

Minor Changes

Patch Changes

3.9.0

Minor Changes

3.8.0

Minor Changes

3.7.1

Patch Changes

  • #224 a016b11 Thanks @GregBrimble! - feature: Adds the PagesPluginFunction type and internal functionPath to Functions' context.

3.7.0

Minor Changes

  • #222 b96c23c Thanks @GregBrimble! - feature: Adds the PagesPluginFunction type and internal functionPath to Functions' context.

3.6.0

Minor Changes

3.5.1

Patch Changes

3.5.0

Minor Changes

3.4.0

Minor Changes

Patch Changes

3.3.1

Patch Changes

  • d7c4f73 Thanks @threepointone! - via #178, thanks @kulla: Add possibility to narrow down key space of KVNamespace
  • #170 771ce75 Thanks @JacobMGEvans! - CI/CD Improvements:

    • Added Changeset PR creation & publish Workflows
    • Added Typechecking workflow
    • Consolidated old workflows as jobs in new workflows
    • Added configuration for Changeset CLI
    • Installing Changeset bot for non-blocking PR support

3.3.0

  • Updated types for 2021-12-14 [vlovich]
  • Updated types for 2021.12.300 [vlovich]
  • Updated types for 2021.12.100 [vlovich]
  • Adds env.ASSETS.fetch typings [@GregBrimble][pull/157]
  • Adding missing types in RequestInitCfPropertiesImage [@itsmatteomanf][pull/156]

3.2.0

  • Add 'error' WebSocket event types overrides [@bretthoerner], [pull/143] & [pull/150]
  • Add PagesFunction type @GregBrimble, [pull/154]
  • Updated types for 2021.11.400 [@autodecl-bot], [pull/145]
  • Updated types for 2021.11.700 [@autodecl-bot], [pull/149]

3.1.1

  • Add polish key to RequestInitCfProperties - [@threepointone], [pull/131]
  • Added support for gravity: 'auto' to BasicImageTransformations - [@threepointone], [@@jonnedeprez], [pull/132]
  • Fixup DurableObject options names - [@vlovich], [pull/136]
  • Fixes for some crypto APIs - [@vlovich], [pull/137]

3.1.0

Features

  • Updated types for 2021.10.800 - [@autodecl-bot], [pull/120]
  • Preserve the @deprecated tag when generating types - [@vlovich], [pull/123]
  • Cleanup unneeded overrides and replace with standard names - [@vlovich], [pull/123]
  • Support merging overrides automatically - [@vlovich], [pull/126]
  • Updated types for 2021.11.0 - [@autodecl-bot], [pull/128]

Bugfixes

  • DurableObjectState storage should not be undefined in practice - [@koeninger], [pull/118]
  • Add asOrganization to IncomingRequestCfProperties - [@mrkldshv], [pull/111]

3.0.0

Features

  • Types are automatically generated from the runtime - @mrbbot, pull/112 Types now match exactly what's defined in the runtime source code, meaning webworker should be removed from users' tsconfig.jsons

2.2.2

Features

  • Add KVNamespace.get options parameter, with cacheTtl - [@bretthoerner], [pull/87]

Bugfixes

  • fix DurableObjectStorage transaction method signature - [@sbfaulkner], [pull/89]

2.1.0

Features

Bugfixes

  • Make Element.attributes iterable - @jdanyow, pull/47

    Fixing a bug in the type definitions that prevents writing valid code like this:

    rewriter.on('bla', {
      element: element => {
        for (const [name, value] of element.attributes) {

Maintenance

  • Update README.md instructions to avoid typescript error - @jeremistadler, pull/60 Add empty export to bindings.d.ts example to avoid an typescript error

  • Add a GitHub action to lint the Markdown - @jbampton,pull/51

  • Fix spelling - @jbampton,pull/50

  • Add CODEOWNERS - @ispivey, [pull/49] This will ensure we have default reviewers.

  • Add prettier and typescript as devDependencies - @1000hz, pull/46 Automated formatting via prettier

⌨️ 2.0.0

Breaking Changes

  • Types now only provided via automatic type inclusion, rather than explicit import - @jdanyow, issue/33, pull/34

    Users should no longer use an empty import to include workers-types, which used to be the recommendation in the README.

    Remove this from your code:

    import {} from "@cloudflare/workers-types";

    And instead include the types explicitly in your TypeScript configuration compiler options:

    {
      "compilerOptions": {
        "types": ["@cloudflare/workers-types"]
      }
    }

Features

  • Add Cache behavior modifiers to outbound Requests - @trjstewart, issue/22, pull/17

    When constructing a request, you can now include the following cache-manipulating properties in the initializer dictionary:

    // Force response to be cached for 300 seconds.
    fetch(event.request, { cf: { cacheTtl: 300 } });
    
    // Force response to be cached for 86400 seconds for 200 status codes, 1 second for 404, and do not cache 500 errors
    fetch(request, {
      cf: { cacheTtlByStatus: { "200-299": 86400, "404": 1, "500-599": 0 } }
    });

    Read more about these properties in the Request docs.

  • Add support for caches.default - @ispivey, @ashnewmanjones, issue/8, pull/21

    The Workers runtime exposes a default global cache as caches.default, accessed like:

    let cache = caches.default;

    This is an extension to the Service Workers spec for CacheStorage, and thus needed to be added explicitly to our type definitions.

  • Add missing properties to inbound Request cf object - @ispivey, @brycematheson1234, issue/23, pull/24, pull/35

    Adds:

    • clientTcpRtt
    • metroCode
    • botManagement.score
    • botManagement.staticResource
    • botManagement.verifiedBot

    Makes most geolocation properties optional, because they are not guaranteed to be set on every request.

    Changes the type of asn from string to number.

  • Adds cf.cacheKey property to RequestInit - @ispivey, issue/22, pull/28

    Adds the cacheKey property of the cf object to the RequestInit interface.

  • Allow passing another Request as the init arg to Request constructor - @ispivey, issue/15, pull/18

    Previously, this pattern wasn't allowed:

    new Request(parsedUrl.toString(), request);

    This is because the cf object on inbound Request objects, and that expected in the init dictionary arg to the Request constructor, have a different shape.

    This change creates explicit IncomingRequestCfProperties (inbound) and RequestInitCfProperties (outbound) interfaces, and updates the Request constructor to accept either type:

    interface RequestInit {
      cf?: RequestInitCfProperties | IncomingRequestCfProperties;
    }

    Read more about the Request constructor in the Request docs.

  • Add CfRequestInit type - @third774, issue/37, pull/44

    Because of the union mentioned above, if an object is declared as RequestInit and sets the cf property, subproperties of cf can not later be reassigned. For this scenario, a more specific CfRequestInit type has been introduced to use instead of RequestInit that doesn't exhibit the same assignability issues.

  • Add iterable methods to FormData, Headers, and URLSearchParams - @ispivey, issue/25, pull/26

    The iterable methods entries(), keys() and values() are not present on these three types in lib.webworker.d.ts. They are instead supplied in lib.dom.iterable.d.ts.

    However, as discussed in this issue on the TypeScript repo, lib.dom.d.ts and lib.webworker.d.ts have conflicting type definitions, and the maintainers hope to solve this issue by refactoring shared components into a new web.iterable.d.ts lib: microsoft/TypeScript#32435 (comment)

    Until then, we will include the iterable methods supported by Workers in our own type definitions.

Bugfixes

  • Remove selector parameter from onDocument() - @jdanyow, pull/41

    The type signature for HTMLRewriter's onDocument() method previously erroneously included a selector parameter as its first argument. This has been removed.

  • Make KVNamespace.list() options argument optional - @motiejunas, pull/10

    Previously, the KVNamespace interface required that callers provide an empty options object when listing all the keys in a namespace, like so:

    await NAMESPACE.list({});

    However, this argument is not actually required. This change updates the interface to match the runtime.

Maintenance

  • Add a Release Checklist - @ispivey, issue/20, pull/27

    As we onboard more contributors, we're documenting release procedures.

  • Add BSD-3 License - @ispivey, issue/31, pull/30, pull/40

    As we transition this to a project supported by the Cloudflare Workers team, we're releasing the code under a BSD-3 license. Thanks to all the contributors for their help!