Repository navigation
Releases: Sunvas/eleanor-php-library
Release list
2026 Autumn release
Eleanor PHP Library 5.0
Version 5.0 introduces a small set of API refinements and compatibility-breaking changes, together with template engine and performance improvements.
Added
- Added support for computed variables in the template engine
- Added
AGENTS.mdwith project-specific instructions for AI-assisted development
Changed
- Renamed the
Otpclass toTOTPto better reflect its Time-based One-Time Password implementation - Improved the performance of the
Uriclass - Replaced the
$eolargument ofCLI::Write()with$crfor carriage return handling - Replaced hardcoded cache file paths with
__FILE__
Improved
- Applied minor code cleanups and micro-improvements
- Refined comments and documentation wording
- Fixed typos
Release notes polished with assistance from Codex.
Full Changelog: 4.0...5.0
2026 Summer release
Eleanor PHP Library 4.0
This release finalizes the planned major changes for version 4.0, including API cleanup, new utility classes, improved MySQL handling, template API refinements, and documentation polishing.
Added
- Added the
Otpclass for two-factor authentication support - Introduced the
CLIclass for colored terminal output - Added a second
$levelparameter toQuietExecution()for selective error suppression - Added
__invoke()support to theAssignclass - Added
ArrayAccessimplementation to theAssignclass - Added support for arguments in
$Creatorfor theAssignclass - Introduced new error type
EM::OTHERfor cases not covered by existing error categories - Added automatic cleanup of
mysqli_stmtandmysqli_resultobjects in theMySQLclass - Added
NULLvalue support to theWhere()method
Changed
- Renamed
Assign::For()toAssign::Bind() - Renamed
Uri::GetURI()toUri::Clean() - Renamed
Uri::$currenttoUri::$raw - Renamed the
Serializecache class toSerialized - Refactored the
AppendandTemplateclasses for a cleaner and more expressive API:- Template sources are now added via
$Tpl[] = 'source';instead of$Tpl->queue[] = 'source'; - Default template variables are now assigned via
$Tpl['key'] = 'value';instead of$Tpl->default['key'] = 'value';
- Template sources are now added via
- Improved the
Filesclass implementation - Improved internal code logic across multiple components
- Applied minor micro-optimizations
Fixed
- Fixed incorrect file identification in the
Shmopcache engine - Prevented automatic closing of externally provided
MySQLiinstances - Replaced JSON-encoded exception input information with a printed input dump representation
Removed
- Removed the
Punycodeclass andPUNYCODEconstant due to limited practical adoption of IDN support - Removed the
Htmlclass in favor of Vue.js-based form rendering - Removed the
Translit()method from theRuclass - Removed the
Telegramclass due to Telegram's migration to JWT-based external authentication, which cannot be reliably validated without third-party dependencies
Documentation
- Improved explanations for the library directory structure
- Refined comments for better clarity, precision, and conciseness
Docs polished with help from Codex.
Code review by Alice AI.
Full Changelog: 3.0...4.0
2026 Spring release
- Improved MySQL performance:
Insert,Replace, andUpdateoperations now use prepared statements where applicable. - Translated comments in
em-en.phpto English. - Miscellaneous micro-optimizations and improvements.
- Minimum supported PHP version is 8.5 now
Full Changelog: 2.2.0...3.0
2026 Winter update
Cumulative update to make library even more perfect
- Making copyrights less annoying.
- Added experimental cache engine base on Shared Memory Functions.
- Serialization of string values has been excluded from Serialize cache engine.
- Support of
Linkheader has been added. - Deprecated function
curl_closehas been removed.
Minor improvements like improving code quality and removing unnecessary features.
Full Changelog: 2.1.1...2.2.0
Minor fixes
2025 Summer update
Cumulative update to make library even more perfect
- Improved description of folders.
- Added backslash to PHP built-in functions / constants.
- Add $content property to abstract Append class.
Full Changelog: 2.0.0...2.1.0
2025 Summer release
To keep something fucking perfect, you have maintain its fucking perfection. So:
- Comments are in English now.
- I decided to leave eleanor-cms.ru in an archived state, and continue the project on a new domain - eleanor-cms.com
- Code polishing.
Full Changelog: 1.1.0...2.0.0
2025 Spring release
- Copyrights were upgraded to 2025 year
- Keyword public was removed because of its redundancy
- BaseClass was renamed to Basic
- Function BugFileLine was improved
- JSON cache-machine was removed
- Format of eternal cache was changed from var_export to JSON.
- Minor improvements to MySQL class
First release
Library was tested for 2 months witout any notisable issues... So, it seems time came.