Skip to main content
Version: 0.7.0

Changelog

Version 0.7.0 - 2025-11-02โ€‹

This release introduces major enhancements to the generated OpenEdge ABL code, focusing on server-side business logic, comprehensive validation, error handling, and configuration management. The generator now produces more robust, enterprise-ready ABL applications with advanced features for PASOE deployment.

๐Ÿš€ New Features in Generated ABL Codeโ€‹

This release introduces major enhancements to the generated OpenEdge ABL code, focusing on server-side business logic, comprehensive validation, error handling, and configuration management. The generator now produces more robust, enterprise-ready ABL applications with advanced features for PASOE deployment.

Business Logic Frameworkโ€‹

  • Abstract Business Logic Classes: New abstract classes (e.g., AbstractOrdersBusinessLogic.cls) provide a standardized base for implementing business logic with factory-based instantiation.
  • Business Logic Factories: Dynamic factory pattern allows runtime selection of business logic implementations via headers or configuration.
  • Mock Business Logic: Generated mock implementations for testing and development environments.
  • Factory Registry: Centralized registry for managing business logic factories with support for multiple variants.

Validation & Error Handlingโ€‹

  • ValidationHelper Class: Comprehensive parameter and payload validation utilities supporting OpenAPI constraints, custom patterns, and schema validation.
  • Validation Context: Structured validation state management with performance optimizations.
  • RFC 7807 Error Models: Standardized error responses with detailed error information, including ValidationError.cls, ApiErrorDetails.cls, and builders.
  • Exception Hierarchy: New exception classes for API operations, models, and validation errors with proper inheritance.

Configuration Managementโ€‹

  • ConfigManager Class: Centralized configuration management with metadata support and dynamic reloading.
  • Serialization Options: Configurable JSON serialization settings for models.
  • Application Metadata: Enhanced metadata handling for PASOE applications, including sequence management and effective app names.

Enhanced WebHandlersโ€‹

  • Business Logic Integration: WebHandlers now automatically instantiate and use business logic via factories.
  • Multipart Support: Native handling of multipart/form-data requests with MultipartEntity and MessagePart.
  • Typed Responses: Strongly-typed API result handling with builders and validation.
  • Custom Error Handling: Advanced error processing with proper HTTP status codes and structured responses.

Model Enhancementsโ€‹

  • Builder Pattern Improvements: Enhanced model builders with chaining methods and additional overloads for easier object construction.
  • Nullable Properties: Proper handling of nullable fields without default ? values.
  • Component Request Bodies: Support for OpenAPI components in request bodies and models.
  • Query Parameter Formats: Standardized query parameter handling with explode formats and defaults.

Deployment & Infrastructureโ€‹

  • PASOE Setup Scripts: Automated Linux and Windows scripts for PASOE instance creation, handler deployment, and configuration.
  • Session Startup: Configurable session initialization with proper propath and agent management.
  • Handler Updates: Scripts for updating deployed handlers without full redeployment.
  • Logging Configuration: Structured logging setup with OpenEdge Logging framework.

๐Ÿ”„ Changes in Generated ABL Codeโ€‹

API Layerโ€‹

  • Request Builders: Improved chaining and overloads for request construction.
  • Response Handling: Enhanced API result classes with validation and error details.
  • HTTP Client Services: Better service factory patterns and configuration management.

Model Layerโ€‹

  • List Types: Consistent list implementations with proper builders and interfaces.
  • JSON Helpers: Enhanced serialization/deserialization with null handling and type safety.
  • Date/Time Handling: Improved timestamp and timezone support.

Service Layerโ€‹

  • Service Adapters: Factory-based instantiation with configuration support.
  • Interface Updates: Cleaner interfaces with proper separation of concerns.

๐Ÿ› Bug Fixes in Generated ABL Codeโ€‹

  • Serialization Issues: Fixed nullable property serialization to prevent invalid JSON.
  • Path Handling: Sanitized paths to remove trailing slashes and spaces.
  • Casting Errors: Corrected request model casting in webhandlers.
  • Factory Initialization: Ensured proper factory registration and instance retrieval.
  • Variable Naming: Unique variable names to avoid conflicts in generated code.
  • Import Statements: Cleaned up duplicate and unnecessary imports.

๐Ÿ“š Documentation & Examplesโ€‹

  • error-handling-validation-guide: Comprehensive guide for implementing validation and error handling.
  • README Updates: Enhanced documentation with deployment instructions and configuration examples.
  • Config Examples: Sample configuration files for different environments.

๐Ÿ”ง Breaking Changesโ€‹

  • Business Logic Instantiation: WebHandlers now require factory-based business logic initialization.
  • Error Response Format: Standardized to RFC 7807 with detailed error structures.
  • Configuration Access: Centralized through ConfigManager instead of direct properties.

๐Ÿ“ˆ Performance Improvementsโ€‹

  • Validation Performance: Optimized validation logic with early exits and caching.
  • Factory Pattern: Reduced instantiation overhead with singleton patterns.
  • JSON Processing: Improved serialization performance with better type handling.

๐Ÿ”’ Security Enhancementsโ€‹

  • Input Validation: Comprehensive validation prevents malformed requests.
  • Error Information: Controlled error disclosure to prevent information leakage.
  • Path Sanitization: Prevents path traversal attacks.

๐Ÿงช Testing Supportโ€‹

  • Mock Implementations: Generated mock business logic for unit testing.
  • Validation Testing: Helper methods for testing validation rules.
  • Factory Testing: Support for test-specific factory configurations.

๐Ÿ“‹ Migration Guideโ€‹

For existing projects upgrading to this version:

  1. Update Business Logic: Implement abstract business logic classes and register with factories.
  2. Configure Factories: Set up factory registry with appropriate business logic variants.
  3. Update Error Handling: Replace custom error handling with new exception hierarchy.
  4. Review Validation: Leverage ValidationHelper for parameter validation.
  5. Update Deployment: Use new PASOE setup scripts for deployment.

๐Ÿค Contributingโ€‹

This release includes contributions from multiple feature branches addressing server development, validation, business logic, and deployment automation.


Note: This changelog focuses on changes visible in the generated OpenEdge ABL code. Internal generator improvements (Rust codebase) are not included as they don't affect the output ABL applications.