Releases: ApiLogicServer/ApiLogicServer-src
GenAI - Generative AI Automation
This release introduces 1-command project creation using Generative AI. This command creates an executable Microservice (Admin App and API), in a standard project you can customize with rules and Python, and deploy to the cloud:
als genai --using=genai_demo.prompt
This release also fixes Kafka Producer has extra argument - Sample_ai fails in B2B Order #57.
Error Handling Fix
This release fixes a bug handling non-constraint errors, such as an invalid/missing foreign key reported by the database.
If you don't want to acquire the new release, update api_logic_server_run.py
with:
def constraint_handler(message: str, constraint: Constraint, logic_row: LogicRow):
""" format LogicBank constraint exception for SAFRS """
if constraint is not None and hasattr(constraint, 'error_attributes'):
detail = {"model": logic_row.name, "error_attributes": constraint.error_attributes}
else:
detail = {"model": logic_row.name}
raise ValidationErrorExt(message=message, detail=detail)
It also fixes a minor bug in the tutorial app encountered when you add employees without a salary.
CLI Bug Fixes
The CLI was prompting twice for some options, and did not enforce Docker-based projects to be specified with a volume-based mount.
Fix Install on Python 3.12 windows
This release fixes an install bug that appeared on Windows running Python 3.12.
Copilot Example
This release brings further enhancements to the Copilot Example.
Project Manger, Create From Model
This release (pip and docker) provides the following new features.
API Logic Project Manager
This is an optional way to simplify creating and customizing projects. It can automatically start your IDE for newly created projects, and list created projects. For more information, click here.
Create From Model
When using Copilot or SQLAlchemy modeling, you can now create projects from models.
Python 3.12, Views, CLI updates, Keycloak preview
This release is available on git and docker. It provides the key features discussed below.
Python 3.12
This release adds support for Python 3.12; see here/. It is backward compatible to prior releases.
Views
Views are now supported, with limitations as described on the link.
CLI updates
The Command Line Interface has been updated:
- We now provide an abbreviation, so you can use
als create...
(or, as before, `ApiLogicServer create') - Command options now support dashes instead of hyphens. so:
als create project-Name
Keycloak preview
In addition to database security, we are adding support for [Keycloak)(
Logic Training, Numeric defaults
This release is available on docker and Pypi.
Logic Doc
Several improvements were made to support Logic Training. The Behave Report descriptions are now prioritized by their inclusion in the Rule Patterns, and consistently provide Patterns and Design information.
Numeric Defaults
These are often required for Postgres, so have been added.
Dev Install Procedures
Some ambiguous steps have been clarified in the Dev Install Procedures.
Date defaults, Windows Project Start Failure bug fix and Sample App Behave test
This release is available via pip
and Docker. It is a re-release of 10.03.04 with additional bug fixes, noted below.
Features
Join Support for the RowDictMapper
This provides simplified support for accessing join fields.
Important: Breaking Change
This change affects existing projects if you want to use it:
- Install the revised
RowDictMapper
: rebuild the sample project, and copy theintegration/system/RowDictMapper
to your project - Update your RowDictMapper classes as shown below -- the import statement, and the additional parameter on the
__init__
function.
from logic_bank.exec_row_logic.logic_row import LogicRow
class OrderShipping(RowDictMapper):
def __init__(self, logic_row: LogicRow = None):
LogicBank defaults for Date, DateTime
This version contains a new version of LogicBank that provides defaults for CURRENT_TIMESTAMP
.
Bug Fixes
This release addresses many issues. The first issue is critical, the others less so.
-
Windows projects fails to start with Config issue: a config issue in the Windows projects'
config
directory -
Behave Tests on Sample Apps show Optimistic Locking Failures: the Behave tests were improperly coded under the impression that checksum values are platform independent. This is an error in the test coding, not the Optimistic Locking functionality.
-
ApiLogicServer rebuild-from-database fails if no yaml exists: this is now fixed. If you have not altered your yaml, just delete it for a complete rebuild. (Formerly, you had to rename the merge file.)
-
Sample App may fail good_order behave test: new in 10.03.06, this fixes a bug generating the sample app, which was missing some sqlite-specific fixes for cascade delete. This manifested in Behave Test Failures for "Good Order".
-
Improper Parent reference detection: new in 10.03.07, this release includes a fix to a LogicBank bug that likely affects only the Sample app.
Internal Issues
The following affect API Logic Server internal development, that is, building and testing API Logic Server.
- Build and Test platforms: many internal changes so that the Build and Test procedure runs on all 3 platforms. More info TBD.
Date defaults, Windows Project Start Failure bug fix and Sample App Behave test
This release is available via pip
and Docker. It is a re-release of 10.03.04 with an additional bug fix, noted below.
Features
Join Support for the RowDictMapper
This provides simplified support for accessing join fields.
Important: Breaking Change
This change affects existing projects if you want to use it:
- Install the revised
RowDictMapper
: rebuild the sample project, and copy theintegration/system/RowDictMapper
to your project - Update your RowDictMapper classes as shown below -- the import statement, and the additional parameter on the
__init__
function.
from logic_bank.exec_row_logic.logic_row import LogicRow
class OrderShipping(RowDictMapper):
def __init__(self, logic_row: LogicRow = None):
LogicBank defaults for Date, DateTime
This version contains a new version of LogicBank that provides defaults for CURRENT_TIMESTAMP
.
Bug Fixes
This release addresses many issues. The first issue is critical, the others less so.
-
Windows projects fails to start with Config issue: a config issue in the Windows projects'
config
directory -
Behave Tests on Sample Apps show Optimistic Locking Failures: the Behave tests were improperly coded under the impression that checksum values are platform independent. This is an error in the test coding, not the Optimistic Locking functionality.
-
ApiLogicServer rebuild-from-database fails if no yaml exists: this is now fixed. If you have not altered your yaml, just delete it for a complete rebuild. (Formerly, you had to rename the merge file.)
-
Sample App may fail good_order behave test: new in 10.03.06, this fixes a bug generating the sample app, which was missing some sqlite-specific fixes for cascade delete. This manifested in Behave Test Failures for "Good Order".
Internal Issues
The following affect API Logic Server internal development, that is, building and testing API Logic Server.
- Build and Test platforms: many internal changes so that the Build and Test procedure runs on all 3 platforms. More info TBD.