This changelog documents the changes between release versions.
Changes to be included in the next upcoming release
- Updated ndc-sdk-typescript to v8.5.0
- Updated ndc-sdk-typescript to v8.4.0 to address CVE-2026-25223 (#66)
- Add GH Workflow to automate release (#66)
- Match UID for hasura in Dockerfile and connector-definition Dockerfile (#65)
- Updated NodeJS to v24
- Update Connector
Dockerfiledefinitions for CVE patching (#62)
- Updated the NDC TypeScript SDK to v8.3.0 (#61)
- Logging of requests, responses and errors has been improved to include the collection/operation name if available
- Updated the NDC TypeScript SDK to v8.2.0 (#58)
- Updated to support v0.2.0 of the NDC Spec. This is a very large update which adds new features and some breaking changes to the spec.
- If the
X-Hasura-NDC-Versionheader is sent, the SDK will validate that the connector supports the incoming request's version and reject it if it does not. If no header is sent, no action is taken - Added support for automatically returning compressed responses using gzip or deflate
- All OpenTelemetry trace spans are now annotated with the TypeScript SDK version (
resource.service.version: "8.2.0") and the connector name (resource.service.connector.name: "ndc-nodejs-lambda") and version (resource.service.connector.version: "1.16.0"). The connector name and version can be overriden usingHASURA_CONNECTOR_NAMEandHASURA_CONNECTOR_VERSIONenvironment variables.
- Updated to use TypeScript v5.8.3 (#57)
- Increase the limit of the size of the request's body to 30 MB (#56)
- Added native toolchain support for connector version upgrading and fixed Dockerized connector version upgrading (#55)
- Updated to use TypeScript v5.8.2 (#53)
- Updated
cross-spawndependency to resolve security vulnerability (#53)
- The connector now supports being upgraded with the forthcoming
ddn connector upgradecommand (#51)
- Updated to use TypeScript v5.7.3 (#52)
- The connector now exits during startup if there are compiler errors in the functions code. The compiler errors are printed to stderr. Previously the connector would print the errors and start "successfully", but with an empty schema. The new behaviour ensures that when the connector is used with
ddn connector introspect,ddnis aware that a problem has occurred (because the connector fails to start) and will prompt the user to print the logs to see the compiler errors. (#50)
- Exported the
@hasura/ndc-lambda-sdk/connectormodule to make it easier to build entirely new connectors that extend the existing functionality provided by the SDK (#45)
- Updated to use TypeScript v5.6.3 (#46)
- Updated the NDC TypeScript SDK to v7.0.0 (#44)
- Added support for exporting OpenTelemetry traces and metrics over GRPC. A new environment variable
OTEL_EXPORTER_OTLP_PROTOCOLlets you switch betweenhttp/protobufandgrpc. - By default OpenTelemetry is now exported over GRPC to
http://localhost:4317. - To return to the old defaults, set the following environment variables:
OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf"OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4318"
- Added support for exporting OpenTelemetry traces and metrics over GRPC. A new environment variable
- Added
documentationPageto the connector metadata to enable theddnCLI to suggest documentation to users (#41) - Added multi-platform support to the
hasura/ndc-nodejs-lambdadocker image. It now supports both linux/amd64 and linux/arm64 platforms (#42) - Updated the NDC TypeScript SDK to v6.1.0 (#43)
- Support for querying nested collections inside an EXISTS expression in a predicate
- Use a Hasura-forked version of ts-node-dev (used for hot-reloading in watch mode) to upgrade deprecated dependencies (#43)
- Updated the NDC TypeScript SDK to v6.0.0 (#39)
- The
/healthendpoint is now unauthenticated
- The
- Updated TypeScript to v5.5.4 (#39)
- Updated the NDC TypeScript SDK to v5.2.0 (#38)
- The connector now listens on both ipv4 and ipv6 interfaces
- Added a default .gitignore that ignores node_modules in the connector template (#34)
- Updated the NDC TypeScript SDK to v5.0.0 (#35)
- The BigInt scalar type now uses the biginteger type representation
- Added
dotenv-clito the dev dependencies of the connector's default package.json to help with using .env files (#36)
- Removed type inference recursion limit (#33). This enables the use of very nested object graphs.
- Updated the NDC TypeScript SDK to v4.6.0 (#33).
- This enables the /metrics endpoint to return the default prometheus metrics
ConnectorErrors can be thrown and now use any HTTP status code
- Fixed watch mode not reloading after files with compiler errors are changed #27
- Fixed functions that are imported then re-exported causing a crash #28
- Support for NDC Spec v0.1.2 via the NDC TypeScript SDK v4.4.0 (#29).
- Built-in scalar types that support equality now define it in the NDC schema.
- Built-in scalar types now have an explicit type representation defined in the NDC schema.
- Fixed functions that return null causing crashes (#31)
- Added support for native connector packaging (#30)
- b3 (zipkin) OpenTelemetry trace propagation support via the NDC TypeScript SDK v4.5.0 (#32)
- Improved error messages when unsupported enum types or unions of literal types are found, and allow these types to be used in relaxed types mode (#17)
- Improved naming of types that reside outside of the main
functions.tsfile. Type names will now only be prefixed with a disambiguator if there is a naming conflict detected (ie. where two different types use the same name). Anonymous types are now also named in a shorter way. (#21) - Updated NodeJS to v20 and TypeScript to v5.4.2 (#23)
- Added a built-in Docker healthcheck, and ignored
node_modulesfrom the Docker build (#22)
- Updated to NDC TypeScript SDK v4.2.0 to include OpenTelemetry improvements. Traced spans should now appear in the Hasura Console
- Custom OpenTelemetry trace spans can now be emitted by creating an OpenTelemetry tracer and using it with
sdk.withActiveSpan(#16)
- Updated to NDC TypeScript SDK v1.4.0 to include OpenTelemetry improvements. Traced spans should now appear in the Hasura Console
- Additional OpenTelemetry trace spans covering work done around function invocations
- Support for NDC Spec v0.1.0-rc.15 via the NDC TypeScript SDK v4.1.0 (#8, #10, #13). This is a breaking change and must be used with the latest Hasura engine.
- Support for nested object/array selection
- New function calling convention that relies on nested object queries
- New mutation request/response format
- New names for configuration environment variables
- The default port is now 8080 instead of 8100
- OpenTelemetry support improved, with additional spans covering work done around function invocation
- Prompts the user to pick between a version of ndc-lambda-sdk that works for Hasura DDN Alpha or Hasura DDN Beta
- OpenTelemetry support added via support for NDC TypeScript SDK v1.3.0 (#12)
- Support for "relaxed types" (#10)
- Add support for treating 'true | false' as a Boolean type (#7)
- Add support for JSDoc descriptions from object types (#3)
- Fix type name conflicts when using generic interfaces (#4)
- Improve error handling of errors thrown from functions (#5)
- The entire causal stack trace is now captured as an error detail for unhandled errors
sdk.Forbidden,sdk.Conflict,sdk.UnprocessableContentcan be thrown to return error details to GraphQL API clients
- Add support for parallel execution of readonly functions (#2)
- Add missing query.variables capability
- Disallow use of Map types and types with index signatures
- Add support for re-exporting functions from other files
- Fix queries with variables returning incorrect result format
- If a scalar value validation fails, return the error as an UnprocessableContent error
- Add minimum node engine version to template package.json
- Use pretty printing of logs in watch mode in the template
- Add latest version check to yeoman generator
- Rename
@pureto@readonly - Add JSONValue type for arbitrary JSON
- Block use of never, object, unknown, any and tuple types
- Block use of function types as args/return values
- Disallow use of union types in args and return types
- Remove custom scalar generation as an unknown type fallback
- Prevent usage of null or undefined literals on their own
- Add support for literal types
- Fix queries not using new response reshaping code
- Fix SIGTERM signal handling for clean docker container shutdowns
- Add BigInt support and rework scalar type handling
- Add support for Date types
- Allow promise typed return values
- Fix tsconfig relative pathing
- Fix error when no user tsconfig exists
- Initial release