Skip to content

Latest commit

 

History

History
1273 lines (946 loc) · 71.5 KB

CHANGELOG.md

File metadata and controls

1273 lines (946 loc) · 71.5 KB

CHANGELOG

Note: Apollo's GraphQL VSCode extension is no longer housed in this repository. It is now maintained separately in this repo.

vNEXT

  • Nothing yet! Stay tuned.
  • This release includes a number of updates for dependencies within this repo's projects. Behavior changes aren't expected and should be considered reportable issues.

  • apollo-language-server

    • Remove moment as a dependency #2595
  • [email protected] / [email protected]
    • Adjust apollo-codegen-core to use the same withTypenameFieldAddedWhereNeeded utility as apollo-language-server, to make sure modified operations align between codegen and anything leveraging the language server utility functions (like the client:push command).
      @hwillson in #2473
  • This version should not be used as it was published without depended-on packages. Please use [email protected] instead.
  • This version was not actually published.
  • This version was not actually published.
  • apollo-codegen-swift
    • Fix issue where a query referencing many fragments caused type checking for queryDocument to time out #2198
  • [email protected]
    • Support the standard HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables for using an HTTP proxy. #2181
  • apollo-codegen-swift
    • Fix bug in generated compound type names that lead to structName being inconsistent throughout codegen #2170
  • Update CLI default API domain from engine-graphql.apollographql.com to graphql.api.apollographql.com. Users that have set up support for corporate proxies or firewalls may need to update configurations.
  • Accept GitLab remote URLs when fetching git info for service:check and service:push #2104
  • --commitId in service:check and service:push overrides the current commit ID otherwise read through env-ci.
  • service:push now takes --author and --branch matching service:check.
  • Rename defaultEngineReportingSignature to defaultUsageReportingSignature; the old name continues to be exported as well.
  • apollo-codegen-core
    • Add new unionTypes and interfaceTypes properties to the exported IR JSON (when using the json-modern target), that list all unions and their types, as well as all interfaces and their implementing types #2050.
  • [email protected]
    • Allow flags for --branch and --author in service:check command. This will permit users to group changes using the --branch flag and indicate an author, via a string value using the --author flag.

** Note: this release is an immediate follow-up to the previous release. apollo-graphql should've been updated but it was unfortunately missed. **

  • [email protected]
    • Don't send a user-specified frontend URL to Apollo's servers; fetch one when needed. Drop --frontend flag. #1990
  • [email protected]
    • Don't send a user-specified frontend URL to Apollo's servers; fetch one when needed. #1990
  • [email protected]
    • Change json-modern target to use legacy IR as base, similar to json target #1916.
    • Update json-modern IR to expose typeNodes on typesUsed #1916
  • [email protected]
    • Change json-modern target to use legacy IR as base, similar to json target #1916.
    • Update json-modern IR to expose typeNodes on typesUsed #1916
  • [email protected]
    • downgrade mkdirp to keep node 8 working as expected 63f0773
    • Remove "hidden: true" from --variant in service:push #1865
    • update ENGINE_API_KEY deprecation message to give alternative #1866
    • Add json-modern codegen target which adds typeNodes (ast type nodes) to codegen output #1846
  • [email protected]
    • Add json-modern target which adds typeNodes (ast type nodes) to codegen output #1846
  • [email protected]
    • Support APOLLO_KEY and deprecate ENGINE_API_KEY for .env support #1851
    • Support --graph/-v flag for specifying graph manager id without requiring a config file #1858
    • Support graph@variant parsing under the service.name key in config files, similar to client configs #1858
    • Update all commands that supported --tag to prefer --variant and indicate a deprecation warning for --tag #1849
    • Updates of --help messages #1849
    • Bug fix of some apollo commands that did not work with graph@variant parsing within the apollo.config.js #1849
    • Improved error messaging when a graph is not specified in either apollo.config.js or within the API key. #1849
    • Added --ignoreFailures flag to service:check to exit with code 0 with check failures #1856
    • Make Update "no service found to link..." error more consistent #1847
    • Fix non-existent service message to use the actual service name that's being looked up #1834
  • [email protected]
    • Support APOLLO_KEY and deprecate ENGINE_API_KEY for .env support #1851
    • Support graph@variant parsing under the service.name key in config files, similar to client configs #1858
    • Improved error messaging when a graph is not specified in either apollo.config.js or within the API key. #1849
    • Make Update "no service found to link..." error more consistent #1847
    • Fix non-existent service message to use the actual service name that's being looked up #1834
  • apollo
    • Fix rendering of unexpected composition errors throwing a table cell error #1806
    • Add ability to define schema download output path that doesn't exist yet #1807
  • [email protected]
    • Add sdl download ability to client:download-schema #1470
    • colors: use cyan instead of blue for text highlighting #1598
    • Fix codegen --watch breaking out of watch mode on validation errors #1627
  • [email protected]
    • POTENTIALLY BREAKING: Make apollo-env a standard TS package #1611 This PR likely warrants a pre-major version bump so that it isn't accidentally upgraded to for dependents using the ^ range. If this breaks your project, please don't hesitate to let us know and revert back to v0.5.1. This PR removes the handwritten node-fetch types and instead just re-exports them. Internally, this drastically simplifies the existence of apollo-env within this monorepo, as it no longer requires a special build step that forces lerna and TS to work around it.
  • [email protected]
    • Fix client localSchemaFile for vscode stats command #1634
  • [email protected]
    • Fix codegen --watch mode not writing changes for files #1591
    • Fix service:check not outputing url
  • [email protected]
    • Fix code generation for empty input objects / arrays #1589
  • [email protected]
    • Improve autocomplete performance by fixing leading option and debounce threshold #1593
    • Load ENV variables from both .env and .env.local for Vue CLI compatibility #1525
  • [email protected]
    • Fix ctrl+space autocomplete with language-server imrovements #1593
    • Watch both .env and .env.local for changes #1525
  • [email protected]
    • Support custom frontend and historic parameters for federated service:check
  • [email protected]
    • Ensure fields named self don't cause compilation errors in the generated code #1533
    • Preserve leading/trailing underscores on field names #1533
    • Allow generated code to be compiled without a module umbrella header #1248
  • [email protected]
    • Improve performance of CLI when running projects by delaying or not calling validation unnecessarily #1559
    • Use "table" package for tabular output and word wrap support #1524
    • Use new single step mutation for checking federated service schemas #1539
    • Add support for localSchemaFile for federated service commands #1489
  • [email protected]
    • Improve performance of validation when client fields are present or not #1559
  • [email protected]
    • Switch operations and fragments to default to printing queries as multiline strings rather than including queries as multiline comments
    • Add --suppressSwiftMultilineStringLiterals flag to allow a version which strips unnecessary whitespace.
  • [email protected]
    • Use reference-equality, rather than Function.prototype.name string comparison, when omitting validation rules within buildSchemaFromSDL. #1551
  • [email protected]
    • Replace old mutation used for checking partial service schemas to use checkPartialSchema #1539
    • Remove old federation-info provider #1489
    • Support using local schema files for checks/pushes of federated services #1489
  • [email protected]
    • Improve performance of validation when client fields are present or not #1559
  • apollo
    • fix bad parsing of multiple localSchemaFiles #1529
  • [email protected]
    • Add tsFileExtension option to allow custom file extension in ts (like d.ts) #1130
  • [email protected]
    • Add tsFileExtension option to allow custom file extension in ts (like d.ts) #1130
  • [email protected]
    • Add debugging util classes for better error/warning handling #1429
    • Add error for duplicate client operation names #1466
    • Add client schema support through autocomplete, hover information, validation rules, and code actions. #1433
  • [email protected]
    • Add tsFileExtension flag to allow custom file extension in ts (like d.ts) #1130
  • [email protected]
    • Improve the syntax highlighting of directives and their definitions. #1433
    • Add debugging util class for better logging in vs code #1429
  • [email protected]
    • Fixes issue where a server adding a new type the client doesn't know about can cause a crash
  • [email protected]
    • Fix issue where type names were not being properly escaped iOS 193
    • Fix overcorrection on removing redundant modifiers #1449
    • Added CaseIterable conformance so all known cases can be easily iterated.
    • Added comment to operationDefinition to show the original query
    • Stripped excess whitespace out of operationDefinition
    • Removed force-unwrap when the thing being unwrapped is a double optional
  • [email protected]
    • Fix cache invalidation bug for reload schema which caused outdated results in autocomplete #1446
  • [email protected]
    • Add service:list and tests #1358 and header #1377
    • Update service:list test to use a simulated time to prevent relative dates causing snapshot failures #1374
    • Update service:check to support --markdown and --json flags for federated schema #1378
    • Exit status code 1 after composition errors in service:push #1403
    • Update service:check to include graphCompositionId in query params for UI #1401
  • [email protected]
    • Update Swift codegen to add operation name to generated query classes #1386
    • Append terminating newline character to generated files #531
  • [email protected]
    • Allow template literal placeholders that span multiple rows#1299
    • Add support for extracting GraphQL documents from Ruby source files using <<-GRAPHQL...GRAPHQL heredoc. #1304
  • [email protected]
    • Handle subscribe in buildServiceDefinition and add type in resolverMap #1047
  • [email protected]
    • Add support for Ruby source files using <<-GRAPHQL...GRAPHQL heredoc. #1304
  • [email protected]
    • Leverage updates to apollo-language-server to support federated services #1251
    • Add service:delete command for deleting federated services #1251
  • [email protected]
    • Add new utils and predicates #1251
  • [email protected]
    • Require graphql@^14.2.1 #1251
    • Add buildSchemaFromSDL and related utilities for constructing partial schemas #1251
    • Add transformSchema and related utilities for easily transforming schemas #1251
  • [email protected]
    • Fix windows file paths by normalizing all URIs to a consistent format #1213.
    • Fix positionToOffset to consider windows line endings #1213.
    • Extend Engine API for federated schema uploads and checks #1251
    • Reorganize files and exports #1251
  • [email protected]
    • Update service:check's --markdown output to include clients affected, number of operations checked, pluralization improvements, and backticks around service and schema variant #1164
    • Update service:check output to show failures before passes #1168
  • [email protected]
    • Update operation normalization technique to deterministically order fragments within operations. This update affects those users of the operation registry feature of the Apollo Platform. Anyone using the operation registry should re-register their operations with this new version of the apollo CLI via the apollo client:push command. Once all client operations are re-registered, the apollo-server-plugin-operation-manifest plugin within Apollo Server (which reads the manifest published with apollo client:push) should be updated to 0.1.0-alpha.1. #1158
  • [email protected]
    • Stop loadConfig from looking up the tree when a --config location is defined #1059
    • Refactored/documented/tested loadConfig #1059
    • Add .vue file support for codegen:generate #1160
  • [email protected]
    • Change the sortAST algorithm to sort fragments at the top-level of the DocumentNode, providing a more deterministic normalization of the operation for use by apollo-engine-reporting (which consumes this package's defaultOperationRegistrySignature function). This will more correctly combine operations for Engine reporting. This also adds a defaultOperationRegistrySignature function for use by the apollo-server-plugin-operation-registry plugin to eventually consume. #1112
  • [email protected]
    • Use generated Typescript types via client:codegen #1016
    • Remove default --tag=current for some client commands that used it #1062
    • Add missing dependency @oclif/errors #1068
    • Include targetUrl in the output of the service:check command #1072
    • Import apollo-env utility types directly instead of treating them as globals #1074
  • [email protected]
    • Import apollo-env utility types directly instead of treating them as globals #1074
  • [email protected]
    • Import apollo-env utility types directly instead of treating them as globals #1074
  • [email protected]
    • Add missing dependencies @babel/generator, common-tags #1071
  • [email protected]
    • The keyword "type" is escaped when generating scala.js via client:codegen #1066
    • Add missing dependencies @babel/generator, common-tags #1071
  • [email protected]
    • Add missing dependencies @babel/generator, common-tags #1071
  • [email protected]
    • Add missing dependencies @babel/generator, common-tags #1071
  • [email protected]
    • Expand the graphql peer dependency range of apollo-graphql to also include 0.13.x and 0.12.x in addition to 14.x, since the apollo-graphql package is relied upon by apollo-server-core which specifies those requirements itself. #1076
  • [email protected]
    • Fix a bug where tagging a build will cause the tool to not be able to figure out where the git repo is #944
    • Re-enable logging for codegen when in watch mode #1039
  • [email protected]
    • Added a warning when there are 0 files found in a project #1007
    • Allow relative paths in includes/excludes globs #1007
  • [email protected]
    • Updated marketplace readme, color schemes, and icon to be prettier #942
  • [email protected]
    • Support validation parameters for service:check #953
    • Leverage nullability of validation parameters #1006
    • Unpin graphql version #1010
  • [email protected]
    • Better error handling in ApolloEngineClient #953
    • Fix language server mis-reporting client identity for schema loading operation #940
    • Unpin graphql version #1010
  • [email protected]
    • Fix inline graphql highlighting in Vue <script> tags #981
    • Fix graphql comments not being highlighted correctly #907
  • apollo-language-server 1.4.1
    • Fix edge case for empty operations #959
  • apollo 2.4.1
    • Bump the apollo-engine-reporting version #950
  • apollo 2.4.0
    • Fix configuration loading and schema tag support #925
    • Improve client:check output #934
  • apollo-language-server 1.4.0
    • Replace checkOperations mutation with new validateOperations mutation #934
    • Include config files into a project's fileSet #897
    • Add hook into workspace for communicating out when configs are loaded or when errors are found #897
    • Add fn to workspace for reloading a project with a given config URI #897
    • Reload project when config file is changed #897
    • Update error handling from within the server (send as message). This message can be listened for and handled by the consumer #897
  • vscode-apollo 1.4.1
    • Update statusBar to reflect new possible "warning" states #897
  • [email protected]
    • Fixed config to only use service name from the correct key types commit
    • Adjust priority of engine api key parsing to prefer flag over env key commit
  • [email protected]
    • Added better errors around missing services
    • Updated config documentation
    • Fixed failures with missing service name

NOTE: Many of the updates and changes in this release came from a complete rebuild of the Apollo CLI in preparation for GraphQL summit. Many of these changes can be traced to this commit but aren't tied to a specific pull request, and won't be linked.

  • [email protected]
    • 🚀 Features
      • queries:register to register operations with the apollo platform #621
      • Update graphql to version 14 #624
      • Supports a .env file for engine API keys commit
    • 🐛 Fixes & Changes
      • Fixed config file resolution #591
    • 💥 Breaking Changes
      • Introduced a new apollo.config.js format commit
      • Changed format of queries:extract manifest to be more extensible #611
      • Changed manifest hash encoding to SHA-256 instead of SHA-512 #611
      • Deprecated apollo schema:*, and codegen:* commands and aliased usage to new commands
        • apollo codegen:generate aliases to apollo client:codegen
        • apollo schema:check aliases to apollo service:check
        • apollo schema:download aliases to apollo service:download (added 2.0.13)
        • apollo schema:publish aliases to apollo service:push
        • apollo plugins:add aliases to apollo plugins:install
        • apollo plugins:unlink and apollo plugins:remove aliases to apollo plugins:uninstall
      • Removed apollo queries:* commands
        • apollo client:check should be used in place of apollo queries:check
        • apollo client:extract should be used in place of apollo queries:extract
      • Deprecated --queries flag in client commands in place of the --includes flag
  • [email protected]
    • Initial release of apollo-language-server to support vscode-apollo, and apollo
    • Supports editor features for...
      • Autocompletion of GraphQL documents
      • Hover information for fields anr arguments
      • Type definitions and references
      • Code lenses for open files
  • [email protected]
    • Initial Release of vscode-apollo
    • Switching of schema tags #632
    • Supports all of the editor features exposed by apollo-language-server

v1.8.3

  • apollo
  • apollo-codegen-swift
    • Treat mergeInFieldsFromFragmentSpreads as false in Swift codegen when flag isn't specified. Fixes #537. @martijnwalraven)

v1.7.1

🚀 Feature

  • apollo-codegen-typescript
    • #535 [TS] Sort global types so order is not determined by order of appearance (@danilobuerger)

🐛 Bug Fix

  • apollo-codegen-typescript
    • #544 Prepend ./ to TS relative paths to make them valid, Closes #543 (@shadaj)
  • apollo-cli
    • #534 Allow to run apollo codegen:generate --watch on non tty devices (@trojanowski)

Committers: 3

v1.7.0

🚀 Feature

  • apollo-language-server, apollo-vscode
    • #536 Display status of loading tasks for config and Engine stats (@shadaj)
  • apollo-cli
    • #533 Fall back to other methods of schema loading when one fails (@shadaj)
  • apollo-cli, apollo-codegen-typescript
    • #525 [TS] Elimate newlines at beginning of file and add newline at end of file (@danilobuerger)
  • apollo-cli, apollo-codegen-core
    • #526 Scan all files for queries and reduce use of default endpoints (@shadaj)
  • apollo-cli, apollo-codegen-typescript, common-test
  • apollo-codegen-typescript

🐛 Bug Fix

  • apollo-cli, apollo-language-server, apollo-vscode
    • #519 [VSCode] Fix detection of projects inside folders (@shadaj)
  • apollo-cli

📝 Documentation

Committers: 3

v1.6.0

🚀 Feature

  • apollo-language-server
  • apollo-language-server, apollo-vscode
    • #515 Fix missing descriptions and add more hover information for arguments (@shadaj)
  • apollo-cli, apollo-codegen-core, apollo-language-server, apollo-vscode-webview, apollo-vscode
    • #512 React UI for webviews, fix file tracking and fragment spreads (@shadaj)
  • apollo-cli, apollo-language-server, apollo-vscode
    • #508 Support jumping to definitions in schema (@shadaj)

📝 Documentation

🏠 Internal

  • apollo-cli, apollo-language-server
    • #506 Share validation logic between CLI and language server (@shadaj)

Committers: 2

v1.5.0

🚀 Feature

  • apollo-language-server, apollo-vscode
  • apollo-cli, apollo-codegen-core
    • #497 Load config from apollo.config.js or package.json (@shadaj)

🏠 Internal

  • apollo-cli
    • #492 Make TypeScript options more consistent across packages (@shadaj)

Committers: 1

v1.4.0

🚀 Feature

  • apollo-cli
    • #484 Support file watching for codegen:generate (@shadaj)
    • #490 Assume the output is a directory when it has no extension (@shadaj)
    • #485 Support loading server-side schema from JS/TS files (@shadaj)
    • #483 Support generating based on .graphql schema files (@shadaj)

🐛 Bug Fix

  • apollo-cli, apollo-codegen-core
    • #488 Handle cases when storing server-defined models in local state (@shadaj)

🏠 Internal

  • apollo-cli

Committers: 1

v1.3.0

🚀 Feature

  • apollo-cli, apollo-codegen-core
    • #480 Initial support for client-side schemas (@shadaj)

🏠 Internal

  • apollo-cli, apollo-codegen-core, apollo-codegen-flow-legacy, apollo-codegen-flow, apollo-codegen-scala, apollo-codegen-swift, apollo-codegen-typescript-legacy, apollo-codegen-typescript
    • #479 Run build before publishing to prevent uploading stale code (@shadaj)

Committers: 1

v1.2.0

🚀 Feature

🐛 Bug Fix

  • apollo-cli, apollo-codegen-core
    • #465 Improve typing of options and add more codegen tests (@shadaj)
    • #464 Command-level unit tests for codegen (@shadaj)
  • apollo-cli
    • #470 Restore ability to put generated files in a directory relative to source (@mike-marcacci)
    • #457 Allow legacy targets to be used when manually specified (@shadaj)
  • apollo-codegen-flow
    • #461 Change generated flow files extension to .js instead of .ts (@TLadd)

📝 Documentation

  • apollo-cli

🏠 Internal

  • Other
    • #477 Add lerna-changelog to manage generating changelogs (@shadaj)
  • apollo-cli, apollo-codegen-core
    • #465 Improve typing of options and add more codegen tests (@shadaj)
    • #464 Command-level unit tests for codegen (@shadaj)

Committers: 5

Legacy Apollo Codegen Changelog

v0.20.2

  • The TypeScript and Flow targets now use block comments to better handle multiline comments in schemas
  • Fix crash when running on a version of Node that already supports Array.flatMap

v0.20.1

  • Fix issue with flow-legacy target being unusable

v0.20.0

  • BREAKING: The typescript and flow targets now refer to the modern implementations. The deprecated legacy targets are available under typescript-legacy and flow-legacy.
  • BREAKING: The --output parameter to the CLI is now required for all targets.
  • The TypeScript and Flow targets now support outputting types to either a single file or a directory, where types for each query will be separated