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
MultipartEntityandMessagePart. - 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:
- Update Business Logic: Implement abstract business logic classes and register with factories.
- Configure Factories: Set up factory registry with appropriate business logic variants.
- Update Error Handling: Replace custom error handling with new exception hierarchy.
- Review Validation: Leverage ValidationHelper for parameter validation.
- 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.