Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
edd9bd7
Auto-merge main back to develop post release
estohlmann Jan 12, 2026
b488bad
updating docs
estohlmann Jan 14, 2026
f2880ae
Fix formatting in getting-started
estohlmann Jan 14, 2026
ed8dbe5
Add RAG E2E Tests (#674)
bedanley Jan 15, 2026
cb14023
Security/pen testing findings (#675)
bedanley Jan 20, 2026
7257fa4
Feature/disable weak ssh (#678)
bedanley Jan 21, 2026
9b6d947
Reasoning Model Support
estohlmann Jan 22, 2026
a2cb649
Feature/refresh reload icon (#688)
bedanley Jan 22, 2026
f7feef4
Feature/use aws containers (#686)
bedanley Jan 22, 2026
5d0ac53
Update DB configuration to use IAM
bedanley Jan 23, 2026
9f41d6d
Enable encryption on s3 buckets (#689)
bedanley Jan 23, 2026
63a8bf6
Feature/consolidate tests (#676)
bedanley Jan 24, 2026
dc3a413
fix: added sorting to the Libraries dropdown (#692)
Ernest-Gray Jan 26, 2026
f6a032d
Bug/iam db permissions
bedanley Jan 26, 2026
de37db9
Made the delete session drop down button only be appended to the drop…
Ernest-Gray Jan 27, 2026
fefa144
Adds a retry button next to the failed user prompt (#696)
Ernest-Gray Jan 29, 2026
108641a
Support Video Generation Models
estohlmann Jan 30, 2026
5c24dc2
Feature: Custom Branding (#708)
jmharold Jan 30, 2026
30034ab
Remove litellm db name
bedanley Feb 4, 2026
c1b6d5b
Add Interactive Configuration Generator CLI (#711)
bedanley Feb 4, 2026
c2875a5
Feature/typesafe sessions (#720)
bedanley Feb 4, 2026
bd6b964
Image Edits (#719)
estohlmann Feb 4, 2026
20408bd
abstract auth
bedanley Feb 4, 2026
e74de8c
Remove cdk managed log groups (#722)
bedanley Feb 5, 2026
e035327
Block public access to s3 buckets
bedanley Feb 5, 2026
69b1f99
Add admin group to configuration lambdas
bedanley Feb 5, 2026
80ddea5
ui quality of life
jmharold Feb 5, 2026
0692f1d
Revert VPC mode in ECS
bedanley Feb 5, 2026
f3909cb
fix cdk test
bedanley Feb 5, 2026
764276b
Updating version for release v6.2.0
estohlmann Feb 5, 2026
d251130
Merge branch 'main' into release/v6.2.0
estohlmann Feb 5, 2026
c6ad8c6
Update changelog
estohlmann Feb 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ coverage
# Deployment configuration file
config.yaml
config-custom.yaml
config-generated.yaml
/.coverage

# Test Artifacts
Expand Down
12 changes: 6 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ repos:
- --config-file=pyproject.toml
- --install-types
- --non-interactive
exclude: ^test
exclude: ^test/

- repo: https://github.com/pre-commit/mirrors-eslint
rev: 'v9.39.1'
Expand All @@ -125,11 +125,11 @@ repos:
# hooks:
# - id: python-safety-dependencies-check

# - repo: https://github.com/asottile/pyupgrade
# rev: v3.19.0
# hooks:
# - id: pyupgrade
# args: [--py313-plus]
- repo: https://github.com/asottile/pyupgrade
rev: v3.19.0
hooks:
- id: pyupgrade
args: [--py313-plus]

# - repo: https://github.com/bridgecrewio/checkov
# rev: '3.2.327'
Expand Down
58 changes: 58 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,61 @@
# v6.2.0

## Key Features

### Custom Branding
LISA supports custom branding capabilities, allowing customers to tailor the user interface with specific logos and color schemes. The feature provides three key customization areas:

1. **Visual Assets** - Replace logos (favicon, top navigation logo, login image) in `lib/user-interface/react/public/branding/custom/`
2. **Display Name** - Change "LISA" brand name to your organization's product name via `customDisplayName` in `config-custom.yaml`
3. **Theme Customization** - Modify colors, fonts, and visual styling through the [Cloudscape theming system](https://cloudscape.design/foundation/visual-foundation/theming/)

### Video Generation Models
LISA supports video generation.

- Adding new VideoGen model type that admins can create in the model management
- Proxying routes to LiteLLM for video generation
- Saving generated videos in S3 and allowing users to download and share video links
- Exporting all videos from a selected session as a zip

### Interactive Configuration Generator CLI
LISA offers an interactive CLI tool that guides customers through creating a valid `config-custom.yaml` file for deployment. Instead of manually editing YAML and referencing `example_config.yaml`, customers can now run:

> @awslabs/lisa@6.2.0 generate-config
> tsx scripts/generate-config.ts

╔════════════════════════════════════════════════════════════════╗
║ LISA Configuration Generator ║
║ Generate a config-custom.yaml for LISA deployment ║
╚════════════════════════════════════════════════════════════════╝

The generator prompts for and validates:
- Core Configuration: AWS account, region, partition, deployment stage/name, S3 bucket
- Partition Support: additional partition configurations

### Reasoning Model Support
Admins can mark models as "reasoning-capable," which enables those models to output reasoning content alongside their responses. Customers can then configure the level of reasoning effort to be included, and the reasoning content is displayed in LISA Chat and exported with the session data.

## Other Key Changes
- **Image Editing Support**: Users can now upload reference images during image generation, allowing the model to create precise edits and updates based on the provided visual reference
- **Security**: Enabled encryption at rest for all S3 buckets, enforced SSL/TLS traffic only to S3, and encrypted all EBS volumes
- **Deployment**: Updated container source to use AWS ECR, upgraded host EC2 image to use AL2023
- **Usability**: Added loading/refresh icons across pages to better inform users when a refresh is taking place
- **Database**: Enabled IAM-based authentication for RDS connections, removed the need for storing master passwords
- **Accessibility**: Added a retry button next to failed user prompts, made the delete session dropdown button only appear if the config allows it
- **Bugfixes**: Addressed several IAM permission issues, CDK warnings, and model deployment healthiness checks
- **UI Quality of Life**: Continued to make subtle UI improvements by:
- Adding various highlighting and background updates throughout the UI to make sections and errors stand out and more obvious
- Adding loading indicators to various MCP toggles / checkboxes to display that calls are happening in the background
- Updated various iconography, logos, and buttons to have a more uniform and clean feel

## Acknowledgements
* @bedanley
* @Ernest-Gray
* @estohlmann
* @jmharold

**Full Changelog**: https://github.com/awslabs/LISA/compare/v6.1.1..v6.2.0

# v6.1.1

## UI Cleanup
Expand Down
99 changes: 96 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
createTypeScriptEnvironment installTypeScriptRequirements \
deploy destroy \
clean cleanTypeScript cleanPython cleanCfn cleanMisc \
help dockerCheck dockerLogin listStacks modelCheck buildNpmModules
help dockerCheck dockerLogin listStacks modelCheck buildNpmModules \
test test-coverage test-lambda test-mcp-workbench test-sdk test-rest-api test-sdk-integ test-integ test-rag-integ test-metadata-integ \
lock-poetry validate-deps

#################################################################################
# GLOBALS #
Expand Down Expand Up @@ -138,6 +140,7 @@ installPythonRequirements:
CC=/usr/bin/gcc10-gcc CXX=/usr/bin/gcc10-g++ pip3 install pip --upgrade
CC=/usr/bin/gcc10-gcc CXX=/usr/bin/gcc10-g++ pip3 install --prefer-binary -r requirements-dev.txt
CC=/usr/bin/gcc10-gcc CXX=/usr/bin/gcc10-g++ pip3 install -e lisa-sdk
CC=/usr/bin/gcc10-gcc CXX=/usr/bin/gcc10-g++ pip3 install -e lib/serve/mcp-workbench

## Set up TypeScript interpreter environment
createTypeScriptEnvironment:
Expand Down Expand Up @@ -366,14 +369,104 @@ help:
}' \
| more $(shell test $(shell uname) = Darwin && echo '--no-init --raw-control-chars')

## Run Python tests with coverage report
## Run all Python unit tests (non-integration) with coverage report
test-coverage:
pytest --verbose \
@echo "Running lambda tests with coverage..."
@pytest test/lambda --verbose \
--cov lambda \
--cov-report term-missing \
--cov-report html:build/coverage \
--cov-report xml:build/coverage/coverage.xml \
--cov-fail-under 83
@echo ""
@echo "Running MCP Workbench tests with coverage..."
@pytest test/mcp-workbench --verbose \
--cov lib/serve/mcp-workbench/src \
--cov-report term-missing \
--cov-report html:build/coverage-mcp \
--cov-report xml:build/coverage-mcp/coverage.xml \
--cov-append \
--cov-fail-under 83
@echo ""
@echo "Running SDK tests with coverage..."
@pytest test/sdk --verbose \
--cov lisa-sdk/lisapy \
--cov-report term-missing \
--cov-report html:build/coverage-sdk \
--cov-report xml:build/coverage-sdk/coverage.xml \
--cov-append \
--cov-fail-under 80
@echo ""
@echo "Running REST API tests with coverage..."
@pytest test/rest-api --verbose \
--cov lib/serve/rest-api/src \
--cov-config lib/serve/rest-api/.coveragerc \
--cov-report term-missing \
--cov-report html:build/coverage-rest-api \
--cov-report xml:build/coverage-rest-api/coverage.xml \
--cov-append \
--cov-fail-under 80


## Run all Python unit tests (non-integration) without coverage
test:
@echo "Running lambda tests..."
@pytest test/lambda --verbose
@echo ""
@echo "Running MCP Workbench tests..."
@pytest test/mcp-workbench --verbose
@echo ""
@echo "Running SDK tests..."
@pytest test/sdk --verbose
@echo ""
@echo "Running REST API tests..."
@pytest test/rest-api --verbose

## Run lambda tests only
test-lambda:
pytest test/lambda --verbose

## Run MCP Workbench tests only
test-mcp-workbench:
pytest test/mcp-workbench --verbose

## Run LISA SDK unit tests only
test-sdk:
pytest test/sdk --verbose

## Run REST API unit tests only
test-rest-api:
pytest test/rest-api --verbose

## Run LISA SDK integration tests (requires deployed LISA environment)
test-sdk-integ:
@echo "Running LISA SDK integration tests..."
@echo "Note: These tests require a deployed LISA environment with:"
@echo " - --api or --url argument for API endpoint"
@echo " - --region, --deployment, --profile arguments"
@echo " - AWS credentials configured"
@echo ""
@echo "Example: pytest test/integration/sdk --api https://your-api.com --region us-west-2"
@echo ""
pytest test/integration/sdk --verbose

## Run integration tests (Python-based)
test-integ:
pytest test/python --verbose

## Run RAG integration tests (requires deployed LISA environment)
test-rag-integ:
@echo "Running RAG integration tests..."
@echo "Note: These tests require a deployed LISA environment with:"
@echo " - LISA_API_URL environment variable set"
@echo " - LISA_DEPLOYMENT_NAME environment variable set"
@echo " - AWS credentials configured"
@echo ""
pytest test/integration --verbose

## Run repository metadata preservation integration tests
test-metadata-integ:
pytest test/integration/test_repository_update_metadata_preservation.py --verbose

## Regenerate all Poetry lock files
lock-poetry:
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6.1.1
6.2.0
Binary file removed assets/LisaArchitecture.png
Binary file not shown.
Binary file removed assets/LisaChat.png
Binary file not shown.
Binary file removed assets/LisaModelManagement.png
Binary file not shown.
Binary file removed assets/LisaServe.png
Binary file not shown.
16 changes: 10 additions & 6 deletions bin/build-images
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,11 @@ set -e

ROOT=$(pwd)
OUTPUT_DIR=$ROOT/dist/images
# DOCKER_CMD=${DOCKER_CMD:-$(command -v finch >/dev/null 2>&1 && echo "finch" || echo "docker")}
DOCKER_CMD=docker

# Container runtime: Use CDK_DOCKER env var (same as CDK), default to docker
DOCKER_CMD="${CDK_DOCKER:-docker}"

PLATFORM="linux/amd64"

# Parse command line arguments
UPLOAD=false
Expand Down Expand Up @@ -44,9 +47,10 @@ build_image() {

echo "Building image: $repository_name:$image_tag"
echo "Context: $build_context_path"
echo "Platform: $PLATFORM"

# Construct docker build command
local docker_cmd="$DOCKER_CMD build"
local docker_cmd="$DOCKER_CMD build --platform $PLATFORM"

# Add build args
for arg in "${build_args[@]}"; do
Expand Down Expand Up @@ -116,7 +120,7 @@ build_all_images() {
build_image "Dockerfile" "lisa-rest-api" "$LISA_VERSION" "./lib/serve/rest-api" \
"NODE_ENV=production" \
"LITELLM_CONFIG=\"db_key: sk-a8814208-0388-480c-9fc7-fea59607ca38\"" \
"BASE_IMAGE=python:3.13-slim"
"BASE_IMAGE=public.ecr.aws/docker/library/python:3.13-slim"

# lisa-batch-ingestion
RAG_DIR="./lib/rag/ingestion/ingestion-image"
Expand All @@ -130,7 +134,7 @@ build_all_images() {
MCP_DIR="./lib/serve/mcp-workbench"
build_image "Dockerfile" "lisa-mcp-workbench" "$LISA_VERSION" "$MCP_DIR" \
"NODE_ENV=production" \
"BASE_IMAGE=python:3.13-slim"
"BASE_IMAGE=public.ecr.aws/docker/library/python:3.13-slim"
else
echo "deployMcpWorkbench is disabled, skipping lisa-mcp-workbench build"
echo ""
Expand All @@ -151,7 +155,7 @@ build_all_images() {
# lisa-vllm
build_image "Dockerfile" "lisa-vllm" "latest" "./lib/serve/ecs-model/vllm" \
"NODE_ENV=production" \
"BASE_IMAGE=vllm/vllm-openai:latest" \
"BASE_IMAGE=public.ecr.aws/deep-learning-containers/vllm:0.13-gpu-py312" \
"MOUNTS3_DEB_URL=https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.deb"

echo "All images built successfully!"
Expand Down
Loading
Loading