Skip to content

v0.4.3

Choose a tag to compare

@github-actions github-actions released this 22 Jun 11:53
· 174 commits to main since this release
48d0ae1

v0.4.3 - 2024-06-22

The Typescript/Deno SDK is now stable.

Bug Fixes

(ci) Poetry lockfile (#732)
  • Fixes poetry lockfile and adds pre-commit hook to prevent issue from
    happening
(docs) Fix demo typegraphs 2 (#756)

Fix example typegraphs on metatype.dev.

  • reduce.ts
  • policies.ts
  • graphql.ts
  • authentication.ts

MET_574

Migration notes

No Migrations Needed

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change
(docs) Fix programmatic deployment guides (#762)
  • Fix typo
  • fix/test tg deploy
  • fix/test tg remove

MET-587

Migration notes

No Migration Needed

...

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change
Only build xtask once for the tests (#720)

Use the xtask binary to run the tests.

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change

Summary by CodeRabbit

  • New Features

    • Updated platform compatibility to x86_64-linux.
  • Added new configuration entry for enhanced versioning and platform
    support.

  • Improvements

  • Modified test script to use a custom build script for better test
    management.

These changes improve platform compatibility and streamline the testing
process.


Missing typegraphs (#741)

Fix Missing Typegraphs

  • attempt to fix the missing typegraphs on metatype.dev.

MET-563

Migration notes

No Migrations Needed
...

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change
Upload url path and add logging in the SDK (#740)
  • Fix upload url: prepare-upload returns upload tokens instead of upload
    urls
  • Add logging in the typegraph SDK
  • Refactor the actor system in the CLI
  • Use jsonrpc for communication between the CLI and typegraph processes
    (over stdin/stdout)

Migration notes

  • The typegraphs.deno section of the metatype.yaml config file has
    been replaced by typegraphs.typescript and typegraphs.javascript.

  • tg_deploy params has changed.

  • The change comes with new or modified tests

  • Hard-to-understand functions have explanatory comments

  • End-user documentation is updated to reflect the change

Failed typegraph deployment (#758)
  • Fix casing typo in the typescript sdk
  • Fix error reporting in the typescript sdk
  • Display the retry number
  • Warning on cancelled retry

Migration notes

N/A

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change

Documentation

`/docs/concepts/features-overview/` (#725)
  • Re-does the feature overview page of the documentation.

Summary by CodeRabbit

  • New Features

  • Added a "Features Roadmap" component to the website, displaying a list
    of features with details and links.

  • Documentation

  • Updated various guides and reference documents to improve clarity and
    presentation of code examples.

  • Added new sections for various features such as Typegate, Typegraph,
    Runtimes, Prisma, Auth, Tooling, and SDK.

  • Bug Fixes

    • Corrected a typo in the GraphQL runtimes reference documentation.
  • Refactor

  • Replaced SDKTabs and TabItem components with TGExample for
    better code example presentation.

  • Adjusted the MiniQL component to handle optional properties and
    default settings.


`/docs/reference/metagen` + `/docs/guides/wasm-functions` (#751)
  • Adds /docs/reference/metagen
  • Adds /docs/guides/wasm-functions
  • Adds a codegen section to /docs/guides/external-functions

MDK-492.

Migration notes

...

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change

Summary by CodeRabbit

  • New Features

  • Added new targets for metagen with different generators and paths
    for TypeScript, Python, and Rust.

  • Introduced new functionality for defining and exposing typegraphs with
    policies in various environments (Deno, Python, Rust).

  • Added automated Rust WebAssembly project generation and compilation
    script.

  • Enhanced documentation with new sections and updated code examples
    using TGExample.

  • Bug Fixes

    • Updated .gitignore to exclude *.wasm files.
  • Documentation

  • Updated links and added detailed instructions for generating types
    using metagen.

  • Refactor

  • Switched from HashMap to BTreeMap and HashSet to BTreeSet in
    various modules for better data structure handling.

    • Added logging enhancements in the Typegate class.
  • Chores

    • Updated build script for Rust WebAssembly target.
Programmatic deployment blogpost (#752)

Blogpost to help discover programmatic deployment additions.

Migration notes

...

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change

Summary by CodeRabbit

  • New Features

  • Introduced programmatic deployment feature for deploying typegraphs
    within the Metatype ecosystem using TypeScript/Python SDKs.

  • Added new configuration options and deployment functions to enhance
    automation and flexibility in deployment processes.

  • Documentation

  • Added a new blog post detailing the programmatic deployment feature
    and its usage.

Features

(SDK) Add `globs` and `dir` support for artifact deps. (#698)
  • Include glob and dir support for PythonRuntime deps.
  • Include glob and dir support for DenoRuntime deps.
  • add tests

The change includes support for declaring artifact dependencies through
globs and dirs

MET-441

Migration notes

In the deps parameter for python.import(...) and deno.import(...),
globs and dirs can be passed in addition to files.

  • The change come with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change

Summary by CodeRabbit

  • New Features

  • Introduced functionality for defining and deploying Typegraphs for
    Deno and Python runtimes.

  • Added support for defining a Deno runtime dependency graph with
    policies for test scenarios.

  • Bug Fixes

  • Corrected the structure of the Deno.serve call in the serve
    function.

  • Refactor

  • Enhanced method chaining for better readability in the MetaTest
    class.

  • Tests

  • Updated test coverage reporting to include new Deno runtime test
    files.

    • Commented out and removed outdated test cases in Deno runtime tests.
  • Chores

    • Updated platform specification in configuration files.

(docs) Add `embedded typegate` page (#747)

Embedded typegate docs page

  • need a page under meta-cli/embedded typegate to explain how that
    works
  • tutorials should take advantage of the embedded one
  • the embedded one should be the default everything
  • explain that there is 2 flavors in reference/meta-cli

MET-562

Migration notes

No Migrations Needed
...

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change
(mdk) Mdk python (#707)

Mdk for python runtime

Migration notes

None

Summary by CodeRabbit

  • New Features

  • Introduced new functionalities for generating Python code based on
    configurations, including handling of templates and required objects.

  • Added Python script templates for defining typed functions and
    structured objects with comprehensive data type handling.

    • Enhanced type management and priority handling in utility functions.
  • Documentation

  • Provided detailed summaries and documentation for new functionalities
    and templates.

  • Refactor

  • Implemented new structures and methods for efficient code generation
    and type handling.

  • Tests

    • Added tests for defining typegraph structures and policies in Python.
  • Chores

  • Updated URLs in the .ghjk/deno.lock file to reflect new changes in
    the codebase.


(mdk) `mdk_typescript` (#739) - BREAKING: `mdk_typescript` (#739)
  • Implements the mdk_typescript code generator for typescript type
    inference on Deno runtime external modules.
  • Ports the very simple generator already present in meta-cli.
  • Removes old codegen from cli and sdk.

Migration notes

  • Metagen section of metatype.yaml has changed. Targets are now lists
    instead of maps, items no sporting generator field instead of key
    acting as ref to generator.
  • (sdk) WasmRuntime's fromExport method has been renamed to export
    to make it more uniform to handler.
  • (sdk) WasmRuntime export and handler method's now expect
    handler/func name under name instead of func.
  • (sdk) codegen flag has been removed from ArtifactsConfig object.
  • (cli) gen mod/mdk has been simplified to just gen as the previous
    mod option is no longer avail.

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change
(mdk,gate) Hostcall (#706)

Introduces a mechanism for wasm materializers to access hostgate
functions.

This implements a pretty basic JSON wire interface, a singular
hostcall function that's exposed to materializers. The only
implemented function on this interface are gql queries.

This is a stacked PR on top of #687.

MET-473.

  • The change come with new or modified tests

Summary by CodeRabbit

  • New Features

  • Added an import statement for std_url and a new task for installing
    WASI adapter related files.

  • Introduced new functionalities in the application's runtime to support
    additional parameters and error handling.

  • Enhancements

  • Improved the application's handling of GraphQL queries with new error
    types and display methods.

  • Enhanced the WASM runtime build process to target a more appropriate
    architecture.

  • Bug Fixes

  • Fixed issues in Python and WASM runtime tests to ensure reliability
    and performance.

  • Documentation

  • Updated internal documentation to reflect new command interfaces and
    environmental interactions in the application's CLI tools.

  • Refactor

  • Refactored various internal APIs to improve code maintainability and
    efficiency.


(meta-test) Update `t.engine()` impl (#716)

Update the implementation of t.engine()

The change comes with removing the different spin-offs of t.engine
which arose from the previous impl of t.engine incompatibility with
artifact upload protocol. The change will make t.engine deploy the
artifacts in Artifact Resolution mode by running a shell command to
deploy the typegraph.

...

MET-500

  • remove different versions of t.engine
  • add tg_deploy caller script which imports typegraphs dynamically
    and deploys them.
  • make changes to make t.engine run in artifact resolution mode
  • update existing tests to adhere to the current change
  • pass unique different tempDirs to all the typegate instances
    created during test.
  • add support for authoring multiple typegraphs in a single file in
    meta-test and add multi typegraph tests.

Migration notes

python SDK test typegraphs' function names should be the same with the
filename of the typegraph file, for dynamic import compatibility
reasons.

Summary by CodeRabbit

  • New Features

  • Introduced a new function wasm_duplicate to handle WebAssembly
    runtimes with specific policies.

  • Refactor

  • Renamed and refactored functions and test setups to align with updated
    test frameworks and improve code clarity.

  • Bug Fixes

  • Added error handling in the getLocalPath function to log warnings if
    linking errors occur.

  • Tests

  • Updated test scripts to reflect changes in function calls, imports,
    and engine instantiation for better test accuracy and reliability.

Doc polish (#735)
  • doc polish and cleanup
  • upgrade website except Docusaurus as the css issue is stil present
  • bump to next pre-release
  • not everything is done, but let's iterate!

Summary by CodeRabbit

  • New Features

    • Added platform compatibility for x86_64-linux.
  • Introduced new functionalities for generating Python code and enhanced
    type management.

  • Added import statement for std_url and new task for installing WASI
    adapter files.

  • Enhanced runtime support for additional parameters and error handling.

  • Improvements

  • Enhanced GraphQL query handling with new error types and display
    methods.

  • Improved WASM runtime build process for better architecture targeting.

  • Documentation

    • Updated feature overview and added a "Features Roadmap" component.
    • Enhanced various guides and references for better clarity.
  • Added new sections for Typegate, Typegraph, Runtimes, Prisma, Auth,
    Tooling, and SDK.

    • Corrected typos and improved code example presentation.
  • Bug Fixes

    • Fixed issues in Python and WASM runtime tests to ensure reliability.

Miscellaneous Tasks

(docs) Replace term materializer with function for user facing concepts (#736)

Materializer and function might introduce confusion as they are pretty
much the same thing from the user point of view, one can be defined in
terms of the other.

Migration notes

None

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change

Summary by CodeRabbit

  • Documentation
  • Updated terminology from "materializers" to "functions" across various
    documentation files to reflect a semantic shift and provide clearer
    descriptions.
  • Improved clarity in descriptions of custom functions, runtimes, and
    their roles in the Metatype computing model.
  • Corrected typos and refined explanations in multiple guides and
    reference documents.

These changes enhance the readability and consistency of our
documentation, making it easier for users to understand and implement
the features and concepts within the system.

(docs) Embedded typegate (v0.3.x) blog (#750)

Add a blog about Embedded Typegate.

MET-564

Migration notes

No Migrations Needed

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change

Summary by CodeRabbit

  • New Features

  • Introduced a new blog post on emulating server nodes locally using the
    Embedded Typegate feature in Meta CLI.

  • Added a new BlogIntro component to the website for displaying styled
    blog introductions.

  • Documentation

  • Updated documentation to explain how to spin up a local instance of
    Typegate for testing and development.

  • Chores

  • Updated platform compatibility from "x86_64-linux" to
    "aarch64-darwin".

(website) `g.rest` reference at `/docs/reference/rest` (#734)

Add reference page for g.rest(..)

Migration notes

None

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change

Summary by CodeRabbit

  • Documentation
    • Added a reference to the REST reference section in the REST guide.
    • Introduced new documentation for consuming APIs using Metatype.
  • Included examples in Python and TypeScript for interacting with REST
    APIs.
    • Explained query types, dynamic queries, and endpoint access.
  • Provided guidance on accessing auto-generated documentation and
    downloading the OpenAPI spec.

Bump deno to 1.43.6 (#737)

Update deno to 1.43.6 and make requisite changes.

Required because of dep conflicts with latest lade-sdk.

Migration notes

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change

Update `rust` dependencies (#748)

update Rust dependencies

MET-479

Migration notes

No Migrations Needed

...

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change
Bump `METATYPE_VERSION` to 0.4.3 (#764)