v0.4.3
v0.4.3 - 2024-06-22
The Typescript/Deno SDK is now stable.
Bug Fixes
(ci) Poetry lockfile (#732)
- Fixes poetry lockfile and adds pre-commit hook to prevent issue from
happening
(docs) Fix demo typegraphs 2 (#756)
Fix example typegraphs on metatype.dev.
- reduce.ts
- policies.ts
- graphql.ts
- authentication.ts
Migration notes
No Migrations Needed
- The change comes with new or modified tests
- Hard-to-understand functions have explanatory comments
- End-user documentation is updated to reflect the change
(docs) Fix programmatic deployment guides (#762)
- Fix typo
- fix/test tg deploy
- fix/test tg remove
Migration notes
No Migration Needed
...
- The change comes with new or modified tests
- Hard-to-understand functions have explanatory comments
- End-user documentation is updated to reflect the change
Only build xtask once for the tests (#720)
Use the xtask binary to run the tests.
- The change comes with new or modified tests
- Hard-to-understand functions have explanatory comments
- End-user documentation is updated to reflect the change
Summary by CodeRabbit
-
New Features
- Updated platform compatibility to
x86_64-linux.
- Updated platform compatibility to
-
Added new configuration entry for enhanced versioning and platform
support. -
Improvements
-
Modified test script to use a custom build script for better test
management.
These changes improve platform compatibility and streamline the testing
process.
Missing typegraphs (#741)
Fix Missing Typegraphs
- attempt to fix the missing typegraphs on metatype.dev.
Migration notes
No Migrations Needed
...
- The change comes with new or modified tests
- Hard-to-understand functions have explanatory comments
- End-user documentation is updated to reflect the change
Upload url path and add logging in the SDK (#740)
- Fix upload url: prepare-upload returns upload tokens instead of upload
urls - Add logging in the typegraph SDK
- Refactor the actor system in the CLI
- Use jsonrpc for communication between the CLI and typegraph processes
(over stdin/stdout)
Migration notes
-
The
typegraphs.denosection of themetatype.yamlconfig file has
been replaced bytypegraphs.typescriptandtypegraphs.javascript. -
tg_deployparams has changed. -
The change comes with new or modified tests
-
Hard-to-understand functions have explanatory comments
-
End-user documentation is updated to reflect the change
Failed typegraph deployment (#758)
- Fix casing typo in the typescript sdk
- Fix error reporting in the typescript sdk
- Display the retry number
- Warning on cancelled retry
Migration notes
N/A
- The change comes with new or modified tests
- Hard-to-understand functions have explanatory comments
- End-user documentation is updated to reflect the change
Documentation
`/docs/concepts/features-overview/` (#725)
- Re-does the feature overview page of the documentation.
Summary by CodeRabbit
-
New Features
-
Added a "Features Roadmap" component to the website, displaying a list
of features with details and links. -
Documentation
-
Updated various guides and reference documents to improve clarity and
presentation of code examples. -
Added new sections for various features such as Typegate, Typegraph,
Runtimes, Prisma, Auth, Tooling, and SDK. -
Bug Fixes
- Corrected a typo in the GraphQL runtimes reference documentation.
-
Refactor
-
Replaced
SDKTabsandTabItemcomponents withTGExamplefor
better code example presentation. -
Adjusted the
MiniQLcomponent to handle optional properties and
default settings.
`/docs/reference/metagen` + `/docs/guides/wasm-functions` (#751)
- Adds
/docs/reference/metagen - Adds
/docs/guides/wasm-functions - Adds a codegen section to
/docs/guides/external-functions
MDK-492.
Migration notes
...
- The change comes with new or modified tests
- Hard-to-understand functions have explanatory comments
- End-user documentation is updated to reflect the change
Summary by CodeRabbit
-
New Features
-
Added new targets for
metagenwith 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
usingTGExample. -
Bug Fixes
- Updated
.gitignoreto exclude*.wasmfiles.
- Updated
-
Documentation
-
Updated links and added detailed instructions for generating types
usingmetagen. -
Refactor
-
Switched from
HashMaptoBTreeMapandHashSettoBTreeSetin
various modules for better data structure handling.- Added logging enhancements in the
Typegateclass.
- Added logging enhancements in the
-
Chores
- Updated build script for Rust WebAssembly target.
Programmatic deployment blogpost (#752)
Blogpost to help discover programmatic deployment additions.
Migration notes
...
- The change comes with new or modified tests
- Hard-to-understand functions have explanatory comments
- End-user documentation is updated to reflect the change
Summary by CodeRabbit
-
New Features
-
Introduced programmatic deployment feature for deploying typegraphs
within the Metatype ecosystem using TypeScript/Python SDKs. -
Added new configuration options and deployment functions to enhance
automation and flexibility in deployment processes. -
Documentation
-
Added a new blog post detailing the programmatic deployment feature
and its usage.
Features
(SDK) Add `globs` and `dir` support for artifact deps. (#698)
- Include glob and dir support for
PythonRuntimedeps. - Include glob and dir support for
DenoRuntimedeps. - add tests
The change includes support for declaring artifact dependencies through
globs and dirs
Migration notes
In the deps parameter for python.import(...) and deno.import(...),
globs and dirs can be passed in addition to files.
- The change come with new or modified tests
- Hard-to-understand functions have explanatory comments
- End-user documentation is updated to reflect the change
Summary by CodeRabbit
-
New Features
-
Introduced functionality for defining and deploying Typegraphs for
Deno and Python runtimes. -
Added support for defining a Deno runtime dependency graph with
policies for test scenarios. -
Bug Fixes
-
Corrected the structure of the
Deno.servecall in theserve
function. -
Refactor
-
Enhanced method chaining for better readability in the
MetaTest
class. -
Tests
-
Updated test coverage reporting to include new Deno runtime test
files.- Commented out and removed outdated test cases in Deno runtime tests.
-
Chores
- Updated platform specification in configuration files.
(docs) Add `embedded typegate` page (#747)
Embedded typegate docs page
- need a page under meta-cli/embedded typegate to explain how that
works - tutorials should take advantage of the embedded one
- the embedded one should be the default everything
- explain that there is 2 flavors in reference/meta-cli
Migration notes
No Migrations Needed
...
- The change comes with new or modified tests
- Hard-to-understand functions have explanatory comments
- End-user documentation is updated to reflect the change
(mdk) Mdk python (#707)
Mdk for python runtime
Migration notes
None
Summary by CodeRabbit
-
New Features
-
Introduced new functionalities for generating Python code based on
configurations, including handling of templates and required objects. -
Added Python script templates for defining typed functions and
structured objects with comprehensive data type handling.- Enhanced type management and priority handling in utility functions.
-
Documentation
-
Provided detailed summaries and documentation for new functionalities
and templates. -
Refactor
-
Implemented new structures and methods for efficient code generation
and type handling. -
Tests
- Added tests for defining typegraph structures and policies in Python.
-
Chores
-
Updated URLs in the
.ghjk/deno.lockfile to reflect new changes in
the codebase.
(mdk) `mdk_typescript` (#739) - BREAKING: `mdk_typescript` (#739)
- Implements the
mdk_typescriptcode 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.yamlhas changed. Targets are now lists
instead of maps, items no sportinggeneratorfield instead of key
acting as ref to generator. - (sdk) WasmRuntime's
fromExportmethod has been renamed toexport
to make it more uniform to handler. - (sdk) WasmRuntime
exportandhandlermethod's now expect
handler/func name undernameinstead offunc. - (sdk)
codegenflag has been removed fromArtifactsConfigobject. - (cli)
gen mod/mdkhas been simplified to justgenas the previous
mod option is no longer avail.
- The change comes with new or modified tests
- Hard-to-understand functions have explanatory comments
- End-user documentation is updated to reflect the change
(mdk,gate) Hostcall (#706)
Introduces a mechanism for wasm materializers to access hostgate
functions.
This implements a pretty basic JSON wire interface, a singular
hostcall function that's exposed to materializers. The only
implemented function on this interface are gql queries.
This is a stacked PR on top of #687.
MET-473.
- The change come with new or modified tests
Summary by CodeRabbit
-
New Features
-
Added an import statement for
std_urland a new task for installing
WASI adapter related files. -
Introduced new functionalities in the application's runtime to support
additional parameters and error handling. -
Enhancements
-
Improved the application's handling of GraphQL queries with new error
types and display methods. -
Enhanced the WASM runtime build process to target a more appropriate
architecture. -
Bug Fixes
-
Fixed issues in Python and WASM runtime tests to ensure reliability
and performance. -
Documentation
-
Updated internal documentation to reflect new command interfaces and
environmental interactions in the application's CLI tools. -
Refactor
-
Refactored various internal APIs to improve code maintainability and
efficiency.
(meta-test) Update `t.engine()` impl (#716)
Update the implementation of t.engine()
The change comes with removing the different spin-offs of t.engine
which arose from the previous impl of t.engine incompatibility with
artifact upload protocol. The change will make t.engine deploy the
artifacts in Artifact Resolution mode by running a shell command to
deploy the typegraph.
...
- remove different versions of
t.engine - add tg_deploy caller script which imports typegraphs dynamically
and deploys them. - make changes to make
t.enginerun in artifact resolution mode - update existing tests to adhere to the current change
- pass unique different
tempDirs to all the typegate instances
created during test. - add support for authoring multiple typegraphs in a single file in
meta-testand 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_duplicateto 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
getLocalPathfunction to log warnings if
linking errors occur. -
Tests
-
Updated test scripts to reflect changes in function calls, imports,
and engine instantiation for better test accuracy and reliability.
Doc polish (#735)
- doc polish and cleanup
- upgrade website except Docusaurus as the css issue is stil present
- bump to next pre-release
- not everything is done, but let's iterate!
Summary by CodeRabbit
-
New Features
- Added platform compatibility for
x86_64-linux.
- Added platform compatibility for
-
Introduced new functionalities for generating Python code and enhanced
type management. -
Added import statement for
std_urland new task for installing WASI
adapter files. -
Enhanced runtime support for additional parameters and error handling.
-
Improvements
-
Enhanced GraphQL query handling with new error types and display
methods. -
Improved WASM runtime build process for better architecture targeting.
-
Documentation
- Updated feature overview and added a "Features Roadmap" component.
- Enhanced various guides and references for better clarity.
-
Added new sections for Typegate, Typegraph, Runtimes, Prisma, Auth,
Tooling, and SDK.- Corrected typos and improved code example presentation.
-
Bug Fixes
- Fixed issues in Python and WASM runtime tests to ensure reliability.
Miscellaneous Tasks
(docs) Replace term materializer with function for user facing concepts (#736)
Materializer and function might introduce confusion as they are pretty
much the same thing from the user point of view, one can be defined in
terms of the other.
Migration notes
None
- The change comes with new or modified tests
- Hard-to-understand functions have explanatory comments
- End-user documentation is updated to reflect the change
Summary by CodeRabbit
- Documentation
- Updated terminology from "materializers" to "functions" across various
documentation files to reflect a semantic shift and provide clearer
descriptions. - Improved clarity in descriptions of custom functions, runtimes, and
their roles in the Metatype computing model. - Corrected typos and refined explanations in multiple guides and
reference documents.
These changes enhance the readability and consistency of our
documentation, making it easier for users to understand and implement
the features and concepts within the system.
(docs) Embedded typegate (v0.3.x) blog (#750)
Add a blog about Embedded Typegate.
Migration notes
No Migrations Needed
- The change comes with new or modified tests
- Hard-to-understand functions have explanatory comments
- End-user documentation is updated to reflect the change
Summary by CodeRabbit
-
New Features
-
Introduced a new blog post on emulating server nodes locally using the
Embedded Typegate feature in Meta CLI. -
Added a new
BlogIntrocomponent to the website for displaying styled
blog introductions. -
Documentation
-
Updated documentation to explain how to spin up a local instance of
Typegate for testing and development. -
Chores
-
Updated platform compatibility from "x86_64-linux" to
"aarch64-darwin".
(website) `g.rest` reference at `/docs/reference/rest` (#734)
Add reference page for g.rest(..)
Migration notes
None
- The change comes with new or modified tests
- Hard-to-understand functions have explanatory comments
- End-user documentation is updated to reflect the change
Summary by CodeRabbit
- Documentation
- Added a reference to the REST reference section in the REST guide.
- Introduced new documentation for consuming APIs using Metatype.
- Included examples in Python and TypeScript for interacting with REST
APIs.- Explained query types, dynamic queries, and endpoint access.
- Provided guidance on accessing auto-generated documentation and
downloading the OpenAPI spec.
Bump deno to 1.43.6 (#737)
Update deno to 1.43.6 and make requisite changes.
Required because of dep conflicts with latest lade-sdk.
Migration notes
- The change comes with new or modified tests
- Hard-to-understand functions have explanatory comments
- End-user documentation is updated to reflect the change
Update `rust` dependencies (#748)
update Rust dependencies
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