Difference between revisions of "EiffelStudio ChangeLog"

(BETA 25..*.*.* (... 2025))
Line 12: Line 12:
 
Stable download: https://account.eiffel.com/downloads/channel/stable
 
Stable download: https://account.eiffel.com/downloads/channel/stable
  
== BETA 25..*.*.* (... 2025) ==
+
== Release 25.12.9.8922 (Dec 2025) ==
  
===Compiler===
+
== Overview ==
 +
This changelog documents the changes between Eiffel 25.02 and Eiffel 25.12 releases.
  
===IDE===
+
'''Statistics:'''
 +
* Total commits: 200+
 +
* Files changed: 8,259
 +
* Insertions: 1,376,161
 +
* Deletions: 1,013,579
  
===New features===
+
----
  
===Improvements===
+
== Major New Features ==
  
===Bug fixes===
+
=== 1. PostgreSQL Support for EiffelStore ===
 +
* '''NEW''': Complete PostgreSQL database driver implementation
 +
* Added native PostgreSQL binding for EiffelStore library
 +
* Includes C library wrapper (<code>eif_postgresql.c/h</code>)
 +
* Docker compose support for testing
 +
* Full CRUD operations support
 +
* Test suite with comprehensive coverage
  
===Feature removed===
+
'''Files Added:'''
 +
* <code>Src/library/store/dbms/rdbms/postgresql/</code> (complete new directory)
 +
* PostgreSQL C bindings and Eiffel wrapper classes
 +
* Test infrastructure with Docker support
  
===Libraries Improvements===
+
=== 2. PostgreSQL Support for CMS ===
 +
* Added PostgreSQL storage backend for CMS (Content Management System)
 +
* New <code>cms_storage_store_postgresql</code> implementation
 +
* SQL converter for PostgreSQL-specific syntax
 +
* Database connection handler for PostgreSQL
 +
* Full integration with CMS modules
  
===User changes===
+
'''Files Added:'''
 +
* <code>Src/unstable/library/web/cms/library/persistence/store_postgresql/</code>
 +
* Complete test suite for CMS PostgreSQL storage
  
===Developer changes===
+
=== 3. AWS S3 Client Library ===
 +
* '''NEW''': First version of S3 client library
 +
* Enables interaction with Amazon S3 storage services
 +
* Support for basic S3 operations
 +
 
 +
=== 4. CMS API Key Authentication Module ===
 +
* '''NEW''': API key-based authentication for CMS
 +
* Token management system
 +
* Scope-based access control
 +
* WebAPI integration
 +
* SQL storage backend
 +
 
 +
'''Files Added:'''
 +
* <code>Src/unstable/library/web/cms/modules/api_key_auth/</code>
 +
 
 +
=== 5. CMS Storage Browser Module ===
 +
* '''NEW''': Database browser module for CMS
 +
* Query execution interface
 +
* Table schema inspection
 +
* Data browsing capabilities
 +
* WebAPI handlers for storage operations
 +
 
 +
'''Files Added:'''
 +
* <code>Src/unstable/library/web/cms/modules/storage/</code>
 +
 
 +
=== 6. CMS Command Line Interface (CLI) ===
 +
* '''NEW''': CLI execution mode for CMS
 +
* Interactive shell with ANSI control support
 +
* Admin commands for users and modules
 +
* Module-specific CLI extensions
 +
* Command utility framework
 +
 
 +
'''Files Added:'''
 +
* <code>Src/unstable/library/web/cms/cli/</code>
 +
 
 +
----
 +
 
 +
== Library Updates ==
 +
 
 +
=== Gobo Library ===
 +
* Updated to Gobo 25.12
 +
* Added new libraries: langserver, storable, thread
 +
* Extensive documentation updates
 +
 
 +
=== EiffelVision2 ===
 +
* '''SECURITY FIX''': Fixed potential buffer overflow in GTK binding
 +
* Fixed erroneous precondition in <code>EV_FONT_I.copy_font</code>
 +
* Updated GTK3 C utilities
 +
 
 +
=== SQLite ===
 +
* '''MAJOR UPDATE''': Updated SQLite C driver to latest version
 +
* Significant improvements and bug fixes (96,794 lines changed)
 +
* Added JSON example for SQLite
 +
 
 +
=== EiffelWeb Framework (EWF) ===
 +
* Improved <code>WSF_ROUTER</code> with default handler support
 +
* Enhanced <code>WSF_FILE_SYSTEM_HANDLER</code> for index.html support
 +
* Better OPTIONS request handling
 +
* Added <code>WSF_OPTIONS_RESPONSE</code>
 +
* Improved CORS support
 +
* Enhanced request information handling (path_info, request_uri)
 +
 
 +
=== URI Library ===
 +
* Made <code>URI_PERCENT_ENCODER</code> visible for reuse
 +
* Improved percent encoding utilities
 +
 
 +
=== Text Filter Library ===
 +
* Enhanced <code>URL_CONTENT_FILTER</code>
 +
* Improved HTML content filtering
 +
 
 +
----
 +
 
 +
== CMS (Content Management System) Enhancements ==
 +
 
 +
=== Authentication & Security ===
 +
* '''NEW''': "Sign In With Email" magic link authentication
 +
* Enhanced JWT authentication with magic links
 +
* Improved email verification system
 +
* Better user registration workflow
 +
* Enhanced OAuth 2.0 support (added GitHub predefined config)
 +
* Improved session authentication
 +
* Better password reset functionality
 +
 
 +
=== Email System ===
 +
* Restructured email templates
 +
* Added <code>send_at</code> information to CMS emails
 +
* Improved email confirmation pages
 +
* Better mail template organization
 +
* Enhanced authenticated email notifications
 +
 
 +
=== User Management ===
 +
* Improved user profile handling
 +
* Enhanced user deletion support
 +
* Better temporary user management
 +
* Improved user activation workflow
 +
* Enhanced user registration process
 +
 
 +
=== Module System ===
 +
* Better module initialization and update operations
 +
* Improved module override capabilities
 +
* Enhanced module installation process
 +
* Better error handling in module operations
 +
 
 +
=== Storage & Database ===
 +
* Better database connection handling
 +
* Improved transaction support
 +
* Enhanced query execution
 +
* Better error reporting
 +
 
 +
=== WebAPI ===
 +
* Improved router with default response handling
 +
* Better JSON response formatting
 +
* Enhanced WebAPI filter system
 +
* Improved status code handling
 +
* Better error responses
 +
 
 +
=== Admin Interface ===
 +
* Enhanced admin info page with request details
 +
* Improved module management interface
 +
* Better user management tools
 +
* Enhanced log viewing
 +
* Improved mail handling interface
 +
 
 +
=== CMS / Block System ===
 +
* '''NEW''': Mustache template block support
 +
* Enhanced custom block with template engine selection
 +
* Improved block condition expressions (added negation support)
 +
* Better modal content blocks
 +
* Enhanced Smarty template blocks
 +
 
 +
=== Miscellaneous CMS Improvements ===
 +
* Added CMS version information
 +
* Improved environment variable handling
 +
* Better reverse proxy support
 +
* Enhanced HTTPS detection
 +
* Improved file serving (www directory)
 +
* Better RSS feed generation
 +
* Enhanced URL utilities
 +
* Improved pagination
 +
* Better theme error reporting
 +
 
 +
----
 +
 
 +
== Compiler & IDE Improvements ==
 +
 
 +
=== EiffelStudio ===
 +
* Fixed autocompletion matching logic
 +
* Improved code completion window
 +
* Fixed various UI issues
 +
 
 +
=== Compiler ===
 +
* Fixed type conformance test signatures
 +
* Improved error context printing
 +
* Fixed execution of except016 test
 +
 
 +
=== C Runtime ===
 +
* Fixed memory corruption in <code>MultiByteToWideChar</code> calls
 +
* Fixed C warnings in various components
 +
 
 +
----
 +
 
 +
== Database & Storage ==
 +
 
 +
=== MySQL/MariaDB ===
 +
* Updated to use latest C connector (msvcrt.lib on Windows)
 +
* Improved connection handling
 +
* Better error reporting
 +
 
 +
----
 +
 
 +
=== Bug Fixes ===
 +
* Fixed postcondition of <code>MUTEX.destroy</code>
 +
* Fixed potential buffer overflow in EiffelVision GTK
 +
* Fixed memory corruption issues
 +
* Fixed STRING_32 vs STRING_8 conversion issues
 +
* Fixed warning removals throughout codebase
 +
 
 +
----
 +
 
 +
== Deprecated & Removed Features ==
 +
 
 +
* Removed obsolete reverse assignment attempts (replaced with object tests)
 +
* Removed obsolete iteration cursor usage
 +
* Cleaned up unused local variables throughout codebase
 +
* Removed specific OPTIONS HTTP request handling (now uses default)
 +
 
 +
----
 +
 
 +
== Security Fixes ==
 +
 
 +
* Fixed potential buffer overflow in EiffelVision GTK binding
 +
* Fixed memory corruption in Windows API calls
 +
* Enhanced input validation
 +
* Better SQL injection prevention
 +
 
 +
----
 +
 
 +
== Breaking Changes ==
 +
 
 +
* Updated method signatures for type conformance tests
 +
* Changed <code>convert_to_stream</code> signature (encoding may be Void)
 +
* Updated various storage API signatures
 +
* Modified authentication email service parameters

Revision as of 08:20, 20 January 2026

Below are not the release notes of EiffelStudio. It is the change log of EiffelStudio intermediate releases and the most important changes are highlighted in green or in red (for breaking changes). The release notes of EiffelStudio can be found at the following URL. You can also download the latest revision here. Information about other version can be found under Category:Releases.


Current official release

- See the Changelog of EiffelStudio 25.02 Releases

Next EiffelStudio Release

Beta download: https://account.eiffel.com/downloads/channel/beta

Stable download: https://account.eiffel.com/downloads/channel/stable

Release 25.12.9.8922 (Dec 2025)

Overview

This changelog documents the changes between Eiffel 25.02 and Eiffel 25.12 releases.

Statistics:

  • Total commits: 200+
  • Files changed: 8,259
  • Insertions: 1,376,161
  • Deletions: 1,013,579

Major New Features

1. PostgreSQL Support for EiffelStore

  • NEW: Complete PostgreSQL database driver implementation
  • Added native PostgreSQL binding for EiffelStore library
  • Includes C library wrapper (eif_postgresql.c/h)
  • Docker compose support for testing
  • Full CRUD operations support
  • Test suite with comprehensive coverage

Files Added:

  • Src/library/store/dbms/rdbms/postgresql/ (complete new directory)
  • PostgreSQL C bindings and Eiffel wrapper classes
  • Test infrastructure with Docker support

2. PostgreSQL Support for CMS

  • Added PostgreSQL storage backend for CMS (Content Management System)
  • New cms_storage_store_postgresql implementation
  • SQL converter for PostgreSQL-specific syntax
  • Database connection handler for PostgreSQL
  • Full integration with CMS modules

Files Added:

  • Src/unstable/library/web/cms/library/persistence/store_postgresql/
  • Complete test suite for CMS PostgreSQL storage

3. AWS S3 Client Library

  • NEW: First version of S3 client library
  • Enables interaction with Amazon S3 storage services
  • Support for basic S3 operations

4. CMS API Key Authentication Module

  • NEW: API key-based authentication for CMS
  • Token management system
  • Scope-based access control
  • WebAPI integration
  • SQL storage backend

Files Added:

  • Src/unstable/library/web/cms/modules/api_key_auth/

5. CMS Storage Browser Module

  • NEW: Database browser module for CMS
  • Query execution interface
  • Table schema inspection
  • Data browsing capabilities
  • WebAPI handlers for storage operations

Files Added:

  • Src/unstable/library/web/cms/modules/storage/

6. CMS Command Line Interface (CLI)

  • NEW: CLI execution mode for CMS
  • Interactive shell with ANSI control support
  • Admin commands for users and modules
  • Module-specific CLI extensions
  • Command utility framework

Files Added:

  • Src/unstable/library/web/cms/cli/

Library Updates

Gobo Library

  • Updated to Gobo 25.12
  • Added new libraries: langserver, storable, thread
  • Extensive documentation updates

EiffelVision2

  • SECURITY FIX: Fixed potential buffer overflow in GTK binding
  • Fixed erroneous precondition in EV_FONT_I.copy_font
  • Updated GTK3 C utilities

SQLite

  • MAJOR UPDATE: Updated SQLite C driver to latest version
  • Significant improvements and bug fixes (96,794 lines changed)
  • Added JSON example for SQLite

EiffelWeb Framework (EWF)

  • Improved WSF_ROUTER with default handler support
  • Enhanced WSF_FILE_SYSTEM_HANDLER for index.html support
  • Better OPTIONS request handling
  • Added WSF_OPTIONS_RESPONSE
  • Improved CORS support
  • Enhanced request information handling (path_info, request_uri)

URI Library

  • Made URI_PERCENT_ENCODER visible for reuse
  • Improved percent encoding utilities

Text Filter Library

  • Enhanced URL_CONTENT_FILTER
  • Improved HTML content filtering

CMS (Content Management System) Enhancements

Authentication & Security

  • NEW: "Sign In With Email" magic link authentication
  • Enhanced JWT authentication with magic links
  • Improved email verification system
  • Better user registration workflow
  • Enhanced OAuth 2.0 support (added GitHub predefined config)
  • Improved session authentication
  • Better password reset functionality

Email System

  • Restructured email templates
  • Added send_at information to CMS emails
  • Improved email confirmation pages
  • Better mail template organization
  • Enhanced authenticated email notifications

User Management

  • Improved user profile handling
  • Enhanced user deletion support
  • Better temporary user management
  • Improved user activation workflow
  • Enhanced user registration process

Module System

  • Better module initialization and update operations
  • Improved module override capabilities
  • Enhanced module installation process
  • Better error handling in module operations

Storage & Database

  • Better database connection handling
  • Improved transaction support
  • Enhanced query execution
  • Better error reporting

WebAPI

  • Improved router with default response handling
  • Better JSON response formatting
  • Enhanced WebAPI filter system
  • Improved status code handling
  • Better error responses

Admin Interface

  • Enhanced admin info page with request details
  • Improved module management interface
  • Better user management tools
  • Enhanced log viewing
  • Improved mail handling interface

CMS / Block System

  • NEW: Mustache template block support
  • Enhanced custom block with template engine selection
  • Improved block condition expressions (added negation support)
  • Better modal content blocks
  • Enhanced Smarty template blocks

Miscellaneous CMS Improvements

  • Added CMS version information
  • Improved environment variable handling
  • Better reverse proxy support
  • Enhanced HTTPS detection
  • Improved file serving (www directory)
  • Better RSS feed generation
  • Enhanced URL utilities
  • Improved pagination
  • Better theme error reporting

Compiler & IDE Improvements

EiffelStudio

  • Fixed autocompletion matching logic
  • Improved code completion window
  • Fixed various UI issues

Compiler

  • Fixed type conformance test signatures
  • Improved error context printing
  • Fixed execution of except016 test

C Runtime

  • Fixed memory corruption in MultiByteToWideChar calls
  • Fixed C warnings in various components

Database & Storage

MySQL/MariaDB

  • Updated to use latest C connector (msvcrt.lib on Windows)
  • Improved connection handling
  • Better error reporting

Bug Fixes

  • Fixed postcondition of MUTEX.destroy
  • Fixed potential buffer overflow in EiffelVision GTK
  • Fixed memory corruption issues
  • Fixed STRING_32 vs STRING_8 conversion issues
  • Fixed warning removals throughout codebase

Deprecated & Removed Features

  • Removed obsolete reverse assignment attempts (replaced with object tests)
  • Removed obsolete iteration cursor usage
  • Cleaned up unused local variables throughout codebase
  • Removed specific OPTIONS HTTP request handling (now uses default)

Security Fixes

  • Fixed potential buffer overflow in EiffelVision GTK binding
  • Fixed memory corruption in Windows API calls
  • Enhanced input validation
  • Better SQL injection prevention

Breaking Changes

  • Updated method signatures for type conformance tests
  • Changed convert_to_stream signature (encoding may be Void)
  • Updated various storage API signatures
  • Modified authentication email service parameters