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
-
-
-
+#### 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
-
+
+
+
+
+
+(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";