Skip to content

Releases: ApiLogicServer/ApiLogicServer-src

GenAI - Generative AI Automation

04 May 18:56
Compare
Choose a tag to compare

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

24 Apr 02:25
Compare
Choose a tag to compare

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

17 Apr 03:37
Compare
Choose a tag to compare

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

16 Apr 00:46
Compare
Choose a tag to compare

This release fixes an install bug that appeared on Windows running Python 3.12.

Copilot Example

11 Apr 02:40
Compare
Choose a tag to compare

This release brings further enhancements to the Copilot Example.

Project Manger, Create From Model

06 Apr 17:56
Compare
Choose a tag to compare

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

28 Mar 23:44
Compare
Choose a tag to compare

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

04 Mar 04:37
Compare
Choose a tag to compare

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

28 Feb 03:26
Compare
Choose a tag to compare

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:

  1. Install the revised RowDictMapper: rebuild the sample project, and copy the integration/system/RowDictMapper to your project
  2. 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.

  1. Windows projects fails to start with Config issue: a config issue in the Windows projects' config directory

  2. 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.

  3. 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.)

  4. 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".

  5. 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.

  1. 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

27 Feb 03:31
Compare
Choose a tag to compare

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:

  1. Install the revised RowDictMapper: rebuild the sample project, and copy the integration/system/RowDictMapper to your project
  2. 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.

  1. Windows projects fails to start with Config issue: a config issue in the Windows projects' config directory

  2. 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.

  3. 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.)

  4. 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.

  1. Build and Test platforms: many internal changes so that the Build and Test procedure runs on all 3 platforms. More info TBD.