From 1f4a9008e2826c78c46a9a6167b60991ce2a9169 Mon Sep 17 00:00:00 2001 From: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> Date: Thu, 7 Aug 2025 10:40:20 +0000 Subject: [PATCH] chore(release): prepare for 0.5.1-rc.7 --- CHANGELOG.md | 5452 ++++++++++------- Cargo.lock | 38 +- 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 | 2 +- pyproject.toml | 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 +- .../typegraphs/identities/rs/Cargo.toml | 2 +- tests/metagen/typegraphs/sample/rs/Cargo.toml | 2 +- .../typegraphs/sample/rs_upload/Cargo.toml | 2 +- tools/consts.ts | 2 +- 23 files changed, 3177 insertions(+), 2361 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fd479dd0..ebebf9071 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,27 +2,28 @@ All notable changes to this project will be documented in this file. -## [v0.5.0-rc.5](https://github.com/metatypedev/metatype/releases/tag/v0.5.0-rc.5) - 2024-11-10 +## [v0.5.1-rc.6](https://github.com/metatypedev/metatype/releases/tag/v0.5.1-rc.6) - 2025-08-07 -### Bug Fixes +### Refactor
-Meta dev does not exit properly upon `SIGTERM` (#895) +Ordered recieve (#1041) -#### Migration notes - -None -- [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.5.1-rc.5](https://github.com/metatypedev/metatype/releases/tag/v0.5.1-rc.5) - 2025-07-18 + +### Bug Fixes + +
-Fix optional field filter in apply (#909) +(gate) Auth refactor (#1028) + - BREAKING: auth refactor (#1028) -- Fix the optional field filter on apply: resolve types before matching. - - - - +- Solves +[MET-885](https://linear.app/metatypedev/issue/MET-885/auth-refactor). #### Migration notes -_No migrations needed._ --- - [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 -
+ +## Summary by CodeRabbit -### Documentation +- **New Features** +- OAuth2 authentication now supports multiple clients per provider with +explicit client ID and redirect URI configuration. +- Introduced a secure PKCE-based token flow requiring Redis for state +management, including new token exchange and refresh endpoints. + - Added Redis configuration support for both sync and non-sync modes. + +- **Improvements** +- Unified OAuth2 configuration across Python, TypeScript, and Rust SDKs +with a single structured interface replacing provider-specific methods. +- Enhanced validation and security for OAuth2 redirect URIs and client +identification. + - Updated JWT token duration defaults and made them configurable. + - Modularized Redis URL parsing and connection logic. + +- **Bug Fixes** +- Improved error handling and validation in OAuth2 token and +authorization flows. +- **Documentation** +- Updated OAuth2 authentication docs to reflect the new PKCE token flow, +token refresh, and Redis requirements. +- Added Redis configuration and updated JWT duration defaults in +environment variable documentation. + +- **Tests** +- Expanded authentication tests to cover PKCE, Redis state management, +token exchange, and refresh flows. + +- **Chores** + - Updated example projects to use the new OAuth2 configuration format. + - Removed deprecated OAuth2 helper methods and related code. + + +
-Grpc annoucement blog (#872) +(sub) Recover from broken run + race conditions (#1033) - - - - -- - - - -- - - - -#### Migration notes - -... - -- [ ] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments +* Broken run +1. Detect already handled schedules but interrupted before closing then +close/skip them +2. Try to recover from schedule dups such as + +``` + [Start Start ...] or + [... Stop Stop] or + [ .... Event X Event X ... ] +``` + +These dups can occur when we crash at a given timing and the underlying +event of the appointed schedule was not closed. The engine will happily +append onto the operation log, we throw by default but realistically we +can recover. +However 1. should make sure dups do not occur accross all nodes, this +should mitigate unknown unknowns (timestamp identifies schedules so it +should be safe). +WARN: Undesirable side effects cannot be ruled out if we crash before +saving the Saved results. + +* Moved from setInterval to a custom blocking async interval +* Changed lease renew logic +#### Migration notes + +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change -
+ +## Summary by CodeRabbit -### Features +## Summary by CodeRabbit +- **New Features** +- Added a Redis Commander service for easier Redis database management +via a web interface. +- Introduced lease heartbeat renewal to automatically manage lease +lifetimes. +- Added asynchronous interval control to ensure sequential execution of +recurring tasks. + +- **Bug Fixes** +- Improved handling of duplicate operations and run state validation to +prevent data inconsistencies and duplicate scheduling. + - Enhanced logic to prevent appending operations to stopped runs. +- Added run log integrity validation to detect corrupted or overlapping +run states. + +- **Refactor** +- Replaced and reorganized utility functions for checking run status and +operation scheduling. +- Updated type definitions and imports for better code clarity and +maintainability. +- Improved logging, debugging, and tracing for better observability and +troubleshooting. +- Replaced standard intervals with controlled async intervals to avoid +concurrency issues. + +- **Tests** +- Added assertions to verify lease expiration and run state consistency. + +- **Style** + - Reformatted import statements for consistency and readability. + +- **Documentation** +- Added comments and documentation to clarify lease handling, +concurrency, and run integrity validation. + + +
-(cli) Watch artifacts (#897) +Prisma query batching (#1027) -- Solve [MET -710](https://linear.app/metatypedev/issue/MET-710/watch-artifacts). - -- ... +
- + +### Features + +
+ +(gate) Idempotent request (#1031) + #### Migration notes ---- +None - [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 + + + +## Summary by CodeRabbit + +- **New Features** +- Introduced idempotency support for GraphQL requests, enabling repeated +requests with the same idempotency key to return cached responses for up +to one day. +- Added a new GraphQL query `nextInt` that returns an incrementing +integer. +- Provided documentation explaining how to use the idempotency key +header to ensure safe request retries. + +- **Chores** +- Removed an unused port and its metadata from internal configuration +files. +
-Substantial function secrets support (#908) +(sub) Query workflow logs + timing bug fix when stressed (#1034) -- Add support for passing secrets to substantial workflows -- Bump version to 0.5.0-rc5 - ---- - +* Make a separate entity for log events +* Query log by run +* Fix timing error when there are many workflows running at the same +time but too few workers +([MET-902](https://linear.app/metatypedev/issue/MET-902/append-stop-missed-in-rare-cases-even-when-workflow-is-terminated)) + +#### Migration notes + +* `ctx.logger.*()` does not return Promise anymore + - [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 -
+ +## Summary by CodeRabbit -### Miscellaneous Tasks +* **New Features** +* Added structured logging support to workflows, enabling logs with +levels (Info, Warn, Error) to be recorded and queried for each workflow +run. +* Workflow run results now include detailed logs, accessible via GraphQL +queries. +* Introduced documentation on debugging workflows and accessing logs in +real time. +* Added a stress test script and a helper client for workflow run +management. + +* **Bug Fixes** +* Improved deduplication of operations to prevent duplicate logs after +crashes or incomplete saves. + +* **Improvements** +* Logging methods (`info`, `warn`, `error`) are now synchronous for +better usability. +* Enhanced error handling and validation in workflow runtime and agent +logic. + * Lowered the minimum polling interval for workflow status checks. + +* **Documentation** +* Expanded documentation with detailed guides and examples for workflow +logging and debugging. + +* **Tests** +* Extended test coverage to verify workflow logs and blocking interval +behavior. +* Updated existing tests to reflect new synchronous logging and log +retrieval features. + +* **Style** +* Various formatting and consistency improvements in code and type +declarations. + +* **Chores** +* Updated dependencies and configuration for improved compatibility and +performance. + -
+--------- + +
+
-License change to MPL Version 2.0 (#899) - - BREAKING: license change to MPL Version 2.0 (#899) +(sub) Detect non deterministic run (#1037) -#### Migration notes - -All license headers has changed to MPL 2.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.5.0-rc.4](https://github.com/metatypedev/metatype/releases/tag/v0.5.0-rc.4) - 2024-11-05 -### Bug Fixes +### Miscellaneous Tasks
-(typegraph) Send rpc message in chunks in the TS typegraph client (#904) +Update deno to v2.2.4 (#923) -- Send the JSON-RPC message is chunks in the TypeScript typegraph client -to prevent reaching the line size limit for stdout. Note: we could not -reproduce the issue locally as it only occurs when using the published -package for Node.js. -- Use JSON-RPC notification for logging and report from the typegraph -clients. -- Other changes: - - Use relative paths for static task sources in the CLI; -- Fix TODO in `meta gen`: pass the working directory on the -`working_dir` param of `SerializeActionGenerator::new`. - - - - - - - -#### 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 +
-Speculative fix for `typegate_prisma_test.ts` (#898) +Bump ghjk to 0.3.1-rc.2 (#1029) -- Assigns special schemas for each test that relies on the -`runtimes/prisma/prisma.py` typegraph. -- Bumps version tag to 0.5.0-rc4 -- Fixes issues in release pipeline -- Disables all but the `test-full` job when the test pipeline is run -with tmate enabled. - -The flakeout of `typegate_prisma_test.ts` has proved difficult to -recreate. Looking at the code and going from recent similar cases, I -suspect it happens due to the old code reusing the same pg schema for -multiple tests. Assigning special schemas for each tests should -hopefully help. - - -#### Migration notes - -N/A - ---- - -- [x] The change comes with new or modified tests - ---------- += Updates ghjk to 0.3.1-rc.2 + + +## Summary by CodeRabbit + +* **Chores** +* Upgraded the GHJK tool and related dependencies to version v0.3.1-rc.2 +across workflows, Dockerfiles, and configuration files. +* Updated Python version to 3.9.23 and improved Docker build context +handling for Rust projects. +* Switched to using external GHJK packages for imports and streamlined +environment setup in CI workflows. +* Expanded and reorganized ignore and configuration files for better +build and linting control. +* Refreshed port references, versions, build dependencies, and profiles +in configuration files. +* Updated environment variables and deployment workflows for consistency +and reliability. +* Added new GHJK and Deno configuration files to support workspace and +import map management. + +* **Refactor** +* Reformatted and improved code style across many files for consistency +and readability, including type declarations, method signatures, +imports, and code generation templates. + * Updated export and import orders in various modules for clarity. +* Improved formatting in test cases and utility scripts for better +maintainability. +* Enhanced formatting and indentation in HTML, YAML, and CSS files for +readability. + +* **Documentation** +* Updated contributing instructions to reflect new tool versions and +directory names. + +* **Bug Fixes** +* Increased the timeout threshold for Python runtime tests to reduce +false negatives. +* Improved workflow reliability by sourcing environment activation +scripts and updating caching strategies. + +* **New Features** +* Added new configuration files for GHJK and Deno environments to +support enhanced build and development workflows. +
-## [v0.5.0-rc.3](https://github.com/metatypedev/metatype/releases/tag/v0.5.0-rc.3) - 2024-10-30 +## [v0.5.1-rc.4](https://github.com/metatypedev/metatype/releases/tag/v0.5.1-rc.4) - 2025-06-02 -### Bug Fixes +### Miscellaneous Tasks
-Update license file (#890) +Bump to v0.5.1-rc.4 (#1023) -# PR Summary -Commit d84e4ed6c3f88d52c95f1491a050daa924e14b87 moved the -`LICENSE-MPL-2.0.md` file. This PR adjusts sources to changes. + +## Summary by CodeRabbit -#### Migration notes +- **Chores** +- Updated project, dependency, and Docker image versions from 0.5.1-rc.3 +to 0.5.1-rc.4 across multiple files and templates. -- [ ] 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** +- Disabled certain Python runtime performance tests by commenting them +out or marking them as ignored. +
+ + +### Refactor +
-Minor bug fixes (#894) +Relax prisma type safety to decrease type count (#1019) -- Bug with typegraph context reset around deno_modules -- Bug with typegate onPush hook error detection and typegraph parsing of -such errors -- Bug with artifact resolution when they're reused. -- Bug with return type of the KvRuntime get functions -- Bumps metatype to 0.5.0-rc.3 - -#### Migration notes - -N/A - ---- - -- [x] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments +- Improves the type count of the prisma type generators by relaxing type +safety. Namely: +- Create/update types have all related types as optional even when +required +- Where filters will always have all the relationships present even when +netsted in another where type + +#### Migration notes + +--- + +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change + + +## Summary by CodeRabbit + +- **New Features** +- Added an optional selection flag property to multiple TypeScript +selection types, enabling enhanced selection capabilities in generated +client code. + +- **Bug Fixes** +- Updated version checks in initialization routines to expect version +"0.5.1-rc.3". + +- **Refactor** +- Simplified and streamlined type generation logic by disabling +selective relationship and model skipping in generated types. +- Reorganized and clarified struct and type alias declarations for +improved code structure and maintainability. +- Adjusted internal variant ordering for RPC calls to improve internal +consistency. + +- **Tests** +- Updated test output to provide more concise and relevant debugging +information. + +
-### Documentation +## [v0.5.1-rc.3](https://github.com/metatypedev/metatype/releases/tag/v0.5.1-rc.3) - 2025-05-13 + +### Bug Fixes
-Add substantial (#891) +(gate) Update graphql playground deps (#1012) - - - - -- docs - - - -- N/A - - - -#### Migration - -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 + + -## [v0.5.0-rc.2](https://github.com/metatypedev/metatype/releases/tag/v0.5.0-rc.2) - 2024-10-24 +- Fixes broken graphQL playground by updating the react version and +pinning graphiql. -### Bug Fixes + -
- -Fix `.apply` serialization error with optional structs (#886) - +#### Migration notes - - - - -- Fix the error on `.apply` when the apply tree goes beyond an optional -struct, mostly changing the implementation of `resolve_optional` method. -- Improve the errors when we encounter an exception raise by -`Result::Err` from typegraph_core. - - - - - - - -#### Migration notes - -... - -- [x] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments +--- + +- [ ] 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 -### Features +- **New Features** +- Upgraded the GraphiQL playground to use the latest React and GraphiQL +versions for improved performance and compatibility. + +
-Add GraphQL alias support for prisma runtime (#887) +(perf) Improve the performance of the typegraph expansion (#1008) - - - - -- Add GraphQL alias support for prisma runtime - - - - - - - -#### 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 + + -## [v0.5.0-rc.1](https://github.com/metatypedev/metatype/releases/tag/v0.5.0-rc.1) - 2024-10-22 +The previous single-pass recursive algorithm for the typegraph expansion +was buggy and had terrible performance. +This PR attempts to simplify the expansion, making it easier to debug +and have better performance. For more details, see the doc comments at +the crate root (`src/typegraph/graph/src/lib.rs`). -### Bug Fixes +Other changes: +- Change the github runners: + - Downgrade to Ubuntu 22.04 + - Use the native Github runners for ARM -
- -(ci) Disable sccache when secrets not avail (#874) - + -- Makes sccache optional so PRs from dependabot and forks can still run -the test suite. -- Increases sccache allotment to 50g. - ---------- + + + + +#### Migration notes + +_N/A_ + +--- + +- [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~ + + + +## Summary by CodeRabbit + +- **New Features** +- The tree view web tool now displays a dynamic footer status bar +showing loading state and type count, and supports union/either node +types in typegraph visualization. The default tree depth can be set via +a URL parameter. + +- **Bug Fixes** +- Corrected naming and ordering of selection types and partial types in +generated Rust, TypeScript, and Python client code for composite and +cyclic structures. + - Fixed a job naming typo in the test workflow. + +- **Refactor** +- Major internal overhaul of typegraph conversion logic, simplifying and +restructuring the process for converting, linking, and registering +types. +- Streamlined and clarified logic for rendering TypeScript FDK templates +and type registries. +- Improved visibility and access to generated TypeScript client manifest +types. + +- **Chores** +- Updated GitHub Actions workflows to use explicit Ubuntu 22.04 runners +for consistency. +- Increased verbosity of the meta-cli serialize command for tree view +tooling. + - Updated dependencies in configuration files. + +- **Documentation** +- Added comprehensive module-level documentation for the typegraph +expansion process. + +- **Tests** +- Added and reorganized migration test files and improved structure of +test-generated client code for clarity and accuracy. +
-(cli) Change default installation directory (#873) +Hostcall token issue (#1010) - - - - -- Remplacement PR for #843. - - - -- ... - - - -#### 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 - ---------- +
-(docs) Grpc docs (#852) +Metagen select in client_ts (#1011) - - - - -- - - - -- - - - -#### Migration notes - -... - -- [ ] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments + + + + +- Fix selection for optional types in metagen + + + + + + + +#### Migration notes + +--- + +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change + + + +## Summary by CodeRabbit + +- **New Features** +- Added support for alias selections in the selection system, improving +handling of optional and list types. + +- **Style** +- Enhanced debug output for various type structures, including list, +object property, optional, and union types, to display more concise and +informative information during debugging. + +- **Chores** +- Updated dependencies to enable additional features for improved +debugging support. + + +
-(gate) Make __typename returns the variant name on unions (#838) +Substantial filter missing type (#1014) - - - - -- Add missing implementation for static injection for parameter -transformations on the typegate -- Solves -[MET-642](https://linear.app/metatypedev/issue/MET-642/gate-typename-on-union-selections-should-hold-member-title): -Fix the `__typename` result on union variants: return the variant name -instead of the parent type name - - - - - - - -#### Migration notes - -N/A - -#### Checklist - -- [x] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments + + + + +- Add missing type from +[MET-870](https://linear.app/metatypedev/issue/MET-870/subs-filter-by-run-id). + + + +#### 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 + + + +## Summary by CodeRabbit + +- **New Features** +- Added support for "run_id" as a special property in filtering options. +- Enhanced filtering to include conditions on the "run_id" field in +workflow searches. + + +
+
+ +Substantial filter missing type (#1014) + + + + + + +- Add missing type from +[MET-870](https://linear.app/metatypedev/issue/MET-870/subs-filter-by-run-id). + + + +#### 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 + + + +## Summary by CodeRabbit + +- **New Features** +- Added support for "run_id" as a special property in filtering options. +- Enhanced filtering to include conditions on the "run_id" field in +workflow searches. + + +
+
+ +Fix injection filter in object properties (#1013) + + + + + + +- Only filter out leaf nodes of the injection tree. +- Type the selection and output type for nested functions (part of +[MET-862](https://linear.app/metatypedev/issue/MET-862/nested-functions-have-wrong-return-types)). +- Support conservative expansion; needed for FDK handlers that take the +original type. +- Improve logging: +- Disable tracing instrumentations unless the `tracing-instrument` +feature is enabled (CLI). This will make the output more readable by +default. +- Enable logging on crates other than `meta` (CLI): `typegraph`, +`tg_schema`, `metagen`. + + + + + + + +#### Migration notes + +_N/A_ + +--- + +- [ ] 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 + + + + +## Summary by CodeRabbit + +- **New Features** +- Added advanced typegraph expansion capabilities with configurable +duplication and naming engines. + - Introduced support for disconnected types in typegraphs. +- Added optional tracing instrumentation in the CLI, enabled via a +feature flag. + +- **Improvements** +- Enhanced manifest rendering for TypeScript, Python, and Rust clients +with better type caching and logging. +- Improved policy handling and expansion logic for richer typegraph +processing. +- Updated synchronization primitives for lazy initialization, improving +thread safety. + +- **Bug Fixes** +- Prevented potential runtime errors in filter utilities by adding null +checks. + +- **Refactor** +- Major internal restructuring of typegraph expansion, duplication, and +naming systems for extensibility and maintainability. + - Simplified and unified module imports and type definitions. + +- **Chores** +- Updated tests and fixtures to align with new typegraph schema handling +and expansion logic. +- Added a new optional CLI feature for conditional tracing +instrumentation. + + + +
+ + +### Features + +
+ +(kv) Push, pop (#1006) + + +Simple push/pop + +#### Migration notes + +None + +- [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 + + + +## Summary by CodeRabbit + +## Summary by CodeRabbit + +- **New Features** +- Added push and pop operations to the key-value runtime, enabling list +manipulation on both ends for Redis-backed stores. +- **Tests** +- Introduced new tests covering push and pop operations to ensure +correct behavior and data integrity. +- **Documentation** +- Updated KvRuntime documentation to include the new list push and pop +operations. +- **Chores** +- Updated pre-commit configuration for improved accuracy and formatting. + + +
+ + +### Miscellaneous Tasks + +
+ +Bump to v0.5.1-rc.3 (#1015) + + + + + + +- Bump to v0.5.1-rc.3 + + + + + + + +#### Migration notes + +--- + +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + + + + +## Summary by CodeRabbit + +- **Chores** +- Updated version numbers across multiple packages and configuration +files from 0.5.1-rc.2 to 0.5.1-rc.3. +- Updated Docker Compose service images and SDK/runtime dependencies to +use the new version. +- Refreshed version constants and metadata to reflect the latest release +candidate. + + + +
+ + +## [v0.5.1-rc.2](https://github.com/metatypedev/metatype/releases/tag/v0.5.1-rc.2) - 2025-04-18 + +### Bug Fixes + +
+ +(sdk) Node SDK cross-platform compatibility (#1000) + + + + + + +- Closes +[MET-876](https://linear.app/metatypedev/issue/MET-876/nodejs-file-descriptor-api-not-working-on-macos). + + + +- FFI had to be used to make file descriptors blocking on unix systems +because they are asynchrnous by default, meaning a file descriptor read +immediately fails when there's no data instead of waiting. Deno +abstracts this in its implementation but we have to handle edge cases by +ourselves with NodeJS. +- Fixes CI issues by upgrading ghjk to v0.2.2. + + + +#### Migration notes + +--- + +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + + + +## Summary by CodeRabbit + +- **Bug Fixes** +- Improved compatibility for reading standard input on macOS and Linux +systems, ensuring smoother and more reliable input handling. +- **Chores** +- Updated the version of the development environment tool used across +workflows, documentation, and build configurations to v0.2.2. +- **Documentation** +- Updated a Python code generation example in the documentation for +clearer reference. + + +
+
+ +Type dedup and substantial filters (#994) + + + + + + +- Fixes type dedup when using list and optional +- Add `run_id` filter for substantial +([MET-870](https://linear.app/metatypedev/issue/MET-870/subs-filter-by-run-id)) + + + +#### 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 + + + +## Summary by CodeRabbit + +- **New Features** +- Introduced two public endpoints for retrieving structured data as +lists and optional objects. + - Expanded filtering capabilities to support an additional identifier. + +- **Improvements** +- Enhanced asynchronous processing to ensure operations complete +reliably. + - Streamlined messaging and error feedback for greater clarity. + - Optimized naming consistency across system components. +- Enhanced functionality of the `SpecialTerms` type for better +expression evaluation. + + +
+ + +### Features + +
+ +Expanded typegraph (#978) + + + + + + +- [x] Add a crate for an expanded version of the typegraph where hoisted +parameters are expanded +- [x] Use the expanded typegraph in metagen + - [x] fdk_rs + - [x] client_rs + - [x] fdk_ts + - [x] client_ts + - [x] fdk_py + - [x] client_py + - [x] fdk_substantial +- [x] Support for injection in metagen: hide injected types in input +types + + + +The expanded typegraph duplicates the type for different injection data. +All numeric references for types, runtimes, materializers and policies +are inlined, removing the need to always have a reference to the +typegraph object itself. + + + +#### Migration notes + +--- + +- [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 + + + +## Summary by CodeRabbit + +- **Chores** +- Updated dependency and workspace configurations to incorporate a new +module for improved version management. +- **New Features** +- Introduced enhanced client generation across Python, Rust, and +TypeScript with new manifest systems to better support GraphQL +integration. +- Added new methods for managing injection nodes and their associated +data, enhancing dependency injection capabilities. +- **Refactor** +- Overhauled the type schema and metadata management systems for +improved clarity, performance, and memory safety. +- Refined error handling to provide clearer diagnostics during +multi-threaded operations. +- Restructured node metadata definitions and argument types for improved +clarity and consistency. + +These improvements streamline our code generation pipeline for a more +robust and maintainable experience. + + +
+ + +### Miscellaneous Tasks + +
+ +Bump to v0.5.1-rc.2 (#1001) + + + + +## Summary by CodeRabbit + +- **New Features** +- Added a new Deno configuration for module import mappings and +dependency locking. + +- **Bug Fixes** +- Improved content-type validation in GraphQL response handling for +Python tests. + +- **Refactor** +- Standardized type naming conventions and method names in test code and +Rust modules. + - Updated enum variant order for improved code consistency. + +- **Chores** +- Updated all version references from 0.5.1-rc.1 to 0.5.1-rc.2 across +packages, Docker images, and dependencies. + - Removed obsolete SQL migration and lock files. + + + +
+ + +## [v0.5.1-rc.1](https://github.com/metatypedev/metatype/releases/tag/v0.5.1-rc.1) - 2025-03-20 + +### Bug Fixes + +
+ +(gate) Skip unnecessary secret decryption step on `SYNC_FORCE_REMOVE` (#976) + + +#### 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 + +- **New Features** +- Introduced a secure, improved mechanism for downloading type graph +data, enhancing the retrieval process and ensuring sensitive data is +handled safely. + +- **Refactor** +- Updated processes to consistently leverage the new download approach, +streamlining functionality and reinforcing robust error handling. + + +
-(subs) Key collision on redis (#865) +(gate) Struct typecheck codegen (#983) -Follow up of #863 -When multiple start occurs for redis, some schedules can happen -**exactly** at the same time resulting into the same identifier (and -leading to an inconsistent state). - -This solution simply combines the `schedule` with the run_id making it -unique instead of using it as is. - -```gql -mutation AllAtOnce { - a: start_retry(kwargs: { .. }) # => calls add_schedule( ... date ...) - b: start_retry(kwargs: { .. }) - c: start_retry(kwargs: { .. }) - d: start_retry(kwargs: { .. }) - e: start_retry(kwargs: { .. }) - f: start_retry(kwargs: { .. }) - # .. -} -``` - -#### Migration notes - -None - -- [ ] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments + + + + +- Fixup for https://github.com/metatypedev/metatype/pull/980 + + + +#### 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 + + + +## Summary by CodeRabbit + +- **New Features** +- Enhanced object validation now accepts additional properties when +allowed, offering more flexible data processing. +- Introduced a new REST endpoint that returns structured, stringified +data based on provided input. + +- **Tests** +- Added a test case to verify the functionality of the new REST endpoint +and ensure robust input validation. + + +
-Fix missing images (#847) +(metagen) Do not skip empty struct input (#989) - - - - -## Fix missing images for `durable execution` blog - - - -- - - - -#### Migration notes - -... - -- [ ] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments + + + + +- Make sure to include empty struct input in manifest +- Update json schema +- Bump version to v0.5.1-rc.1 + + + +#### Migration notes + +--- + +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change + + +## Summary by CodeRabbit + +- **Chores** +- Updated versions across packages, dependencies, container images, and +configurations to v0.5.1-rc.1 for enhanced consistency. +- **New Features** +- Introduced a new configuration option allowing users to exclude client +code generation. +- Added new type definitions in sample integrations to improve +type-safety. + +
-Improve name generation for prisma types (#849) +(test) Add lockfile for metagen test (#981) - - - - -Solve -[MET-657](https://linear.app/metatypedev/issue/MET-657/sdk-improve-generated-titles-for-prisma-types) - - - - - - - -#### 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 + + + +- Fixes the build issue by adding a lockfile. -### Documentation + + +#### 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 +
-(blog) Running python with WebAssembly part 1 (#823) +(typegraph) Implement `additional_props` (#980) -Running python with webassembly (part 1) - -#### 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 - -## Summary by CodeRabbit - -- **New Features** -- Introduced a comprehensive guide for integrating Python runtime with -WebAssembly (WASI) in the Metatype ecosystem. -- Detailed the advantages of using WebAssembly over Docker for platform -independence and resource management. -- Provided technical requirements and a refined solution for executing -Python scripts in a sandboxed environment. -- Expanded vocabulary with new relevant terms for enhanced text -processing and validation. - -- **Documentation** -- Updated YAML configuration structure in documentation for clarity on -type gate usage. - - ---------- + + + + +- Closes +[MET-843](https://linear.app/metatypedev/issue/MET-843/addiditioonalprops-in-struct-options-doesnt-work). + + + +#### 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 + + + + +## Summary by CodeRabbit + +- **New Features** +- Introduced a configurable flag in object definitions that controls +whether extra, unspecified properties are allowed. This enhances schema +validation and data conversion by permitting flexible input when +enabled. +- Updated validation logic to conditionally bypass errors for additional +properties when permitted. + +- **Tests** +- Added new test cases and a helper function to verify input +stringification and validation for both simple and nested structures. + +
-`/docs/reference/typegraph/client` (#777) +Bad typenames and internal policy (#979) -Pre-documentation for the code-first queries feature. - -#### 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 +- Fix bad duplicated typenames for duplicate materializers and +predefined internal policy function. -
- -(dev) Typegraph explorer (#859) - + -- Add a web version of tree-view which is more interactive -- Enable typegraph serialization without `metatype.yml` config file - - -![image](https://github.com/user-attachments/assets/81771c07-1f2a-493a-81df-969c8182f9bf) +#### Migration notes -
-
- -(gate) Empty object as custom scalar (#876) - +--- -* Allow empty object on the output without any change -* Just like `Int`, `String`, and such, rightfully refer the constant -`{}` as a scalar -* **Any** empty object will now be refered as `EmptyObject` scalar - -#### Migration notes - -None - -- [x] The change comes with new or modified tests -- [ ] 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 -
-
- -(mdk) Overridable templates (#842) - - - - - -Solve -[MET-630](https://linear.app/metatypedev/issue/MET-630/gen-add-parameter-to-replace-static-sections) -- [x] Make templates in the _static_ sections overridable - - [x] `mdk_rust` - - [x] `mdk_python` - - [x] `mdk_typescript` -- [x] Add a CLI tool to generate extract the default template - - - - -#### Migration notes - -No changes needed. - ---- - -- [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 + +## Summary by CodeRabbit + +## Summary by CodeRabbit + +- **New Features** +- Enhanced access control with stricter authorization checks and refined +data exposure across different contexts. +- Introduced new type aliases for improved clarity in method return +types. + - Added a new internal policy for access control. +- **Refactor** +- Streamlined naming for inputs and outputs to ensure consistent +labeling. + - Adjusted evaluation logic to provide clearer security outcomes. +- **Tests** +- Expanded automated test scenarios to verify deduplication and +authorization behavior. + - Added new test cases to validate internal policy access control. +
-
+ + +### Features + +
-(metagen) Union/either for clients (#857) +(gate) Policies should affect visibility on introspection (#963) + - BREAKING: policies should affect visibility on introspection (#963) -- Add union support for the `client_xx` metagen implementations. +This ended up becoming a full rewrite of the introspection logic. +For context, the old implementation generated types dynamically but also +did a few parts statically (the __schema.types list). This worked as +long as we assume all object types fields are not context dependent. +Which resulted in a few bugs on injected fields. -There are still some edge cases especially around variant identification -in the client languages. I tried many things but our hands are tied by -serde. Basically, users will have to be careful when designing their -union types to avoid ambiguity cases. Hopefully, -[674](https://linear.app/metatypedev/issue/MET-674/graph-checksvalidation-on-teither) -will help there. +In this new implementation, we "define" a type as required (it is added +into the __schema.types list), still recursively but this allows +emitting types with adhoc suffixes in demand depending on the policies +or injections. Then when the type is refered we simply give a reference +to it. #### Migration notes -... +* There can be multiple empty object scalars (vs only one previously) +* Fields can be missing if not authorized +* Type names depends on its shape (e.g.Foo missing a field would have +different name than Foo with all its field), this extends to unions +(depends on the variant names with each following the same naming rule) + - [x] The change comes 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 +## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** -- Introduced new methods for rendering union types in both TypeScript -and Python. -- Enhanced GraphQL query generation with support for multiple union -types. -- Added a new `variants` property to the `NodeMeta` type for improved -selection handling. - -- **Bug Fixes** - - Improved error handling for node selections and argument processing. +- Enhanced GraphQL introspection now offers a more comprehensive and +consistent schema view with refined field visibility controls. +- New introspection queries and fragments improve the introspection +capabilities of the GraphQL API. +- Introduced new functions for managing type visibility and policies +within the type graph context. +- Added new test functions to validate introspection queries and their +structures. -- **Tests** -- Updated test cases to reflect schema changes and added new tests for -client functionality. +- **Refactor** +- Improved runtime initialization and error handling lead to a smoother +query engine performance and more robust schema generation. +- Code structure has been enhanced for better organization and clarity, +particularly in type visibility management. +- Modifications to authorization checks and policy evaluations enhance +granularity and processing efficiency. +- **Tests** +- Expanded test coverage validates the new introspection enhancements +and policy enforcement, ensuring reliable operation. +- New tests focus on visibility checks and policy rule logic during +introspection on complex and simple type graphs. +- Added tests for introspection functionalities and visibility policies +in various scenarios, ensuring comprehensive validation.
-
+
-(subs) Redis backend (#855) +(metagen) Hostcall transport (#982) + - BREAKING: hostcall transport (#982) -* Redis Backend base logic port + some improvements -* Moved `SUBSTANTIAL_POLL_INTERVAL_SEC` and -`SUBSTANTIAL_LEASE_LIFESPAN_SEC` to config - -#### Migration notes -* Renamed `Backend.fs()` and `Backend.memory()` to `Backend.dev_fs()` -and `Backend.dev_memory()` -* Removed `SUBSTANTIAL_RELAUNCH_MS` as it was relevant only for purely -worker-based runs, which rendered the new -`SUBSTANTIAL_POLL_INTERVAL_SEC` redundant when an interrupt hits. - -- [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 - - - - -## Summary by CodeRabbit - -## Release Notes - -- **New Features** -- Introduced Redis as a new backend option for enhanced data management. - - Added Docker Compose configuration for a Redis service. -- Implemented comprehensive testing for Redis functionality and backend -integration. - -- **Bug Fixes** - - Improved error handling during backend initialization. - -- **Documentation** -- Updated type definitions for backend configurations to streamline -Redis integration. - -- **Chores** -- Refactored test cases for clarity and consistency across different -backend types. - +- [x] update docs +- [x] HostcallTransport for fdk_rs/fdk_ts/fdk_py +- [x] Reimpml fdk_py +- [x] MET-815 `QueryGraph` method clash + +#### Migration notes + +- `fdk_rs`: transport construction is no longer a method on `QueryGraph` +but a set of functions in th `transports` module. +- `fdk_ts`: transport construction is no longer a method on `QueryGraph` +but instead a static method on `Transports` class. +- `fdk_py` now generates all code into `fdk.py` + - Decorators now use the `handler_{fn_name}` pattern + - Decorators now expect a second `Ctx` object. +- `Ctx.gql` method now takes `typing.Mapping` instead of raw JSON `str` +- Transport construction is no longer a method on `QueryGraph` but +instead a static method on `Transports` class. + +--- + +- [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 + + + +## Summary by CodeRabbit + +## Summary by CodeRabbit + +- **New Features** +- Introduced enhanced GraphQL client transports that support +asynchronous host calls and refined query handling, enabling more robust +queries, mutations, and file upload operations. +- Added new `HostcallPump` class for managing host calls and responses, +improving the handling of asynchronous operations. +- Expanded functionality for handling selections and query construction, +including new types and methods in the `QueryGraph` class. +- Updated `Cargo.toml` configurations to include workspace features for +`metagen-client`, allowing for specific feature activation. +- Adjusted the `typegraphUrl` format in the `hostcallCtx` for improved +communication protocols. + +- **Refactors & Chores** +- Streamlined internal architecture by consolidating transport logic and +improving type mapping and dependency management across modules. +- Removed legacy code and enhanced error handling and logging for +increased stability. +- Adjusted paths and target architecture in build scripts for +consistency with updated directory structures. + +- **Tests & Documentation** +- Expanded and reorganized test suites to verify the new client and +query graph functionality, with updated configuration options detailed +in the documentation. +- Enhanced test cases for better coverage of new features and +functionalities, including proxy primitives and selection handling. +- Updated test configurations to reflect new dependencies and structural +changes in the codebase.
-(subs) Retry + timeout on save (#863) +(sdk) Reusable import module (#970) -Port and improve retry/timeout. + -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 +- Closes +[MET-819](https://linear.app/metatypedev/issue/MET-819/automated-typegraph-artifact-deps).
-
+
-(subs) Child workflows + docs (#867) +JSON RPC based typegraph (#877) + - BREAKING: JSON RPC based typegraph (#877) -Support for child workflows. - -Solves MET-689 and MET-668. - -#### Migration notes - -Previously -```python - sub = SubstantialRuntime(backend) - hello = sub.deno(file="workflow.ts", name="sayHello", deps=[]) - - g.expose( - # each function start, stop, result, ... holds a copy of the workflow data - start_hello = hello.start(...), - stop_hello = hello.stop() - ) -``` -This approach relied on workflow files being referenced in each -materializer, but the constructs were too restrictive to support -something like `mutation { results(name: "nameManuallyGiven") }`. - -We now have instead -```python - file = ( - WorkflowFile - .deno(file="workflow.ts", deps=[]) - .import_(["sayHello"]) - .build() - ) - - # workflow data are refered only once - sub = SubstantialRuntime(backend, [file]) - g.expose( - start_hello = sub.start(...).reduce({ "name": "sayHello" }), - stop = sub.stop() - ) -``` - -- [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 +#### Tasks -
-
- -(subs,gate) Substantial integration (#844) - +Replace WASM in typegraph with a client/server architecture using JSON +RPC through stdin/stdout. + +- [x] Remove wit from `typgraph-core` +- [x] Codegen system for the SDK types +- [x] Rewrite the client SDKs +- [x] Write the JSON RPC server in the CLI +- [x] Update the build infrastructure +- [x] Fix broken tests + + + +#### 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 +---------
-
- -(subs,gate) Port agent concept (#845) - -Continuation of #844 -
+### Refactor +
-Well-defined type comparison semantics (#846) +Break up the common crate into smaller ones (#977) -Solve -[MET-655](https://linear.app/metatypedev/issue/MET-655/sdk-improve-the-ensuresubtypeof-implementation) -- [x] Document the type comparison semantics -- [x] Improve the implementation (`EnsureSubtypeOf` trait) -- [x] Add more test cases for type comparisons +- Break up the common crate into a few smaller crates: + - typegraph/schema + - utils/grpc + - utils/archive + - typegate_api @@ -945,11 +1592,9 @@ Solve #### Migration notes -_No change is needed._ - -... +--- -- [x] The change comes 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 @@ -959,54 +1604,175 @@ _No change is needed._ ## Summary by CodeRabbit -## Release Notes - - **New Features** -- Introduced comprehensive type comparison rules and semantics for -scalar types, optionals, lists, objects, and unions. -- Added support for enumerated types in the type system, allowing for -more precise type definitions. -- Enhanced parent injection mechanism documentation to clarify type -compatibility requirements. -- Implemented a new suite of type comparison tests and validation -mechanisms. +- Exposed an updated public API with dedicated interfaces for +authentication and node management. -- **Bug Fixes** -- Improved error reporting and handling in the type validation process. +- **Refactor** +- Streamlined dependency and workspace organization by replacing legacy +naming with clearer, modern module references. -- **Documentation** -- Updated and expanded documentation for type comparisons, enumerations, -and parent injections. +- **Chores** +- Updated package configurations to improve maintainability and set the +stage for future enhancements. -- **Tests** - - Added new tests for type comparison and validation scenarios. +These changes maintain all existing functionality while providing a more +cohesive architecture and clearer public interfaces for end-user +interactions.
+ + +## [v0.5.1-rc.0](https://github.com/metatypedev/metatype/releases/tag/v0.5.1-rc.0) - 2025-02-05 + +### Bug Fixes +
-Grpc runtime (#819) +(cli) Avoid expected error backtrace (#960) -#### Migration notes - -... - -- [x] The change comes with new or modified tests -- [X] End-user documentation is updated to reflect the change -- [ ] Hard-to-understand functions have explanatory comments - + + + + +- Closes +[MET-801](https://linear.app/metatypedev/issue/MET-801/avoid-backtraces-on-expected-errors). + + + +#### Migration notes + +--- + +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + + + +## Summary by CodeRabbit + +- **Chores** +- Updated error reporting configuration to reduce verbosity during panic +events. + + +
+
+ +Secret leak when recovering (#965) + + +#### Migration notes + +None + +- [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 + + + + +## Summary by CodeRabbit + +## Release Notes + +- **New Features** +- Added a deep cloning utility function to prevent unintended data +mutations +- Introduced a new workflow management capability with a `sayHello` +function + - Enhanced replay request filtering in agent runtime + +- **Improvements** + - Refined runtime configuration handling + - Improved code modularity and error handling in agent runtime + +- **Testing** + - Updated sync test configuration with new Redis backend + - Added new workflow test script + + + ---------
-Python hostcall (#860) +Support union type for object node in apply tree (#969) + + + + + + +- Solve +[MET-790](https://linear.app/metatypedev/issue/MET-790/failing-to-generate-composite-prisma-condition-types) + - Support union type or object node in apply tree + + + + + + + +#### Migration notes + +--- + +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + + + + +## Summary by CodeRabbit + +- **New Features** + - Enhanced type handling for optional and union types + - Added support for complex GraphQL query retrieval +- Introduced new method for filtering user records with advanced +conditions + +- **Tests** + - Added test case for complex object retrieval + - Expanded test coverage for union type processing + +- **Improvements** + - Refined error reporting for type resolution + - Improved handling of optional and union type definitions + + + +
+
+ +Metagen papercuts (#950) + - BREAKING: metagen papercuts (#950) -Dead lock on python worker - -- - - - -- +Solves +[MET-761](https://linear.app/metatypedev/issue/MET-761/metagen-papercuts): +- Make generator naming consistent with the client_xx and fdk_xx format. +Prefer shortened names of languages like the extension name of source +files. +- Reuse a typegraph serialization across multiple generation runs in a +single cli invocation. It currently re-serializes a typegraph if it's +referenced twice. +- Explicit return types on QueryGraph methods for Typescript +- Support for non-record queries for Gql transport. Currently, one's +forced to name the query/mutation section which gets reflected in the +response name #### Migration notes -... +--- -- [ ] The change comes 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 - -
- - -### Miscellaneous Tasks - -
- -Checks/validation on t.either (#868) - - BREAKING: Checks/validation on t.either (#868) - - -Emit a warning or an error when a variant is a subtype of another one. +- [x] End-user documentation is updated to reflect the change -#### Migration notes -**BREAKING CHANGE**: Previously valid typegraph might fail validation. -You will need to fix your types to add some consistency in -`t.either`/`t.union` types. -- [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 - -
-
- -Update prisma + deno + rust deps (#869) - - -- Bump deno to 1.46.3 -- Update prisma-engines to 5.20 -- Update other rust deps. + +## Summary by CodeRabbit -Closes MET-669 and MET-622 and MET-680. +Based on the comprehensive summary, here are the high-level release +notes: -#### Migration notes +- **Generator Naming** + - Simplified generator names across the project + - Updated from `fdk_typescript` → `fdk_ts` + - Updated from `fdk_python` → `fdk_py` + - Updated from `fdk_rust` → `fdk_rs` -... +- **Type Management** +- Transitioned from `Box` to `Arc` for improved +memory management + - Enhanced type flexibility in query and mutation methods + - Added support for single and multiple node operations -- [ ] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +- **New Features** +- Added identity and identity update functions across TypeScript, +Python, and Rust clients + - Improved caching mechanisms for typegraphs + - Enhanced GraphQL transport layer with more flexible input handling + +- **Documentation** +- Updated configuration examples and references to reflect new generator +names +
- - -### Refactor -
-(gate) Add err msg for missing env vars (#827) +Use GraphQL-compliant response payload on error (#972) -- +- Use GraphQL-compliant response payload on error on all GraphQL +endpoints -- + #### 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 +- [ ] End-user documentation is updated to reflect the change + + + +## Summary by CodeRabbit + +- **Refactor** +- Consolidated JSON response formatting for both success and error +cases. +- Streamlined the handling of response structures across multiple +service endpoints. +- Improved consistency and reliability of data returned to clients, +ensuring structured JSON output for all interactions. +- Enhanced error handling to provide structured JSON responses across +various services. +
-(gate) Use stream during artifact upload to s3 (#841) +Better error message for missing artifacts (#973) +- Solve +[MET-821](https://linear.app/metatypedev/issue/MET-821/bad-error-message-on-missing-deno-rt-deps) + - Better error message for missing artifacts + - Shared logic for artifact registration on postprocess + + + - - + + +#### Migration notes + +--- + +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + + + +## Summary by CodeRabbit + +- **New Features** +- Consolidated the artifact registration process to support bulk +handling of primary and dependency artifacts. + +- **Refactor** +- Streamlined registration workflows across multiple runtime +integrations, enhancing efficiency and clarity. + +- **Tests** +- Added comprehensive tests to ensure robust error reporting when +dependencies are missing. +- Introduced a new test case to validate behavior for non-existent +engine scripts. + + +
+ + +### Documentation + +
+ +(sub) Polish substantial docs (#967) + + +#### 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 - -#### Migration notes + +## Summary by CodeRabbit -... +- **Documentation** + - Enhanced documentation for Substantial runtime. + - Added new section on Backend operations. + - Renamed existing Backend section to "Persistence and Lifecycle." +- Introduced new subsections on workflow management concepts including +Context, Interrupts, Save, Send/Receive, and Ensure. +- Added a new section on Advanced Filters with examples for Python and +TypeScript. + - Corrected typographical errors for improved clarity. + -- [ ] 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 +
-(gen, doc) Rename mdk to fdk (#851) +(cli) Add port option on list subcommand (#968) +remove default port and allow user specify the port directly from the +cli + -- [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 +## Summary by CodeRabbit + +- **New Features** + - Added optional port configuration for CLI command + - Improved port specification flexibility for network operations + +- **Bug Fixes** + - Enhanced error handling for network requests + - Removed hardcoded port value in favor of dynamic configuration + +
-
+
-Move as_id out of `TypeNode` (#866) - - BREAKING: Move as_id out of `TypeNode` (#866) +Worker pooling (#962) -Solve -[MET-684](https://linear.app/metatypedev/issue/MET-684/store-the-id-field-in-tstruct-instead-of-in-the-target-type-as-id) -and -[MET-471](https://linear.app/metatypedev/issue/MET-471/parent-injection-use-property-name-instead-of-function-name) -- **common/typegraph** -- [x] Store the id field in `ObjectTypeData` instead of in the target -type (`as_id`) - - [x] Add `id()` method on `t.integer` and `t.string` -- **typegraph/core** - - [x] Store `as_id`, `injection` and `policy` in `TypeRef::attribute` - - [x] Add support for direct and link target in `TypeRef` - - [x] Only allow name registration for `TypeDef` -- Semantics -- [x] Use property name instead of type name in from_parent injection -source +- Solve +[MET-806](https://linear.app/metatypedev/issue/MET-806/worker-pooling) -#### Migration notes -**BREAKING CHANGE** -`from_parent` injections source shall be changed to the key in the -parent `t.struct` instead of the type name. + -#### Checklist -- [x] 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 - -
-
- -Move injection data to `t.func` (#871) - - -- -[MET-682](https://linear.app/metatypedev/issue/MET-682/move-all-injection-data-to-tfunc) - - [x] Move all injection data in `ObjectTypeData` (i.e. `t.func`) -- -[MET-656](https://linear.app/metatypedev/issue/MET-656/sdk-improve-generated-titles-from-applyreduce) - - [x] Translate reduce to injection specification on `t.func` -- -[MET-94](https://linear.app/metatypedev/issue/MET-94/remove-runtime-field-from-typenode) - - [x] Remove runtime field from `TypeNode` (#858) -- -[MET-683](https://linear.app/metatypedev/issue/MET-683/move-runtime-related-type-configs-out-of-typenode) -- [x] Move runtime-related configs to `MaterializerData` or -`RuntimeData` -- Misc. -- Enable random ports for the typegate (when `TG_PORT=0`); this will -work with `meta dev` with embedded typegate if you set the `--gate` -option with port `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 - -#### Migration notes + +## Summary by CodeRabbit -... +- **Bug Fixes** + - Corrected a typographical error in a log message. + - Enhanced error handling and reporting in various runtime components. -- [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 - -
- - -## [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 +- **Refactor** + - Improved worker management lifecycle methods. + - Updated task delegation and worker allocation strategies. + - Refined interrupt and workflow completion handling. + - Enhanced configuration schema for worker settings. + +- **New Features** + - Introduced a more robust wait queue mechanism with timeout support. + - Enhanced type safety for interrupt handling. +- Added new environment variables for managing Deno and substantial +worker settings. + +- **Tests** + - Added a comprehensive test suite for wait queue implementation. +- Updated test configuration to ignore tests for the latest release +version. + - Enhanced validation logic for version handling. + +- **Chores** +- Updated versioning across multiple configuration files and +dependencies to reflect the transition to a release candidate version. +
- - -## [v0.4.10-rc1](https://github.com/metatypedev/metatype/releases/tag/v0.4.10-rc1) - 2024-09-03 - -### Bug Fixes -
-Use import_map at runtime (#833) +Wasm worker manager (#966) -- 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 +- Closes +[MET-805](https://linear.app/metatypedev/issue/MET-805/worker-manager-implementation-for-wasm-runtime-and-python). -### Miscellaneous Tasks + -
- -Bump to v0.4.9 (#831) - +#### Migration notes -- Bump version to v0.4.9 -- Fix issue with cross config context +--- -
+- [x] 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 -## [v0.4.9-rc2](https://github.com/metatypedev/metatype/releases/tag/v0.4.9-rc2) - 2024-09-02 + +## Summary by CodeRabbit -### Miscellaneous Tasks +## Release Notes -
- -(release) Prepare 0.4.9-rc2 (#829) - +- **New Features** + - Added WebAssembly (WASM) worker management capabilities. + - Introduced new type definitions for WASM runtime interactions. + - Enhanced worker pool and worker manager functionality. +- Introduced a new `WasmWorker` class for managing WebAssembly workers. + +- **Configuration Changes** +- Updated global configuration to include WASM worker-related settings. +- Replaced `substantial_worker_wait_timeout_ms` with more granular +worker configuration options. +- Added new environment variables for WASM worker management: +`MIN_WASM_WORKERS` and `MAX_WASM_WORKERS`. + +- **Runtime Improvements** + - Refactored runtime initialization processes. + - Improved worker lifecycle management. +- Enhanced error handling and logging for various runtime environments. + - Removed explicit `destroy` operations in some runtime components. + +- **Dependency Updates** + - Updated Metatype version to `0.5.1-rc.0`. + +- **Performance Optimizations** + - Added pre-warming steps in performance tests. + - Streamlined worker initialization and management. + +- **Code Quality** + - Improved code formatting and readability. + - Simplified runtime and worker management interfaces. + -- 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 - -
- -(docs) Post on `Durable Execution`. (#816) - - +## [v0.5.0](https://github.com/metatypedev/metatype/releases/tag/v0.5.0) - 2025-01-16 +### Bug Fixes -
-(metagen) Client_ts (#790) +(gate,sdk) Fail fast on bad credentials before artifact upload (#961) -- Implements `client_ts` as described in #777 . +Solves +[MET-793](https://linear.app/metatypedev/issue/MET-793/artifact-upload-allowed-with-wrong-credentials) #### Migration notes -... +None - [x] The change comes 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 -## Summary by CodeRabbit -- **Bug Fixes** -- Improved error handling in the `typegraph` function to provide better -error messages. +## Summary by CodeRabbit -- **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. +## Release Notes - **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. +- Added a ping functionality to verify typegate connectivity and +credentials +- Introduced a new server health check mechanism across multiple +language implementations + +- **Improvements** + - Simplified error handling in deployment and query-related functions + - Enhanced pre-deployment validation process + +- **Testing** + - Added test coverage for credential validation during deployment + - Implemented new test scenarios for typegate connectivity checks +
-(sub) Sdk and typing (#811) +`selectAll` infinite recursion (#948) -User side of substantial + -None + + +- Closes +[MET-786](https://linear.app/metatypedev/issue/MET-786/typescript-client-selectall-infinite-recursion). + + -- [ ] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
-
- -Add caching to Secrets struct to improve performance (#813) - - #### Migration notes -- [ ] The change comes 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 +- [ ] End-user documentation is updated to reflect the change + + + + +## Summary by CodeRabbit + +- **New Features** +- Added nested composite structure support across multiple client +implementations + - Enhanced selection handling for composite queries + - Expanded type definitions for more complex data representations + +- **Bug Fixes** + - Improved selection processing logic in client implementations + - Updated version compatibility for SDK imports + +- **Chores** + - Updated package dependencies to newer SDK versions + - Reformatted and improved code readability across multiple files + +
- - -### Refactor -
-(docs, gate) Push for `meta dev` instead of `meta typegate` on docs (#822) +Patch proto to latest + update script (#953) - +#### 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 -## Ensure documentation is pushing for meta dev instead of meta typegate -- [x] add a warning that envs are not set. - + +## Summary by CodeRabbit -[MET-635](https://linear.app/metatypedev/issue/MET-635/cli-ensure-documentation-is-pushing-for-meta-dev-instead-of-meta) +## Release Notes - +- **Dependency Updates** + - Updated `protobuf` library from version 3.5.1 to 3.7.1 + - Updated `protobuf-codegen` crate to version 3.7.1 -#### Migration notes +- **Build Configuration** +- Modified protobuf compiler output option from `--rust_out` to +`--rs_out` + - Simplified protobuf code generation command -_No Migration Needed_ +- **Compatibility** + - Ensured compatibility with latest protobuf runtime version -- [ ] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change +
-Flatten deps and improve repo folder (#821) +Bad name on shared types (#955) -- 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 +Since types can be shared, prefixing the name with the first +function/path encountered would be confusing for the other types that +also refers to it. + +This patch disables prefixing for types with more than one referrer. #### Migration notes -- No end user changes required +None -- [x] The change comes 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 + +Based on the comprehensive summary of changes across multiple files, +here are the updated release notes: + +- **Type System Refinement** + - Standardized type naming conventions across multiple languages. + - Replaced specific type aliases with more generic scalar types. + - Updated function signatures to use simplified type definitions. + +- **Version Updates** + - Incremented metatype version from "0.5.0-rc.8" to "0.5.0-rc.9". + +- **Upload Functionality** +- Modified file upload method return types to return boolean instead of +complex output. + - Updated argument types for upload-related functions. + +- **Performance and Naming Improvements** + - Enhanced reference counting for type naming processor. + - Refined type generation logic with more consistent naming strategies. + +These changes primarily focus on improving type system consistency and +simplifying type definitions across different runtime environments. +
+
+ +Where type issues (#958) + +- Fixes issues with type counts. -## [v0.4.8](https://github.com/metatypedev/metatype/releases/tag/v0.4.8) - 2024-08-16 +#### Migration notes -### Bug Fixes +--- -
- -Table method for kv runtime (#815) - +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change -I discover an issue in the KV runtime documentation -[kvruntime docs](https://metatype.dev/docs/reference/runtimes/kv) -
-
- -`wasm_backtrace` config bug (#814) - + +## Summary by CodeRabbit -- `$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 +- **New Features** + - Enhanced duplicate detection mechanism for type graphs. + - Improved type identification and relationship tracking. +- Added new root functions for dynamic entity management in type +duplication. + +- **Refactor** + - Updated model identifier handling in type generation. +- Modified key management for skip models from type-based to +string-based keys. +- Transitioned from static to dynamic entity definitions for +scalability. + +- **Bug Fixes** + - Streamlined type duplicate detection logic. + - Improved error handling for unsupported type scenarios. +- Adjusted assertions for serialization size and type count limits in +tests. +
@@ -1538,40 +2406,23 @@ This broke typegate runs without the flag enabled due to mismatch.
-Kv runtime (#797) +Python code validation (#939) +Add python code validation on deploy + #### Migration notes -... +--- - [x] The change comes with new or modified tests -- [x] End-user documentation is updated to reflect the change -- [ ] Hard-to-understand functions have explanatory comments - -
- - -### Miscellaneous Tasks - -
- -Bump to 0.4.8-0 (#810) - - -- Bump prerelease -- Fix minor issue with release pipeline +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change
- - -## [v0.4.7](https://github.com/metatypedev/metatype/releases/tag/v0.4.7) - 2024-08-08 - -### Features -
-(cli) Fix auto deployment (#806) +Add json schema (#952) -- Upgrade lade-sdk -- Fix discovery -- Remove obsolete dep: actix-web - - - -- `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. +- Add a self-hosted json schema that will be referenced to +[schemastore](https://www.schemastore.org/json/), part of +[MET-798](https://linear.app/metatypedev/issue/MET-798/metatype-schema-for-ide-support). #### Migration notes -... +--- -- [ ] The change comes 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 +- [ ] End-user documentation is updated to reflect the change + + + +## Summary by CodeRabbit + +- **New Features** +- Added comprehensive configuration schema validation for Metatype +system configuration files. +- Implemented JSON schema testing to ensure configuration integrity +across multiple YAML files. + +- **Tests** +- Introduced new test suite for validating configuration schema using +Ajv JSON schema validator. +
-Cors headers on error (#803) +Unify worker manager (#954) -- +- Solves +[MET-667](https://linear.app/metatypedev/issue/MET-667/gate-unify-the-worker-manager-between-workflows-and-runtime) + - [x] `BaseWorkerManager` + - [x] Use in Deno runtime + - [ ] ~Use in Python runtime~ _(followup PR)_ + - [ ] ~Use in Rust runtime~ _(followup PR)_ + - [ ] ~Worker pooling~ _(followup PR)_ -- + #### 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 +- [ ] End-user documentation is updated to reflect the change + + + +## Summary by CodeRabbit + +## Summary by CodeRabbit + +Based on the comprehensive summary, here are the updated release notes: + +- **New Features** +- Enhanced worker management system with improved task tracking and +execution. +- Introduced new `WorkerManager` for more robust Deno runtime +operations. + - Added support for inline artifact generation and management. +- New asynchronous method `getInlineArtifact` in the `ArtifactStore` +class. + +- **Improvements** +- Streamlined messaging and event handling across different runtime +components. + - Improved error reporting and task lifecycle management. + - Refined type definitions for better type safety. + +- **Breaking Changes** + - Removed `DenoMessenger` and `LazyAsyncMessenger` classes. + - Restructured workflow event and message handling. + - Updated task ID generation mechanism. + +- **Performance** + - Optimized worker initialization and task execution. + - Introduced more efficient task tracking and resource management. + +- **Bug Fixes** + - Improved error handling in worker and runtime environments. + - Enhanced message communication between workers and main thread. + - Removed outdated test cases to focus on relevant functionality. +
- - -### Miscellaneous Tasks -
-Bump to 0.4.7-0 (#805) +Force cleanup at boot with `SYNC_FORCE_REMOVE=true` (#956) -- Bump version to 0.4.7-0 +#### 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 -### Refactor -
- -(docs) Add how to test typegraphs doc (#798) - + +## Summary by CodeRabbit -# `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_ - -- [ ] 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 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** - - 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. +- **New Features** +- Added optional `SYNC_FORCE_REMOVE` configuration variable for typegate +synchronization. + - Introduced ability to forcefully remove cached typegraphs at boot. +- Added a new method to retrieve all history entries from the Redis +replicated map. +- Introduced a new function to return a greeting based on a provided +name. +- Added a synchronization feature test suite for validating cleanup +logic. + +- **Documentation** +- Updated documentation to reflect new synchronization configuration +option. + +- **Improvements** +- Enhanced the `Typegate` class with a method to facilitate bulk removal +of typegraphs during initialization. +- Made the `replicatedMap` parameter publicly accessible in the +`ReplicatedRegister` class constructor. +- Updated configuration retrieval to include the new `forceRemove` +property. +--------- +
-Improve JSR score (part 1) (#807) +Upgrade script from 0.4.10 to 0.5.0 (#941) -- Add symbol documentations -- Fix slow types +- [x] Solve +[MET-774](https://linear.app/metatypedev/issue/MET-774/add-migration-scripts-and-re-enable-published-test) -- + #### Migration notes -... +--- -- [ ] The change comes 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 +- [ ] End-user documentation is updated to reflect the change + + + +## Summary by CodeRabbit + +## Release Notes v0.5.0 + +### Version Highlights +- Transitioned from release candidate (0.5.0-rc.9) to stable release +(0.5.0) +- Updated Typegraph version to 0.0.4 + +### New Features +- Added support for namespaces in TypeMeta struct +- Enhanced version management and validation processes +- Introduced new configuration module for synchronization processes +- Added asynchronous function for downloading CLI tools +- New test suite for validating SDK functionality +- New end-to-end test for Typegate upgrade process + +### Improvements +- Refined environment configuration management +- Updated SDK and runtime configurations across multiple platforms +- Improved error handling in version upgrade processes +- Enhanced logging and output precision in test results + +### Breaking Changes +- Removed `METATYPE_VERSION` constant +- Modified version constants and import paths +- Updated type definitions in some modules + +### Compatibility +- Compatible with Deno, Node.js, and Python runtimes +- Supports latest SDK and CLI versions + +### Upgrade Recommendations +- Recommended to update all dependencies to 0.5.0 +- Review and adjust any custom configurations + + +---------
-## [v0.4.6](https://github.com/metatypedev/metatype/releases/tag/v0.4.6) - 2024-08-01 - -### Features +### Performance
-Better arg split logic for MCLI_LOADER (#799) +Use predefined function for context check policies (#959) -- +Improve performance by running the functions in the main thread when it +can be done securely: +- Use predefined function for context check policies +- Use context check policy for `admin_only` -- + #### 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 +- [ ] End-user documentation is updated to reflect the change + + + +## Summary by CodeRabbit + +## Release Notes + +- **New Features** + - Enhanced predefined function handling with optional parameters. + - Introduced a more flexible context checking mechanism. + - Simplified policy definition for admin access. + +- **Improvements** + - Updated runtime function registration process. + - Improved type safety for predefined function validation. + - Streamlined error handling for function materialization. + +- **Changes** + - Removed deprecated error handling functions. + - Modified internal representations of predefined functions. + - Updated function signatures for predefined Deno functions. +
-### Miscellaneous Tasks +## [v0.5.0-rc.9](https://github.com/metatypedev/metatype/releases/tag/v0.5.0-rc.9) - 2024-12-25 + +### Bug Fixes
-Prepare 0.4.6 (#795) +Broken deno runtime secret injection (#946) -- 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 +- Bumps to 0.5.0-rc.9 +- Fixes bug with deno secret injection #### 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 - +- [ ] End-user documentation is updated to reflect the change + +
+ + +### Features + +
+ +(gate,sdk) New policy spec (#937) + - BREAKING: new policy spec (#937) + + +#### Migration notes + +* Replaced true, false, and null to ALLOW, DENY and PASS. + +Composition rules: +1. On traversal order: + +* `ALLOW`: allow parent and all its children (ignore inner policies) +* `DENY`: deny parent and all its children (ignore inner policies) +* `PASS`: pass through parent and evaluate each children (no-op, +equivalent to no policies) + +2. On a single type (a.with_policy(X).with_policy(Y)): + +`ALLOW` and `DENY` compose the same as true and false with the AND gate, +`PASS` does not participate. +* `ALLOW` & P = P +* `DENY` & P = `DENY` (e.g. DENY & ALLOW = DENY) +* `PASS` & P = P (does not participate) + +- [x] 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 + + + + +## Summary by CodeRabbit + +## Release Notes + +- **New Features** +- Enhanced documentation for Metatype's mental model, including clearer +policy definitions and a comparison table with classical models. +- Introduction of a comprehensive tutorial on building a Metatype API, +covering setup, CRUD operations, and security practices. + +- **Bug Fixes** +- Updated policy logic to return explicit 'ALLOW' or 'DENY' strings +instead of boolean values across various components. + +- **Documentation** +- Improved clarity and detail in documentation for policies and core +concepts. + - Added new sections for policy composition rules and traversal order. + +- **Refactor** +- Streamlined policy management and evaluation logic across multiple +files, enhancing clarity and maintainability. + +- **Tests** +- Added tests for new policy functionalities and updated existing tests +to reflect changes in policy handling. + + + +--------- + +
+ + +## [v0.5.0-rc.8](https://github.com/metatypedev/metatype/releases/tag/v0.5.0-rc.8) - 2024-12-16 + +### Bug Fixes + +
+ +(gate) Cache deno imports on deploy (#925) + + + -## Summary by CodeRabbit + -- **New Features** -- Introduced new logging capabilities in the `ConnectedEngine` with -adjustable logging levels. -- Implemented cleanup procedures in tests to enhance resource -management. +- Fixes +[MET-766](https://linear.app/metatypedev/issue/MET-766/typescript-import-caching-and-validation-on-deploy) +and +[MET-746](https://linear.app/metatypedev/issue/MET-746/deno-runtime-timeouts-on-error) -- **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. +#### Migration notes -- **Refactor** -- Optimized string handling in several functions and adjusted method -signatures for improved clarity and efficiency. +--- - +- [ ] 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) Better documentation on `quick-start` page (#793) +(metagen) Client file upload fixup (#936) -## Improve the documentation on `quick-start` page - -- [x] add dev hunt result to homepage. - - -- - - - -- +- Make reusable file on multiple path for python and added tests for TS +and Python. #### 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
+
+ +Type duplication bug (#938) + +- Fixes bug in type-deduplication impl. +- Fixes issues with very long names generated by prisma where types. +- [x] Fix bug where duplicate names end up in typegraph +- [x] Tests to avoid type size and duplication regressions +- Bumps version to 0.5.0-rc.8 -## [v0.4.5](https://github.com/metatypedev/metatype/releases/tag/v0.4.5) - 2024-07-18 +#### 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 + +
-### Bug Fixes + +### Features
-Broken pipeline for 0.4.4 (#782) +(metagen) Python client file upload (#931) -Fixes erroneous usage of `setup-deno` which has been replaced by `ghjk` -itself. - -#### Migration notes - -... - -- [ ] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments + + + + +- Closes +[MET-769](https://linear.app/metatypedev/issue/MET-769/add-file-upload-support-for-python-metagen-client) + + + +#### 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
-Broken release pipeline 2 (#783) +(metagen) Typescript client file upload (#934) -Fix issue with the three remaining failing jobs. - -#### Migration notes - -... - -- [ ] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments + + + + +- Closes +[MET-768](https://linear.app/metatypedev/issue/MET-768/add-file-upload-support-for-typescript-metagen-client). + + + +#### 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
-Release pipeline 3 (#784) +(subs,deno) Advanced filters + context util + replay aware logger (#930) -- Remove accidental dry-run from jsr publish -- Fix cross dockerfile - -#### 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 +Solves +[MET-720](https://linear.app/metatypedev/issue/MET-720/subs-advanced-filters-for-workflows), +[MET-749](https://linear.app/metatypedev/issue/MET-749/subs-durable-logger) +and +[MET-760](https://linear.app/metatypedev/issue/MET-760/gate-allow-user-to-fetchdebug-the-context-easily). + +#### Basic overview +Given an expression tree, a field can represent either an operator +(e.g., and, or, lte, etc.) or a 'special' field (started_at, ended_at, +status). + +We can now answer queries such as: 'List all failed runs that started +between x and y but did not end at z, where the value is not null, or +alternatively completed but returned null'
-Skip deno stack trace from error message (#787) +Injection on output types (outjection) (#935) - - - - -Skip the deno stack trace from the error message when tg_manage fails. +- [x] Solve +[MET-140](https://linear.app/metatypedev/issue/MET-140/gate-computestage-processing-from-context-should-evaluate-in-all-cases) + - Enable injection on output +- [x] Solve +[MET-47](https://linear.app/metatypedev/issue/MET-47/gate-from-parent-for-eitherunion) + - test from parent injection for either/union types @@ -1952,22 +3016,22 @@ Skip the deno stack trace from the error message when tg_manage fails. #### Migration notes +- _N/A_ -_N/A_ +--- -- [ ] The change comes 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
-### Features +### Miscellaneous Tasks -
+
-(cli) Configurable backoff (#789) - - BREAKING: configurable backoff (#789) +Improve ux, installer (#932) -- 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`. +- - +- #### Migration notes -The `--max-parallel-loads` option has been renamed to `--threads`. +--- - [ ] 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
+ + +## [v0.5.0-rc.7](https://github.com/metatypedev/metatype/releases/tag/v0.5.0-rc.7) - 2024-11-28 + +### Bug Fixes +
-Add list subcommand features to meta_cli (#775) +Fix secret hydration (#918) -new branch after conflict with main branch - - - - - -- +- Fix secret hydration +- Fix Google OAuth2 profile type -- + #### 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 - ---------- +- [ ] End-user documentation is updated to reflect the change
+ + +### Features +
-Upgrade www and gha (#786) +(metagen) Add file upload support for Rust client (#893) - + + + + + + +#### Migration notes + +_N/A_ + + +- [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
-
+
-Add back gleap (#791) +(sdk) Unify JS/TS imports (#926) + - BREAKING: unify JS/TS imports (#926) -- 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 - -
- -Bump v0.4.5 (#792) - - -- 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 +Solves +[MET-737](https://linear.app/metatypedev/issue/MET-737/unify-the-import-maps-across-package-registries-and-js-runtimes): +- [x] Unify JS/TS imports +- [ ] ~Add more test for the published packages: test JSR and NPM +packages on Nodejs and Deno, with the same typegraph definitions.~ (*on +a follow-up PR after the next release*) +- [x] Prepare for version 0.5.0-rc.7 + + + + -MET-614 MET-606 MET-605 MET-613 + #### Migration notes -_No changes required._ +*BREAKING CHANGES*: +- TypeScript SDK imports for should be changed on Deno, removing the +`.ts` extension: + - `@typegraph/sdk/index.ts` --> `@typegraph/sdk` + - `@typegraph/sdk/*.ts` --> `@typegraph/sdk/*` + +--- - [ ] The change comes with new or modified tests - [ ] Hard-to-understand functions have explanatory comments @@ -2102,22 +3170,54 @@ _No changes required._
-## [v0.4.4](https://github.com/metatypedev/metatype/releases/tag/v0.4.4) - 2024-07-05 - -### Bug Fixes +### Miscellaneous Tasks -
+
-(gate) Ensure all deps are defined in import_map.json (#768) +Remove meta-lsp (#903) + - BREAKING: remove meta-lsp (#903) -Ensure that all deps are defined in `import_map.json` with a specific -version. + + + + +- Remove meta-lsp and all parts related to it. +([MET-722](https://linear.app/metatypedev/issue/MET-722/lsp-clean-up-or-keep)) + + + +- ... + + + +#### Migration notes + +--- + +- [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 + +--------- + +
+ + +## [v0.5.0-rc.6](https://github.com/metatypedev/metatype/releases/tag/v0.5.0-rc.6) - 2024-11-14 + +### Bug Fixes -
-Missing typegraphs (#755) +(cli) Implement `--prefix` argument (#913) -- fix the typegraphs that were incorrectly formatted - - - - +- Fixes +[MET-738](https://linear.app/metatypedev/issue/MET-738/implement-prefix-in-meta-serialize). +#### Migration notes +--- - [ ] The change comes with new or modified tests - [ ] Hard-to-understand functions have explanatory comments @@ -2148,114 +3247,60 @@ readable changelog.
-Stable formatting and uniformize the code-loader (#766) +(cli) Deployment after reloading config (#917) - - - - -- 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 comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - ---------- + + -### Documentation +- Fixes typegraph deployment bug using `meta dev` after changing +`metatype.yml` and added more watcher tests. -
- -Generate clients from openapi (#778) - -Demonstrate how to use the openapi spec to generate clients in most -languages/frameworks. - -#### 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 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. - - + -
+#### Migration notes +--- -### Features +- [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 +
-Move all the configs to one single file (#733) +(subs) Disable save/kwargs mutation + better `LOG_LEVEL` (#915) - - - - -- 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. - - - +Tackles +[MET-724](https://linear.app/metatypedev/issue/MET-724/subs-bug-disable-user-ability-to-mutate-input) +and +[MET-730](https://linear.app/metatypedev/issue/MET-730/quiet-down-substantial-logging) +. +* A reference to `run.kwargs` should not be exposed directly, the +`kwargs` used by the user should be a deep copy. +* save now returns a deep copy of the returned value +* noisy debug logs on substantial agent (disabled by default) - #### Migration notes -- `SYNC_REDIS_PASSWORD` has been removed, can only be set on the -`SYNC_REDIS_URL`. +`save` will always refer to a deep clone of a value throughout the +initial run/replay. +```ts +const example = await ctx.save(() => someRef); +someRef.field = "changed!"; // will not affect example +``` - [x] The change comes with new or modified tests @@ -2267,7 +3312,7 @@ configurability.
-Remove restrictions for union/either types (#761) +Remove prisma count (#916) -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). +- Remove prisma count operation: it does not work, making it work like +on the prisma client would complicate the prisma runtime (until we have +output transformations...); Use aggregate instead. +- Increase the delay before exiting the process on the nodejs typegraph +client to give the CLI time to process all the output. +- Remove `quaint` logs on the typegate (too verbose). -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. + #### 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 +- [ ] End-user documentation is updated to reflect the change + +
+ + +### Documentation + +
+ +`/docs/reference/graphql` (#875) + + +- Adds page `/docs/reference/graphql` ---------
+ + +## [v0.5.0-rc.5](https://github.com/metatypedev/metatype/releases/tag/v0.5.0-rc.5) - 2024-11-10 + +### Bug Fixes + +
+ +Meta dev does not exit properly upon `SIGTERM` (#895) + + +#### Migration notes + +None + +- [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 + +
+
+ +Fix optional field filter in apply (#909) + + + + + + +- Fix the optional field filter on apply: resolve types before matching. + + + + + + + +#### Migration notes +_No migrations needed._ + +--- + +- [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 + +
+ + +### Documentation +
-Typegate in meta dev, upgrade test (#776) +Grpc annoucement blog (#872) -- 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`. +- - +- #### Migration notes -If you have a script that runs `meta dev`, add the flag `--no-typegate` -if you already have a typegate. - -- [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 +... ---------- +- [ ] 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 +### Features
-Add programmatic deploy tests (#769) +(cli) Watch artifacts (#897) -## Add Programmatic deploy tests for the docs - -- [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 - -_No Migrations Needed_ - -... - -- [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 +- Solve [MET +710](https://linear.app/metatypedev/issue/MET-710/watch-artifacts). + + + +- ... + + + +#### 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
-Bump to version 0.4.4 (#779) +Substantial function secrets support (#908) -Prepare release of the 0.4.4 version. +- Add support for passing secrets to substantial workflows +- Bump version to 0.5.0-rc5 -#### 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 +- [x] The change comes with new or modified tests
-### Refactor +### Miscellaneous Tasks
-(sdk) Back to deno + jsr exploration (#760) - - BREAKING: back to deno + jsr exploration (#760) +License change to MPL Version 2.0 (#899) + - BREAKING: license change to MPL Version 2.0 (#899) -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. - -This should also facilitate publishing on jsr although additional work -are still required on the `jco` codegen side. - #### Migration notes -N/A +All license headers has changed to MPL 2.0. - [x] The change comes with new or modified tests - [ ] Hard-to-understand functions have explanatory comments @@ -2431,155 +3512,127 @@ N/A --------- -
-
- -Move to ghjk 0.2.0 (#754) - - -- 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 - -#### Migration notes - -- [ ] 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 - - - -## Summary by CodeRabbit - -- **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. - -These updates collectively optimize the development environment, -ensuring smoother builds and more reliable workflows. - - - ---------- -
-### Testing +## [v0.5.0-rc.4](https://github.com/metatypedev/metatype/releases/tag/v0.5.0-rc.4) - 2024-11-05 + +### Bug Fixes
-(full) Update test runner (#705) +(typegraph) Send rpc message in chunks in the TS typegraph client (#904) - +- Send the JSON-RPC message is chunks in the TypeScript typegraph client +to prevent reaching the line size limit for stdout. Note: we could not +reproduce the issue locally as it only occurs when using the published +package for Node.js. +- Use JSON-RPC notification for logging and report from the typegraph +clients. +- Other changes: + - Use relative paths for static task sources in the CLI; +- Fix TODO in `meta gen`: pass the working directory on the +`working_dir` param of `SerializeActionGenerator::new`. - + -New test runner, by default: -- Less verbose -- No output for successful tests -Parallel tests re-enabled. - + +#### 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 + +
+
+ +Speculative fix for `typegate_prisma_test.ts` (#898) + + +- Assigns special schemas for each test that relies on the +`runtimes/prisma/prisma.py` typegraph. +- Bumps version tag to 0.5.0-rc4 +- Fixes issues in release pipeline +- Disables all but the `test-full` job when the test pipeline is run +with tmate enabled. +The flakeout of `typegate_prisma_test.ts` has proved difficult to +recreate. Looking at the code and going from recent similar cases, I +suspect it happens due to the old code reusing the same pg schema for +multiple tests. Assigning special schemas for each tests should +hopefully help. - #### Migration notes -_N/A_ +N/A - +--- + +- [x] The change comes with new or modified tests + +---------
-## [v0.4.3](https://github.com/metatypedev/metatype/releases/tag/v0.4.3) - 2024-06-22 +## [v0.5.0-rc.3](https://github.com/metatypedev/metatype/releases/tag/v0.5.0-rc.3) - 2024-10-30 ### Bug Fixes
-(ci) Poetry lockfile (#732) +Update license file (#890) -- Fixes poetry lockfile and adds pre-commit hook to prevent issue from -happening +# PR Summary +Commit d84e4ed6c3f88d52c95f1491a050daa924e14b87 moved the +`LICENSE-MPL-2.0.md` file. This PR adjusts sources to changes. + +#### 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
-(docs) Fix demo typegraphs 2 (#756) +Minor bug fixes (#894) - - -Fix example typegraphs on metatype.dev. -- [x] reduce.ts -- [x] policies.ts -- [x] graphql.ts -- [x] authentication.ts - - - - -[MET_574](https://linear.app/metatypedev/issue/MET-574/docs-fix-demo-typegraphs-2) - - - - - - +- Bug with typegraph context reset around deno_modules +- Bug with typegate onPush hook error detection and typegraph parsing of +such errors +- Bug with artifact resolution when they're reused. +- Bug with return type of the KvRuntime get functions +- Bumps metatype to 0.5.0-rc.3 #### Migration notes -_No Migrations Needed_ +N/A -- [ ] The change comes 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
+ + +### Documentation +
-(docs) Fix programmatic deployment guides (#762) +Add substantial (#891) -- [x] Fix typo -- [x] fix/test tg deploy -- [x] fix/test tg remove - - -[MET-587](https://linear.app/metatypedev/issue/MET-587/docs-fix-programmatic-deployment-guides) +- docs -- +- N/A -#### Migration notes - -_No Migration Needed_ +#### Migration -... +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
-
- -Only build xtask once for the tests (#720) - -Use the xtask binary to run the tests. - -- [ ] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - - - - -## Summary by CodeRabbit - -- **New Features** - - Updated platform compatibility to `x86_64-linux`. -- Added new configuration entry for enhanced versioning and platform -support. - -- **Improvements** -- Modified test script to use a custom build script for better test -management. - -These changes improve platform compatibility and streamline the testing -process. - - - ---------- -
+## [v0.5.0-rc.2](https://github.com/metatypedev/metatype/releases/tag/v0.5.0-rc.2) - 2024-10-24 + +### Bug Fixes +
-Missing typegraphs (#741) +Fix `.apply` serialization error with optional structs (#886) -**Fix Missing Typegraphs** -- attempt to fix the missing typegraphs on metatype.dev. +- Fix the error on `.apply` when the apply tree goes beyond an optional +struct, mostly changing the implementation of `resolve_optional` method. +- Improve the errors when we encounter an exception raise by +`Result::Err` from typegraph_core. -- -[MET-563](https://linear.app/metatypedev/issue/MET-563/docs-complete-missing-typegraphs) + #### Migration notes -_No Migrations Needed_ + ... -- [ ] The change comes 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
-
- -Upload url path and add logging in the SDK (#740) - -- Fix upload url: prepare-upload returns upload tokens instead of upload -urls -- Add logging in the typegraph SDK -- Refactor the actor system in the CLI -- Use jsonrpc for communication between the CLI and typegraph processes -(over stdin/stdout) - -#### Migration notes - -- The `typegraphs.deno` section of the `metatype.yaml` config file has -been replaced by `typegraphs.typescript` and `typegraphs.javascript`. -- `tg_deploy` params has changed. - - -- [x] 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 -
+### Features +
-Failed typegraph deployment (#758) +Add GraphQL alias support for prisma runtime (#887) -- Fix casing typo in the typescript sdk -- Fix error reporting in the typescript sdk -- Display the retry number -- Warning on cancelled retry +- Add GraphQL alias support for prisma runtime - - -#### Migration notes - -N/A - -- [ ] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
- - -### Documentation - -
- -`/docs/concepts/features-overview/` (#725) - - -- Re-does the feature overview page of the documentation. - - -## Summary by CodeRabbit - -- **New Features** -- Added a "Features Roadmap" component to the website, displaying a list -of features with details and links. - -- **Documentation** -- Updated various guides and reference documents to improve clarity and -presentation of code examples. -- Added new sections for various features such as Typegate, Typegraph, -Runtimes, Prisma, Auth, Tooling, and SDK. - -- **Bug Fixes** - - Corrected a typo in the GraphQL runtimes reference documentation. - -- **Refactor** -- Replaced `SDKTabs` and `TabItem` components with `TGExample` for -better code example presentation. -- Adjusted the `MiniQL` component to handle optional properties and -default settings. - ---------- - -
-
- -`/docs/reference/metagen` + `/docs/guides/wasm-functions` (#751) - - -- Adds `/docs/reference/metagen` -- Adds `/docs/guides/wasm-functions` -- Adds a codegen section to `/docs/guides/external-functions` -MDK-492. + #### Migration notes ... -- [ ] The change comes with new or modified tests +- [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 - - - - -## Summary by CodeRabbit - -- **New Features** -- Added new targets for `metagen` with different generators and paths -for TypeScript, Python, and Rust. -- Introduced new functionality for defining and exposing typegraphs with -policies in various environments (Deno, Python, Rust). -- Added automated Rust WebAssembly project generation and compilation -script. -- Enhanced documentation with new sections and updated code examples -using `TGExample`. - -- **Bug Fixes** - - Updated `.gitignore` to exclude `*.wasm` files. - -- **Documentation** -- Updated links and added detailed instructions for generating types -using `metagen`. - -- **Refactor** -- Switched from `HashMap` to `BTreeMap` and `HashSet` to `BTreeSet` in -various modules for better data structure handling. - - Added logging enhancements in the `Typegate` class. - -- **Chores** - - Updated build script for Rust WebAssembly target. - - - -
-
- -Programmatic deployment blogpost (#752) - - -Blogpost to help discover programmatic deployment additions. - - -#### Migration notes - -... - -- [ ] The change comes with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change - - - -## Summary by CodeRabbit - -- **New Features** -- Introduced programmatic deployment feature for deploying typegraphs -within the Metatype ecosystem using TypeScript/Python SDKs. -- Added new configuration options and deployment functions to enhance -automation and flexibility in deployment processes. - -- **Documentation** -- Added a new blog post detailing the programmatic deployment feature -and its usage. - - -
-### Features +## [v0.5.0-rc.1](https://github.com/metatypedev/metatype/releases/tag/v0.5.0-rc.1) - 2024-10-22 + +### Bug Fixes
-(SDK) Add `globs` and `dir` support for artifact deps. (#698) +(ci) Disable sccache when secrets not avail (#874) -- [x] Include glob and dir support for `PythonRuntime` deps. -- [x] Include glob and dir support for `DenoRuntime` deps. -- [x] add tests +- Makes sccache optional so PRs from dependabot and forks can still run +the test suite. +- Increases sccache allotment to 50g. -The change includes support for declaring artifact dependencies through -`globs` and `dirs` +--------- + +
+
+ +(cli) Change default installation directory (#873) + + + +Having a good title and description is important for the users to get +readable changelog. +--> + - +- Remplacement PR for #843. + -[MET-441](https://linear.app/metatypedev/issue/MET-441/sdk-support-globs-and-directories-in-artifact-dependencies) +- ... - + #### Migration notes -In the `deps` parameter for `python.import(...)` and `deno.import(...)`, -globs and dirs can be passed in addition to files. - +... -- [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 functionality for defining and deploying Typegraphs for -Deno and Python runtimes. -- Added support for defining a Deno runtime dependency graph with -policies for test scenarios. - -- **Bug Fixes** -- Corrected the structure of the `Deno.serve` call in the `serve` -function. - -- **Refactor** -- Enhanced method chaining for better readability in the `MetaTest` -class. - -- **Tests** -- Updated test coverage reporting to include new Deno runtime test -files. - - Commented out and removed outdated test cases in Deno runtime tests. - -- **Chores** - - Updated platform specification in configuration files. - - ---------
-(docs) Add `embedded typegate` page (#747) +(docs) Grpc docs (#852) -# 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) @@ -2975,7 +3821,6 @@ works #### Migration notes -_No Migrations Needed_ ... - [ ] The change comes with new or modified tests @@ -2985,295 +3830,243 @@ _No Migrations Needed_
-(mdk) Mdk python (#707) +(gate) Make __typename returns the variant name on unions (#838) -Mdk for python runtime + -None + - -## Summary by CodeRabbit +- Add missing implementation for static injection for parameter +transformations on the typegate +- Solves +[MET-642](https://linear.app/metatypedev/issue/MET-642/gate-typename-on-union-selections-should-hold-member-title): +Fix the `__typename` result on union variants: return the variant name +instead of the parent type name -- **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. - +#### Migration notes ---------- - -
-
- -(mdk) `mdk_typescript` (#739) - - BREAKING: `mdk_typescript` (#739) - - -- Implements the `mdk_typescript` code generator for typescript type -inference on Deno runtime external modules. -- Ports the very simple generator already present in meta-cli. -- Removes old codegen from cli and sdk. - -#### Migration notes - -- Metagen section of `metatype.yaml` has changed. Targets are now lists -instead of maps, items no sporting `generator` field instead of key -acting as ref to generator. -- (sdk) WasmRuntime's `fromExport` method has been renamed to `export` -to make it more uniform to handler. -- (sdk) WasmRuntime `export` and `handler` method's now expect -handler/func name under `name` instead of `func`. -- (sdk) `codegen` flag has been removed from `ArtifactsConfig` object. -- (cli) `gen mod/mdk` has been simplified to just `gen` as the previous -mod option is no longer avail. - ---- - -- [x] The change comes with new or modified tests -- [x] Hard-to-understand functions have explanatory comments +N/A + +#### Checklist + +- [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
-(mdk,gate) Hostcall (#706) +(subs) Key collision on redis (#865) -Introduces a mechanism for wasm materializers to access hostgate -functions. +Follow up of #863 +When multiple start occurs for redis, some schedules can happen +**exactly** at the same time resulting into the same identifier (and +leading to an inconsistent state). -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 solution simply combines the `schedule` with the run_id making it +unique instead of using it as is. -This is a stacked PR on top of #687. +```gql +mutation AllAtOnce { + a: start_retry(kwargs: { .. }) # => calls add_schedule( ... date ...) + b: start_retry(kwargs: { .. }) + c: start_retry(kwargs: { .. }) + d: start_retry(kwargs: { .. }) + e: start_retry(kwargs: { .. }) + f: start_retry(kwargs: { .. }) + # .. +} +``` -MET-473. +#### Migration notes -- [x] The change come with new or modified tests +None - + - -## Summary by CodeRabbit +## Fix missing images for `durable execution` blog -- **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. +#### Migration notes -- **Refactor** -- Refactored various internal APIs to improve code maintainability and -efficiency. - +... ---------- +- [ ] 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) +Improve name generation for prisma types (#849) -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. + +Having a good title and description is important for the users to get +readable changelog. +--> -... + - +Solve +[MET-657](https://linear.app/metatypedev/issue/MET-657/sdk-improve-generated-titles-for-prisma-types) + -[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 -python SDK test typegraphs' function names should be the same with the -filename of the typegraph file, for dynamic import compatibility -reasons. +... - - - - -## Summary by CodeRabbit - -- **New Features** -- Introduced a new function `wasm_duplicate` to handle WebAssembly -runtimes with specific policies. - -- **Refactor** -- Renamed and refactored functions and test setups to align with updated -test frameworks and improve code clarity. - -- **Bug Fixes** -- Added error handling in the `getLocalPath` function to log warnings if -linking errors occur. - -- **Tests** -- Updated test scripts to reflect changes in function calls, imports, -and engine instantiation for better test accuracy and reliability. - +- [ ] End-user documentation is updated to reflect the change
+ + +### Documentation +
-Doc polish (#735) +(blog) Running python with WebAssembly part 1 (#823) -- 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! +Running python with webassembly (part 1) + +#### 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 ## 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. +- Introduced a comprehensive guide for integrating Python runtime with +WebAssembly (WASI) in the Metatype ecosystem. +- Detailed the advantages of using WebAssembly over Docker for platform +independence and resource management. +- Provided technical requirements and a refined solution for executing +Python scripts in a sandboxed environment. +- Expanded vocabulary with new relevant terms for enhanced text +processing and validation. - **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. - +- Updated YAML configuration structure in documentation for clarity on +type gate usage. ---------
- - -### Miscellaneous Tasks -
-(docs) Replace term materializer with function for user facing concepts (#736) +`/docs/reference/typegraph/client` (#777) -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. +Pre-documentation for the code-first queries feature. #### 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 +- [ ] End-user documentation is updated to reflect the change + +
+ + +### Features + +
+ +(dev) Typegraph explorer (#859) + + +- Add a web version of tree-view which is more interactive +- Enable typegraph serialization without `metatype.yml` config file - +![image](https://github.com/user-attachments/assets/81771c07-1f2a-493a-81df-969c8182f9bf) + +
+
+ +(gate) Empty object as custom scalar (#876) + + +* Allow empty object on the output without any change +* Just like `Int`, `String`, and such, rightfully refer the constant +`{}` as a scalar +* **Any** empty object will now be refered as `EmptyObject` scalar -## Summary by CodeRabbit +#### Migration notes -- **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. +None - +- [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
-(docs) Embedded typegate (v0.3.x) blog (#750) +(mdk) Overridable templates (#842) -# Add a blog about Embedded Typegate. - +Solve +[MET-630](https://linear.app/metatypedev/issue/MET-630/gen-add-parameter-to-replace-static-sections) +- [x] Make templates in the _static_ sections overridable + - [x] `mdk_rust` + - [x] `mdk_python` + - [x] `mdk_typescript` +- [x] Add a CLI tool to generate extract the default template + -[MET-564](https://linear.app/metatypedev/issue/MET-564/docs-embedded-typegate-v03x) + - +#### Migration notes +No changes needed. +--- - +- [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 + +
+
+ +(metagen) Union/either for clients (#857) + + +- Add union support for the `client_xx` metagen implementations. + +There are still some edge cases especially around variant identification +in the client languages. I tried many things but our hands are tied by +serde. Basically, users will have to be careful when designing their +union types to avoid ambiguity cases. Hopefully, +[674](https://linear.app/metatypedev/issue/MET-674/graph-checksvalidation-on-teither) +will help there. #### Migration notes -_No Migrations Needed_ +... -- [ ] The change comes 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 @@ -3313,34 +4131,40 @@ _No Migrations Needed_ ## 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. +- Introduced new methods for rendering union types in both TypeScript +and Python. +- Enhanced GraphQL query generation with support for multiple union +types. +- Added a new `variants` property to the `NodeMeta` type for improved +selection handling. + +- **Bug Fixes** + - Improved error handling for node selections and argument processing. -- **Chores** -- Updated platform compatibility from "x86_64-linux" to -"aarch64-darwin". +- **Tests** +- Updated test cases to reflect schema changes and added new tests for +client functionality.
-(website) `g.rest` reference at `/docs/reference/rest` (#734) +(subs) Redis backend (#855) -Add reference page for `g.rest(..)` +* Redis Backend base logic port + some improvements +* Moved `SUBSTANTIAL_POLL_INTERVAL_SEC` and +`SUBSTANTIAL_LEASE_LIFESPAN_SEC` to config #### Migration notes +* Renamed `Backend.fs()` and `Backend.memory()` to `Backend.dev_fs()` +and `Backend.dev_memory()` +* Removed `SUBSTANTIAL_RELAUNCH_MS` as it was relevant only for purely +worker-based runs, which rendered the new +`SUBSTANTIAL_POLL_INTERVAL_SEC` redundant when an interrupt hits. -None - -- [ ] The change comes 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 @@ -3350,182 +4174,202 @@ None ## Summary by CodeRabbit +## Release Notes + +- **New Features** +- Introduced Redis as a new backend option for enhanced data management. + - Added Docker Compose configuration for a Redis service. +- Implemented comprehensive testing for Redis functionality and backend +integration. + +- **Bug Fixes** + - Improved error handling during backend initialization. + - **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. +- Updated type definitions for backend configurations to streamline +Redis integration. - +- **Chores** +- Refactored test cases for clarity and consistency across different +backend types. ---------- +
-Bump deno to 1.43.6 (#737) +(subs) Retry + timeout on save (#863) -Update deno to 1.43.6 and make requisite changes. - -Required because of dep conflicts with latest lade-sdk. +Port and improve retry/timeout. #### 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 - ---------- +- [ ] End-user documentation is updated to reflect the change
-Update `rust` dependencies (#748) +(subs) Child workflows + docs (#867) - - - - -update Rust dependencies - - +Support for child workflows. +Solves MET-689 and MET-668. -[MET-479](https://linear.app/metatypedev/issue/MET-479/sdkgate-update-rust-dependencies) +#### Migration notes - +Previously +```python + sub = SubstantialRuntime(backend) + hello = sub.deno(file="workflow.ts", name="sayHello", deps=[]) -#### Migration notes + g.expose( + # each function start, stop, result, ... holds a copy of the workflow data + start_hello = hello.start(...), + stop_hello = hello.stop() + ) +``` +This approach relied on workflow files being referenced in each +materializer, but the constructs were too restrictive to support +something like `mutation { results(name: "nameManuallyGiven") }`. -_No Migrations Needed_ +We now have instead +```python + file = ( + WorkflowFile + .deno(file="workflow.ts", deps=[]) + .import_(["sayHello"]) + .build() + ) -... + # workflow data are refered only once + sub = SubstantialRuntime(backend, [file]) + g.expose( + start_hello = sub.start(...).reduce({ "name": "sayHello" }), + stop = sub.stop() + ) +``` -- [ ] The change comes 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
-Bump `METATYPE_VERSION` to 0.4.3 (#764) +(subs,gate) Substantial integration (#844)
- - -## [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) +(subs,gate) Port agent concept (#845) -- [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 +Continuation of #844
-(gate) Improve logging and responses, prepare 0.4.1 (#714) +Well-defined type comparison semantics (#846) -- 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 + - + +Solve +[MET-655](https://linear.app/metatypedev/issue/MET-655/sdk-improve-the-ensuresubtypeof-implementation) +- [x] Document the type comparison semantics +- [x] Improve the implementation (`EnsureSubtypeOf` trait) +- [x] Add more test cases for type comparisons + + + + + + + +#### Migration notes + +_No change is needed._ + +... + +- [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 ---> + ## Summary by CodeRabbit +## Release Notes + - **New Features** -- Updated Docker image versions and dependency versions to ensure -compatibility and stability. - - Added a search functionality to the app. +- Introduced comprehensive type comparison rules and semantics for +scalar types, optionals, lists, objects, and unions. +- Added support for enumerated types in the type system, allowing for +more precise type definitions. +- Enhanced parent injection mechanism documentation to clarify type +compatibility requirements. +- Implemented a new suite of type comparison tests and validation +mechanisms. - **Bug Fixes** -- Enhanced error handling with specific error classes for more detailed -error messages. +- Improved error reporting and handling in the type validation process. -- **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. +- **Documentation** +- Updated and expanded documentation for type comparisons, enumerations, +and parent injections. -- **Chores** -- Updated version numbers across multiple configuration files to -`0.4.1-0`. - +- **Tests** + - Added new tests for type comparison and validation scenarios. ---------- +
+
+ +Grpc runtime (#819) + +#### Migration notes + +... + +- [x] The change comes with new or modified tests +- [X] End-user documentation is updated to reflect the change +- [ ] Hard-to-understand functions have explanatory comments + +--------- -### Features - +
-Polish documentation and project (#696) +Python hostcall (#860) +Dead lock on python worker + - - -- 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
### Miscellaneous Tasks -
+
-(docs) Final polish to comparison table. (#709) +Checks/validation on t.either (#868) + - BREAKING: Checks/validation on t.either (#868) -some changes to comparison table(docs) +Emit a warning or an error when a variant is a subtype of another one. #### Migration notes +**BREAKING CHANGE**: Previously valid typegraph might fail validation. +You will need to fix your types to add some consistency in +`t.either`/`t.union` types. -_No Migrations Needed_ - - - +- [ ] End-user documentation is updated to reflect the change + +
+
+ +Update prisma + deno + rust deps (#869) + + +- Bump deno to 1.46.3 +- Update prisma-engines to 5.20 +- Update other rust deps. - -## Summary by CodeRabbit +Closes MET-669 and MET-622 and MET-680. +#### Migration notes -- **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. +... - +- [ ] 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 +
-Bump to version 0.4.1-0 (#713) +(gate) Add err msg for missing env vars (#827) -- 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. +#### 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 - -### Documentation -
-Add a comparison b/n metatype and other similar solutions/products. (#697) +(gate) Use stream during artifact upload to s3 (#841) - -- Adds a comparison table between metatype and other similar services. -- Add artifact upload protocol to `Architecture` section in docs. - - + +- - + -[MET-443](https://linear.app/metatypedev/issue/MET-443/include-comparisons-with-other-products-similar-to-metatype) +- - + #### Migration notes -_No Migration Needed_ - +- [ ] End-user documentation is updated to reflect the change
- - -### Features -
-Artifact removal (#668) +(gen, doc) Rename mdk to fdk (#851) -- 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 - -[MET-433](https://linear.app/metatypedev/issue/MET-433/file-removal) - -#### Migration notes + -### 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 +- + - -## Summary by CodeRabbit +- -- **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. + -- **Bug Fixes** -- Removed outdated Deno import mapping settings to streamline -development environment setup. +#### Migration notes -- **Documentation** -- Expanded documentation on artifact tracking and management, including -reference counting and garbage collection mechanisms. +... -- **Refactor** -- Implemented interface changes in `QueryEngine` for better async -disposal management. -- Code restructuring in artifact management for enhanced performance and -maintainability. +- [ ] The change comes with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
+
+ +(sdk) Remove index based names (#848) + - BREAKING: remove index based names (#848) + + +- Replace index based names for types by one that relies on type context +in graph +- Tests for type deduplication -- **Chores** -- Adjusted settings and configurations in the development environment to -align with current best practices. +#### Migration notes -- **Tests** -- Introduced new test cases for artifact upload and management -functionalities. - +TODO ---------- +- [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
- - -### Miscellaneous Tasks - -
+
-(release) Prepare 0.4.0 (#710) +Move as_id out of `TypeNode` (#866) + - BREAKING: Move as_id out of `TypeNode` (#866) -Bumps version to release 0.4.0. + -## 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. -- **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. +Solve +[MET-684](https://linear.app/metatypedev/issue/MET-684/store-the-id-field-in-tstruct-instead-of-in-the-target-type-as-id) +and +[MET-471](https://linear.app/metatypedev/issue/MET-471/parent-injection-use-property-name-instead-of-function-name) +- **common/typegraph** +- [x] Store the id field in `ObjectTypeData` instead of in the target +type (`as_id`) + - [x] Add `id()` method on `t.integer` and `t.string` +- **typegraph/core** + - [x] Store `as_id`, `injection` and `policy` in `TypeRef::attribute` + - [x] Add support for direct and link target in `TypeRef` + - [x] Only allow name registration for `TypeDef` +- Semantics +- [x] Use property name instead of type name in from_parent injection +source - +#### Migration notes +**BREAKING CHANGE** +`from_parent` injections source shall be changed to the key in the +parent `t.struct` instead of the type name. ---------- - -
- - -### Refactor - -
- -(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. + +#### Checklist + +- [x] 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
-(libs/xtask,gate) Remove xtask/codegen (#700) +Move injection data to `t.func` (#871) -Faster build time +- +[MET-682](https://linear.app/metatypedev/issue/MET-682/move-all-injection-data-to-tfunc) + - [x] Move all injection data in `ObjectTypeData` (i.e. `t.func`) +- +[MET-656](https://linear.app/metatypedev/issue/MET-656/sdk-improve-generated-titles-from-applyreduce) + - [x] Translate reduce to injection specification on `t.func` +- +[MET-94](https://linear.app/metatypedev/issue/MET-94/remove-runtime-field-from-typenode) + - [x] Remove runtime field from `TypeNode` (#858) +- +[MET-683](https://linear.app/metatypedev/issue/MET-683/move-runtime-related-type-configs-out-of-typenode) +- [x] Move runtime-related configs to `MaterializerData` or +`RuntimeData` +- Misc. +- Enable random ports for the typegate (when `TG_PORT=0`); this will +work with `meta dev` with embedded typegate if you set the `--gate` +option with port `0`. + + + + + + #### Migration notes -Make sure to sync `typegate/src/types.ts` when an update is made on the -typegraph schema. +... + +- [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
diff --git a/Cargo.lock b/Cargo.lock index 6edaa6100..1c2b71e9a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -330,7 +330,7 @@ dependencies = [ [[package]] name = "archive_utils" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "anyhow", "base64 0.22.1", @@ -5881,7 +5881,7 @@ dependencies = [ [[package]] name = "grpc_utils" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "anyhow", "proto-parser", @@ -6623,7 +6623,7 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "identities_fdk" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "anyhow", "metagen-client", @@ -7780,7 +7780,7 @@ dependencies = [ [[package]] name = "meta-cli" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "actix", "archive_utils", @@ -7850,7 +7850,7 @@ dependencies = [ [[package]] name = "metagen" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "color-eyre", "dashmap 6.1.0", @@ -7876,7 +7876,7 @@ dependencies = [ [[package]] name = "metagen-client" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "derive_more 1.0.0", "futures", @@ -8271,7 +8271,7 @@ dependencies = [ [[package]] name = "mt_deno" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "anyhow", "deno", @@ -11348,7 +11348,7 @@ dependencies = [ [[package]] name = "sample_client" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "metagen-client", "serde", @@ -11358,7 +11358,7 @@ dependencies = [ [[package]] name = "sample_client_upload" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "metagen-client", "serde", @@ -12574,7 +12574,7 @@ dependencies = [ [[package]] name = "substantial" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "anyhow", "chrono", @@ -13386,7 +13386,7 @@ dependencies = [ [[package]] name = "tg_schema" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "anyhow", "indexmap 2.9.0", @@ -14112,7 +14112,7 @@ dependencies = [ [[package]] name = "typegate" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "colored 2.1.0", "env_logger 0.11.0", @@ -14125,7 +14125,7 @@ dependencies = [ [[package]] name = "typegate_api" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "anyhow", "async-trait", @@ -14142,7 +14142,7 @@ dependencies = [ [[package]] name = "typegate_engine" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "anyhow", "archive_utils", @@ -14191,7 +14191,7 @@ dependencies = [ [[package]] name = "typegraph" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "color-eyre", "derive_more 1.0.0", @@ -14207,7 +14207,7 @@ dependencies = [ [[package]] name = "typegraph_core" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "anyhow", "archive_utils", @@ -14983,14 +14983,14 @@ dependencies = [ [[package]] name = "wasm_reflected_rust" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "wit-bindgen 0.34.0", ] [[package]] name = "wasm_wire_rust" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "anyhow", "metagen-client", @@ -16314,7 +16314,7 @@ checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" [[package]] name = "xtask" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" dependencies = [ "anyhow", "clap", diff --git a/Cargo.toml b/Cargo.toml index 8dfc0c2b2..5f63d7b3c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,7 +30,7 @@ exclude = [ ] [workspace.package] -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" edition = "2021" [workspace.dependencies] diff --git a/examples/templates/deno/api/example.ts b/examples/templates/deno/api/example.ts index 4c6d3f04b..11ada48b9 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.5.1-rc.6"; -import { PythonRuntime } from "jsr:@typegraph/sdk@0.5.1-rc.6/runtimes/python"; -import { DenoRuntime } from "jsr:@typegraph/sdk@0.5.1-rc.6/runtimes/deno"; +import { Policy, t, typegraph } from "jsr:@typegraph/sdk@0.5.1-rc.7"; +import { PythonRuntime } from "jsr:@typegraph/sdk@0.5.1-rc.7/runtimes/python"; +import { DenoRuntime } from "jsr:@typegraph/sdk@0.5.1-rc.7/runtimes/deno"; await typegraph("example", (g) => { const pub = Policy.public(); diff --git a/examples/templates/deno/compose.yml b/examples/templates/deno/compose.yml index fe6e324a9..04091446f 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.5.1-rc.6 + image: ghcr.io/metatypedev/typegate:v0.5.1-rc.7 restart: always ports: - "7890:7890" diff --git a/examples/templates/node/compose.yml b/examples/templates/node/compose.yml index 953372838..50e37c2c7 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.5.1-rc.6 + image: ghcr.io/metatypedev/typegate:v0.5.1-rc.7 restart: always ports: - "7890:7890" diff --git a/examples/templates/node/package.json b/examples/templates/node/package.json index 1c4279314..e486880e8 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.5.1-rc.6" + "@typegraph/sdk": "^0.5.1-rc.7" }, "devDependencies": { "tsx": "^3.13.0", diff --git a/examples/templates/python/compose.yml b/examples/templates/python/compose.yml index 953372838..50e37c2c7 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.5.1-rc.6 + image: ghcr.io/metatypedev/typegate:v0.5.1-rc.7 restart: always ports: - "7890:7890" diff --git a/examples/templates/python/pyproject.toml b/examples/templates/python/pyproject.toml index 8fd4ca1ad..97332e1c1 100644 --- a/examples/templates/python/pyproject.toml +++ b/examples/templates/python/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "example" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" description = "" authors = [] diff --git a/pyproject.toml b/pyproject.toml index 9fa18f34d..ff6101678 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ [tool.poetry] name = "metatype" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" description = "" authors = [] diff --git a/src/pyrt_wit_wire/pyproject.toml b/src/pyrt_wit_wire/pyproject.toml index 373465810..790e753e1 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.5.1-rc.6" +version = "0.5.1-rc.7" description = "Wasm component implementing the PythonRuntime host using wit_wire protocol." license = "MPL-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 5815f4022..384c6cf1c 100644 --- a/src/typegate/src/runtimes/wit_wire/mod.ts +++ b/src/typegate/src/runtimes/wit_wire/mod.ts @@ -8,7 +8,7 @@ import { Meta } from "../../../engine/runtime.js"; // // const logger = getLogger(import.meta); -const METATYPE_VERSION = "0.5.1-rc.6"; +const METATYPE_VERSION = "0.5.1-rc.7"; export class WitWireHandle { static async init(params: { diff --git a/src/typegraph/core/Cargo.toml b/src/typegraph/core/Cargo.toml index ac36d5c49..9ff59c26e 100644 --- a/src/typegraph/core/Cargo.toml +++ b/src/typegraph/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "typegraph_core" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" edition = "2021" # this allows us to exclude the rust files diff --git a/src/typegraph/core/src/global_store.rs b/src/typegraph/core/src/global_store.rs index ba70b5e90..698f81865 100644 --- a/src/typegraph/core/src/global_store.rs +++ b/src/typegraph/core/src/global_store.rs @@ -105,7 +105,7 @@ impl Store { thread_local! { pub static STORE: RefCell = RefCell::new(Store::new()); - pub static SDK_VERSION: String = "0.5.1-rc.6".to_owned(); + pub static SDK_VERSION: String = "0.5.1-rc.7".to_owned(); } fn with_store T>(f: F) -> T { diff --git a/src/typegraph/deno/deno.json b/src/typegraph/deno/deno.json index 36902930f..4c65c4c09 100644 --- a/src/typegraph/deno/deno.json +++ b/src/typegraph/deno/deno.json @@ -1,6 +1,6 @@ { "name": "@typegraph/sdk", - "version": "0.5.1-rc.6", + "version": "0.5.1-rc.7", "publish": { "exclude": ["!src/gen", "!LICENSE.md", "!README.md"] }, diff --git a/src/typegraph/python/pyproject.toml b/src/typegraph/python/pyproject.toml index 78d5d9bce..84bfc4a1f 100644 --- a/src/typegraph/python/pyproject.toml +++ b/src/typegraph/python/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "typegraph" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" 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 4ad1240d2..a67fe1059 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.5.1-rc.6" +version = "0.5.1-rc.7" diff --git a/src/xtask/Cargo.toml b/src/xtask/Cargo.toml index 776b8e408..d31862cba 100644 --- a/src/xtask/Cargo.toml +++ b/src/xtask/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "xtask" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" 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 a5ee3b964..1d2055c79 100644 --- a/tests/metagen/__snapshots__/metagen_test.ts.snap +++ b/tests/metagen/__snapshots__/metagen_test.ts.snap @@ -454,7 +454,7 @@ impl Router { } pub fn init(&self, args: InitArgs) -> Result { - static MT_VERSION: &str = "0.5.1-rc.6"; + static MT_VERSION: &str = "0.5.1-rc.7"; if args.metatype_version != MT_VERSION { return Err(InitError::VersionMismatch(MT_VERSION.into())); } @@ -1253,7 +1253,7 @@ impl Router { } pub fn init(&self, args: InitArgs) -> Result { - static MT_VERSION: &str = "0.5.1-rc.6"; + static MT_VERSION: &str = "0.5.1-rc.7"; if args.metatype_version != MT_VERSION { return Err(InitError::VersionMismatch(MT_VERSION.into())); } diff --git a/tests/metagen/typegraphs/identities/rs/Cargo.toml b/tests/metagen/typegraphs/identities/rs/Cargo.toml index 887628452..d4cfb4520 100644 --- a/tests/metagen/typegraphs/identities/rs/Cargo.toml +++ b/tests/metagen/typegraphs/identities/rs/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "identities_fdk" edition = "2021" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" [dependencies] metagen-client = { workspace = true, features = ["graphql"] } diff --git a/tests/metagen/typegraphs/sample/rs/Cargo.toml b/tests/metagen/typegraphs/sample/rs/Cargo.toml index 2bdd29067..8881418ac 100644 --- a/tests/metagen/typegraphs/sample/rs/Cargo.toml +++ b/tests/metagen/typegraphs/sample/rs/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "sample_client" edition = "2021" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" [dependencies] metagen-client = { workspace = true, features = ["graphql"] } diff --git a/tests/metagen/typegraphs/sample/rs_upload/Cargo.toml b/tests/metagen/typegraphs/sample/rs_upload/Cargo.toml index 2e9880348..76cd1da1f 100644 --- a/tests/metagen/typegraphs/sample/rs_upload/Cargo.toml +++ b/tests/metagen/typegraphs/sample/rs_upload/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "sample_client_upload" edition = "2021" -version = "0.5.1-rc.6" +version = "0.5.1-rc.7" [dependencies] metagen-client = { workspace = true, features = ["graphql"] } diff --git a/tools/consts.ts b/tools/consts.ts index 78a45ee98..61673eadf 100644 --- a/tools/consts.ts +++ b/tools/consts.ts @@ -1,7 +1,7 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -export const CURRENT_VERSION = "0.5.1-rc.6"; +export const CURRENT_VERSION = "0.5.1-rc.7"; export const LATEST_RELEASE_VERSION = "0.5.0"; export const LATEST_PRE_RELEASE_VERSION = "0.5.1-rc.2"; export const GHJK_VERSION = "v0.3.1-rc.2";