Skip to content

Latest commit

 

History

History
2109 lines (1334 loc) · 104 KB

CHANGELOG.md

File metadata and controls

2109 lines (1334 loc) · 104 KB

15.7.3

released 2024-05-27

cli

  • 🐛 Address CVE-2024-27980 changes in Node.js by always passing shell: true as an option for spawn() in Windows OS environments (thanks to @jaydamani for the report!) (#788).

15.7.2

released 2024-05-08

cli

  • 📜 Correct docs about zapier migrate --user (#779)

core

  • 🐛 Censor set-cookie response header in logs (#780)

misc

  • 🔧 Dependency updates
    • Bump semver from 5.7.1 to 7.5.2 (#776)
    • Bump ejs from 3.1.7 to 3.1.10 (#777)
    • Bump debug from 4.1.1 to 4.3.4 (#778)

15.7.1

released 2024-05-01

cli

  • 📜 Add instruction to close resolved issues after promotion in the docs (#770)
  • 📜 Remove the note on redirect_uri change after publish in the docs (#774)

core

  • 🐛 Fix null response content breaking the search for sensitive values (#772)

schema

None!

misc

  • 🐛 Fix the legacy-scripting-runner's ErrorException invalid JSON data (#773)
  • 🔨 Bump tar from 6.1.0 to 6.2.1 (#771)

15.7.0

released 2024-04-09

cli

  • 📜 Added missing 'to' in CLI docs (#767)

core

  • 💅 Raised max file size for upload streaming to 1GB (#768)

schema

None!

15.6.2

released 2024-04-03

cli

None!

core

  • 🐛 Censor entire response content when refreshing or getting new auth token (#765)

schema

None!

15.6.1

released 2024-03-28

cli

  • 📜 Update document on the primary property in outputFields (#763)
  • 📜 Update document on the throttle configuration to include retry in the overrides attributes (#761)

core

None!

schema

  • 🧪 Add support for retry in the overrides object of the throttle configuration (#761)

misc

  • 🔧 Fix failing tests in dependabot's PRs (#762)

15.6.0

released 2024-03-26

cli

  • 📜 Document allowGetBody option in z.request() (#752)
  • 📜 Update document on the throttle configuration to include key and overrides attributes, and action scope (#760)

core

  • 🔧 Change trigger output check logic for the newly-added primary property in outputFields (#754)

schema

  • 🎉 Allow to set primary in outputFields to define the unique key for deduplication (#754)
  • 🧪 Add support for overrides in the throttle configuration (#755)
  • 🧪 Add support for key in the throttle configuration and action scope (#757)

15.5.3

released 2024-02-08

cli

  • 🐛 Fixed bug in zapier validate where zapier-platform-core was failing to import on version 15.5.2 (#746)

15.5.2

released 2024-02-06

cli

  • 🐛 Fixed bug in zapier convert that crashes due to syntax error in user's code and should not replace source in sample (#730)
  • 🐛 Improved handling of broken symlinks while copying files to temp directory during the build process (#737)
  • 🐛 Fixed bug in zapier build where it failed to run in npm workspaces (#738, #742)
  • 🐛 Fixed converting triggers breaking when trigger key starts with a number (#741)
  • 🔧 Upgraded @oclif/plugin-help dependency, addressing security issue with sub-dependency (#739)
  • 🔧 Updated the "custom-auth" sample to avoid a warning when running zapier validate (#724)

core

  • 🐛 Updated TypeScript method types in RawHttpResponse (#735)
  • 🐛 Use node-fetch TypeScript types in BaseHttpResponse (#736)

misc

  • 📜 Updated rest hook tutorial to include content for expiring webhooks (#731)
  • 📜 Documenting 5 min cache behavior of hydration and how to workaround (#740)

15.5.1

released 2023-11-21

cli

  • 📜 Update zapier logs documentation to mention default user target (#721)

core

  • 💅 Allow server to decide when to truncate log fields (#725)

schema

None!

misc

  • 🔨 Bump axios from 1.2.3 to 1.6.1 (#726)

15.5.0

released 2023-11-08

cli

None!

core

None!

schema

  • 💅 Add steadyState property on the FieldSchema for steady state deduplication on trigger polls (#721)

misc

  • 🔨 Bump browserify-sign from 4.0.4 to 4.2.2 (#719)

15.4.2

released 2023-11-01

cli

  • 📜 Update z.cursor documentation for handling end of the result set (#703)

core

  • 🔨 Bump secret-scrubber-js to v1.0.8 (#717)

schema

  • 📜 Correct the 'value' and 'sample' description in the 'FieldChoicesWithLabel' schema (#716)

misc

  • 🔨 Bump @babel/traverse from 7.14.0 to 7.23.2 (#715)

  • 📜 Fix broken link in README-source.md (#714)

  • 📜 Fix broken link in readme.md (#713)

15.4.1

released 2023-10-06

cli

None!

core

None!

schema

  • 🐛 Fixed throttle configuration not being allowed on triggers (#711)

misc

None!

15.4.0

released 2023-10-06

cli

None!

core

  • 🐛 Added handling the use of non-string cursors in z.cursor.set() (#705)

schema

  • 🎉 Added support for throttle configuration (#709)

misc

  • 🐛 Fixed building of boilerplate having lingering old files from previous builds (#708)
  • 🔨 Bumped get-func-name version from 2.0.0 to 2.0.2 (#707)

15.3.0

released 2023-09-19

cli

None!

core

None!

schema

  • 💅 (Experimental) Extend Custom Auth to support OTP (#702)

misc

  • 📜 Bring over paging cursor doc changes added in visual-builder repo (#701)
  • 🐛 Updating example Github app unit tests (#700)
  • 📜 Update version mismatch (#699)
  • 🐛 Fix legacy scripting runner test (#697)

15.1.0

released 2023-09-07

cli

  • 🐛 Removed the logic converting an empty array to undefined in changelog metadata (#690)
  • 💅 Integration title length must be at least 2 characters (#693)

core

None!

schema

None!

legacy-scripting-runner

  • 🐛 Fixed a flaky test for legacy scripting runner (#697)

misc

  • 📜 Added links to relevant support documentation (#692)
  • 📜 Fixed markdown formatting for backtick usage (#691)
  • 📜 Added detail on encoding defaults in the API documentation (#689)
  • 📜 Added detail on OAuth state parameter in the API documentation (#683)
  • 📜 Minor updates to CLI documentation and rebuild (#688)
  • 📜 Moved up template explanation in README (#682)
  • 📜 Added detail on the 'computed' flag in the API documentation (#686)
  • 📜 Added detail on callback URL parameter in the API documentation (#687)
  • 📜 Updated GitHub CLI tutorial app documentation (#679)
  • 🔨 Bumped word-wrap version from 1.2.3 to 1.2.4 (#680)
  • 🔨 Bumped cli, core, schema from 15.0.0 to 15.0.1 (#678)

15.0.1

released 2023-07-10

cli

  • 🐛 zapier convert now uses jest test template scaffold instead of mocha (#674)

core

None!

schema

None!

misc

  • 📜 Documentation update related to example apps (#675, #672, #671)
  • 📜 Documentation update related to outdated hyperlinks (#673)
  • 📜 Documentation update to match public platform docs (#670)

15.0.0

released 2023-06-30

Version 15.0.0 is a breaking change release that contains several important upgrades and deprecations. Here is a brief breakdown of the changes (❗ denotes a breaking change):

  • ❗ Changelog is required for promotions. Prior to v15.0.0, providing a changelog was optional for promoting an app; this is now required. You can also append changelog metadata to help categorize whether the changes are related to bug fixes or a new feature.

  • ❗ Remove important field from the schema. The important field was deprecated in v14.0.1 (#644) and now we are removing it in this release.

  • ❗ Apps can now use Node.js v18.x and Node.js v14.x is no longer supported. (a) Any integrations that depend on zapier-platform-core@15.0.0 will now run on Node.js 18. (b) We are dropping support for Node.js 14, which has been designated end-of-life since 2023-04-30 (see the Node.js release schedule).

cli

  • 🐛 zapier convert now uses jest test template scaffold instead of mocha (#674)
  • 🐛 zapier login --sso points to the correct link for fetching Deploy Keys (#666)
  • 🐛 zapier convert should convert source fields (#660)
  • ❗ Changelog is required for promotions (#653)

core

  • ❗ Apps can now use Node.js v18.x and Node.js v14.x is no longer supported (#665)

schema

  • ❗ Remove important field from the schema (#662)

misc

  • 📜 Documentation update related to redirect caveat in public apps (#661)

  • 📜 Documentation update related to supplement the "Output Fields" section (#654)

  • 🔨 Dependency updates (#668, #665)

    CLI

    • Bump @oclif/command@1.8.21 to @oclif/command@1.8.27
    • Bump @oclif/config@1.18.6 to @oclif/command@1.18.10
    • Bump fs-extra@10.0.0 to @oclif/command@11.1.1
    • Bump jscodeshift@0.14.0 to jscodeshift@0.15.0
    • Bump marked-terminal@5.1.1 to marked-terminal@5.2.0
    • Bump prettier@2.8.3 to prettier@2.8.8
    • Bump read@2.0.0 to read@2.1.0
    • Bump semver@7.3.8 to semvar@7.5.2
    • Bump yeoman-generator@5.7.0 to yeoman-generator@5.9.0
    • Bump nock@13.3.0 to nock@13.3.1

    Core

    • Bump node-abort-controller@3.0.1 to node-abort-controller@3.1.1
    • Bump semver@7.3.5 to semvar@7.5.2
    • Bump aws-sdk@2.1300.0 to aws-sdk@2.1397.0
    • Bump fs-extra@10.0.0 to fs-extra@11.1.1
    • Bump @types/node@18.11.18 to @types/node@20.3.1

    Legacy

    • Bump moment-timezone@0.5.35 to moment-timezone@0.5.43
    • Bump aws-sdk@2.1300.0 to aws-sdk@2.1397.0
    • Bump nock@13.3.0 to nock@13.3.1

    Schema

    • Bump jsonschema@1.2.2 to jsonschema@1.4.1
    • Bump fs-extra@10.0.0 to fs-extra@11.1.1

14.1.1

released 2023-06-07

cli

  • 📜 Improve docs related to expected behaviors for configuring OAuth2 with PKCE (#655)
  • 📜 Improve docs related to hydration payload limit(#656)
  • 🔨 Dependency updates
    • Bump typescript in template generator from 4.2.4 to 4.9.4 (#657)

core

  • None!

schema

  • None!

misc

  • None!

14.0.1

released 2023-05-22

cli

  • 🐛 Fix duplicate authentication field keys being generated by the zapier convert command (#639)
  • 🐛 Fix missing key property in the .zapierapprc file after running the zapier convert command (#640)
  • 📜 Improve docs related to expected behaviors for stale authentication (#647)

core

  • None!

schema

  • 📜 Deprecate the important key of the BasicDisplaySchema. This property will be removed and hence a breaking change ❗ in the next major version release. (#644)

misc

  • 🔨 Dependency updates
    • Bump moment from 2.24.0 to 2.29.4 (#635)
    • Bump minimatch from 3.0.4 to 3.0.5 (#634)

14.0.0

released 2023-03-21

Version 14.0.0 is a breaking change release that contains several important upgrades and deprecations. Here is a brief breakdown of the changes (❗ denotes a breaking change):

  1. altersDynamicFields no longer defaults to true when dynamic is set. You should now set the flag appropriately. If a dynamic dropdown (i.e. a field with dynamic set) should refresh other input fields, you must set altersDynamicFields to true on v14.

    inputFields: [
      {
        key: 'city',
        dynamic: 'city.id.name',
        altersDynamicFields: true  // <- set this appropriately on v14
      }
    ]
    
  2. ❗ Before v14, the Zap editor didn't really use canPaginate. Instead, it made two requests and compared them to determine if pagination is supported. Starting from v14, canPaginate is required for the Zap editor to show the Load More button for pagination.

    triggers: {
      contact: {
        operation: {
          canPaginate: true  // <- set this appropriately on v14
        }
      }
    }
    
  3. ❗ Now you are required to provide meta information about your app, such as your intended audience and app category (if that information isn't already provided). If you are missing this information, you will be blocked from making updates to your integration (zapier promote, zapier upload, zapier push). Use zapier register with zapier-platform-core@14.0.0 or go to https://developer.zapier.com/app/{app_id}/version/{version}/settings to fill it out.

  4. On v14, OAuth2 implementation now supports PKCE! See our documentation for details.

Read on for a detailed set of release notes. Again, ❗ are BREAKING CHANGEs.

cli

  • ❗ Implement individual field flags for register command (#618)
  • ❗ Block promote, upload, and push for missing required app info (#612)
  • 💅 Use uniform field names in check-missing-app-info util (#630)
  • 💅 Only require fields for private integrations via CLI (#628)
  • 💅 Implement --yes flag for register command (#627)
  • 📜 Improve documentation on throttling (#631)
  • 📜 Add documentation for PKCE OAuth2 (#629)
  • 📜 Add information about how to return line items (#620)
  • 📜 Fix 'integraiton' typo in CLI docs (#613)

core

  • 🔨 bump http-cache-semantics from 4.1.0 to 4.1.1 (#617)

schema

  • 🎉 Add enablePkce to oauth2Config (#623)
  • 🔨 searchAndCreates and searchOrCreates can coexist to avoid search key collision (#624)
  • 📜 Add clarity on role of performList for testing REST Hooks (#619)

misc

  • 📜 Small followup improvement on GitHub issue templates (#625)
  • 📜 Replace issue templates with GitHub forms, update CODEOWNERS (#622)

13.0.0

released 2023-01-25

Version 13.0.0 is a breaking change release that contains several important upgrades and deprecations. Here is a brief breakdown of the most notable changes (see further below for a more detailed list of changes):

(a) Any integrations that depend on zapier-platform-core@13.0.0 will now run on Node.js 16.

(b) We are dropping support for Node.js 12, which has been designated end-of-life since early 2022 (see the Node.js release schedule).

(c) As part of internal Zapier changes to the way we process trigger data, stricter type coercion for trigger parameters is now enabled by default for integrations running on zapier-platform-core@13.0.0. This is a good time to double check if your defined trigger parameter types are coherent with what your app expects at runtime.

(d) Web Builder conversion functionality has been removed. This change is only relevant for Legacy Web Builder apps.

Those are the breaking changes for this major version 13.0.0 release. We are also including some package version bumps, with the changes consisting mostly of dropping older Node versions. As always with any major release, make sure to thoroughly test your integrations after updating!

Detailed changelog below (❗ denotes a breaking change):

cli

  • ❗ Remove Web Builder conversion functionality. (#546)
  • ❗ Make --version required on zapier convert. (#546)
  • 🔨 Improved error handling in the convert command. (#546)
  • 📜 Removed references to converting WB apps in the docs. (#546)

core

  • ❗ Apps can now use Node.js v16.x and Node.js v12.x is no longer supported. (#603)

  • ❗ Parameters for triggers now have strict type coercion. This means that if a parameter is defined as an integer and a string representation of an integer is provided, Zapier will now convert the value to an integer before it reaches the developer's code.

schema

None!

misc

  • 🔨 Dependency updates (#608)
    • Replaced eslint-plugin-node@11.1.0 with eslint-plugin-n@15.6.1
    • Bump @oclif/command from 1.8.0 to 1.8.21
    • Bump @oclif/config from 1.17.0 to 1.18.6
    • Bump @oclif/dev-cli from 13.0.11 to 13.3.0
    • Bump @types/node from 14.14.35 to 18.11.18
    • Bump adm-zip from 0.5.5 to 0.5.10
    • Bump archiver from 5.3.0 to 5.3.1
    • Bump aws-sdk from 2.905.0 to 2.1300.0
    • Bump cli-table3 from 0.6.0 to 0.6.3
    • Bump content-disposition from 0.5.3 to 0.5.4
    • Bump debug from 4.3.1 to 4.3.4
    • Bump dicer from 0.3.0 to 0.3.1
    • Bump dotenv from 9.0.2 to 12.0.4
    • Bump eslint from 7.26.0 to 8.32.0
    • Bump eslint-config-prettier from 8.3.0 to 8.6.0
    • Bump eslint-config-standard from 16.0.2 to 17.0.0
    • Bump eslint-plugin-import from 2.22.1 to 2.27.5
    • Bump eslint-plugin-mocha from 8.1.0 to 9.0.0
    • Bump eslint-plugin-promise from 5.1.0 to 6.1.1
    • Bump flat from 5.0.1 to 5.0.2
    • Bump gulp-prettier from 3.0.0 to 4.0.0
    • Bump husky from 6.0.0 to 7.0.4
    • Bump inquirer from 8.0.0 to 8.2.5
    • Bump nock from 13.0.11 to 13.3.0
    • Bump prettier from 2.3.0 to 2.8.3
    • Bump semver from 7.3.5 to 7.3.8
    • Bump lint-staged from 11.0.0 to 11.2.6
    • Bump ignore from 5.1.8 to 5.2.4
    • Bump jscodeshift from 0.12.0 to 0.14.0
    • Bump klaw from 3.0.0 to 4.1.0
    • Bump lerna from 4.0.0 to 6.4.1
    • Bump marked from 4.0.10 to 4.2.12
    • Bump marked-terminal from 4.1.1 to 5.1.1
    • Bump mime-types from 2.1.34 to 2.1.35
    • Bump mocha from 8.4.0 to 10.2.0
    • Bump read from 1.0.7 to 2.0.0
    • Bump yeoman-generator from 5.2.0 to 5.7.0

12.2.1

released 2023-01-18

cli

  • 📜 Improve docs about input field types (#585)
  • 📜 Improve docs about OAuth2 fields (#589)
  • 📜 More strongly recommend use of z.dehydrateFile for files (#590)
  • 📜 Update logging info (#591)
  • 📜 Fix zapier init command (#594)
  • 📜 Fix typo (#593)
  • 📜 Fix logo (#604)
  • 🔨 Dependency updates
    • Bump typescript from 3.8.3 to 4.9.4 to fix a test (#599)
    • Bump decode-uri-component from 0.2.0 to 0.2.2 (#596)
    • Bump json5 from 1.0.1 to 1.0.2 (#601)

core

  • None!

schema

  • 🧪 Relax schema on searchUniqueInputToOutput for upsert to support dynamic fields. EXPERIMENTAL: Currently an internal feature. Don't use it yet. (#602)

misc

  • 🔨 Dependency updates
    • Bump qs from 6.5.2 to 6.5.3 (#598)

12.2.0

release 2022-10-27

cli

core

  • 🔨 Dependency updates
    • Bump secret-scrubber from 1.0.3 to 1.0.7 (#583)

schema

  • 🧪 "Upsert" feature: Now a search-or-create can include an update action that Zapier should call to update an existing object. EXPERIMENTAL: This is currently an internal feature and subject to change. Don't use it yet. (#584)
  • 📜 Clarify how fields accept file types (#582)

12.1.0

released 2022-09-29

We rolled out a change to "migrate-by-email" on 2022-09-28. Now zapier migrate --user in CLI and "migrate-by-email" on UI only migrate Zaps that are private to the user. This change affects UI and all the CLI versions, not just 12.1.0. The old behavior was to migrate all the user's team members, which was inconsistent with the docs and often caused confusion. So we consider this change a bug fix instead of a breaking change. If you want the old behavior, use zapier migrate --account.

cli

  • 💅 Add --account flag to migrate command (#574)
  • 💅 Add --yes flag to promote command to suppress interactive prompts by assuming "yes" to all prompts (#576)
  • 💅 Print validation warnings at build time (#573)
  • 📜 Update Zapier logo in docs (#567)
  • 📜 Provide additional information about the connection label in docs (#564)
  • 🔨 Dependency updates
    • Bump shell-quote from 1.7.2 to 1.7.3 (#560)

core

  • 🐛 Fix another hanging issue by aborting logger connection early (#562)

schema

  • None!

12.0.3

released 2022-05-02

cli

  • None!

core

  • 🐛 greatly improve secret-scrubbing speed in logger (#542)
  • 🐛 ensure string content is parsed pre-logging in case it contains secrets (#525)
  • 🐛 censor novel secrets in querystring (#526)

schema

  • None!

12.0.2

released 2022-03-30

cli

  • None

core

  • 🐛 Fix regression where consecutive successful curly replacements wouldn't happen correctly (#522)

schema

  • None!

12.0.1

released 2022-03-24

cli

  • None

core

  • 🐛 Fix regression where the global skipThrowForStatus incorrectly applied to shorthand requests. It's only intended to modify the behavior of requests made with z.request(). The docs and changelog have been updated accordingly (#520)

schema

  • None!

12.0.0

released 2022-03-23

We're breaking slightly from our pattern of a single yearly major release. The 12.0.0 release contains some backwards-incompatible changes to how middleware and auth refreshes work. For the most part, you'll be able to upgrade to this version safely, but as always, it's worth re-running unit tests (especially those related to authentication).

In the coming months, we'll follow up with a 13.0.0 release that will bump the Node.js runtime and dependencies (ending support for Node.js 12 as it reaches End of Life). We're hoping that by separating these releases, the upgrade process will be easier for developers (only worrying about the public API or the runtime, but not both).

cli

  • None!

core

  • ❗ calling response.throwForStatus() now always throws an error if the response status code is >= 400. Previously it was a no-op when response.skipThrowForStatus was true. Now, that flag only controls whether Zapier's built-in middleware calls throwForStatus(). This only affects you if you set skipThrowForStatus and always call .throwForStatus(), expecting it not to error. (#511)
  • ❗ re-add the built-in auto-refresh middleware for oauth2 and session auths. This runs before your declared afterResponse, so you no longer have to account for stale credentials in your middleware (unless you want to). See the README for more info. (#512, #517)

schema

  • 💅 add app-wide skipThrowForStatus flag. This is helpful for backwards compatibility when migrating from 9.x to 12.x, but probably won't be relevant for most developers. Note that this flag only affects requests made with z.request() (#511)

11.3.3

released 2022-03-21

cli

core

  • 🐛 Fix another hanging issue where an action could be invoked multiple times (#513)

schema

  • None!

11.3.2

released 2022-03-01

cli

  • None!

core

  • 💅 z.request() now accepts skipEncodingChars option to skip percent-encoding specific characters (#497)

schema

  • 💅 Add skipEncodingChars to RequestSchema (#497)

misc

  • 🔨 Improve build script (#496)

11.3.1

released 2022-02-23

cli

  • 🔨 Bump node-fetch to 2.6.7 (#493)

core

  • 🐛 Fix hanging issue where an action could be invoked multiple times (#490)
  • 🔨 Bump node-fetch to 2.6.7 (#493)

schema

  • 🔨 Bump node-fetch to 2.6.7 (#493)

11.3.0

released 2022-02-14

cli

  • 🎉 New command: jobs. Now you can use zapier jobs to check promote and migrate progress! (#484)
  • 🎉 Add support for pnpm package manager in test command (#476)
  • 🐛 Fix byte missing issue with files example (#465)
  • 💅 Update promote and migrate to use new endpoint (#480)
  • 📜 Clarify on OAuth2 refresh details (#482)
  • 🔨 Dependency updates
    • Bump shelljs from 0.8.4 to 0.8.5 (#473)
    • Bump marked from 2.0.3 to 4.0.10 (#471)
    • Bump cached-path-relative from 1.0.2 to 1.1.0 (#477)

core

  • 🐛 Fix value.replace is not a function error when resolving missing curlies (#468)
  • 🐛 Handle case where legacy.scriptingSource is an empty string (#475)
  • 💅 Improve z.console.log and HTTP logging performance (#469)

schema

  • None!

misc

  • 🔨 Bump trim-off-newlines from 1.0.1 to 1.0.3 (#474)

11.2.0

released 2021-12-03

cli

  • 📜 Fix typos in docs (#431)

core

  • 🐛 Fix backpressure issue when piping request bodies (#461)
  • Rewrite z.stashFile() with various improvements and bugfixes (#454)
    • 💅 knownLength is no longer required for any kinds of streams, including z.request({ url, raw: true }) and fs.createReadStream()
    • 💅 Detect file types more smartly
    • 💅 Generate filenames more smartly
    • 💅 Improve performance by making concurrent requests
    • 🐛 Fix MalformedPOSTRequest error when the reponse is gzipped and has a smaller Content-Length
    • 🔨 Better test coverage
    • See #454 for more details
  • 💅 Allow apps to pass along throttled errors (#408)

schema

  • 🎉 Add support for hook-to-poll triggers (#432)
  • 💅 Allow spaces and square brackets in RefResourceSchema (#455)
  • 💅 Add code type for inputFields (#439)

misc

  • 🔨 Bump node-fetch to 2.6.6 (#459)
  • 🔨 Move CI from Travis to GitHub Actions (#454)

11.1.1

released 2021-09-24

cli

  • none!

core

  • 🐛 Improve performance of large requests (#428),
  • 🐛 Handle nullish values in auth data (#427),

schema

  • none!

11.1.0

released 2021-08-05

cli

  • 🐛 convert command should always generate async functions (#397)
  • 🐛 init command - fix typos in session-auth template (#388)
  • 📜 Add info about header format in bundle.rawRequest (#401)
  • 📜 An afterResponse middleware should return a response (#383)

core

  • 🎉 Allow using await in inline function source (#396)
  • 🐛 Make sure all requests are logged (#387)
  • 💅 Update app tester to support hook with canPaginate for performList (#402)
  • 💅 Add bundle.meta.isBulkRead TypeScript type (#400)
  • 💅 Allow app tester to run ad-hoc functions (#385)
  • 🔨 Incorporate secret-scrubber package (#393)

schema

  • 💅 Add canPaginate to BasicHookOperationSchema (#399)

misc

  • Dependency updates:
    • 🔨 Bump set-getter from 0.1.0 to 0.1.1 (#389)
    • 🔨 Bump glob-parent from 5.1.0 to 5.1.2 (#386)
    • 🔨 Bump tar from 4.4.13 to 4.4.15 (#406)

11.0.1

released 2021-05-28

cli

  • 🐛 Handle missing versions better in env command (#374)
  • 📜 Fix incorrect snippet (#378)
  • 📜 Update historical releases section to include v10 (#377)

core

  • None!

schema

11.0.0

released 2021-05-12

Another spring, another SEMVER-MAJOR release of the Zapier CLI tools. Now that Node.js 10 has reached its scheduled end of life, version 12 is the minimum supported version for each of these packages locally.

Additionally, any integrations that depend on zapier-platform-core@11.0.0 will run on Node.js 14. Node versions are typically fairly compatible, but it's worth double-checking your unit tests during this upgrade (as always).

Read on for a detailed set of release notes, paying special attention to any ❗ BREAKING CHANGEs.

cli

  • ❗ Remove the -g | --grep and -t | --timeout flags from zapier test (#348). You can now pass flags directly to your test script by adding -- before them. To migrate existing scripts:
    • Add -- before any existing grep and timeout flags
    • zapier test -g 'cool' --timeout 5000 ➡️ zapier test -- -g 'cool' --timeout 5000

core

  • ❗ Run apps using Node.js v14.x (#350)
  • 🐛 Checks should properly handle possibly null values (#371)
  • 🐛 StashFile no longer throws 'source.on' error when a request that uses await is passed in (#361)
  • 🐛 Handle stashing files in resource create methods (#349)
  • 🔨 Typescript target es2019 for node 12 (#358)
  • 🔨 Typescript type of inputData for hydration function should be of type T as well (#357)
  • 📜 Fix typo in authentication.js (#356)

schema

  • ❗ add validation to ensure globally unique input fields (#347).
    • Your integration's input fields wouldn't have worked correctly if they didn't comply with this check, but now we're more explicit about it
    • No action should be needed for migration

misc

  • Many under-the-hood dependency updates:
    • 🔨 update deps (#351, #372)
    • 🔨 Bump hosted-git-info from 2.8.5 to 2.8.9 (#370)
    • 🔨 bump handlebars from 4.7.6 to 4.7.7 (#369)
    • 🔨 Bump elliptic from 6.5.3 to 6.5.4 (PDE-2085) (#343)
    • 🔨 Update repo urls (#339)

10.2.0

released 2021-02-23

cli

  • 📜 add architecture files (#324)
  • 📜 fix typos in README (#328)
  • 📜 Make file stashing snippets copy-paste-able (#326)
  • 📜 Fix broken README schema package link (#325)
  • 🐛 ensure test files can be run out of the box with jest (#327)

core

None!

schema

  • 💅 Add ability to specify "code" param to OAuth2 schema (#333)

10.1.3

released 2021-02-09

cli

  • 🐛 Fix phrasing in link command (#316)
  • 💅 Add warning if user counts are still being calculated (#308)
  • 📜 Mention subscribeData is available in perform (#300)
  • 📜 Add debugging info (#318)
  • 📜 Update readiness of UI → CLI conversion tool (#307, #311)
  • 📜 Add details about when dynamic fields are loaded (#303)
  • 📜 Change 90-day limit for callbacks to 30-day (#293)
  • 📜 Fix typos in examples (#296, #297)

core

  • 🐛 ResponseError no longer fails when request is raw (#320)
  • 🐛 Redirecting from https to http breaks when disabling SSL certificate checks (#313)
  • 🔨 Log trigger_subscription_id field (#317)

schema

  • 📜 Add reasons to anti-examples, update README, rearrange schema layout (#287)

10.1.2

released 2020-10-30

This release mostly has internal features, but also ships a lot of documentation updates and a few bumped dependencies.

cli

  • 💅 Improve logging for diagnostic info (#282)
  • 📜 Document the $HOIST$ directive (#273)
  • 📜 Update outdated command references (#274)
  • 📜 Add docs for callback_url (#278)
  • 🔨 Add new example app, callbacks (#281)
  • 📜 Replace Slack link with one for Community (#286)

core

  • 🐛 Add callback_url during testing (#280)
  • 💅 Relax type info for response.json to better match the actual TS definition (#261)

schema

None!

10.1.1

released 2020-09-02

cli

  • 🐛 _zapier-build should be optional (#265)

core

  • 🐛 Don't censor safe URLs in logs (#266)

schema

None!

10.1.0

released 2020-08-30

cli

  • 💅 build command now accepts a custom build hook named _zapier-build. See Using Transpilers for details. (#262)

core

  • 📜 Remove legacy reference to bundle.meta.zap (#255)
  • 🔨 Increase max payload size for hydration (#257)

schema

  • None!

10.0.1

released 2020-07-20

cli

  • 🐛 convert command now doesn't crash over an auth field name with special chars (#241)
  • 🐛 Fix missing deasync Node.js 10 binding (#244)
  • 🐛 Fix broken oauth1-trello project template (#246)
  • 💅 Update oauth2 and session-auth project templates to reflect v10's recommended way to handle auth refresh (#246)
  • 📜 Fix missing init command in CLI reference (#243)
  • 🔨 Bump Lodash from 4.17.15 to 4.17.19 (#248)

core

  • 🐛 Allow resource list methods to use cursors (#247)
  • 💅 Improve types for z.dehydrateFile and z.stashFile (#240)
  • 📜 Clarify v10 breaking change on auth refresh (#246)
  • 🔨 Bump Lodash from 4.17.15 to 4.17.19 (#248)

schema

  • 🔨 Bump Lodash from 4.17.15 to 4.17.19 (#248)

10.0.0

released 2020-05-20

Another major release! We have some great improvements in this version but also have breaking changes. Please review the following to see if you need to change anything to upgrade zapier-platform-core to v10.

(a) Zapier integrations that depend on the new Core v10 will run using Node.js 12. To upgrade, first you need install Node 12 if you haven't. You can install Node 12 using nvm. Second, update your package.json to depend on zapier-platform-core@10.0.0. Third, run npm install. Finally, you may want to run unit tests on Node 12 before you push your code to production for further testing.

(b) z.request now always calls response.throwForStatus via a middleware by default. You no longer need to call response.throwForStatus after z.request, the built-in middleware will do that for you. See Error Response Handling for details.

(c) response.throwForStatus now only throws an error if the status code is between 400 and 600 (inclusive). Before v10, it threw for status >= 300. So if your code rely on that old behavior, you should change your code to check response.status explicitly instead of using response.throwForStatus.

(d) Session and OAuth2 refresh now happens AFTER your afterResponse. Before v10, the refresh happens before your afterResponse. This is a breaking change if your afterResponse captures 401 response status. See v10 Breaking Change: Auth Refresh for details.

(e) We now parse JSON and form-encoded response body by default. So no more z.JSON.parse(response.content)! The parsed object is available as response.data (response.json will be still available for JSON body but less preferable). Before v10, we only parsed JSON for manual requests; parsed JSON and form-encoded body for shorthand requests. This change could be breaking if you have an afterResponse that modifies response.content, with the expectation for shorthand requests to pick up on that. In which case, you'll have to replace response.content = JSON.stringify(parsedOrTransformed) with response.data = parsedOrTransformed.

(f) We rewrote the CLI zapier init command. Now the project templates are more up-to-date, with better coding practices. However, we've removed the following templates: babel, create, github, middleware, oauth1-tumblr, oauth1-twitter, onedrive, resource, rest-hooks, trigger. For trigger/create/search, use zapier scaffold command instead. For babel, look at typescript template and replace the build step with the similar code from https://babeljs.io/setup#installation. For oauth1, we now only keep oauth1-trello for simplicity. If you ever need to look at the old templates, they're always available in the example-apps directory in the repo.

(g) zapier init no longer uses the minimal template by default. If you don't specify --template, zapier init will prompt you interactively. So if you're using zapier init (without any arguments) in CI and expect it to use minimal by default, you should replace the command with zapier init -t minimal.

See below for a detailed changelog (❗ denotes a breaking change):

cli

  • ❗ We've improved and removed some templates from init command, see (e) above for a list of templates that were removed (#206)
  • 💅 build command no longer needs login (#216)
  • 💅 promote command becomes more receptive about the changelog format (#209)
  • 💅 Regenerate example apps using the new init command (#229)
  • 📜 Update and clean up docs (#222)
  • 📜 Add some clarity around what we're sending for analytics (#215)
  • 🔨 Mass dependency update and linting (#218, #220)

core

  • ❗ Integrations now run on Node.js 12!
  • z.request now always calls response.throwForStatus via a middleware by default (#210)
  • ❗ Session and OAuth2 refresh now happens AFTER your afterResponse (#210)
  • response.throwForStatus now only throws for 400 ≤ status ≤ 600 (#192)
  • ❗ Introduce response.data with support for form-urlencoded and custom parsing (#211)
  • 🐛 Don't log request body when it's streaming data (#214)
  • 🐛 z.request's allowGetBody option shouldn't send empty body (#227)
  • 🔨 Mass dependency update and linting (#218, #220)

schema

  • 🔨 Mass dependency update and linting (#218, #220)

9.7.3

released 2022-03-21

cli

  • None!

core

  • 🐛 Fix another hanging issue where an action could be invoked multiple times (#514)

schema

  • None!

9.7.2

released 2022-03-01

cli

  • None!

core

  • 💅 z.request() now accepts skipEncodingChars option to skip percent-encoding specific characters (#499)

schema

  • 💅 Add skipEncodingChars to RequestSchema (#499)

misc

  • 🔨 Improve build script (#500)

9.7.1

released 2022-02-23

cli

  • 🔨 Bump node-fetch to 2.6.7 (#492)

core

  • 🐛 Fix hanging issue where an action could be invoked multiple times (#491)
  • 🔨 Bump node-fetch to 2.6.7 (#492)

schema

  • 🔨 Bump node-fetch to 2.6.7 (#492)

9.7.0

released 2022-02-14

cli

  • None!

core

  • 🐛 Fix value.replace is not a function error when resolving missing curlies (#467)
  • 🐛 Handle case where legacy.scriptingSource is an empty string (#478)
  • 💅 Improve z.console.log and HTTP logging performance (#483)

schema

  • None!

9.6.0

released 2021-12-03

cli

  • None!

core

  • 🐛 Fix backpressure issue when piping request bodies (#462)
  • Rewrite z.stashFile() with various improvements and bugfixes (#453)
    • 💅 knownLength is no longer required for any kinds of streams, including z.request({ url, raw: true }) and fs.createReadStream()
    • 💅 Detect file types more smartly
    • 💅 Generate filenames more smartly
    • 💅 Improve performance by making concurrent requests
    • 🐛 Fix MalformedPOSTRequest error when the reponse is gzipped and has a smaller Content-Length
    • 🔨 Better test coverage
    • See #453 for more details

schema

misc

  • 🔨 Bump node-fetch to 2.6.6 (#458, #460)
  • 🔨 Move CI from Travis to GitHub Actions (#453)

9.5.0

released 2021-07-02

cli

  • None!

core

  • 🎉 Allow using await in inline function source (#390)
  • 🐛 Make sure all HTTP requests logged (#390)

schema

  • None!

9.4.2

cli

  • None!

core

  • 🐛 ResponseError no longer fails when request is raw (#320)
  • 🐛 Redirecting from https to http breaks when disabling SSL certificate checks (#314)

schema

  • None!

9.4.0

cli

  • 💅 build and push command now produces smaller zips (≈30% of the original size!) (#202)

core

  • 💅 z.request now has an allowGetBody option that allows you to send a GET request with a body (#195)
  • 📜 Update examples to demonstrate z.errors.Error (#198)
  • 📜 Encourage use of response.json rather than z.JSON.parse(response.content) (#200)
  • 🔨 Include User-Agent header for internal calls (#204)

schema

  • No changes

9.3.0

cli

  • No changes

core

  • 🎉 We have new error classes! Use them to help improve user-facing error messages. Read Error Handling in the docs for more. (#189)
  • 💅 Show variable name when curlies have a type error (#188)

schema

  • 💅 RequestSchema now has a serializeValueForCurlies option, allowing to "reliably interpolate arrays or objects to a string" (#190)

9.2.0

cli

  • 🎉 scaffold command was entirely rewritten. Now it generates better code and is more resilient. (#146)
  • 🐛 Fix convert command so it correctly handles a visual builder app converted from Web Builder (#159)
  • 🐛 Allow env variables containing equals (#179)
  • 🐛 Fix SSO link in login command output (#157)
  • 🔨 Fix test circular dependency (#184)

core

  • 🐛 Preserve non-empty values that include empty curlies in request objects (#162)
  • 🐛 Improve appTester types and bump Node versions (#172)
  • 🔨 Fix smoke test circular dependency (#175, #185)

schema

  • 📜 Clarify FieldSchema.list when used in inputFields vs. outputFields (#143)

9.1.0

cli

  • 🎉 CLI now has brand new tab completion! Learn how to activate it in the doc. (#134)
  • 💅 Make CLI text style more consistent (#132)
  • 💅 validate command now uses a language consistent with the UI (#132)
  • 🐛 validate command no longer requires login (#119)
  • 🐛 Fix convert command crashing over a trailing comment (#147)
  • 🐛 Projects generated by convert command now defaults to Node 10 (#123)
  • 🔨 init command now pulls examples from a tagged version (#127)
  • 🔨 Refactor convert command (#131)
  • 🔨 Refactor describe command (#129)
  • 🔨 Refactor link command (#128)
  • 🔨 Refactor logs command (#121)
  • 🔨 Refactor register command (#122)
  • 🔨 Finish oclif migration and clean up unused code (#133)

core

  • 🐛 Fix broken digest auth since 8.3.0 (#153)
  • 🐛 Basic auth now allows empty username or password (#130)
  • 🔨 TypeScript definition fixes (#124)

schema

  • No changes

9.0.0

This is a big one! There are a few areas with breaking changes. At a high level:

  • Zapier integrations that depend on the new Core v9 will run using Node.js v10
  • CLI had a lot of refactoring under the hood. A number of commands changed their args and/or name. Check out the CLI docs for the full rundown.
  • All packages drop support for Node 6 (which has been EOL for a while, so hopefully this isn't news)

To successfully migrate to this version, you'll probably need to:

  • install Node 10 using nvm. Lambda uses 10.16.13 (source), but any will do.
  • Check the CLI changelog below and adjust any scripts that call the CLI accordingly
  • Update your integration's zapier-platform-core dependency to 9.0.0.
  • Run unit tests on Node 10 if you haven't before
  • Assuming your code works on Node 10, go through the regular push, promote, migrate flow. There aren't any other breaking changes from and end-user perspective.

As always, feel free to reach out if you've got any questions.

See below for a detailed changelog:

cli

  • ❗ Remove --include-js-map flag from the build and push commands (#99)
  • ❗ remove watch command (#100)
  • ❗ Refactor env command. It's now env:get, env:set and env:unset (docs) (#104)
  • ❗ Remove invite and collaborate commands. This functionality is now under users (docs) and team (docs) commands, respectively (#106)
  • ❗ Refactor delete into delete:integration and delete:version (docs) (#109)
  • ❗ Refactor logout command to only clear the local session, not all of them (#60)
  • scaffold command errors if a file name already exists (#88)
  • validate depends on having a valid deployKey available (either in the environment or in the auth file, ~/.zapierrc). This is a regression and will be fixed in a later version. In the meantime, see Using CI for more info.
  • 🎉 Add saml support during login (#61)
  • Refactor the following commands to use the new CLI setup:
    • build
    • delete
    • deprecate
    • env
    • history
    • login
    • logout
    • migrate
    • promote
    • push
    • scaffold
    • test
    • upload
    • validate
    • versions
  • Deprecate apps command in favor of integrations (#105)
  • Run validation during build against /check endpoint (#111)
  • chore: rebuild yarn.lock (#96)

core

  • 🎉 Apps now run on Node.js v10
  • (docs) update CHANGELOG.md links to point to zapier-platform repository (#107)

schema

  • (fix) Make label & description optional for hidden actions (#69)
  • (fix) Be more permissive with mutually exclusive properties in input fields (#91)

8.4.2

The only change of this release is we bumped Lodash to 4.17.15 (#95). No more security warnings from npm audit!

8.4.1

cli

  • (chore) Don't send analytics when running tests (#84)

schema

  • No changes

core

  • (fix) Strip URL query parameters from error messages for security (#85)
  • (chore) Don't send analytics when running tests (#86)

8.4.0

cli

  • 🎉 Added analytics to the CLI. These are vital for helping us improve our product. Read more about what we collect here.

schema

  • No changes

core

  • No changes

8.3.0

The big change of this release is we started to maintain all the packages in a monorepo. It's more like an internal refactoring, so it shouldn't affect developer experience. Major work includes:

  • (chore) Switch to use yarn (#1)
  • (chore) Restructure and rename directories (#2)
  • (chore) Adjust zapier init to pull from monorepo (#4)
  • (chore) Set up tests on Travis CI (#5)
  • (chore) Publish from Travis CI (#33)
  • (chore) Centralize husky code (#34)
  • (chore) Move tooling to root (#46)

cli

  • (chore) Adopt oclif CLI framework, started with zapier init command (#43)
  • (chore) Bump adm-zip (#6)
  • (docs) Update computed fields docs (#7)

schema

  • 🎉 (feature) Dynamic dropdowns (FieldSchema.dynamic) now support multiple labels (#48, #49)

core

  • (fix) Fix a callback issue (#36)
  • (chore) Bump adm-zip (#6)

8.2.1

cli

None!

schema

  • (fix) Drop help text length requirement (#70)

core

None!

8.2.0

cli

  • 🎉 (feature) Convert visual apps to CLI. (#427)
  • (feature) Add per app version helpers (#406)
  • (chore) bump travis node version (#435)
  • (chore) remove babel (#430)
  • (chore) Add eslint-plugin-mocha (#429)

schema

  • (fix) Reduce minLength for BasicDisplaySchema to 1 (#69)

core

  • (fix) Be more defensive when creating a buffer (#155)
  • (fix) fix regression where env is ignored (#154)
  • (fix) Prevent raw curies from being sent in a request. Allow removing empty… (#153)
  • (fix) Censor sensitive numbers (#152)

8.1.0

cli

  • (fix) Add a better error message when uploading with a zip (#408)
  • (chore) port logout command to async func (#419)
  • (docs) Add code examples and scenarios to the dynamic dropdowns section of the Readme (#415)
  • (docs) Add example for input fields with 'children' parameter (#413)
  • (docs) Update signup link (#412)
  • (docs) Update readme details for version number (#411)
  • (docs) Misc improvements (#423)

schema

  • (improvement) Add appflags property (#68)
  • (chore) Bump Lodash Version (#67)

core

  • (improvement) Allow Godzilla to require modules in code mode (#145)
  • (improvement) Add the ability to skip http patching (#150)
  • (fix) Censor auth headers in edge cases (#151)
  • (fix) Add meta to the bundle bank for resolving curlies. (#149)
  • (fix) Pass correct storekey (#148)
  • (fix) Add optional parameter to createAppTester to customize storeKey (#147)
  • (fix) Fix individual types for removeMissingValuesFrom object (#146)
  • (fix) Make removeMissing correctly optional (#143)

8.0.1

A quick bugfix to resolve a regression

cli

None!

schema

  • (fix) actually return validator class (#64)

core

None!

8.0.0

This is a larger-than-normal release that coincides with the release of our new Visual Builder. It also includes a few breaking changes that you'll need to resolve in your code manually as you upgrade. Luckily, they're mostly find-and-replace.

omitEmptyParams has a new data type

We've changed the type of (the option formally known as) omitEmptyParams to accommodate clearing data from the query params and/or the request body

// before
z.request({
  url: 'https://site.com',
  omitEmptyParams: true,
});

// after:
z.request({
  url: 'https://site.com',
  removeMissingValuesFrom: { params: true },
});

Curlies Don't Clobber

If you were using {{curlies}} to render non-primatives (that is, arrays or objects) at runtime, they were getting coerced into strings. Now they correctly stay as their original data type, which is only an issue if you were working around it before.

bundle.meta has a new coat of paint

We updated the key names in bundle.meta to make them more clear. In most cases, they were simply renamed, but some unhelpful ones were removed. There's a conversion table that should make this an easy thing to change.


Below are all of the changes:

cli

  • (improvement) respect 2fa settings (#396)
  • (doc) Add a Docker and Docker Compose section for native environments. (#397)
  • (doc) update collaborator to admin (#403)
  • (doc) update docs to use new meta (#393)
  • (chore) refactor zapier login to async (#395)
  • (chore) make validate command async (#401)

schema

  • ❗ (improvement, breaking) Change omitEmptyParams to removeMissingValuesFrom (#63)
  • 🎉 (improvement) attempt to hoist better errors (#62)
  • (doc) Document that helpText supports markdown (#61)

core

  • ❗ (improvement, breaking) Rename omitEmptyParams to removeMissingValuesFrom. In typescript, this is erroneously marked as required. In the next release, it will be optional. (#140)
  • ❗ (improvement, breaking) Resolve curlies to their original data type (#139)
  • ❗ (improvement, breaking) Rename bundle.meta keys (server change, see CLI #393 for more info)
  • (improvement) preserve objects passed to inputData in the bundle bank (#141)
  • (improvement) Resolve subscription related bundle fields (#138)
  • (improvement) Prune unmatched tokens from request (#137)
  • (chore) Resolving potential security vulnerability in lodash dependency (#136)

7.6.1

cli

  • (fix) zapier push doesn't stop on validation errors (#388)
  • (doc) Fix a typo in OAuth1 doc (#391, #392)
  • (doc) Update the AWS Lambda supported Node.js links (#390)
  • (doc) Update outputFields doc to reflect current reality (#386)

core

  • (fix) Can't use unencrypted https:// protocol when SSL checks are disabled (#135)

7.6.0

cli

  • (improvement) zapier convert command has been reworked and greatly improved. Now it generates code that is more likely to work out of the box! (#380)
  • (improvement) Refactor to use async/await in build command (#382)

core

  • (fix) Don't add searchOrCreates if either is hidden (#134)

7.5.0

cli

  • (doc) Various doc improvements (#374)

schema

  • 🎉 (new) Add OAuth1 support. Read doc for detail. doc
  • (doc) Be more clear about whether hook methods are required (#58)

core

  • 🎉 (new) Add OAuth1 support. Read doc for detail. (#126)
  • (fix) Make sure to censor URL-encoded values (#129)
  • (fix) Cursor reading didn't work in tests (#125)
  • (improvement) Shorthand HTTP requests now parse x-www-form-urlencoded response bodies as well. Your app could break if your application server returns a JSON response body but with a Content-Type: application/x-www-form-urlencoded header. Switch to z.request if that's the case. (#126)

7.4.0

cli

  • (fix) deasync binary is missing in Windows build (#370)
  • (doc) Document digest auth (#368)

core

  • 🎉 (new) Add support for digest auth. Read doc for detail. (#123)
  • (fix) z.stashFile doesn't pick up filename in Content-Disposition (#124)

7.3.0

cli

  • (improvement) Add Dynamic Dropdown example app (#363)
  • (improvement) Add smoke tests (#361, #362)
  • (doc) Document z.dehydrateFile (#360)
  • (doc) Document outputFields (#365)
  • (doc) Update docs to reflect support for async/await (#359)

schema

  • 🎉 (new) Add omitEmptyParams to RequestSchema (#57)
  • (improvement) Add smoke tests (#55)

core

  • 🎉 (new) Introduce z.dehydrateFile - a new recommended method to dehydrate a file. Read doc for detail. (#112, #120)
  • 🎉 (new) Add omitEmptyParams option to clean up empty request params automatically. Read doc for detail. (#121)
  • (fix) Fix null error handling (#117)
  • (improvement) Add smoke tests (#116)

7.2.2

core

  • (fix) Sign dehydrated payloads for better security (#111)

7.2.1

core

  • (fix) Allow to disable SSL certificate check (#110)

7.2.0

cli

  • (fix) Include required binary in the build (#350)

schema

  • (fix) Add copy field type to FieldSchema (#52)
  • (docs) Clarify BasicDisplaySchema directions description (#51)

core

  • (improvement) Better AppTester typescript bindings (#103)

7.1.0

cli

  • (fix) Migrating by email shouldn't ask for promote (#341)
  • (fix) Fix "epxeriencing" -> "experiencing" typo (#338)
  • (fix) Fix failing Travis badge (#343)
  • (improvement) Truncate source_zip in logs (#348)
  • (improvement) Migrate to cli-table3 (#327)
  • (docs) Session auth should be using authData instead of inputData (#346)

7.0.0

cli

  • (improvement) Bump Node.js version to 8 (#328)
  • (improvement) Ask for promote when fully migrating a public app (#326)
  • (improvement) Add typescript example app (#329)
  • (improvement) Reduce package size (#330)

schema

  • (improvement) Bump Node.js version to 8 (#48)
  • (improvement) Reduce package size (#49)

core

  • ❗ (improvement, breaking) Bump Node.js version to 8.10.0. Apps with dependency zapier-platform-core >= 7.0.0 run only on Node.js 8.10.0 in AWS Lambda. If you need to continue running on Node.js 6.10.3, use zapier-platform-core <= 6.1.0" (#94)
  • (fix) Add cursor to typings (#95)
  • (improvement) Reduce package size (#97)

6.1.0

cli

  • (fix) Fix typo in zapier register text (#324)
  • (fix) Fix npm audit security warnings (#320)
  • (fix) zapier convert doesn't escape sample field labels (#313)
  • (docs) Remove Digest auth references (#323)
  • (docs) Add cursor docs (#309)

schema

  • (fix) Fix npm audit security warnings (#46)

core

  • 🎉 (new) z.cursor store (#76)
  • (fix) Fix missed logs (#91)
  • (fix) Middleware isn't compiled (#90)
  • (fix) Fix npm audit security warnings (#87)
  • (improvement) Add typings (#82)

6.0.0

cli

  • ❗ (improvement, breaking) JSON format only outputs valid JSON. This is only breaking if you were working around the formatting to process the JSON before (#260)
  • (improvement) Better spinner (#260)

schema

  • ❗ (improvement, breaking) Fail validation if the top-level key doesn't match trigger/search/creates' .key. This fixes a bug where a trigger could be duplicated in the UI (#41)
  • (docs) Add doc annotation for hook type (#44)
  • (docs) Make long examples more readable (#42)

core

  • ❗ (improvement, breaking) Throw an error for key collisions between resources and standalone objects. This was previously a warning, so it shouldn't catch anyone by surprise (#73)
  • ❗ (improvement, breaking) Remove bundle.environment. This has always been deprecated, but now it shouldn't show up in the bundle anymore. Given that it hasn't held data, this shouldn't cause a lot of friction (#72)

5.2.0

cli

  • 🎉 (new) Add option to zapier logs to show bundle logs (PR)
  • (fix) Fix zapier build from crashing on missing packages (PR)
  • (fix) Fix zapier convert from crashing on certain OAuth config (PR)
  • (fix) Fix zapier convert from crashing on a number in auth mapping (PR)
  • (improvement) zapier build prints any errors from npm install (PR)
  • (docs) Add note about nested dynamic functions (PR)
  • (docs) Add docs about bundle.cleanedRequest and bundle.rawRequest (PR)

schema

  • (fix) Correctly invalidate field grandchildren (PR)
  • (docs) More examples on functional constraints (PR)

core

  • (fix) Raise exception for bad requests when stashing a file (PR)
  • (fix) Better log censoring (PR)

5.1.0

cli

  • 🎉 (new) Add "did you mean" on unrecognized commands (PR)
  • (fix) Fix hang issue when printing data on skinny terminal (PR)
  • (fix) Server returns error when running zapier logs --debug (PR)
  • (fix) Exclude unwanted files when doing zapier build --disable-dependency-detection (PR)
  • (fix) Don't overwrite .zapierapprc completely (PR)
  • (fix) Fix "CUSTOM_FIELDS_URL is not defined" error for zapier convert (PR)
  • (improvement) Less nagging about updating packages (PR)
  • (improvement) Add "github" and "search-or-create" example apps (PR, PR2)
  • (improvement) zapier promote error messages now look better (PR)
  • (improvement) Remove unnecessary .nvmrc logic (PR)
  • (improvement) zapier convert supports static dropdown (PR)
  • (improvement) zapier convert supports auth mapping better (PR)
  • (improvement) Fix auth issue with full scripting methods for zapier convert (PR)
  • (improvement) zapier convert converts samples, too (PR)
  • (improvement) zapier convert respects auth field keys in test code (PR)
  • (improvement) zapier convert generates .env instead of .environment (PR)
  • (improvement) zapier convert includes input fields to test code (PR)
  • (improvement) Fix session auth environment variable name for zapier convert (PR)
  • (docs) FAQ about when to use placeholders or curlies (PR)

schema

  • (fix) Only require samples for non-hidden operations (PR)
  • (fix) Correctly validate children as an array of fields (PR)
  • (fix) Doc rendering issue (PR)
  • (docs) Add doc annotation (PR)

core

  • (improvement) Bump Node version to 6.10.3 (PR)
  • (improvement) Deprecate .environment in favor of .env (PR)
  • (improvement) Support test framework other than Mocha (PR)
  • (improvement) z.console.log also calls console.log (PR)
  • (improvement) Check for object in create (PR)

5.0.0

cli

  • 🎉 (new) The CLI can now run, test, and build on any version of Node.js! (PR)
  • 🎉 (new) Read deploy key from env if available (PR)
  • (improvement) More specific error messages for invalid installs (PR)
  • (fix) zapier env no longer throws an error on Node versions >=8.0 (PR)
  • (improvement) zapier convert creates a .gitignore for new apps (PR)
  • (improvement) zapier convert properly escapes labels and descriptions (PR, commit)
  • (improvement) zapier convert only sends a token when it exists, not before (PR)
  • (improvement) zapier convert generates .environment and gives hint about editting it (PR)
  • (improvement) Don't require an id field in tests generated by zapier convert (PR)
  • (improvement) zapier convert adds track info to package.json (PR)
  • (docs) FAQ section in the README (PR)

schema

  • ❗ (improvement, breaking) sample is now a required field in BasicOperationSchema and friends. See this doc for more info (PR)
  • ❗ (improvement, breaking) order has been removed from BasicDisplaySchema (PR)

core

  • (improvement) Log when actions generated by a resource collide with manually defined ones (PR)
  • (improvement) Properly log gzipped responses (PR)

4.3.2

4.3.1

4.3.0

4.2.3

  • The first build made by Travis CI!

4.2.1

  • (Fix) Repack zapier-platform-core to really fix bloated size

4.2.0

4.1.0

4.0.0

3.3.0

3.2.1

3.2.0

3.1.0

3.0.1

  • Fixed node/npm dependency check for 3.x.
  • Fixed URL base endpoint in docs.

3.0.0

2.2.0

2.1.0

2.0.1

  • Fix broken appTester on Windows OS.
  • Require the exact version of zapier-platform-core in package.json.
  • Document middleware's z object lacks z.request.
  • Fix typo in session auth docs.

2.0.0

  • (BREAKING) CLI 2.x apps run only on NodeJS v6.10.2 in AWS Lambda. If you need to run on NodeJS v4.3.2, use the CLI 1.x release.
  • (BREAKING) Delete property searchOrCreate from the properties of ResourceSchema.
  • Style checks run by default during zapier validate.
  • Validation is run during zapier test.
  • The CLI now uses update-notifier to let you know when there's a new version available.
  • Rename global to public for consistency across Zapier platform.

1.0.11

  • zapier --validate now includes the --include-style flag to validate against style checks.
  • There are extra checks around return types from triggers, searches, and creates.
  • Some doc typos were squashed.

1.0.10

  • Added new Files example app with zapier init . --template=files.
  • Properly exit on node version mismatch while running zapier test.
  • Upgraded node-fetch in core (fixes some edge-case issues for multipart/form-data requests).
  • zapier test is now quiet by default. zapier test --debug will output details.
  • zapier logs --type=http --detailed is more clearly exposed.
  • Fixes searchOrCreate schema validation error for resources with search and create.

1.0.9

  • Functions in app.afterResponse will now get called.
  • Add check in middleware, to make sure creates return only 1 object.
  • Fixes issue for deep object checking.
  • Minor docs fixes.

1.0.8

  • z.stashFile is no longer allowed outside of hydrators.
  • Adding analytics to the web-based documentation.
  • Minor docs fixes.

1.0.7

  • Improved link command UX on error/non-existing apps.

1.0.6

  • Fixed convert command for outputFields.
  • Improvements on validate-templates and zapier test (now supports --timeout=5000).
  • Minor docs fixes.

1.0.5

  • Use ZAPIER_BASE_ENDPOINT for push and convert.
  • Don't show command help on error.
  • Minor docs fixes.

1.0.4

  • Fix issues in Windows.
  • Minor docs fixes.

1.0.3

  • Fixes fatal error when build directory didn't exist.
  • Minor docs fixes.

1.0.2

  • Support streamed non-ascii files in z.stashFile.
  • Minor docs fixes.

1.0.1

  • Minor docs fixes.

1.0.0

  • Removing beta "label".
  • Minor docs fixes.

0.10.2

  • Added dict property for inputFields, to allow asking for a dictionary (key/value pair) input.
  • Added new REST Hooks example app with zapier init . --template=rest-hooks.
  • Fixed: Now correctly ask for line items when children is set.

0.10.1

  • Added search property for inputFields, to allow linking a search connector.

0.10.0

  • BREAKING CHANGE Removed getResourceOperation in creates/searches in favor of performGet.

  • Added support for performList in webhook triggers

  • Fixed: Now correctly copy outputFields and samples to a trigger/search/create operation that links to a resource

0.9.12

  • Added performList to hook operations.

0.9.10

  • Documentation expanded:
    • Updated z.dehydrate() / appTester() / examples to reflect the new arguments.
      • z.dehydrate('someFunction') must be z.dehydrate(App.hydrators.someFunction)
      • appTester('contact.list') must be appTester(App.resources.contact.list.operation.perform)
    • Documented fields, custom/dynamic fields, and dynamic dropdowns plus examples.
    • zapier env ... -remove flag documented.
  • zapier describe now describes much more about the app - included auth info, redirect_uri, resources and all resource paths.
  • fixed zapier scaffold bug with undefined INPUT_FIELDS

0.9.9

Initial release to public. Read docs here https://github.com/zapier/zapier-platform-cli.