Skip to content

Releases: Expressive-Tea/expresive-tea

v2.0.1

25 Feb 15:18
ce4409c

Choose a tag to compare

v2.0.1 Overview

This release focuses on framework stability, boot-order correctness, and test/CI modernization across the v2.0.0..v2.0.1 range.

Highlights

  • Fixed boot-stage race conditions in HTTP engine by resolving stages sequentially, preventing dependency initialization timing issues in application startup (includes fix for #247).
  • Completed migration from Jest to Vitest, including config/setup updates and broad test suite compatibility fixes.
  • Improved test reliability with shutdown/cleanup hardening, port/isolation fixes, and expanded engine lifecycle coverage.
  • Added extensive new unit/integration/benchmark coverage for boot lifecycle, engine shutdown behavior, health checks, and proxy/module flows.
  • Improved core stability and consistency across boot/decorator/engine/helper paths from the comprehensive audit v2 work.

Notable Fix Areas

  • HTTP engine stage resolution ordering and startup sequencing.
  • EngineRegistry/Boot lifecycle safety and guardrails.
  • WebSocket/Socket.IO/HTTP shutdown behavior and listener cleanup.
  • Vitest module resolution and test interop/mocking updates.
  • CI/test infrastructure updates supporting Vitest-based workflows.

Packages Published

  • @expressive-tea/core@2.0.1
  • @zerooneit/expressive-tea@2.0.1-patch.1

Issues

  • Closes/addresses: #247

Full Changelog

v2.0.0...v2.0.1

v2.0.0 - Major Framework Refactoring

03 Feb 07:18

Choose a tag to compare

🚀 Expressive Tea v2.0.0 - Major Release

Package Rename

@expressive-tea/core is the new official package name (formerly @zerooneit/expressive-tea)

npm install @expressive-tea/core
# or
yarn add @expressive-tea/core

⚠️ Breaking Changes

Node.js Version Requirement

  • Dropped Node.js 18 - Now requires Node.js 20.0.0+
  • Reason: Node.js 18 reached End-of-Life (April 2025) + ESLint 9.x compatibility
  • Supported: Node.js 20 LTS and Node.js 22

Package Rename

Deprecated Versions

  • All versions before 2.0.0 are deprecated
  • No security patches, bug fixes, or support for v1.x
  • Upgrade to v2.0.0 immediately

✨ Features

Complete Framework Refactoring

  • TypeScript Strict Mode enabled for maximum type safety
  • Enhanced Dependency Injection with scoping methods (registerSingleton, registerTransient, registerScoped)
  • EngineRegistry for centralized engine management with dependency resolution
  • Native Utility Library - removed internal lodash dependencies, reduced bundle size

Health Check System (NEW)

Built-in production-ready health monitoring:

  • /health - Detailed health status with all checks
  • /health/live - Liveness probe (Kubernetes compatible)
  • /health/ready - Readiness probe with critical check validation
  • @HealthCheck decorator for custom health checks

Environment Variable Support (NEW)

  • @Env decorator for loading .env files
  • YAML Configuration support (.expressive-tea.yaml)
  • Type-safe environment variables with transformation and validation
  • Integration with Zod, Yup, and other validation libraries

ESLint 9 Migration

  • Migrated to ESLint v9 flat config (eslint.config.mjs)
  • 0 errors, 246 acceptable warnings
  • Better TypeScript integration and performance

🔒 Security Fixes

Critical Cryptography Improvements

  • Fixed AES-256-GCM implementation with proper authentication tags
  • HKDF key derivation for cryptographically secure encryption
  • PBKDF2 password hashing (replaced insecure MD5)
  • Removed plaintext credential logging
  • Fixed HTTPS server initialization

🏗️ Infrastructure

CI/CD Improvements

  • CircleCI: Updated to Node.js 22 with Yarn 4.x
  • GitHub Actions: Complete CI pipeline (lint, type-check, build, test)
  • CodeQL: Security scanning with Node.js 20
  • Corepack: Enabled for proper Yarn modern (Berry) support

Test Coverage

  • 363 tests passing (363/363 - 100%)
  • 95.9% statement coverage
  • 88.56% branch coverage
  • 97.26% function coverage

📦 Installation

# npm
npm install @expressive-tea/core

# yarn
yarn add @expressive-tea/core

# pnpm
pnpm add @expressive-tea/core

🔄 Migration Guide

From v1.x to v2.0.0

1. Update Package Name

npm uninstall @zerooneit/expressive-tea
npm install @expressive-tea/core

2. Upgrade Node.js

# Using nvm
nvm install 20
nvm use 20

# Or Node.js 22
nvm install 22
nvm use 22

3. Update imports

// Old
import { Boot } from '@zerooneit/expressive-tea';

// New
import { Boot } from '@expressive-tea/core';

4. Update package.json

{
  "engines": {
    "node": ">=20.0.0"
  }
}

No code changes required - This is primarily a runtime and package rename upgrade.


📊 Statistics

  • Files Modified: 113 files
  • Tests: 363 passing (148 new tests added)
  • Coverage: 95.9% (up from ~80%)
  • TypeScript Errors Fixed: 85 strict mode violations
  • Security Vulnerabilities Fixed: 3 critical issues
  • Documentation: 10 comprehensive guides added

📚 Documentation


🙏 Acknowledgments

Special thanks to the Expressive Tea community for their patience during this major refactoring. This release represents significant work to modernize the framework while maintaining developer experience.


🐛 Found a Bug?

Report issues at: https://github.com/Expressive-Tea/expresive-tea/issues


📝 License

Apache-2.0


Full Changelog: v1.3.0-Beta.6...v2.0.0

v1.3.0-Beta.6

25 Apr 04:27
39981b3

Choose a tag to compare

v1.3.0-Beta.6 Pre-release
Pre-release

What's Changed

Full Changelog: v1.3.0-Beta.5...v1.3.0-Beta.6

v1.3.0-Beta.5

25 Apr 04:20
d2dac47

Choose a tag to compare

v1.3.0-Beta.5 Pre-release
Pre-release

What's Changed

Full Changelog: v1.3.0-Beta.1...v1.3.0-Beta.5

Beta Release 1.3.0-Beta.1

14 Nov 19:29

Choose a tag to compare

Pre-release

What's Changed

  • Handling Number responses properly.
  • Error Handling respond properly to Expressive Tea Exceptions.
  • Added Settings by file .expressive-tea as json file.
  • Multiple fixes to microservices core.

Production Release 1.2.2

06 Nov 20:58
f9b1f9e

Choose a tag to compare

What's Changed

  • Module Providers settings is now optional.
  • Allow pass arguments to Plugin's Constructor.
  • Fixes Handling Number Responses.
  • Fixes Error Responses as 500 always.
  • Remove unused code.
  • Code Enhancements.

Full Changelog: v1.2.1...v1.2.2

Production Release

02 Oct 03:16

Choose a tag to compare

  • Next parameter decorator is not redirect flow to next middleware instead of returns empty responses.
  • Outdated and Vulnerabilities dependencies are now solved.
  • Improve Boot stages process in order to keep them in the correct order and steps now should place correctly in the internal event loop (not node).
  • Added websockets implementation
  • Fixed Testing and add integrations testing.

Production Release

23 Jul 16:19

Choose a tag to compare

RELEASE] 1.2.0 Release

  • View decorator allows us to render a view if a view engine is
    configurated.
  • Added Request, Response Express instances with a specific decorator.
  • Get Query, Body parameters directly using parameter decorators.
  • Get Url parameters using a parameter decorator.
  • Allow Flexibility by allowing use of the returning values as the response on
    every decorated Controller Method, if already sent a response using the
    response instance is automatically detected.
  • Allow the Https Configuration.
  • Improve Documentation.

Production Release

16 Mar 15:29

Choose a tag to compare

Description

There was a critical issue on the Boot engine when there were more than one plugins assigned. As this creates potential block implementation we create a hotfix to resolve it.

Changelog

Production Release

26 Feb 04:23

Choose a tag to compare

Implementations

  • Added Static Decorator to allow response to some of the static directories.
  • Added Express Directive Decorator to allow configure special settings for express module.
  • Modify Documentation Template.
  • Added Better Documentation.
  • Added plugins to Jsdocs to accept decorators as tags and parse @ symbols on examples.
  • Fixed small issues.

Commits Included

  • 93ec93f [MAINTENANCE] Fixes Small Issues and Documentation
  • 45c6f7e [MAINTENANCE] Fixes Small Issues and Documentation
  • cc44044 [MAINTENANCE] Fixes Small Issues and Documentation
  • 5662633 [MAINTENANCE] Fixes Small Issues and Documentation
  • e46a599 [MAINTENANCE] Fixes Small Issues and Documentation
  • 131c7b7 [MAINTENANCE] Small issues and refactoring
  • ec51c34 [MAINTENANCE] Fixes Small Issues and Documentation
  • 945e336 [MAINTENANCE] Fixes Small Issues and Documentation