From 67066805d70703a2a145b93f71a52e4650955ba2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 6 Sep 2024 15:59:40 +0300 Subject: [PATCH] chore(release): prepare for 0.4.11-rc.0 (#837) Automatic suggested bump Co-authored-by: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> --- .ghjk/lock.json | 2 +- CHANGELOG.md | 3953 ++++++++++------- Cargo.lock | 16 +- Cargo.toml | 2 +- examples/templates/deno/api/example.ts | 6 +- examples/templates/deno/compose.yml | 2 +- examples/templates/node/compose.yml | 2 +- examples/templates/node/package.json | 2 +- examples/templates/python/compose.yml | 2 +- examples/templates/python/pyproject.toml | 4 +- pyproject.toml | 2 +- src/meta-lsp/package.json | 2 +- src/meta-lsp/ts-language-server/package.json | 2 +- .../vscode-metatype-support/package.json | 2 +- src/pyrt_wit_wire/pyproject.toml | 2 +- src/typegate/src/runtimes/wit_wire/mod.ts | 2 +- src/typegraph/core/Cargo.toml | 2 +- src/typegraph/core/src/global_store.rs | 2 +- src/typegraph/deno/deno.json | 2 +- src/typegraph/python/pyproject.toml | 2 +- src/typegraph/python/typegraph/__init__.py | 2 +- src/xtask/Cargo.toml | 2 +- .../__snapshots__/metagen_test.ts.snap | 4 +- tests/runtimes/wasm_reflected/rust/Cargo.toml | 2 +- tools/consts.ts | 4 +- 25 files changed, 2266 insertions(+), 1759 deletions(-) diff --git a/.ghjk/lock.json b/.ghjk/lock.json index 03cd54ba4a..d7e652d31d 100644 --- a/.ghjk/lock.json +++ b/.ghjk/lock.json @@ -1978,7 +1978,7 @@ ] } }, - "defaultEnv": "dev", + "defaultEnv": "ci", "envsNamed": { "main": "bciqkx2kodz5dx5pv3hjcc4vpirphyetattk4oks5pucb7dsqrgwzqwa", "_wasm": "bciqk7aif25pqtsyncbnbdapte4lixsodypfxvmkepsuey74vgr4zb5q", diff --git a/CHANGELOG.md b/CHANGELOG.md index c6e1330548..3cbc599c5f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,364 +2,338 @@ All notable changes to this project will be documented in this file. -## [unreleased] +## [v0.4.10](https://github.com/metatypedev/metatype/releases/tag/v0.4.10) - 2024-09-04 + +### Miscellaneous Tasks + +
+ +Bump to v0.4.10 (#835) + + +- Bump v0.4.10 + +
+ + +## [v0.4.10-rc1](https://github.com/metatypedev/metatype/releases/tag/v0.4.10-rc1) - 2024-09-03 ### Bug Fixes
-(ci) Poetry lockfile (#732) +Use import_map at runtime (#833) -- Fixes poetry lockfile and adds pre-commit hook to prevent issue from -happening +- Bump to release v0.4.10-rc1 +- Use import_map.json at runtime since remote configs aren't supported
+ + +## [v0.4.9](https://github.com/metatypedev/metatype/releases/tag/v0.4.9) - 2024-09-02 + +### Miscellaneous Tasks +
-Only build xtask once for the tests (#720) +Bump to v0.4.9 (#831) -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. - - - ---------- +- Bump version to v0.4.9 +- Fix issue with cross config context
-### Documentation +## [v0.4.9-rc2](https://github.com/metatypedev/metatype/releases/tag/v0.4.9-rc2) - 2024-09-02 + +### Miscellaneous Tasks
-`/docs/concepts/features-overview/` (#725) +(release) Prepare 0.4.9-rc2 (#829) -- 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. - - ---------- +- Fix the minor issues with rc1 +- Bump to rc2
+## [v0.4.9-rc1](https://github.com/metatypedev/metatype/releases/tag/v0.4.9-rc1) - 2024-09-02 + ### Features
-(mdk) Mdk python (#707) +(docs) Post on `Durable Execution`. (#816) -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,gate) Hostcall (#706) +(metagen) Client_ts (#790) -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. +- Implements `client_ts` as described in #777 . -MET-473. +#### Migration notes -- [x] 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. +- **Bug Fixes** +- Improved error handling in the `typegraph` function to provide better +error messages. -- **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. +- **Chores** +- Updated Docker image references to use `docker.io` prefix for +consistency. + - Excluded unnecessary files from the VSCode settings. + - Enhanced configurability of Docker commands in development tasks. +- Updated environment variable `GHJK_VERSION` to reflect a semantic +versioning format. -- **Bug Fixes** -- Fixed issues in Python and WASM runtime tests to ensure reliability -and performance. +- **New Features** +- Introduced modules and methods for TypeScript and Python code +generation in the `metagen` library, enhancing client generation +capabilities. + - Added `test_typegraph_3` function for improved testing capabilities. + - Included metadata for the package manager in the project settings. + + +
+
+ +(sub) Sdk and typing (#811) + + +User side of substantial -- **Documentation** -- Updated internal documentation to reflect new command interfaces and -environmental interactions in the application's CLI tools. +#### Migration notes -- **Refactor** -- Refactored various internal APIs to improve code maintainability and -efficiency. - +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
-(meta-test) Update `t.engine()` impl (#716) +Add caching to Secrets struct to improve performance (#813) -Update the implementation of `t.engine()` - - +#### Migration notes -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. +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
+ + +### Refactor + +
+ +(docs, gate) Push for `meta dev` instead of `meta typegate` on docs (#822) + + + +Having a good title and description is important for the users to get +readable changelog. +--> -... + - +## Ensure documentation is pushing for meta dev instead of meta typegate +- [x] add a warning that envs are not set. + -[MET-500](https://linear.app/metatypedev/issue/MET-500/test-update-the-implementation-of-tengine) - +[MET-635](https://linear.app/metatypedev/issue/MET-635/cli-ensure-documentation-is-pushing-for-meta-dev-instead-of-meta) -- [x] remove different versions of `t.engine` -- [x] add tg_deploy caller script which imports typegraphs dynamically -and deploys them. -- [x] make changes to make `t.engine` run in artifact resolution mode -- [x] update existing tests to adhere to the current change -- [x] pass unique different `tempDir`s to all the typegate instances -created during test. -- [x] 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. +_No Migration Needed_ - - - - -## Summary by CodeRabbit +- [ ] End-user documentation is updated to reflect the change + +
+
+ +Flatten deps and improve repo folder (#821) + + +- Renames `libs/` to `src/`. +- Moves `typegate/`, `meta-cli`, `typegraph/`, `meta-lsp/` to `src/`. +- Renames `dev/` to `tools/` +- Moves `website/` to `docs/metatype.dev`/ +- Moves `src/typegate/tests` to `tests/` +- Moves `src/typegraph/deno/dev` to `tools/jsr/` +- Moves `src/typegraph/deno/sdk` to `src/typegraph/deno/` +- Renames `src/deno` to `src/mt_deno` +- Bumps deno to `1.46.1` +- Bumps rust toolchain to `1.80.1` +- Moves all rust dependencies to workspace section +- Moves `tools/task-*.ts` to `tools/task/*.ts` +- Moves `cliff.toml`, `Cross.toml`, `ruff.toml` to `tools/` +- Uses deno +[workspaces](https://docs.deno.com/runtime/manual/basics/workspaces/) to +organize `src/typegraph/deno`, `src/typegate`, `tools/`, `tests/` and +more. +- Closes MET-607 +- Updates poetry to 1.8.3 +- Bumps metatype to version 0.4.9-rc1 +- [x] Update CONTRIBUTING.md +- [x] Fix CI workflows +- [x] Fix Dockerfile +- [x] Fix all tests -- **New Features** -- Introduced a new function `wasm_duplicate` to handle WebAssembly -runtimes with specific policies. +#### Migration notes -- **Refactor** -- Renamed and refactored functions and test setups to align with updated -test frameworks and improve code clarity. +- No end user changes required -- **Bug Fixes** -- Added error handling in the `getLocalPath` function to log warnings if -linking errors occur. +- [x] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change -- **Tests** -- Updated test scripts to reflect changes in function calls, imports, -and engine instantiation for better test accuracy and reliability. - +---------
-## [v0.4.2](https://github.com/metatypedev/metatype/releases/tag/v0.4.2) - 2024-05-22 +## [v0.4.8](https://github.com/metatypedev/metatype/releases/tag/v0.4.8) - 2024-08-16 ### Bug Fixes
-(release) Fix fat CLI compilation (#730) +Table method for kv runtime (#815) -- Fix fat CLI compilation -- Bump to 0.4.2 -- Bump wasmtime to 21 -- Bump rust to 1.78.0 - +I discover an issue in the KV runtime documentation +[kvruntime docs](https://metatype.dev/docs/reference/runtimes/kv) + +
+
+ +`wasm_backtrace` config bug (#814) + + +- `$WASM_BACKTRACE_DETAILS` was enabled in `main` ghjk env which +affected embedded wasm module compilation to have backtrace enabled. +This broke typegate runs without the flag enabled due to mismatch. +- Fixes Cargo.lock not being used in Dockerfile. +- Prepare 0.4.8 release + +
+ + +### Features + +
+ +Kv runtime (#797) + + +#### Migration notes +... - [x] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - ---------- +- [x] End-user documentation is updated to reflect the change +- [ ] Hard-to-understand functions have explanatory comments
-## [v0.4.1](https://github.com/metatypedev/metatype/releases/tag/v0.4.1) - 2024-05-20 - -### Bug Fixes +### Miscellaneous Tasks
-(SDK) Artifact upload fails when same file referred multiple times (#715) +Bump to 0.4.8-0 (#810) -- [x] fix the bug where duplicate artifact references causing failure -during artifact resolution(typegate) during runtime. -- [x] add sync mode tests for Python and Deno runtime. -- [x] add other edge test cases to artifact upload. - - [x] test for no artifact in typegraph - - [x] test for duplicate artifact reference in the same typegraph +- Bump prerelease +- Fix minor issue with release pipeline
+ + +## [v0.4.7](https://github.com/metatypedev/metatype/releases/tag/v0.4.7) - 2024-08-08 + +### Features +
-(gate) Improve logging and responses, prepare 0.4.1 (#714) +(cli) Fix auto deployment (#806) -- Logging before and after each faillible operation - - Runtimes: foreign resolvers -- Always log before reporting error: HTTP response -- Fix error code in artifact_service -- Add `BaseError` class for structured messages in responses + + - -## Summary by CodeRabbit +- Upgrade lade-sdk +- Fix discovery +- Remove obsolete dep: actix-web -- **New Features** -- Updated Docker image versions and dependency versions to ensure -compatibility and stability. - - Added a search functionality to the app. + -- **Bug Fixes** -- Enhanced error handling with specific error classes for more detailed -error messages. +- `lade-sdk` uses the main branch, which now has the fix for the +following issues: +- dependency version conflict with +[deno](https://github.com/metatypedev/deno/blob/691f297537c4a3d9a12ce005c0478b4aee86287c/Cargo.toml#L179): +`url` is set at `<2.5.0`; +- required ProjectID error for infisical: the project id is added +explicitly on the command. -- **Refactor** -- Replaced generic `Error` instances with specific error classes for -better error categorization. -- Refactored error handling in HTTP response functions to use a -`BaseError` class. + -- **Chores** -- Updated version numbers across multiple configuration files to -`0.4.1-0`. - +#### 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
- - -### Features -
-Polish documentation and project (#696) +Cors headers on error (#803) - - -- update the headline, the overviews and many other documentation areas -- upgrades the dependencies. - - - - - - -- [ ] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change + +- - -## Summary by CodeRabbit + +- -- **Bug Fixes** -- Updated Docker image version for the `typegate` service to ensure -stability and compatibility. + -- **Documentation** -- Revised `TAGLINE` for better clarity on supported languages: WASM, -Typescript, and Python. -- Updated version declarations for improved consistency and -functionality across multiple files. +#### 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
@@ -409,123 +366,106 @@ functionality across multiple files.
-(docs) Final polish to comparison table. (#709) +Bump to 0.4.7-0 (#805) -some changes to comparison table(docs) +- Bump version to 0.4.7-0 + +
+ + +### Refactor + +
+ +(docs) Add how to test typegraphs doc (#798) + + +# `How to test your typegraphs` documentation + + + +- [x] add python doc +- [x] add ts doc +- [x] upgrade bitnami/minIo image to 2024? #### Migration notes _No Migrations Needed_ - ## Summary by CodeRabbit +- **New Features** +- Updated the Minio service to the latest version for improved +performance and potential new features. +- Introduced comprehensive documentation for testing typegraphs in both +TypeScript and Python, enhancing developer experience. - **Documentation** -- Introduced a new section on Artifact Tracking Protocol in the -architecture documentation, explaining artifact classification and -tracking modes in Metatype. -- Updated comparisons documentation with additional platforms, criteria -for choosing Metatype, and detailed feature comparison tables. -- Renamed project directory for clarity and consistency in project setup -documentation. -- **Bug Fixes** - - Removed outdated `TODO` comment in installation documentation. + - Enhanced readability of the `Meta CLI` upgrade instructions. +- Reformatted installation instructions for the `typegraph` package for +better clarity. +- **Chores** +- Updated dependency management configuration for improved compatibility +and performance across different platforms.
-Bump to version 0.4.1-0 (#713) +Improve JSR score (part 1) (#807) -- Bumps version to 0.4.1-0. -- Fixes broken release CI. -- #719 -- Adds 20 minutes to test-full timeout. + + - -## Summary by CodeRabbit - -## Summary by CodeRabbit +- Add symbol documentations +- Fix slow types -- **New Features** -- Updated platform support for better compatibility with "x86_64-linux". + -- **Bug Fixes** -- Minor version updates across multiple configurations to enhance -stability. +- -- **Chores** -- Updated version numbers from "0.4.0" to "0.4.1-0" across various files -and configurations. + -- **Refactor** -- Adjusted build and test scripts for improved efficiency and -compatibility. +#### Migration notes -- **Documentation** -- Enhanced internal documentation to reflect version and platform -changes. - +... ---------- +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change
-## [v0.4.0](https://github.com/metatypedev/metatype/releases/tag/v0.4.0) - 2024-05-09 - -### Bug Fixes - -
- -(ci) Fix broken nighly jobs (#659) - +## [v0.4.6](https://github.com/metatypedev/metatype/releases/tag/v0.4.6) - 2024-08-01 -Fixes the broken nightly builds. Look at solved results -[here](https://github.com/metatypedev/metatype/actions/runs/8533669013). - -#### Motivation and context - -Nightly builds were broken due to oversight during the #571 fixes. - -#### Migration notes - -__No changes required__ - -### Checklist - -- [ ] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +### Features -
-(gh-tests) Fix local npm registry config (#692) +Better arg split logic for MCLI_LOADER (#799) - + -Fix the NPM registry config in the Github tests. +- - + - +- - + #### Migration notes -_N/A_ +... - +- [ ] End-user documentation is updated to reflect the change
+ + +### Miscellaneous Tasks +
-Set max log level based on verbose flag (#664) +Prepare 0.4.6 (#795) -Set max log level based on verbose flag +- Bump version to 0.4.6-0 +- Add sanity tests for published SDKs +- Bump deno to 1.45.2 +- Bump rust to 1.79.0 +- Fix myriad of bugs -#### Motivation and context +#### Migration notes +... -[MET-445](https://linear.app/metatypedev/issue/MET-445/cli-no-verboselogging-how-to-debug-this) +- [x] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change -#### Migration notes -_n/a_ + -### Checklist +## Summary by CodeRabbit -- [ ] The change come with new or modified tests +- **New Features** +- Introduced new logging capabilities in the `ConnectedEngine` with +adjustable logging levels. +- Implemented cleanup procedures in tests to enhance resource +management. + +- **Bug Fixes** +- Fixed import paths for permissions to ensure correct functionality in +tests and applications. + +- **Version Updates** +- Incremented version numbers across multiple projects and packages to +reflect ongoing development and improvements. + +- **Documentation** +- Added comments to clarify code behavior and potential future +considerations in various modules. + +- **Refactor** +- Optimized string handling in several functions and adjusted method +signatures for improved clarity and efficiency. + + + +
+ + +### Refactor + +
+ +(docs) Better documentation on `quick-start` page (#793) + + +## Improve the documentation on `quick-start` page + +- [x] add dev hunt result to homepage. + + + + + + +- + + + +- + + + +#### 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
+ + +## [v0.4.5](https://github.com/metatypedev/metatype/releases/tag/v0.4.5) - 2024-07-18 + +### Bug Fixes +
-Fix secret passing (#675) +Broken pipeline for 0.4.4 (#782) -Fix secret passing in examples and documentation. +Fixes erroneous usage of `setup-deno` which has been replaced by `ghjk` +itself. -#### Motivation and context +#### Migration notes -Followup to #666. +... + +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
+
+ +Broken release pipeline 2 (#783) + + +Fix issue with the three remaining failing jobs. #### Migration notes -_N/A_ +... -### Checklist +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
+
+ +Release pipeline 3 (#784) + + +- Remove accidental dry-run from jsr publish +- Fix cross dockerfile -- [x] The change come with new or modified tests +#### Migration notes + +... + +- [ ] The change comes with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change +- [ ] End-user documentation is updated to reflect the change
-Website and headline (#691) +Skip deno stack trace from error message (#787) - + -#### Motivation and context +Skip the deno stack trace from the error message when tg_manage fails. -Fix the CSS issue introduced by docusaurus 3.2.0 -(https://github.com/facebook/docusaurus/issues/10005). 3.2.1 should fix -it but the affected version maybe loaded by dependencies, so we will -have to wait a bit more. + - - + -### Checklist +#### Migration notes -- [ ] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +_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
-
+ + +### Features + +
-Do not override log level when no verbosity flag is present (#694) +(cli) Configurable backoff (#789) + - BREAKING: configurable backoff (#789) - - -Remove log level override by the verbosity flag when no flag is present. -It will default to the configured env_logger default level (or env -variable). + - +- Make the backoff configurable through the `--retry` and +`--retry-interval-ms` options. +- The default max retry count is changed to 0 on the default mode, and +remains 3 on the watch mode. +- The `--max-parallel-loads` option has been renamed to `--threads`. -... + - -The default log level became "error" after #664, and `RUST_LOG` -environment variable where ignored. - + #### Migration notes -_N/A_ +The `--max-parallel-loads` option has been renamed to `--threads`. - +- [x] End-user documentation is updated to reflect the change
- - -### Documentation -
-Start rebranding (#641) +Add list subcommand features to meta_cli (#775) +new branch after conflict with main branch + - - -#### Motivation and context + -Changing the intro. +- - + -#### Migration notes +- -None. + - +#### Migration notes -### Checklist +... -- [ ] The change come with new or modified 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 @@ -725,156 +758,224 @@ None.
-Add `reference/programmatic-deployment/` (#686) +Upgrade www and gha (#786) -#### Motivation and context - -Add missing docs for `tgDeploy`, `tgRemove` + + +
+
+ +Add back gleap (#791) + + + -### Checklist + -- [ ] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- Gleap.io was removed a while back +- this adds it back so visitors can open ticket and suggest feedback +- internally, we will use this to fine tune the documentation
+ + +### Miscellaneous Tasks +
-Add examples for each command (#684) +Bump v0.4.5 (#792) -#### Motivation and context +- Bumps metatype version to 0.4.5 +- Bumps ghjk to latest commit +- Fixes `setup` whiz task to avoid issues on macos +- Fixes release pipeline to publish JSR -Getting started with `meta` cli should be easy +MET-614 MET-606 MET-605 MET-613 #### Migration notes -None - -### Checklist +_No changes required._ -- [ ] The change come with new or modified 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
+ + +## [v0.4.4](https://github.com/metatypedev/metatype/releases/tag/v0.4.4) - 2024-07-05 + +### Bug Fixes +
-Improve `/tutorials/quick-start` section. (#681) +(gate) Ensure all deps are defined in import_map.json (#768) -- [x] Improve Layout -- [x] Include a simple project. -- [x] Add the result/outputs to running CLI commands. -- [x] Remove Metatype cloud registration form. -- [x] Separate the CLI commands to separate code blocks -- [x] Add links to references and concepts. -- [x] Add playground. - -#### Motivation and context - -[Docs -Meta-task](https://linear.app/metatypedev/issue/MET-440/docs-meta-task) - -#### Migration notes - -_No Migration Needed_ - -### Checklist - -- [x] Test the commands and the examples. -- [ ] The change come with new or modified tests +Ensure that all deps are defined in `import_map.json` with a specific +version.
-Improve `/docs/tutorials/metatype-basics` (#688) +Missing typegraphs (#755) -Improve `/docs/tutorials/metatype-basics` + -[Docs -Meta-task](https://linear.app/metatypedev/issue/MET-440/docs-meta-task) + -#### Migration notes +- fix the typegraphs that were incorrectly formatted -_No Migrations Needed_ + -### Checklist -- [ ] The change come with new or modified 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
-Improve `/reference/runtimes/` (#676) +Stable formatting and uniformize the code-loader (#766) -#### Motivation and context - -Better documentation + -N/A + -### Checklist +- add prettier to avoid doc formatting issue +- now explicitly require `!!code-loader!` to load code inside the +documentation (will hopefully help also with the missing typegraphs +issues, still under investigation) -- [ ] The change come with new or modified tests + + + + + + +- [ ] The change comes with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change +- [ ] End-user documentation is updated to reflect the change + +---------
+ + +### Documentation +
-Improve `/guides/external-functions` (#677) +Generate clients from openapi (#778) -- Improvements to the `/guides/external-functions` page. -- Adds a configuration file for git-town - -#### Motivation and context - -_N/A_ +Demonstrate how to use the openapi spec to generate clients in most +languages/frameworks. #### Migration notes -_N/A_ - -### Checklist +None -- [ ] The change come with new or modified 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 + +- **Documentation** +- Updated REST API documentation URLs with placeholders for easier +configuration. +- Added information on generating and using OpenAPI clients, including +TypeScript fetch client generation. +- **Bug Fixes** +- Corrected a regular expression in import handling to ensure accurate +replacements. +- **Chores** +- Improved file writing by appending a newline character to JSON +strings. + +
+ + +### Features +
-Improve `docs/reference/types` (#685) +Move all the configs to one single file (#733) -Improves `docs/reference/types` + -_N/A_ + + +- Move all the configs to one single file +- Remove some specific configs from the global config variable and make +them accessible on the `Typegate` instance, to improve test +configurability. + + + + + + #### Migration notes -_N/A_ +- `SYNC_REDIS_PASSWORD` has been removed, can only be set on the +`SYNC_REDIS_URL`. -### Checklist -- [ ] The change come with new or modified tests +- [x] The change comes with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [x] End-user documentation is updated to reflect the change @@ -883,11 +984,11 @@ _N/A_
-Add a comparison b/n metatype and other similar solutions/products. (#697) +Remove restrictions for union/either types (#761) - -- Adds a comparison table between metatype and other similar services. -- Add artifact upload protocol to `Architecture` section in docs. + - +In the previous versions, we restricted the variant types allowed in +union/either to be all in the same category (after flattening +multi-level unions): +- *Category 1* - **GraphQL leaf types**: scalar type, or array of scalar +type, which require no selection set on GraphQL. +- *Category 2* - **GraphQL non-leaf types**: object type or array of +object type, which require a selection set on GraphQL (aka selectable +types in the codebase). +Those restrictions can be lifted, and the selection field of an +union-type field will have inline fragments with type conditions for +each *Category 2* variant. No type condition is required for *Category +1* types, the selection sets are not relevant. - +The case that is not handled by this PR is when one of the variants is +an array of union type. -[MET-443](https://linear.app/metatypedev/issue/MET-443/include-comparisons-with-other-products-similar-to-metatype) - + #### Migration notes -_No Migration Needed_ - + +---------
- - -### Features -
-(cli) Long running discovery (#599) +Typegate in meta dev, upgrade test (#776) -Delegate serialize, deploy, undeploy, unpack work to SDK. - -#### Motivation and context - -Remove duplicate logic, thinking of cli as a convenience on top of the -SDK. + -When meta cli is used, Migration files are unpacked/resolved relative to -the typegraph's path, not the process's `workdir`. + -### Checklist +- Test the typegate upgrade from the latest published version to the +current version. +- Add a flag to run an instance of the typegate with the target +configuration (port, admin passsword) to `meta deploy`, enabled by +default for `meta dev`. -- [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change + ---------- - -
-
- -(cli) `meta gen` (#636) - - -Adds a command to `meta-cli` to invoke metagen. -#### Motivation and context -MET-424 + #### Migration notes -__No changes required__ - -### Checklist +If you have a script that runs `meta dev`, add the flag `--no-typegate` +if you already have a typegate. -- [x] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments +- [x] The change comes with new or modified tests +- [x] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change ---------
-
- -(cli) Timeout loader process (#693) - +### Miscellaneous Tasks -
-(cli,sdk) Codegen command (#661) +Add programmatic deploy tests (#769) -#### Motivation and context +## Add Programmatic deploy tests for the docs -Enable back `codegen` on current cli implementation. +- [x] Add programmatic typegraph deploy/remove tests +- [x] refactor tg_remove to accept `typegraph_name` instead of +`TypegraphOutput` obj. + + + + +[MET-591](https://linear.app/metatypedev/issue/MET-591/docstest-test-example-script-for-tg-deploy) + + + +- + + #### Migration notes -None +_No Migrations Needed_ -### Checklist +... -- [x] The change come with new or modified tests +- [x] The change comes with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- [x] End-user documentation is updated to reflect the change
-(cli,sdk) Better error messages (#689) +Bump to version 0.4.4 (#779) -#### Motivation and context - -Make it more clear where failures happen +Prepare release of the 0.4.4 version. #### Migration notes -None - -### Checklist - -- [ ] The change come with new or modified 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
+ + +### Refactor +
-(gate) Wasmtime support (#669) - - BREAKING: wasmtime support (#669) +(sdk) Back to deno + jsr exploration (#760) + - BREAKING: back to deno + jsr exploration (#760) -#### Motivation and context +Try reverting back to deno runtime for the typescript sdk in hope of +making the dx easier. +Hosting a custom node/npm project adds more layer of indirection which +may result in cryptic issues sometimes. -Enable support for -[wit](https://github.com/WebAssembly/component-model/blob/main/design/mvp/WIT.md) -and facilitate readiness for the upcoming specs. +This should also facilitate publishing on jsr although additional work +are still required on the `jco` codegen side. #### Migration notes -`#[wasmedge_bindgen]` are replaced by wit bindings. - -In the old version we were restricted to`#[wasmedge_bindgen]`, which was -only available in Rust and unique to WasmEdge. -```rust -#[wasmedge_bindgen] -fn add(a: u32, b: u32) -> u32 { - a + b -} -``` - -In the new implementation, wasm modules written in any language that -uses the `wit` interface are now natively supported within `typegate`. -```wit -// wit/example.wit -package example:host; -world host { - export add: func(a: u32, b: u32) -> u32; -} -``` -An implementation (eg. in Rust) may look like this.. -```rust -// src/lib.rs -wit_bindgen::generate!({ world: "host" }); -struct MyLib; -impl Guest for MyLib { - fn add(a: u32, b: u32) -> u32 { - a + b - } -} -export!(MyLib); -``` -### Checklist +N/A -- [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments +- [x] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change --------- @@ -1078,389 +1151,479 @@ export!(MyLib);
-(gate,cli) `$DENO_V8_FLAGS` (#647) +Move to ghjk 0.2.0 (#754) -Enables the `DENO_V8_FLAGS` env var for tuning v8. +- Refactors the ghjk.ts, CI to the latest version of ghjk +- Bumps version to 0.4.4-0 +- Fixes race bug in python_sync tests +- Fixes flakeout of wasm `build.sh` scripts due to wasm-tools EOF issue +- #763 +- #746 -#### Motivation and context +#### Migration notes -MET-435 or #621 +- [ ] The change comes with new or modified tests +- [x] Hard-to-understand functions have explanatory comments +- [x] End-user documentation is updated to reflect the change -#### Migration notes + -- This just exposes the deno paramter directly. Refer to deno or v8 docs -for more details. +## Summary by CodeRabbit -### Checklist +- **Chores** +- Updated GitHub Actions workflows to use the latest version of +`metatypedev/setup-ghjk` for improved stability and performance. +- Modified `GHJK_VERSION` and various environment variables across +multiple configuration files to ensure compatibility with updated +dependencies. +- Revised Dockerfiles to streamline environment setup and improve build +efficiency. +- Updated dependency management in `pyproject.toml` for better security +and performance. + - Enhanced logging and error handling in test scripts. -- [x] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change +These updates collectively optimize the development environment, +ensuring smoother builds and more reliable workflows. + + + +---------
+ + +### Testing +
-(metagen) Metagen mdk rust (#624) +(full) Update test runner (#705) -Implements the general framework for metagen including a generator for -rust based wasm mat functions modules. + -MET-420 + -#### Migration notes +New test runner, by default: +- Less verbose +- No output for successful tests -__No breaking changes__ +Parallel tests re-enabled. -### Checklist + -- [x] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
-
- -(sdk) .tgignore file support (#633) - - -#### Motivation and context -Set what files/folders should be ignored when using the custom -`expand_path` function in an external `.tgignore` file. -`.tgignore` will behave similarly to most .ignore files with basic glob -syntax support. + -#### Migration notes -`expand_glob` has been renamed to `expand_path` -### Checklist + -- [x] The change come with new or modified tests +#### Migration notes + +_N/A_ + +
+ + +## [v0.4.3](https://github.com/metatypedev/metatype/releases/tag/v0.4.3) - 2024-06-22 + +### Bug Fixes +
-(sdk) Introduce flag for disabling hashing artifacts + move hash to rust (#645) +(ci) Poetry lockfile (#732) -#### Motivation and context - -The mdk codegen and typegraph mutually depends on each other (typegraph -needs a concrete mdk.wasm for hashing, and for the mdk.wasm to be built, -it needs type generation based on the typegraph) -Add a flag to enable processing a partial typegraph when using `meta -gen` (partial == no artifact resolution). - -#### Migration notes - -`get_file_hash` has been moved to core sdk (under the name `hash_file`) - -### Checklist - -- [x] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - ---------- +- Fixes poetry lockfile and adds pre-commit hook to prevent issue from +happening
-(sdk, gate, cli) Upload protocol poc uploading wasm file for `WasmEdge Runtime` for single replica mode (#631) +(docs) Fix demo typegraphs 2 (#756) -Upload protocol for wasm files and atrifacts for `WasmEdge Runtime` for -single replica mode + -- Upload WasmEdge Runtime artifacts during typegraph deploy -- Access and load WasmEdge Runtime artifacts from the local file system -from typegate +Fix example typegraphs on metatype.dev. +- [x] reduce.ts +- [x] policies.ts +- [x] graphql.ts +- [x] authentication.ts -#### Migration notes + -*No Migrations Needed* -### Checklist +[MET_574](https://linear.app/metatypedev/issue/MET-574/docs-fix-demo-typegraphs-2) -- [x] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change + ---------- - -
-
- -Raw prisma query through the typegate runtime (#634) - - -- Enable prisma query execution through the typegate runtime -#### Motivation and context -Console. + #### Migration notes -_N/A_ - -### Checklist +_No Migrations Needed_ -- [x] The change come with new or modified 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
-
+
-Store the typegraph on s3 (#620) - - BREAKING: Store the typegraph on s3 (#620) +(docs) Fix programmatic deployment guides (#762) -Store the typegraph on s3 for multiple instance support mode. + -Reduce Redis data. +- [x] Fix typo +- [x] fix/test tg deploy +- [x] fix/test tg remove -#### Migration notes + -Environment variables: -- `REDIS_URL` has been removed -- For multiple instance support, the following variables are required: -`SYNC_REDIS_URL`, `SYNC_S3_HOST`, `SYNC_S3_REGION`, `SYNC_S3_BUCKET`, -`SYNC_S3_ACCESS_KEY`, `SYNC_S3_SECRET_KEY`; and the following variables -are optional: `SYNC_REDIS_PASSWORD`, `SYNC_S3_PATH_STYLE`. Otherwise, -none of them can be set. +[MET-587](https://linear.app/metatypedev/issue/MET-587/docs-fix-programmatic-deployment-guides) -### Checklist + -- [x] The change come with new or modified tests +- + + + +#### Migration notes + +_No Migration Needed_ + +... + +- [ ] The change comes with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change +- [ ] End-user documentation is updated to reflect the change
-
+
-Remove secret definitions through env vars (#666) - - BREAKING: Remove secret definitions through env vars (#666) +Only build xtask once for the tests (#720) -Remove the ability to define secrets in the env vars of the typegate. - -Secrets can now only be defined in the metatype config file and the -`--secret` CLI option. - -#### Motivation and context - -- -[MET-370](https://linear.app/metatypedev/issue/MET-370/easier-way-to-pass-secrets-in-metatypeyaml-config-file) -- Security -- Better DX - -#### Migration notes +Use the xtask binary to run the tests. -1. **Metatype config file**: On the node configuration, secrets are -defined at `secrets..key`: +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change -```yaml -# before -typegates: - dev: - env: - TG_CONSOLE_POSTGRES_CONN: postgresql://postgres:password@localhost:5432/db?schema=console - TG_CONSOLE_BASIC_ADMIN: password -#after -typegates: - dev: - secrets: - console: - POSTGRES_CONN: postgresql://postgres:password@localhost:5432/db?schema=console - BASIC_ADMIN: password -``` + -2. **Secret override option on meta/cli** +## Summary by CodeRabbit -```sh -# before -meta deploy -f my-tg.py --secret TG_CONSOLE_POSTGRES_CONN=postgresql://postgres:password@localhost:5432/db?schema=console +- **New Features** + - Updated platform compatibility to `x86_64-linux`. +- Added new configuration entry for enhanced versioning and platform +support. -# after -meta deploy -f my-tg.py --secret POSTGRES_CONN=postgresql://postgres:password@localhost:5432/db?schema=console -# or - with the typegraph name -meta deploy -f my-tg.py --secret console:POSTGRES_CONN=postgresql://postgres:password@localhost:5432/db?schema=console +- **Improvements** +- Modified test script to use a custom build script for better test +management. -``` +These changes improve platform compatibility and streamline the testing +process. -### Checklist + -- [x] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change +---------
-Add queryPrismaModel in the typegate runtime (#635) +Missing typegraphs (#741) -The `queryPrismaModel` function on the typegate typegraph queries rows -from a prisma model. + +**Fix Missing Typegraphs** -Console. + -#### Migration notes +- attempt to fix the missing typegraphs on metatype.dev. -_N/A_ + -### Checklist +- +[MET-563](https://linear.app/metatypedev/issue/MET-563/docs-complete-missing-typegraphs) -- [x] The change come with new or modified tests + + +#### 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 artifacts to s3 (#638) +Upload url path and add logging in the SDK (#740) -Upload artifacts to S3 when sync-mode is enabled - -#### Motivation and context - -Sharing artifacts between replicas without including it in the typegraph -(and sync through redis) +- 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 -No changes needed. +- The `typegraphs.deno` section of the `metatype.yaml` config file has +been replaced by `typegraphs.typescript` and `typegraphs.javascript`. +- `tg_deploy` params has changed. -### Checklist -- [x] The change come with new or modified tests +- [x] The change comes with new or modified tests - [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - ---------- +- [x] End-user documentation is updated to reflect the change
-Upload `PythonRuntime` artifacts and deps (#672) +Failed typegraph deployment (#758) -#### Motivation and context + + -#### Migration notes +- Fix casing typo in the typescript sdk +- Fix error reporting in the typescript sdk +- Display the retry number +- Warning on cancelled retry -`python.import(...)` and `python.import_(...)` accept an optional parameter `deps` that accepts list of dependencies for the python module. + -### Checklist + -- [x] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +#### 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 +
-Upload `DenoRuntime` artifacts and deps (#674) +`/docs/concepts/features-overview/` (#725) -- [x] Track deno runtime artifacts(also dependencies) -- [x] Upload artifacts during deploy to either local(single replica) or -shared(s3) -- [x] resolve artifacts(module and deps) upon typegate runtime. - -#### Motivation and context +- Re-does the feature overview page of the documentation. -Persisting deno runtime artifacts to a local/shared storage. + +## Summary by CodeRabbit -#### Migration notes +- **New Features** +- Added a "Features Roadmap" component to the website, displaying a list +of features with details and links. -`deno.import(...)` and `deno.import_(...)` accept an optional parameter -that accepts list of dependencies for the deno/ts module. +- **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. -### Checklist +- **Bug Fixes** + - Corrected a typo in the GraphQL runtimes reference documentation. -- [x] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- **Refactor** +- Replaced `SDKTabs` and `TabItem` components with `TGExample` for +better code example presentation. +- Adjusted the `MiniQL` component to handle optional properties and +default settings. + ---------
-Enable batch prisma queries in the typegate runtime (#682) +`/docs/reference/metagen` + `/docs/guides/wasm-functions` (#751) -Enable batch prisma queries (and transaction) in the typegate runtime +- 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 +- [x] 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. + + -#### Motivation and context +
+
+ +Programmatic deployment blogpost (#752) + -Console +Blogpost to help discover programmatic deployment additions. -[MET-381](https://linear.app/metatypedev/issue/MET-381/console-collections) #### Migration notes - - -### Checklist +... -- [x] The change come with new or modified 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** +- 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 +
-Artifact removal (#668) +(SDK) Add `globs` and `dir` support for artifact deps. (#698) -- Add GC: remove artifacts when unreferenced by any deployed typegraph -- Improve resource management: use `AsyncDisposable` and -`AsyncDisposableStack` -- Improve testability (for parallel testing): always read the tmpDir -config from the `Typegate` object +- [x] Include glob and dir support for `PythonRuntime` deps. +- [x] Include glob and dir support for `DenoRuntime` deps. +- [x] add tests -#### Motivation and context +The change includes support for declaring artifact dependencies through +`globs` and `dirs` + + + + + -[MET-433](https://linear.app/metatypedev/issue/MET-433/file-removal) + +[MET-441](https://linear.app/metatypedev/issue/MET-441/sdk-support-globs-and-directories-in-artifact-dependencies) + + #### Migration notes -_N/A_ +In the `deps` parameter for `python.import(...)` and `deno.import(...)`, +globs and dirs can be passed in addition to files. -### Checklist - [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + ---------
+
+ +(docs) Add `embedded typegate` page (#747) + + +# Embedded typegate docs page + +- [x] need a page under meta-cli/embedded typegate to explain how that +works +- [x] tutorials should take advantage of the embedded one +- [x] the embedded one should be the default everything +- [x] explain that there is 2 flavors in reference/meta-cli + + +[MET-562](https://linear.app/metatypedev/issue/MET-562/docs-use-embedded-whenever-possible-in-the-docs-and-examples) + + + +- + + + +- + + + +#### 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 -### Miscellaneous Tasks - +
-(release) Prepare 0.4.0 (#710) +(mdk) Mdk python (#707) -Bumps version to release 0.4.0. +Mdk for python runtime + +#### Migration notes + +None ## Summary by CodeRabbit - - **New Features** -- Updated the software across various components to version 0.4.0, -enhancing functionality and potentially introducing new features or -fixes. +- 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** -- Updated version documentation in multiple configuration files to -reflect new version 0.4.0. -- **Bug Fixes** -- Adjusted version constants and dependencies to ensure compatibility -and stability with the new software version 0.4.0. +- 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. ---------
-
+
-(sdk,gate) Bump wasmtime to 20.0.0 and wit-bindgen to 0.24.0 (#695) +(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 -
- - -### Refactor +- 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. -
- -(gate) Wasi 0.2 pyrt (#687) - +--- -- Rewrites the PythonRuntime host using a `componentize-py` based -component. -- Leaf through this -[memo](https://hackmd.io/@SC-qT-WXTROceKYdNA-Lpg/ryyAXiQlC/edit) for a -mental model. +- [x] The change comes with new or modified tests +- [x] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change
-(libs/xtask,gate) Remove xtask/codegen (#700) +(mdk,gate) Hostcall (#706) -Faster build time +Introduces a mechanism for wasm materializers to access hostgate +functions. -#### Migration notes +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. -Make sure to sync `typegate/src/types.ts` when an update is made on the -typegraph schema. - -
-
- -(sdk,gate) Improve temporal rt (#642) - - BREAKING: improve temporal rt (#642) - - -Improve the temporal runtime exposing more parameters and adding more -tests. +This is a stacked PR on top of #687. -#### Motivation and context +MET-473. -MET-397. The old implementation was bug-ridden and did not expose -necessary params. +- [x] 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](https://linear.app/metatypedev/issue/MET-500/test-update-the-implementation-of-tengine) + + + +- [x] remove different versions of `t.engine` +- [x] add tg_deploy caller script which imports typegraphs dynamically +and deploys them. +- [x] make changes to make `t.engine` run in artifact resolution mode +- [x] update existing tests to adhere to the current change +- [x] pass unique different `tempDir`s to all the typegate instances +created during test. +- [x] add support for authoring multiple typegraphs in a single file in +`meta-test` and add multi typegraph tests. #### Migration notes -API changes to `TemporalRuntime` ctor, methods and generated -materializers. +python SDK test typegraphs' function names should be the same with the +filename of the typegraph file, for dynamic import compatibility +reasons. -### Checklist + + + + +## 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](https://linear.app/metatypedev/issue/MET-564/docs-embedded-typegate-v03x) + + + + + + + +#### 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 +- [x] 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](https://linear.app/metatypedev/issue/MET-479/sdkgate-update-rust-dependencies) + + + +#### 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) + + + + +
+ + +## [v0.4.2](https://github.com/metatypedev/metatype/releases/tag/v0.4.2) - 2024-05-22 + +### Bug Fixes + +
+ +(release) Fix fat CLI compilation (#730) + + +- Fix fat CLI compilation +- Bump to 0.4.2 +- Bump wasmtime to 21 +- Bump rust to 1.78.0 + + + +- [x] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +--------- + +
+ + +## [v0.4.1](https://github.com/metatypedev/metatype/releases/tag/v0.4.1) - 2024-05-20 + +### Bug Fixes + +
+ +(SDK) Artifact upload fails when same file referred multiple times (#715) + + +- [x] fix the bug where duplicate artifact references causing failure +during artifact resolution(typegate) during runtime. +- [x] add sync mode tests for Python and Deno runtime. +- [x] add other edge test cases to artifact upload. + - [x] test for no artifact in typegraph + - [x] test for duplicate artifact reference in the same typegraph + +
+
+ +(gate) Improve logging and responses, prepare 0.4.1 (#714) + + +- Logging before and after each faillible operation + - Runtimes: foreign resolvers +- Always log before reporting error: HTTP response +- Fix error code in artifact_service +- Add `BaseError` class for structured messages in responses + + + + + +## Summary by CodeRabbit + +- **New Features** +- Updated Docker image versions and dependency versions to ensure +compatibility and stability. + - Added a search functionality to the app. + +- **Bug Fixes** +- Enhanced error handling with specific error classes for more detailed +error messages. + +- **Refactor** +- Replaced generic `Error` instances with specific error classes for +better error categorization. +- Refactored error handling in HTTP response functions to use a +`BaseError` class. + +- **Chores** +- Updated version numbers across multiple configuration files to +`0.4.1-0`. + + +--------- + +
+ + +### Features + +
+ +Polish documentation and project (#696) + + + + + + +- update the headline, the overviews and many other documentation areas +- upgrades the dependencies. + + + + + + +- [ ] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [x] End-user documentation is updated to reflect the change + + + +## Summary by CodeRabbit + + +- **Bug Fixes** +- Updated Docker image version for the `typegate` service to ensure +stability and compatibility. + +- **Documentation** +- Revised `TAGLINE` for better clarity on supported languages: WASM, +Typescript, and Python. +- Updated version declarations for improved consistency and +functionality across multiple files. + + + +--------- + +
+ + +### Miscellaneous Tasks + +
+ +(docs) Final polish to comparison table. (#709) + + +some changes to comparison table(docs) + +#### Migration notes + +_No Migrations Needed_ + + + + + +## Summary by CodeRabbit + + +- **Documentation** +- Introduced a new section on Artifact Tracking Protocol in the +architecture documentation, explaining artifact classification and +tracking modes in Metatype. +- Updated comparisons documentation with additional platforms, criteria +for choosing Metatype, and detailed feature comparison tables. +- Renamed project directory for clarity and consistency in project setup +documentation. +- **Bug Fixes** + - Removed outdated `TODO` comment in installation documentation. + + + +
+
+ +Bump to version 0.4.1-0 (#713) + + +- Bumps version to 0.4.1-0. +- Fixes broken release CI. +- #719 +- Adds 20 minutes to test-full timeout. + + + + + +## Summary by CodeRabbit + +## Summary by CodeRabbit + +- **New Features** +- Updated platform support for better compatibility with "x86_64-linux". + +- **Bug Fixes** +- Minor version updates across multiple configurations to enhance +stability. + +- **Chores** +- Updated version numbers from "0.4.0" to "0.4.1-0" across various files +and configurations. + +- **Refactor** +- Adjusted build and test scripts for improved efficiency and +compatibility. + +- **Documentation** +- Enhanced internal documentation to reflect version and platform +changes. + -- [x] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change +---------
+ + +## [v0.4.0](https://github.com/metatypedev/metatype/releases/tag/v0.4.0) - 2024-05-09 + +### Bug Fixes +
-Pass test options in the first parameter (#667) +(ci) Fix broken nighly jobs (#659) -Pass the test options in the first parameter along with the test -name/description. +Fixes the broken nightly builds. Look at solved results +[here](https://github.com/metatypedev/metatype/actions/runs/8533669013). #### Motivation and context -Avoid scrolling to the end of the test function to see/update the test -options. +Nightly builds were broken due to oversight during the #571 fixes. #### Migration notes -_N/A_ +__No changes required__ ### Checklist @@ -1619,182 +2402,222 @@ _N/A_ - [ ] End-user documentation is updated to reflect the change
- - -### Testing -
-Use local npm registry for tests (#646) +(gh-tests) Fix local npm registry config (#692) -Use verdaccio local npm registry for tests: -- The `@typegraph/sdk` package is published to the local npm registry, -and can now be consumed like any npm package from Nodejs or Deno. + -... + + +Fix the NPM registry config in the Github tests. + + + + + + #### Migration notes _N/A_ -### Checklist - -- [x] The change come with new or modified tests +
- - -## [v0.3.6](https://github.com/metatypedev/metatype/releases/tag/v0.3.6) - 2024-03-14 - -### Bug Fixes -
-(gate) `RandomRuntime` does not consider `enum`, `either`, `union` variants (#619) +Set max log level based on verbose flag (#664) -add either, enum, struct and union type support in Random Runtime. +Set max log level based on verbose flag #### Motivation and context -generating random values for enums, either and union types was failing. + +[MET-445](https://linear.app/metatypedev/issue/MET-445/cli-no-verboselogging-how-to-debug-this) #### Migration notes -_No Migrations Needed +_n/a_ ### Checklist -- [x] The change come with new or modified tests +- [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change
-(python-wasi) Fix for vm not initialized after consecutive deploy (#617) +Fix secret passing (#675) -Bug fix for typegate throwing `vm not initialized` after reload +Fix secret passing in examples and documentation. #### Motivation and context -Bug fix +Followup to #666. #### Migration notes -No Migrations Needed +_N/A_ ### Checklist - [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- [x] End-user documentation is updated to reflect the change
-Apply from context (#616) +Website and headline (#691) -Fix type validators for apply from context. + + + #### Motivation and context -Bug. +Fix the CSS issue introduced by docusaurus 3.2.0 +(https://github.com/facebook/docusaurus/issues/10005). 3.2.1 should fix +it but the affected version maybe loaded by dependencies, so we will +have to wait a bit more. + + -#### Migration notes -_N/A_ + ### Checklist -- [x] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- [ ] The change come with new or modified tests +- [x] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +---------
-Optimize typegraph size (#618) +Do not override log level when no verbosity flag is present (#694) -- Hash all type data to compare them on the conversion phase in -typegraph/core: remove duplicate types from type final typegraph -(duplicate: same value for all the fields except for the "random" -name/title). -- Skip unreferenced types in `.apply` + -Typegraph is too big sometimes. + -#### Migration notes +Remove log level override by the verbosity flag when no flag is present. +It will default to the configured env_logger default level (or env +variable). - + -### Checklist +... + + + +The default log level became "error" after #664, and `RUST_LOG` +environment variable where ignored. + + + +#### Migration notes +_N/A_ + +
-### Miscellaneous Tasks +### Documentation
-Prepare release v0.3.6 (#626) +Start rebranding (#641) -Prepare release v0.3.6 + + + #### Motivation and context -_N/A_ +Changing the intro. + + #### Migration notes -_N/A_ +None. + + ### Checklist - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- [ ] End-user documentation is updated to reflect the change + +---------
- - -## [v0.3.5](https://github.com/metatypedev/metatype/releases/tag/v0.3.5) - 2024-03-05 - -### Bug Fixes -
-(cli) Fix for `meta-cli deploy` exit with code `0` on failure (#600) +Add `reference/programmatic-deployment/` (#686) -fix the issue where `meta-cli deploy` command exits with code 0 on -failure. - #### Motivation and context -bug fix +Add missing docs for `tgDeploy`, `tgRemove` #### Migration notes -No changes needed. +None ### Checklist @@ -1805,130 +2628,112 @@ No changes needed.
-(typegate,typegraph) Minor bugs (#596) +Add examples for each command (#684) -Just a few very minor bugs I'd encountered this week. Tests pending. - -#### Motivation and context - -Bugs. - -#### Migration notes - -_No changes required_ - -### Checklist - -- [ ] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments +#### Motivation and context + +Getting started with `meta` cli should be easy + +#### Migration notes + +None + +### Checklist + +- [ ] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change
-Show error message for unregistered type name (#594) +Improve `/tutorials/quick-start` section. (#681) -Check and throw the error for the `expose` function when called from the -Python SDK. +- [x] Improve Layout +- [x] Include a simple project. +- [x] Add the result/outputs to running CLI commands. +- [x] Remove Metatype cloud registration form. +- [x] Separate the CLI commands to separate code blocks +- [x] Add links to references and concepts. +- [x] Add playground. #### Motivation and context -We got a finalization failure when there are some unregistered type -referenced with `g.ref`. +[Docs +Meta-task](https://linear.app/metatypedev/issue/MET-440/docs-meta-task) #### Migration notes -_No changes needed._ +_No Migration Needed_ ### Checklist -- [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change +- [x] Test the commands and the examples. +- [ ] The change come with new or modified tests
-Remove injections from prisma output types (#597) +Improve `/docs/tutorials/metatype-basics` (#688) -Remove injections from generated output types for prisma operations. +Improve `/docs/tutorials/metatype-basics` #### Motivation and context -Generated types fail validations (_injection not allowed in output -types_). +[Docs +Meta-task](https://linear.app/metatypedev/issue/MET-440/docs-meta-task) #### Migration notes -_No changes needed_. +_No Migrations Needed_ ### Checklist -- [x] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
-
- -Esm customizer for typegate deno ext (#606) - - -Enables v8 snapshots integration for `meta typegate` subcommand and the -standalone typegate. Also bumps deno to 1.41.0. - -#### Motivation and context +- [ ] The change come with new or modified tests
-Re-enable macos-latest cli-compat test job (#608) +Improve `/reference/runtimes/` (#676) -Fixes and enables the broken job. - #### Motivation and context -Job was disabled earlier to mysterious breakages. +Better documentation #### Migration notes -__No changes required__ +N/A ### Checklist - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- [x] End-user documentation is updated to reflect the change
- - -### Features -
-(deno/sdk) Native function embedding in typescript (#598) +Improve `/guides/external-functions` (#677) -Add support for function or lambda definition typescript sdk for -`deno.func` similarly to how `python.from_def` in python sdk works. +- Improvements to the `/guides/external-functions` page. +- Adds a configuration file for git-town #### Motivation and context -Providing a string is a bit impractical and counter-intuitive espcially -when the sdk language matches with runtime's language. +_N/A_ #### Migration notes -No changes needed. +_N/A_ ### Checklist -- [x] The change come with new or modified tests +- [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change @@ -1937,29 +2742,31 @@ No changes needed.
-(sdk) Testing framework integration 2 (#579) +Improve `docs/reference/types` (#685) +Improves `docs/reference/types` + #### Motivation and context -Continuation of #566 , focused on prisma runtime. +_N/A_ #### Migration notes -N/A +_N/A_ ### Checklist -- [x] The change come with new or modified tests +- [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- [x] End-user documentation is updated to reflect the change ---------
-(sdk) From_random injection (#593) +Add a comparison b/n metatype and other similar solutions/products. (#697) - -This change includes changes in StringFormats(added some string -formats), logic to provide random values for type nodes and tests to -validate the changes. -The changes are mostly in the typegraph sdk. + +- Adds a comparison table between metatype and other similar services. +- Add artifact upload protocol to `Architecture` section in docs. -#### Motivation and context + - -This feature enables the user to inject random values for a field(**Type -Node**) when defining a **Typegraph**. -#### Migration notes -_No changes needed_. + - +[MET-443](https://linear.app/metatypedev/issue/MET-443/include-comparisons-with-other-products-similar-to-metatype) -### Checklist + -- [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
-
- -Remove obsolete restrictions on prisma (#592) - - -#### Motivation and context +#### Migration notes +_No Migration Needed_ -Since v5, where on unique queries exposes all the fields, not just -unique fields. - -
-
- -Parameter transformation (#587) - - -Enable parameter transformation with the `.apply()` method. -It has more or less the same logic as `.reduce()` with the ability to -flatten the input type. - - -#### Motivation and context - -This feature enables simpler APIs (input types) on top of runtimes -(e.g.: prisma). - -#### Migration notes - -_No changes needed_. - -### Checklist - -- [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
-
- -Nested context query (#595) - - BREAKING: Nested context query (#595) - - -- Revert context flattening -- Enable jsonpath-like key to access nested object fields or array items -on the context. - -#### Migration notes - -If you access the context directly in your application (through the -token), access to nested fields shall be updated. -E.g. the expression `context["profile.id"]` have to turned to -`context.profile.id`. - -### Checklist - -- [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +
-### Miscellaneous Tasks +### Features
-(release) Bump 0.3.5 (#613) +(cli) Long running discovery (#599) -Ready for release of v0.3.5 +Delegate serialize, deploy, undeploy, unpack work to SDK. #### Motivation and context -Required by console. +Remove duplicate logic, thinking of cli as a convenience on top of the +SDK. #### Migration notes -_No changes required__. +When meta cli is used, Migration files are unpacked/resolved relative to +the typegraph's path, not the process's `workdir`. ### Checklist -- [ ] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- [x] The change come with new or modified tests +- [x] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +---------
- - -### Refactor -
-(sdk) Move post-processing functions to the typegate (#586) +(cli) `meta gen` (#636) +Adds a command to `meta-cli` to invoke metagen. + #### Motivation and context -Depends on #579 -Compiled `wasm` bin size is too large, goal is to reduce it to ~3MB. +MET-424 #### Migration notes -N/A +__No changes required__ ### Checklist @@ -2110,67 +2856,46 @@ N/A ---------
-
+
-Make fat `meta-cli` the default (#607) - - BREAKING: make fat `meta-cli` the default (#607) +(cli) Timeout loader process (#693) -Switch the default `meta-cli` release to the fat version (the one that -includes the `typegate` subcommand). -#### Motivation and context
- - -## [v0.3.4](https://github.com/metatypedev/metatype/releases/tag/v0.3.4) - 2024-02-10 - -### Bug Fixes -
-(ci) `upload-artifact@v4` migration, `cross` compilation for meta + typegate (#571) +(cli,sdk) Codegen command (#661) -The recent update to `upload-artifact@v4` has some breaking changes as -described -[here](https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md). -This PR addresses them. It also fixes the cross-compilation issues with -the `meta-cli` job in the release workflow. - #### Motivation and context - -[Issue](https://github.com/metatypedev/metatype/actions/runs/7719983991/job/21044171984) -in release workflow. +Enable back `codegen` on current cli implementation. #### Migration notes -_No changes required._ +None ### Checklist -- [ ] The change come with new or modified tests +- [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change
-(ci) Minor typo in `release.yml/docker` (#576) +(cli,sdk) Better error messages (#689) -Small typo blocking the job that pushes the images to ghcr.io. - #### Motivation and context -[Broken -run.](https://github.com/metatypedev/metatype/actions/runs/7748712325/job/21132659221) +Make it more clear where failures happen #### Migration notes -_No changes required._ +None ### Checklist @@ -2179,178 +2904,199 @@ _No changes required._ - [ ] End-user documentation is updated to reflect the change
-
+
-(ci) Missing ts modules from `typegate` image (#577) +(gate) Wasmtime support (#669) + - BREAKING: wasmtime support (#669) -Adds a check step to the `typegate`'s `Dockerfile` and converts the -`.dockerignore` to be a whitelist. - #### Motivation and context -The image for 0.3.3 has some files missing. +Enable support for +[wit](https://github.com/WebAssembly/component-model/blob/main/design/mvp/WIT.md) +and facilitate readiness for the upcoming specs. #### Migration notes +`#[wasmedge_bindgen]` are replaced by wit bindings. -_No changes required_ +In the old version we were restricted to`#[wasmedge_bindgen]`, which was +only available in Rust and unique to WasmEdge. +```rust +#[wasmedge_bindgen] +fn add(a: u32, b: u32) -> u32 { + a + b +} +``` + +In the new implementation, wasm modules written in any language that +uses the `wit` interface are now natively supported within `typegate`. +```wit +// wit/example.wit +package example:host; +world host { + export add: func(a: u32, b: u32) -> u32; +} +``` +An implementation (eg. in Rust) may look like this.. +```rust +// src/lib.rs +wit_bindgen::generate!({ world: "host" }); +struct MyLib; +impl Guest for MyLib { + fn add(a: u32, b: u32) -> u32 { + a + b + } +} +export!(MyLib); +``` ### Checklist - [x] The change come with new or modified tests - [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- [ ] End-user documentation is updated to reflect the change + +---------
-(typegate) Fix `tmp` dir issue, bump to 0.3.4 (#583) +(gate,cli) `$DENO_V8_FLAGS` (#647) -- Fixes an issue with the prisma migration code being unable to properly -`mktmpd` when running in the `typegate` images. -- Removes `cross` usage for all but the `aarch64-unknown-linux-gnu` -target in the `meta-cli` release jobs. Deno doesn't like being cross -compiled, doesn't like being built by the cross toolchain in general -(even for the native target). The consequence of all this is that the -`aarch64-unknown-linux-gnu` target will temporarily lack the `full` -version builds. -- This also bumps the version of the 0.3.4 to get the fix out. +Enables the `DENO_V8_FLAGS` env var for tuning v8. #### Motivation and context -The main `TMP_DIR` was not created properly in the `typegate` -`Dockerfile`. +MET-435 or #621 #### Migration notes -_No changes required_ +- This just exposes the deno paramter directly. Refer to deno or v8 docs +for more details. ### Checklist -- [ ] The change come with new or modified tests +- [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- [x] End-user documentation is updated to reflect the change
-Remove unallowed fields (#569) +(metagen) Metagen mdk rust (#624) -Skip fields with policies in `findListQueries`. - -#### Motivation and context - -Console. - -#### Migration notes - -_N/A_ - -### Checklist - -- [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments +Implements the general framework for metagen including a generator for +rust based wasm mat functions modules. + +#### Motivation and context + +MET-420 + +#### Migration notes + +__No breaking changes__ + +### Checklist + +- [x] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change
-Hotfix typo in `release.yml` (#580) +(sdk) .tgignore file support (#633) -Yes, another one lol. This removes the `target` param from the release -builder which will default to the last stage of the Dockerfile, the -`epoint` stage. I elected to remove the parameter rather than replacing -the value in order to remove one more place future changes will have to -consider. (convention better than configuration the saying goes (i -think)). - #### Motivation and context -The `typegate` images currently have the wrong target and thus the wrong -`entrypoint` command. +Set what files/folders should be ignored when using the custom +`expand_path` function in an external `.tgignore` file. +`.tgignore` will behave similarly to most .ignore files with basic glob +syntax support. #### Migration notes -_No changes required_ +`expand_glob` has been renamed to `expand_path` ### Checklist -- [ ] The change come with new or modified tests +- [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- [ ] End-user documentation is updated to reflect the change + +---------
- - -### Documentation -
-(website) Cleanup (#521) +(sdk) Introduce flag for disabling hashing artifacts + move hash to rust (#645) - +The mdk codegen and typegraph mutually depends on each other (typegraph +needs a concrete mdk.wasm for hashing, and for the mdk.wasm to be built, +it needs type generation based on the typegraph) +Add a flag to enable processing a partial typegraph when using `meta +gen` (partial == no artifact resolution). + +#### Migration notes -### Describe your change +`get_file_hash` has been moved to core sdk (under the name `hash_file`) + +### Checklist -This mainly shuffles around the existing docs for better structure. -Still a lot to be done. The following pages are also empty as I lack the -info regarding their topics: -- Architecture -- Query engine +- [x] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change -Super open to feedback. Bring up any points that you think should be -mentioned on each page and I'll add them. +---------
-Getting started guide for the vscode extension (#578) +(sdk, gate, cli) Upload protocol poc uploading wasm file for `WasmEdge Runtime` for single replica mode (#631) +Upload protocol for wasm files and atrifacts for `WasmEdge Runtime` for +single replica mode + #### Motivation and context -Documentation is missing. +- Upload WasmEdge Runtime artifacts during typegraph deploy +- Access and load WasmEdge Runtime artifacts from the local file system +from typegate #### Migration notes -_No changes needed._ +*No Migrations Needed* ### Checklist -- [ ] The change come with new or modified tests +- [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change +- [ ] End-user documentation is updated to reflect the change + +---------
- - -### Features -
-(sdk) Testing framework integration (#566) +Raw prisma query through the typegate runtime (#634) +- Enable prisma query execution through the typegate runtime + #### Motivation and context -Enable deploying directly from the typegraph instead of always relying -on meta-cli. +Console. #### Migration notes -N/A +_N/A_ ### Checklist @@ -2359,103 +3105,111 @@ N/A - [ ] End-user documentation is updated to reflect the change
- - -## [v0.3.3](https://github.com/metatypedev/metatype/releases/tag/v0.3.3) - 2024-01-31 - -### Bug Fixes - -
+
-(ci) Bug in `typegraph` release job (#545) +Store the typegraph on s3 (#620) + - BREAKING: Store the typegraph on s3 (#620) +Store the typegraph on s3 for multiple instance support mode. + #### Motivation and context -`jco` output path is wrong. +Reduce Redis data. #### Migration notes -N/A +Environment variables: +- `REDIS_URL` has been removed +- For multiple instance support, the following variables are required: +`SYNC_REDIS_URL`, `SYNC_S3_HOST`, `SYNC_S3_REGION`, `SYNC_S3_BUCKET`, +`SYNC_S3_ACCESS_KEY`, `SYNC_S3_SECRET_KEY`; and the following variables +are optional: `SYNC_REDIS_PASSWORD`, `SYNC_S3_PATH_STYLE`. Otherwise, +none of them can be set. + ### Checklist -- [ ] The change come with new or modified tests +- [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
-
- -(ci) Typo in release.yml (#548) - - -Fix small typo. Surprised `act` didn't catch this, it must evaluate -expressions lazily. +- [x] End-user documentation is updated to reflect the change
-
+
-(ci) Force/skip push to registries on manual release (#549) +Remove secret definitions through env vars (#666) + - BREAKING: Remove secret definitions through env vars (#666) -What it says on the tin can. Also fixes a typo in the `vscode-extension` -job. +Remove the ability to define secrets in the env vars of the typegate. + +Secrets can now only be defined in the metatype config file and the +`--secret` CLI option. #### Motivation and context -Manual re-release breaks otherwise as seen -[here](https://github.com/metatypedev/metatype/actions/runs/7508564194/job/20444227861). - -
-
- -(ci) Typos in release.yml (#550) - - -Oof, I can't believe I missed these. The publish steps are hard to test -locally with `act` so ig they require extra scrutiny. +- +[MET-370](https://linear.app/metatypedev/issue/MET-370/easier-way-to-pass-secrets-in-metatypeyaml-config-file) +- Security +- Better DX -#### Motivation and context +#### Migration notes -Bug on manual dispatch of `releasae` wflow. - -
-
- -(ci) Mismatch in location of `$AZURE_DEVOPS_TOKEN` (#551) - - -Another minor issue with the release workflow. +1. **Metatype config file**: On the node configuration, secrets are +defined at `secrets..key`: -#### Motivation and context +```yaml +# before +typegates: + dev: + env: + TG_CONSOLE_POSTGRES_CONN: postgresql://postgres:password@localhost:5432/db?schema=console + TG_CONSOLE_BASIC_ADMIN: password + +#after +typegates: + dev: + secrets: + console: + POSTGRES_CONN: postgresql://postgres:password@localhost:5432/db?schema=console + BASIC_ADMIN: password +``` + +2. **Secret override option on meta/cli** + +```sh +# before +meta deploy -f my-tg.py --secret TG_CONSOLE_POSTGRES_CONN=postgresql://postgres:password@localhost:5432/db?schema=console + +# after +meta deploy -f my-tg.py --secret POSTGRES_CONN=postgresql://postgres:password@localhost:5432/db?schema=console +# or - with the typegraph name +meta deploy -f my-tg.py --secret console:POSTGRES_CONN=postgresql://postgres:password@localhost:5432/db?schema=console + +``` -Failure in release run -[here](https://github.com/metatypedev/metatype/actions/runs/7521755432/job/20472963653). +### Checklist + +- [x] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [x] End-user documentation is updated to reflect the change
-(ci,release) Hack for broken arm64 builds, bump deno to 1.40.1, bump to 0.3.3 (#565) +Add queryPrismaModel in the typegate runtime (#635) -This provides a temporary fix for the broken build on arm64. The issue's -related to `wasm-opt` builds not being availaible for install by -ghjk/cargo-binstall. This PR uses `cargo install` directly instead when -in the dockerfile. - -It also: -- bumps metatype version to 0.3.3 to ready the next release -- bumps the deno version to 1.40.1 (which comes with some changes) +The `queryPrismaModel` function on the typegate typegraph queries rows +from a prisma model. #### Motivation and context -[Failure in CI -run.](https://github.com/metatypedev/metatype/actions/runs/7532055112/job/20501926599). +Console. #### Migration notes -_No changes required_ +_N/A_ ### Checklist @@ -2464,601 +3218,351 @@ _No changes required_ - [ ] End-user documentation is updated to reflect the change
-
+
-(cli) Bad conditionals in loader detection (#559) - - BREAKING: bad conditionals in loader detection (#559) +Upload artifacts to s3 (#638) -- Fix bug in js typegraph loader detection. -- FIx bug where the cwd for loader was overridden in `loader_cmd` -despite being set in `get_loader_cmd`. -- Update to latest ghjk -- Refresh `setup` task in `whiz.yaml` +Upload artifacts to S3 when sync-mode is enabled #### Motivation and context -The old conditionals were faulty. +Sharing artifacts between replicas without including it in the typegraph +(and sync through redis) #### Migration notes -- `node` and `bun` loaders are now run with the `cwd` set to the -directory of the typegraph as opposed to the `metatype.yml` file. This -should resolve settings to the nearest `package.json` despite location. +No changes needed. ### Checklist -- [ ] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- [x] The change come with new or modified tests +- [x] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +---------
-(cli, typegate) Explicitly import DenoRuntime.import modules from path (#564) +Upload `PythonRuntime` artifacts and deps (#672) -When using the dynamic `import` function, if you provide it a raw path -like `/foo/bar/baz` and deno detects the current module's loaded from a -remote host, it'll convert it to a http url. Reasonable behavior but it -turned out to be the cause of #560. - -This pr fixes this issue along with: -- Puts contents of `main.ts` in a try/catch block for better error -logging. -- Fixes minor permission bugs with the bundled runtime. - #### Motivation and context -#560 +Track artifact/module dependencis for `PythonRuntime` + #### Migration notes -_No changes required_ +`python.import(...)` and `python.import_(...)` accept an optional parameter `deps` that accepts list of dependencies for the python module. ### Checklist -- [ ] The change come with new or modified tests +- [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
-
- -(oauth2-profiler) Fix OAuth2 profiler params (#562) - - -Pass the appropriate request URL and headers to the profiler resolver. - -#### Motivation and context - -It used the provider url instead of the (typegate) request URL, causing -internal queries to fail. - -#### Migration notes - -_N/A_ - -### Checklist - -- [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change +- [ ] End-user documentation is updated to reflect the change + +---------
-(template/node) Update sdk version to 0.3.2 + add `deno.static` (#558) +Upload `DenoRuntime` artifacts and deps (#674) +- [x] Track deno runtime artifacts(also dependencies) +- [x] Upload artifacts during deploy to either local(single replica) or +shared(s3) +- [x] resolve artifacts(module and deps) upon typegate runtime. + #### Motivation and context -Sync template examples with latest 0.3.2. -Added missing `deno.static` and `func.rate(...)` on node. +Persisting deno runtime artifacts to a local/shared storage. #### Migration notes -N/A +`deno.import(...)` and `deno.import_(...)` accept an optional parameter +that accepts list of dependencies for the deno/ts module. ### Checklist - [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- [ ] End-user documentation is updated to reflect the change + +---------
-(vscode-extension) Fix publisher name and version (#553) +Enable batch prisma queries in the typegate runtime (#682) - - -- Change the publisher name to **metatypedev** to match the account name -on Azure Devops. -- Add dev-tools projects to `dev/lock.yml` for automatic versioning. +Enable batch prisma queries (and transaction) in the typegate runtime #### Motivation and context -* -[Failure](https://github.com/metatypedev/metatype/actions/runs/7522189733/job/20473888302) -to publish the extension. -* Non-matching version. +Console + +[MET-381](https://linear.app/metatypedev/issue/MET-381/console-collections) #### Migration notes -_Blank_ + ### Checklist -- [ ] ~The change come with new or modified tests~ _(N/A)_ -- [ ] ~Hard-to-understand functions have explanatory comments~ _(N/A)_ -- [ ] ~End-user documentation is updated to reflect the change~ _(N/A)_ - -
- +- [x] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change -### Documentation +--------- +
-(website) Move typegraphs in separate folder + add ts version (#552) +Artifact removal (#668) +- Add GC: remove artifacts when unreferenced by any deployed typegraph +- Improve resource management: use `AsyncDisposable` and +`AsyncDisposableStack` +- Improve testability (for parallel testing): always read the tmpDir +config from the `Typegate` object + #### Motivation and context -Better organization + typescript examples. +[MET-433](https://linear.app/metatypedev/issue/MET-433/file-removal) #### Migration notes -N/A +_N/A_ ### Checklist - [x] The change come with new or modified tests - [x] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change - -
- - -### Features - -
- -(node) Node fontend missing features (#557) - - -#### Motivation and context - -Easier translation from python to typescript typegraph. - -#### Migration notes - -N/A +- [x] End-user documentation is updated to reflect the change -### Checklist -- [ ] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
-
- -(prisma) Add support multi-field ids and id on struct (#556) - - -Adds support for more advanced id fields and unique constraints: -- Multi-field id -- Id on struct (foreign key) -- Multi-field unique constraints -- Unique constraint on struct (foreign key) + +## Summary by CodeRabbit -#### Motivation and context +- **New Features** + - Enhanced search functionality with the addition of a new search bar. + - Introduced new test configurations to improve script execution. +- Updated artifact storage documentation to clarify management +processes. + - Added new extensions to support improved code commenting. -Support these kind of construct: - -```python -user = t.struct( - { - "authProvider": t.string().from_context("provider"), - "profileId": t.string().from_context("profile.id"), - # ... - }, - config={"id": ["authProvider", "profileId"]}, -).rename("User") - -project = t.struct( - { - "id": t.uuid(as_id=True, config=["auto"]), - "owner": g.ref("Account"), - "name": t.string(min=3, pattern="^[A-Za-z_-]$"), - }, - config={"unique": [["owner", "name"]]} -).rename("Project") -``` +- **Bug Fixes** +- Removed outdated Deno import mapping settings to streamline +development environment setup. +- **Documentation** +- Expanded documentation on artifact tracking and management, including +reference counting and garbage collection mechanisms. -#### Migration notes +- **Refactor** +- Implemented interface changes in `QueryEngine` for better async +disposal management. +- Code restructuring in artifact management for enhanced performance and +maintainability. -_No migration needed._ +- **Chores** +- Adjusted settings and configurations in the development environment to +align with current best practices. -### Checklist +- **Tests** +- Introduced new test cases for artifact upload and management +functionalities. + -- [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +---------
+ + +### Miscellaneous Tasks +
-(typegate) Oauth2 token validation endpoint (#567) +(release) Prepare 0.4.0 (#710) -Create an oauth2 token validation endpoint: `/:tgName/auth/validate`. - - -#### Motivation and context +Bumps version to release 0.4.0. - + +## Summary by CodeRabbit -#### Migration notes - +- **New Features** +- Updated the software across various components to version 0.4.0, +enhancing functionality and potentially introducing new features or +fixes. +- **Documentation** +- Updated version documentation in multiple configuration files to +reflect new version 0.4.0. +- **Bug Fixes** +- Adjusted version constants and dependencies to ensure compatibility +and stability with the new software version 0.4.0. -### Checklist + -- [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +---------
-(typegate-rt) Extend typegate runtime (#561) +(sdk,gate) Bump wasmtime to 20.0.0 and wit-bindgen to 0.24.0 (#695) -Extend the typegate runtime with the following queries: -- `findListQueries`: find all the queries that returns a list of -`t.struct`. - -#### Motivation and context - -Console. - -#### Migration notes - -_N/A_ - -### Checklist - -- [ ] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +
+ + +### Refactor +
-(vscode-ext) Logo, README, display name, description (#554) +(gate) Wasi 0.2 pyrt (#687) -- Added a better display name and description -- Added logo and README +- Rewrites the PythonRuntime host using a `componentize-py` based +component. +- Leaf through this +[memo](https://hackmd.io/@SC-qT-WXTROceKYdNA-Lpg/ryyAXiQlC/edit) for a +mental model.
-Flattened context (#555) +(libs/xtask,gate) Remove xtask/codegen (#700) -Flatten profile fields in the context. - -So instead of -```js -{ - provider: 'github', - accessToken: 'xxxxxxxxxxxxxxxxxxxxxxxxxx', - refreshToken: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', - refreshAt: 1704717676, - profile: { id: '43663718' }, - exp: 1707280877, - iat: 1704688876 -} -``` - -we would have: -```js -{ - provider: 'github', - accessToken: 'xxxxxxxxxxxxxxxxxxxxxxxxxx', - refreshToken: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', - refreshAt: 1704717676, - 'profile.id': '43663718', - exp: 1707280877, - iat: 1704688876 - } -``` - -#### Motivation and context - -It was impossible to get the nested id into a `from_context` injection. -Now we can inject `.from_context("profile.id")`. +Faster build time #### Migration notes - - -### Checklist - -- [ ] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +Make sure to sync `typegate/src/types.ts` when an update is made on the +typegraph schema.
- - -### Refactor - -
+
-(ci) `workflow_dispatch` for release wflow (#546) +(sdk,gate) Improve temporal rt (#642) + - BREAKING: improve temporal rt (#642) -- Manual trigger for release wflow -- Adds missing ghjk step for `vscode-extension` release job +Improve the temporal runtime exposing more parameters and adding more +tests. #### Motivation and context -Provides recovery path for when things break. +MET-397. The old implementation was bug-ridden and did not expose +necessary params. #### Migration notes -Doesn't affect end users. +API changes to `TemporalRuntime` ctor, methods and generated +materializers. ### Checklist -- [ ] The change come with new or modified tests +- [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- [x] End-user documentation is updated to reflect the change
- - -## [v0.3.2](https://github.com/metatypedev/metatype/releases/tag/v0.3.2) - 2024-01-12 - -### Bug Fixes -
-(ci) Release changelog generation (#542) +Pass test options in the first parameter (#667) -#### Describe your change - -Configures the `checkout` action step in the workflow that generates the -workflow to clone the full git history. +Pass the test options in the first parameter along with the test +name/description. #### Motivation and context -The updates to the release workflow that introduce [git -cliff](https://git-cliff.org/) based changelogs (back in #487) don't -appear to be in effect. +Avoid scrolling to the end of the test function to see/update the test +options. #### Migration notes -No end user changes required. +_N/A_ -#### Checklist +### Checklist - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change -
-
- -Fix stage iteration (#540) - - - - -### Describe your change - -- Fix the `iterChildStages` function. It does not yield accurate values -in some edge cases. -- Update the testing framework to enable planning without executing on -the `GraphQLQuery` object. - -### Motivation and context - -Sibling stages can be falsely registered as children, for example with -the following stages: -``` -getUser.id -getUser.identity -getUser.ideas -``` - -### Migration notes - -_No migration needed._ - -### Checklist - -- [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments (_N/A_) -- [x] End-user documentation is updated to reflect the change (_N/A_) - ---------- -
-### Features +### Testing
-(lsp) Simple diagnostics (#496) +Use local npm registry for tests (#646) - - -### Describe your change - -Adds a simple LSP implementation for diagnostics. +Use verdaccio local npm registry for tests: +- The `@typegraph/sdk` package is published to the local npm registry, +and can now be consumed like any npm package from Nodejs or Deno. -### Motivation and context +#### Motivation and context -Better DX, catch potential errors while editing the typegraph module. +... -### Migration notes +#### Migration notes - +_N/A_ ### Checklist - [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments +- [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change ---------- - -
-
- -(sdk/node) Move js deno to node (#539) - - - - -### Describe your change - -Change deno frontend to pure node - -### Motivation and context - -Easier integration. - -### Migration notes - - - -### Checklist -- [x] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +![tg-sdk-verdaccio](https://github.com/metatypedev/metatype/assets/43663718/d22d8d8b-175a-4858-9238-da0ab5ac79a2)
-
- -Customizable oauth2 profiler (#538) - - - - -### Describe your change - -Enable custom profiler for the std (predefined) Oauth2 providers: -- Default profiler -- No profiler -- Extended default profiler -- Custom profiler - -### Motivation and context - -We may want for example to add the Github login in the profile in -addition to the id. -### Migration notes -_No migration needed._ - -### Checklist +## [v0.3.6](https://github.com/metatypedev/metatype/releases/tag/v0.3.6) - 2024-03-14 -- [ ] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +### Bug Fixes -
-Limited parallel loads (#537) +Optimize typegraph size (#618) - - -### Describe your change - -Limit the number of parallel loads. -The default max is the number of CPU cores, but it can be set with the -option `--max-parallel-loads=N`. +- Hash all type data to compare them on the conversion phase in +typegraph/core: remove duplicate types from type final typegraph +(duplicate: same value for all the fields except for the "random" +name/title). +- Skip unreferenced types in `.apply` -### Motivation and context +#### Motivation and context -When we have a high number of typegraphs, the loader processes exhaust -the CPU load. +Typegraph is too big sometimes. -### Migration notes +#### Migration notes -_No migration needed._ + ### Checklist - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - ---------- +- [ ] End-user documentation is updated to reflect the change
@@ -3067,18 +3571,18 @@ _No migration needed._
-(release) Bump 0.3.2 (#543) +Prepare release v0.3.6 (#626) -Bump the version of all metatype libs to 0.3.2. +Prepare release v0.3.6 #### Motivation and context -About to tag the next version. +_N/A_ #### Migration notes -Change their manifests to point at the new version. +_N/A_ ### Checklist @@ -3087,3 +3591,6 @@ Change their manifests to point at the new version. - [ ] End-user documentation is updated to reflect the change
+ + + diff --git a/Cargo.lock b/Cargo.lock index 564dfd1015..c57e4e529b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1530,7 +1530,7 @@ dependencies = [ [[package]] name = "common" -version = "0.4.10" +version = "0.4.11-rc.0" dependencies = [ "anyhow", "async-trait", @@ -6672,7 +6672,7 @@ dependencies = [ [[package]] name = "meta-cli" -version = "0.4.10" +version = "0.4.11-rc.0" dependencies = [ "actix", "assert_cmd", @@ -6739,7 +6739,7 @@ dependencies = [ [[package]] name = "metagen" -version = "0.4.10" +version = "0.4.11-rc.0" dependencies = [ "color-eyre", "common", @@ -7066,7 +7066,7 @@ dependencies = [ [[package]] name = "mt_deno" -version = "0.4.10" +version = "0.4.11-rc.0" dependencies = [ "anyhow", "deno", @@ -12454,7 +12454,7 @@ dependencies = [ [[package]] name = "typegate" -version = "0.4.10" +version = "0.4.11-rc.0" dependencies = [ "colored", "env_logger 0.11.0", @@ -12467,7 +12467,7 @@ dependencies = [ [[package]] name = "typegate_engine" -version = "0.4.10" +version = "0.4.11-rc.0" dependencies = [ "anyhow", "base64 0.22.1", @@ -12507,7 +12507,7 @@ dependencies = [ [[package]] name = "typegraph_core" -version = "0.4.10" +version = "0.4.11-rc.0" dependencies = [ "anyhow", "color-eyre", @@ -14229,7 +14229,7 @@ checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" [[package]] name = "xtask" -version = "0.4.10" +version = "0.4.11-rc.0" dependencies = [ "anyhow", "clap", diff --git a/Cargo.toml b/Cargo.toml index b75fe3aa69..c1969d4324 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,7 +20,7 @@ exclude = [ ] [workspace.package] -version = "0.4.10" +version = "0.4.11-rc.0" edition = "2021" [workspace.dependencies] diff --git a/examples/templates/deno/api/example.ts b/examples/templates/deno/api/example.ts index b58551b0b5..fa469abd37 100644 --- a/examples/templates/deno/api/example.ts +++ b/examples/templates/deno/api/example.ts @@ -1,6 +1,6 @@ -import { Policy, t, typegraph } from "jsr:@typegraph/sdk@0.4.10-rc1/index.ts"; -import { PythonRuntime } from "jsr:@typegraph/sdk@0.4.10-rc1/runtimes/python.ts"; -import { DenoRuntime } from "jsr:@typegraph/sdk@0.4.10-rc1/runtimes/deno.ts"; +import { Policy, t, typegraph } from "jsr:@typegraph/sdk@0.4.10/index.ts"; +import { PythonRuntime } from "jsr:@typegraph/sdk@0.4.10/runtimes/python.ts"; +import { DenoRuntime } from "jsr:@typegraph/sdk@0.4.10/runtimes/deno.ts"; await typegraph("example", (g) => { const pub = Policy.public(); diff --git a/examples/templates/deno/compose.yml b/examples/templates/deno/compose.yml index 33850dbe5b..05381192e6 100644 --- a/examples/templates/deno/compose.yml +++ b/examples/templates/deno/compose.yml @@ -1,6 +1,6 @@ services: typegate: - image: ghcr.io/metatypedev/typegate:v0.4.10 + image: ghcr.io/metatypedev/typegate:v0.4.11-rc.0 restart: always ports: - "7890:7890" diff --git a/examples/templates/node/compose.yml b/examples/templates/node/compose.yml index fa19d06463..18a0f3917d 100644 --- a/examples/templates/node/compose.yml +++ b/examples/templates/node/compose.yml @@ -1,6 +1,6 @@ services: typegate: - image: ghcr.io/metatypedev/typegate:v0.4.10 + image: ghcr.io/metatypedev/typegate:v0.4.11-rc.0 restart: always ports: - "7890:7890" diff --git a/examples/templates/node/package.json b/examples/templates/node/package.json index 6d7a6dd5d8..2432ed06f2 100644 --- a/examples/templates/node/package.json +++ b/examples/templates/node/package.json @@ -6,7 +6,7 @@ "dev": "MCLI_LOADER_CMD='npm x tsx' meta dev" }, "dependencies": { - "@typegraph/sdk": "^0.4.10" + "@typegraph/sdk": "^0.4.11-rc.0" }, "devDependencies": { "tsx": "^3.13.0", diff --git a/examples/templates/python/compose.yml b/examples/templates/python/compose.yml index fa19d06463..18a0f3917d 100644 --- a/examples/templates/python/compose.yml +++ b/examples/templates/python/compose.yml @@ -1,6 +1,6 @@ services: typegate: - image: ghcr.io/metatypedev/typegate:v0.4.10 + image: ghcr.io/metatypedev/typegate:v0.4.11-rc.0 restart: always ports: - "7890:7890" diff --git a/examples/templates/python/pyproject.toml b/examples/templates/python/pyproject.toml index d2a85c5f8e..801148bb01 100644 --- a/examples/templates/python/pyproject.toml +++ b/examples/templates/python/pyproject.toml @@ -1,12 +1,12 @@ [tool.poetry] name = "example" -version = "0.4.10" +version = "0.4.11-rc.0" description = "" authors = [] [tool.poetry.dependencies] python = ">=3.8,<4.0" -typegraph = "0.4.10" +typegraph = "0.4.11-rc.0" [build-system] requires = ["poetry-core"] diff --git a/pyproject.toml b/pyproject.toml index 07ea6b20d5..c422709df9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ [tool.poetry] name = "metatype" -version = "0.4.10" +version = "0.4.11-rc.0" description = "" authors = [] diff --git a/src/meta-lsp/package.json b/src/meta-lsp/package.json index 18c867564b..af56ec15c7 100644 --- a/src/meta-lsp/package.json +++ b/src/meta-lsp/package.json @@ -4,7 +4,7 @@ "description": "VSCode extension for Metatype support", "icon": "logo.png", "author": "Metatype Team", - "version": "0.4.10", + "version": "0.4.11-rc.0", "repository": { "type": "git", "url": "https://github.com/metatypedev/metatype" diff --git a/src/meta-lsp/ts-language-server/package.json b/src/meta-lsp/ts-language-server/package.json index 53e1c54507..4cf00a38f3 100644 --- a/src/meta-lsp/ts-language-server/package.json +++ b/src/meta-lsp/ts-language-server/package.json @@ -2,7 +2,7 @@ "name": "typegraph-ts-server", "description": "TypeScript language server for TypeGraph", "author": "Metatype Team", - "version": "0.4.10", + "version": "0.4.11-rc.0", "repository": { "type": "git", "url": "https://github.com/metatypedev/metatype" diff --git a/src/meta-lsp/vscode-metatype-support/package.json b/src/meta-lsp/vscode-metatype-support/package.json index 5c8f1f3aa8..0e49044a90 100644 --- a/src/meta-lsp/vscode-metatype-support/package.json +++ b/src/meta-lsp/vscode-metatype-support/package.json @@ -2,7 +2,7 @@ "name": "vscode-metatype-support", "description": "VSCode extension for Metatype support", "author": "Metatype Team", - "version": "0.4.10", + "version": "0.4.11-rc.0", "repository": { "type": "git", "url": "https://github.com/metatypedev/metatype" diff --git a/src/pyrt_wit_wire/pyproject.toml b/src/pyrt_wit_wire/pyproject.toml index b5ea39effa..19b2d3e16e 100644 --- a/src/pyrt_wit_wire/pyproject.toml +++ b/src/pyrt_wit_wire/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "pyrt_wit_wire" -version = "0.4.10" +version = "0.4.11-rc.0" description = "Wasm component implementing the PythonRuntime host using wit_wire protocol." license = "Elastic-2.0" readme = "README.md" diff --git a/src/typegate/src/runtimes/wit_wire/mod.ts b/src/typegate/src/runtimes/wit_wire/mod.ts index 4a6f7b680e..ab61e04b38 100644 --- a/src/typegate/src/runtimes/wit_wire/mod.ts +++ b/src/typegate/src/runtimes/wit_wire/mod.ts @@ -9,7 +9,7 @@ import { getLogger } from "../../log.ts"; const logger = getLogger(import.meta); -const METATYPE_VERSION = "0.4.10"; +const METATYPE_VERSION = "0.4.11-rc.0"; export class WitWireMessenger { static async init( diff --git a/src/typegraph/core/Cargo.toml b/src/typegraph/core/Cargo.toml index 892f510e72..d568482fec 100644 --- a/src/typegraph/core/Cargo.toml +++ b/src/typegraph/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "typegraph_core" -version = "0.4.10" +version = "0.4.11-rc.0" edition = "2021" [lib] diff --git a/src/typegraph/core/src/global_store.rs b/src/typegraph/core/src/global_store.rs index fa4a94a1bb..3403f8ec57 100644 --- a/src/typegraph/core/src/global_store.rs +++ b/src/typegraph/core/src/global_store.rs @@ -102,7 +102,7 @@ const PREDEFINED_DENO_FUNCTIONS: &[&str] = &["identity", "true"]; thread_local! { pub static STORE: RefCell = RefCell::new(Store::new()); - pub static SDK_VERSION: String = "0.4.10".to_owned(); + pub static SDK_VERSION: String = "0.4.11-rc.0".to_owned(); } fn with_store T>(f: F) -> T { diff --git a/src/typegraph/deno/deno.json b/src/typegraph/deno/deno.json index e644fb76f3..13e720e555 100644 --- a/src/typegraph/deno/deno.json +++ b/src/typegraph/deno/deno.json @@ -1,6 +1,6 @@ { "name": "@typegraph/sdk", - "version": "0.4.10", + "version": "0.4.11-rc.0", "publish": { "exclude": [ "!src/gen", diff --git a/src/typegraph/python/pyproject.toml b/src/typegraph/python/pyproject.toml index 6f33c9a1fc..a842890e90 100644 --- a/src/typegraph/python/pyproject.toml +++ b/src/typegraph/python/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "typegraph" -version = "0.4.10" +version = "0.4.11-rc.0" description = "Declarative API development platform. Build backend components with WASM, Typescript and Python, no matter where and how your (legacy) systems are." authors = ["Metatype Contributors "] license = "MPL-2.0" diff --git a/src/typegraph/python/typegraph/__init__.py b/src/typegraph/python/typegraph/__init__.py index 6e71c9431f..e501ed3a30 100644 --- a/src/typegraph/python/typegraph/__init__.py +++ b/src/typegraph/python/typegraph/__init__.py @@ -5,4 +5,4 @@ from typegraph.policy import Policy # noqa from typegraph import effects as fx # noqa -version = "0.4.10" +version = "0.4.11-rc.0" diff --git a/src/xtask/Cargo.toml b/src/xtask/Cargo.toml index 0dbf1b30f2..c7bececfa1 100644 --- a/src/xtask/Cargo.toml +++ b/src/xtask/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "xtask" -version = "0.4.10" +version = "0.4.11-rc.0" edition = "2021" # this allows us to exclude the rust files diff --git a/tests/metagen/__snapshots__/metagen_test.ts.snap b/tests/metagen/__snapshots__/metagen_test.ts.snap index d9eb22c974..066e63b334 100644 --- a/tests/metagen/__snapshots__/metagen_test.ts.snap +++ b/tests/metagen/__snapshots__/metagen_test.ts.snap @@ -540,7 +540,7 @@ impl Router { } pub fn init(&self, args: InitArgs) -> Result { - static MT_VERSION: &str = "0.4.10"; + static MT_VERSION: &str = "0.4.11-rc.0"; if args.metatype_version != MT_VERSION { return Err(InitError::VersionMismatch(MT_VERSION.into())); } @@ -1365,7 +1365,7 @@ impl Router { } pub fn init(&self, args: InitArgs) -> Result { - static MT_VERSION: &str = "0.4.10"; + static MT_VERSION: &str = "0.4.11-rc.0"; if args.metatype_version != MT_VERSION { return Err(InitError::VersionMismatch(MT_VERSION.into())); } diff --git a/tests/runtimes/wasm_reflected/rust/Cargo.toml b/tests/runtimes/wasm_reflected/rust/Cargo.toml index 06f4cc4ab9..87a99cb805 100644 --- a/tests/runtimes/wasm_reflected/rust/Cargo.toml +++ b/tests/runtimes/wasm_reflected/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rust" -version = "0.4.10" +version = "0.4.11-rc.0" edition = "2021" [lib] diff --git a/tools/consts.ts b/tools/consts.ts index c8c8250a48..7e4960a223 100644 --- a/tools/consts.ts +++ b/tools/consts.ts @@ -1,8 +1,8 @@ // Copyright Metatype OÜ, licensed under the Elastic License 2.0. // SPDX-License-Identifier: Elastic-2.0 -export const METATYPE_VERSION = "0.4.10"; -export const PUBLISHED_VERSION = "0.4.10-rc1"; +export const METATYPE_VERSION = "0.4.11-rc.0"; +export const PUBLISHED_VERSION = "0.4.10"; export const GHJK_VERSION = "v0.2.1"; export const GHJK_ACTION_VERSION = "318209a9d215f70716a4ac89dbeb9653a2deb8bc"; export const RUST_VERSION = "1.80.1";