Skip to content

Latest commit

 

History

History
762 lines (518 loc) · 43 KB

CHANGELOG.md

File metadata and controls

762 lines (518 loc) · 43 KB

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.