v0.5.0 - 2025-01-16
Bug Fixes
(gate,sdk) Fail fast on bad credentials before artifact upload (#961)
Solves
MET-793
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
Release Notes
-
New Features
-
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
`selectAll` infinite recursion (#948)
- Closes
MET-786.
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 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
Patch proto to latest + update script (#953)
Update protobuf-codegen and protobuff to latest (3.7.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
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
- Updated
-
Build Configuration
-
Modified protobuf compiler output option from
--rust_out
to
--rs_out
- Simplified protobuf code generation command
-
Compatibility
- Ensured compatibility with latest protobuf runtime version
Bad name on shared types (#955)
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
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
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.
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 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.
Features
Python code validation (#939)
Add python code validation on deploy
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
Add json schema (#952)
- Add a self-hosted json schema that will be referenced to
schemastore, part of
MET-798.
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 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.
Unify worker manager (#954)
- Solves
MET-667-
BaseWorkerManager
- 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
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 theArtifactStore
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
andLazyAsyncMessenger
classes. - Restructured workflow event and message handling.
- Updated task ID generation mechanism.
- Removed
-
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.
Force cleanup at boot with `SYNC_FORCE_REMOVE=true` (#956)
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
-
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.
Upgrade script from 0.4.10 to 0.5.0 (#941)
- Solve
MET-774
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
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
Performance
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
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.