Releases: Expressive-Tea/expresive-tea
v2.0.1
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 - Major Framework Refactoring
🚀 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
- New package:
@expressive-tea/core - Legacy package:
@zerooneit/expressive-tea(security patches until April 30, 2026) - Repository: https://github.com/Expressive-Tea/expresive-tea
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@HealthCheckdecorator for custom health checks
Environment Variable Support (NEW)
@Envdecorator 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/core2. Upgrade Node.js
# Using nvm
nvm install 20
nvm use 20
# Or Node.js 22
nvm install 22
nvm use 223. 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
- CHANGELOG.md - Complete changelog
- MIGRATION_GUIDE_v2.md - Detailed migration guide
- RELEASE_NOTES_v2.0.0.md - Full release notes
- Configuration Files Guide - YAML config support
- Environment Variables Guide - @env decorator usage
🙏 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
What's Changed
- Maintenance Release by @chrnx-dev in #222
Full Changelog: v1.3.0-Beta.5...v1.3.0-Beta.6
v1.3.0-Beta.5
What's Changed
- [FEATURE] Remove Gulp Support by @chrnx-dev in #113
- [PROXYFY] Added Proxify by @chrnx-dev in #151
- [RELEASE] Upgrade Packages by @chrnx-dev in #162
- Feature/upgrade packages by @chrnx-dev in #167
- Bump ts-jest from 28.0.2 to 28.0.3 by @dependabot in #168
- Feature/upgrade packages by @chrnx-dev in #169
- Bump eiows from 4.0.1 to 4.1.2 by @dependabot in #171
- Feature/maintenance release by @chrnx-dev in #206
- [Snyk] Security upgrade socket.io from 4.5.4 to 4.6.0 by @chrnx-dev in #205
Full Changelog: v1.3.0-Beta.1...v1.3.0-Beta.5
Beta Release 1.3.0-Beta.1
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
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
- 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
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
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
- a3c0e01 [HOTFIX] Plugin Issues
Production Release
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