Skip to content

Releases: fastly/js-compute-runtime

v3.14.1

17 May 00:55
228cc26
Compare
Choose a tag to compare

3.14.1 (2024-05-17)

Bug Fixes

v3.14.0

16 May 23:04
0d6ce01
Compare
Choose a tag to compare

3.14.0 (2024-05-16)

Features

Bug Fixes

v3.13.1

12 Apr 15:14
Compare
Choose a tag to compare

3.13.1 (2024-04-12)

Bug Fixes

  • remove debugging message which got commited (4219a0a)

v3.13.0

12 Apr 11:23
Compare
Choose a tag to compare

3.13.0 (2024-04-11)

Added

  • Add KVStore.prototype.delete method (578d858)

Updated

  • Update to SpiderMonkey 124.0.2 (e32632e)
    This release includes:
    - An optimization for functions that only use arguments.length to avoid allocating the arguments object.
    - An optimization for Object.HasOwn which for small numbers of atoms just unrolls the loop.

Fixed

  • Correct type definition for the global BackendConfiguration type - there is no checkCertificate field (62fd0ea)
  • Improve our console.log output for functions (9a97fc1)
  • Refactor our async task implementation to be a generic AsyncTask class instead of separate implementations for each async operation (68dfec7)

v3.12.1

05 Apr 12:11
d93760e
Compare
Choose a tag to compare

3.12.1 (2024-04-05)

Bug Fixes

v3.12.0

28 Mar 13:57
fccfa5d
Compare
Choose a tag to compare

3.12.0 (2024-03-28)

Changed

  • update to SpiderMonkey 123.0.1 (#744) (32bf617)
    This update brings with it the below changes:
    • Performance improvements for JSON.stringify()
    • An optimisation for Object.keys() to take advantage of cached for-in iterators if available.
    • Optimisations for Object.assign()
    • RegExp v flag support
    • Improved JSON parsing to help avoid garbage collection time when parsing very large files
    • The String.prototype.isWellFormed() and String.prototype.toWellFormed() methods respectively can be used to check if a string contains well-formed Unicode text (i.e. contains no lone surrogates) and sanitise an ill-formed string to well-formed Unicode text.
    • The Object.groupBy() and Map.groupBy() static methods for grouping the elements of an iterable are now supported
    • Date.parse() now accepts several additional date formats:
      • Year > 9999 for YYYY-MMM-DD format (e.g. 19999-Jan-01)
      • MMM-DD-YYYY (e.g. Jan-01-1970)
      • Milliseconds for non-ISO date formats (e.g. Jan 1 1970 10:00:00.050)
      • Day of week at the beginning of formats which were being rejected, such as:
        • Wed, 1970-01-01
        • Wed, 1970-Jan-01
      • The day of week does not need to be correct, or a day of week at all; for example, foo 1970-01-01 works.
      • Numeric dashed dates which do not meet the formal ISO standard are now accepted, including:
        • "01-12-1999" (month first)
        • "1999-1-5" (single-digit month or day)
        • "10000-01-12" (year > 9999)
        • "99-01-05" or "01-05-99" (2-digit year, year must be >31 if it comes first)
        • "1999-01-05 10:00:00" (space between date and time).
          These dates will be parsed with behavior typical of other non-ISO dates, such as local time zone and month rollover (April 31 rolls over to May 1 since April 31 doesn’t exist).
      • Requirements for characters directly following numbers have been loosened to accept new formats, including:
        • "DDMonYYYY"
        • "Mon.DD.YYYY"
        • "DD.Mon.YYYY"
        • "YYYY.MM.DD"
        • "Mon DD YYYY hh:mmXm" (am/pm directly following time)
      • Timezone 'Z' is now accepted for non-ISO formats (e.g. Jan 1 1970 10:00Z)
    • Other Date.parse() fixes:
      • YYYY-M-DD and YYYY-MM-D are no longer assumed GMT as an ISO date YYYY-MM-DD would be.
      • Milliseconds for all formats are truncated after 3 digits, rather than being rounded.
    • The Promise.withResolvers() static method is now supported. This exposes the resolve and reject callback functions in the same scope as the returned Promise, allowing code that resolves or rejects the promise to be defined after its construction.
    • The ArrayBuffer.prototype.transfer() and ArrayBuffer.prototype.transferToFixedLength() methods can now be used to transfer ownership of memory from one ArrayBuffer to another. After transfer, the original buffer is detached from its original memory and hence unusable; the state can be checked using ArrayBuffer.prototype.detached.

v3.11.0

14 Mar 16:18
0664848
Compare
Choose a tag to compare

3.11.0 (2024-03-14)

Features

  • add new flag --experimental-enable-top-level-await (#742) (437a20d)

Bug Fixes

  • correct type definition of Headers.prototype.values() to indicate it returns an IterableIterator<string> (#740) (8959e79)

v3.10.0

11 Mar 15:02
6b9d825
Compare
Choose a tag to compare

3.10.0 (2024-03-09)

Features

  • add fastly:device module which allows applications to detect a device based on a user-agent (#738) (5274fd5)

Bug Fixes

  • correct title for the CoreCache.transactionLookup documentation page (9892d90)

v3.9.1

04 Mar 17:59
4e12b05
Compare
Choose a tag to compare

3.9.1 (2024-03-04)

Bug Fixes

  • ensure we associate correct memory for the user_metadata attached to a cache item (#734) (550c4f5)

v3.9.0

04 Mar 13:00
ad6b607
Compare
Choose a tag to compare

3.9.0 (2024-03-02)

Features

  • Add a EdgeRateLimiter JavaScript Class which enables edge-rate-limiting by utilising a RateCounter and a PenaltyBox instance (#732) (4e81fc7)
  • Add a PenaltyBox JavaScript Class which can be used standalone for adding and checking if an entry is in the penalty-box (#731) (bfe1e15)
  • Add a RateCounter JavaScript Class which can be used standalone for counting and rate calculations (#730) (0f6036f)
  • implement and expose JavaScript classes for Fastly's Compute Core Cache feature set (#566) (94f4038)

Bug Fixes

  • disable the portable-baseline-tier for async functions for now (#733) (4928243)