Files
strata-compile/CHANGELOG.md
Carlos Gutierrez a63a758cc5 feat: initial release of Strata framework v0.1.0
- Static compiler with STRC pattern (Static Template Resolution with
   Compartmentalized Layers)
   - Template syntax: { } interpolation, { s-for }, { s-if/s-elif/s-else
    }
   - File types: .strata, .compiler.sts, .service.sts, .api.sts, .sts,
   .scss
   - CLI tools: strata-compile dev, strata-compile build, strata-compile
    g (generators)
   - create-strata-compile scaffolding CLI with Pokemon API example
   - Dev server with WebSocket HMR (Hot Module Replacement)
   - Documentation: README, ARCHITECTURE, CHANGELOG, CONTRIBUTING,
   LICENSE
2026-01-16 09:13:14 -05:00

4.0 KiB

Changelog

All notable changes to the Strata framework will be documented in this file.

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


Unreleased

Planned

  • Component imports ({ s-imp "@components/Button" })
  • SCSS to CSS compilation pipeline
  • Production build optimizations
  • TypeScript type generation for templates
  • VSCode extension for syntax highlighting
  • Nested component slots

0.1.0 - 2026-01-16

Added

Core Framework

  • Static Compiler: Build-time template resolution engine

    • Resolves all template syntax to pure HTML
    • Zero runtime framework overhead
    • Caches API responses during build
  • STRC Design Pattern: Static Template Resolution with Compartmentalized Layers

    • Clear separation between template, compiler, service, and API layers
    • Strict import hierarchy enforcement
    • File-type based responsibility assignment

Template Syntax

  • Variable Interpolation: { variableName }

    • Supports dot notation for nested properties ({ user.name })
    • Handles strings, numbers, booleans, arrays, objects
  • Loop Directive: { s-for item in items } ... { /s-for }

    • Iterates over arrays
    • Optional index variable: { s-for item, index in items }
    • Nested loops supported
  • Conditional Directives: { s-if }, { s-elif }, { s-else }, { /s-if }

    • Boolean evaluation
    • Negation with !
    • Comparison operators: ===, ==, !==, !=, >, <, >=, <=

File Types

  • .strata - HTML template files
  • .compiler.sts - Build-time variable definitions
  • .service.sts - Business logic layer (build + runtime)
  • .api.sts - API contract definitions
  • .sts - Pure utility functions
  • .scss - Component/page styles

CLI Tools

  • strata-compile dev - Development server with Hot Module Replacement (HMR)
  • strata-compile build - Production build
  • strata-compile preview - Preview production build
  • Generator commands:
    • strata-compile gcomponent <Name>
    • strata-compile gpage <name>
    • strata-compile gservice <name>
    • strata-compile gapi <name>
    • strata-compile gutil <name>
    • strata-compile gstore <name>

Project Scaffolding

  • create-strata CLI tool
  • Pokemon API example template
  • Index page with ASCII art branding
  • Pre-configured project structure

Development Server

  • WebSocket-based Hot Module Replacement
  • Automatic rebuild on file changes
  • CSS hot reload without page refresh
  • Component change detection

Parser

  • Custom Strata template parser
  • AST-based template processing
  • Balanced bracket extraction for complex structures
  • JavaScript-to-JSON conversion for data parsing

Technical Details

Compiler Implementation

  • Written in Go for maximum performance
  • Regex-based export extraction from .compiler.sts
  • Recursive template resolution
  • Property access chain support (item.nested.value)

Build Process

  1. Parse .strata template to AST
  2. Load exports from .compiler.sts
  3. Resolve all directives (for, if, interpolation)
  4. Output pure HTML string
  5. Bundle with optional runtime service code

0.0.1 - 2026-01-15

Added

  • Initial project structure
  • Basic Go compiler setup
  • Makefile for build automation
  • Development environment configuration

Version History Summary

Version Date Highlights
0.1.0 2026-01-16 Core framework, STRC pattern, template syntax, CLI tools
0.0.1 2026-01-15 Initial project setup

Migration Guides

Migrating to 0.1.0

This is the first functional release. No migration required.


Deprecations

None yet.


Security

No security vulnerabilities reported.

To report a security issue, please open an issue at https://github.com/CarGDev/strata/issues