Skip to content

Changelog

All notable changes to TinySystems.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.


[Unreleased]

Added

  • Documentation site with VitePress
  • Comprehensive developer guide
  • Example components and flows

Changed

  • Improved expression evaluator performance

Fixed

  • Edge data serialization for nested objects

[1.0.0] - 2024-01-15

Added

  • Core Platform

    • TinyNode, TinyModule, TinySignal CRDs
    • Kubernetes controller for message routing
    • gRPC communication between modules
    • Leader election via Kubernetes Leases
  • Module SDK

    • Component interface (GetInfo, Ports, Handle, Instance)
    • ControlHandler interface for UI interactions
    • Resource Manager for Kubernetes resource creation
    • Struct tag-based JSON Schema generation
  • Expression System

    • Path expressions with $ root reference
    • Arithmetic, comparison, and logical operators
    • Built-in functions (now, RFC3339, string, int, upper, lower, etc.)
    • Ternary conditional operator
  • Common Module

    • Modify component for data transformation
    • Router component for conditional branching
    • Iterator component for array processing
    • Ticker component for scheduled execution
    • Signal component for fan-out patterns
    • Delay component for timing control
  • HTTP Module

    • Server component with Kubernetes Service/Ingress integration
    • Client component with retry and timeout support
    • BasicAuth header parser
  • Flow Editor

    • Visual node and edge editing
    • Settings configuration panels
    • Real-time telemetry display
    • Port visualization

Changed

  • Renamed config to edges in TinyNode spec
  • Combined module/component into single component field
  • Standardized system port names with constants

Security

  • RBAC templates for module service accounts
  • Secret reference support via configRef
  • TLS support for gRPC communication

[0.9.0] - 2024-01-01

Added

  • Beta release of core functionality
  • Initial module SDK
  • Basic flow editor

Known Issues

  • Expression evaluator performance needs optimization
  • Limited documentation

[0.8.0] - 2023-12-15

Added

  • Alpha release for testing
  • Core CRD definitions
  • Basic controller implementation

Changed

  • Simplified component interface

Deprecated

  • Old tuple-based GetInfo() return type

Version History

VersionDateStatus
1.0.02024-01-15Stable
0.9.02024-01-01Beta
0.8.02023-12-15Alpha

Upgrade Notes

0.9.x to 1.0.0

See the Migration Guide for detailed upgrade instructions.

Key changes:

  • Add Instance() method to all components
  • Update GetInfo() to return ComponentInfo struct
  • Add context.Context parameter to Handle() and HandleControl()
  • Use constants for system ports and port positions

0.8.x to 0.9.x

  • Update TinyNode resources to use new edges field
  • Rebuild module images with updated SDK

SDK Compatibility

Platform VersionSDK VersionGo Version
1.0.x1.0.x1.21+
0.9.x0.9.x1.20+
0.8.x0.8.x1.20+

Deprecation Schedule

FeatureDeprecatedRemovedAlternative
Tuple GetInfo()0.9.01.0.0ComponentInfo struct
String port positions0.9.01.0.0module.Position* constants
String system ports0.9.01.0.0v1alpha1.*Port constants
TinyNode config field0.9.01.0.0edges field

Release Cadence

  • Major versions (x.0.0): Breaking changes, major features
  • Minor versions (0.x.0): New features, backward compatible
  • Patch versions (0.0.x): Bug fixes, security updates

Releases are tagged in Git and published to:

  • GitHub Releases
  • Container registries (Docker Hub, GitHub Container Registry)
  • Helm repository

Contributing

See CONTRIBUTING.md for:

  • Development setup
  • Testing guidelines
  • Pull request process
  • Code style requirements

Build flow-based applications on Kubernetes