Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
14c3195
Feature/thoughts (#778)
paullizer Mar 6, 2026
80af084
Fix bugs 2026 03 05 (#779)
paullizer Mar 6, 2026
b8a91b0
Feature tabular data (#780)
paullizer Mar 6, 2026
36d79d2
Fix bugs 2026 03 05 (#781)
paullizer Mar 6, 2026
a23023e
Updated all 4 @kernel_function descriptions in sql_schema_plugin.py t…
paullizer Mar 6, 2026
09d33e3
improve thought timeline
paullizer Mar 6, 2026
8be4f31
added export pdf and conversation summary
paullizer Mar 9, 2026
7bf1e6e
Merge branch 'Development' into Thought-and-fixes
paullizer Mar 9, 2026
38ea889
Update release_notes.md
paullizer Mar 9, 2026
0f370dd
Merge branch 'Thought-and-fixes' of https://github.com/microsoft/simp…
paullizer Mar 9, 2026
55f539b
updates to tabular processing
paullizer Mar 12, 2026
8b3a712
improved tool calling and thought tracking
paullizer Mar 13, 2026
71ca9dd
resolved bug fixes
paullizer Mar 13, 2026
4eddb1d
removed test files
paullizer Mar 13, 2026
1b81680
multi-tab excel support
paullizer Mar 13, 2026
59969ab
fix agent creation bug
paullizer Mar 13, 2026
d034247
added tag view to document lists in groups and public workspaces
paullizer Mar 16, 2026
6f856fe
support key vault, supported ext update, 429 wait support, move TAB vars
paullizer Mar 17, 2026
df10715
Fixed the streaming/thought regression
paullizer Mar 17, 2026
7bb95f3
improved multi-tab
paullizer Mar 18, 2026
ba56b25
big improvement in multi-tab support
paullizer Mar 18, 2026
c32e914
Merge branch 'Development' into Thought-and-fixes
paullizer Mar 18, 2026
5df24e4
added search to scope, tags, prompts, llms, and agents dropdown
paullizer Mar 18, 2026
690be83
Merge branch 'Thought-and-fixes' of https://github.com/microsoft/simp…
paullizer Mar 18, 2026
9f85f67
improve button layout in chat
paullizer Mar 18, 2026
88ed93d
fixed reasoning button status on chats.html load
paullizer Mar 18, 2026
54e37c8
made streaming primary
paullizer Mar 19, 2026
41fba50
significant performance improvement and chat notifications
paullizer Mar 20, 2026
e7d2020
fixed code quality checks
paullizer Mar 23, 2026
19c20bf
cleaned up streaming buttons, its only option now
paullizer Mar 23, 2026
681f561
moved reasoning and voice response to the right
paullizer Mar 23, 2026
1616130
removed openapi validate and use swagger from an url, now only suppor…
paullizer Mar 23, 2026
935e9ea
exit if using this config
paullizer Mar 23, 2026
6faea2c
public_workspace.js fix
paullizer Mar 23, 2026
fb5468d
Removed the duplicated refreshGroups property from GroupManager, so t…
paullizer Mar 23, 2026
f32d5fd
fixed debug_print support
paullizer Mar 23, 2026
0f145bd
resolved redundant assignment
paullizer Mar 23, 2026
8721b37
resolved python syntax error
paullizer Mar 23, 2026
7266f3e
fixed unreachable
paullizer Mar 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release-notes-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:

- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v44
uses: tj-actions/changed-files@v46.0.1
with:
files_yaml: |
code:
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,6 @@ flask_session
tmp**cwd
/tmp_images
nul
/.github/plans
*.xlsx
/artifacts/tests
3 changes: 2 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ return render_template('page.html', settings=public_settings)

## Version Management

- Its important to update the version at the end of every plan
- Version is stored in `config.py`: `VERSION = "X.XXX.XXX"`
- When incrementing, only change the third segment (e.g., `0.238.024` -> `0.238.025`)
- Include the current version in functional test file headers and documentation files
Expand All @@ -83,7 +84,7 @@ return render_template('page.html', settings=public_settings)

## Release Notes

After completing code changes, offer to update `docs/explanation/release_notes.md`.
After completing plans and code changes, offer to update `docs/explanation/release_notes.md`.

- Add entries under the current version from `config.py`
- If the version was bumped, create a new section at the top: `### **(vX.XXX.XXX)**`
Expand Down
53 changes: 53 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,58 @@ This step will begin the deployment process.
azd up
```

## Deployment Runtime Notes

### Container
> [!NOTE]
>
> The container deployments of Simple Chat does NOT need this step, when you run `azd up` for new installs or `azd deploy` for updates, the container is configured to run with gunicorn.

- The repo-provided `azd`, Bicep, Terraform, and Azure CLI deployers are **container-based** App Service deployments.
- For those container deployments, do **not** set an App Service Stack Settings Startup command.
- The container already starts Gunicorn through `application/single_app/Dockerfile`.

## Native Python
- For **native Python App Service** deployments, deploy the `application/single_app` folder and set the App Service Startup command explicitly.

Native Python deployment references:

- [Manual deployment notes](./docs/reference/deploy/manual_deploy.md)
- [Manual setup steps](./docs/setup_instructions_manual.md#installing-and-deploying-the-application-code)
- [VS Code deployment steps](./docs/setup_instructions_manual.md#deploying-via-vs-code-recommended-for-simplicity)
- [Azure CLI ZIP deploy steps](./docs/setup_instructions_manual.md#deploying-via-azure-cli-zip-deploy)

To set the Startup command in Azure Portal:

1. Go to the App Service.
2. Open **Settings** > **Configuration** > **Stack Settings**.
3. Enter the following Startup command.
4. Save the change, then stop and start the app.

Use this Startup command for native Python App Service deployments:

```bash
python -m gunicorn -c gunicorn.conf.py app:app
```

> [!IMPORTANT]
>
> Running Simple Chat with gunicorn improves the experience with better request handling and concurrency.

## Upgrade Paths

- For a concise upgrade decision guide, see [docs/how-to/upgrade_paths.md](docs/how-to/upgrade_paths.md).

### Container
- **Container-based upgrades** should usually start with `azd deploy` for code-only changes. Use `azd up` only when the release also changes infrastructure.
- If your App Service is already configured to pull from ACR and you want image-only rollouts, use the ACR/image refresh approach described in [docs/how-to/upgrade_paths.md](docs/how-to/upgrade_paths.md) instead of treating every release as a full reprovisioning event.

### Native Python
- **Native Python App Service upgrades** should reuse the manual deployment path, validate the Startup command above, and deploy the `application/single_app` folder with VS Code or Azure CLI ZIP deploy.
- [Manual native Python upgrade guide](./docs/setup_instructions_manual.md#upgrading-the-application)
- [Native Python ZIP deploy reference](./docs/setup_instructions_manual.md#deploying-via-azure-cli-zip-deploy)
- [Native Python deployment notes](./docs/reference/deploy/manual_deploy.md)

## Architecture

![Architecture](./docs/images/architecture.png)
Expand All @@ -144,6 +196,7 @@ azd up
- **Metadata Extraction (Optional)**: Apply an AI model (configurable GPT model via Admin Settings) to automatically generate keywords, two-sentence summaries, and infer author/date for uploaded documents. Allows manual override for richer search context.
- **File Processing Logs (Optional)**: Enable verbose logging for all ingestion pipelines (workspaces and ephemeral chat uploads) to aid in debugging, monitoring, and auditing file processing steps.
- **Redis Cache (Optional)**: Integrate Azure Cache for Redis to provide a distributed, high-performance session store. This enables true horizontal scaling and high availability by decoupling user sessions from individual app instances.
- **SQL Database Agents (Optional)**: Connect agents to Azure SQL or other SQL databases through configurable SQL Query and SQL Schema plugins. Database schema is automatically discovered and injected into agent instructions at load time, enabling agents to answer natural language questions by generating and executing SQL queries without requiring users to know table or column names.
- **Authentication & RBAC**: Secure access via Azure Active Directory (Entra ID) using MSAL. Supports Managed Identities for Azure service authentication, group-based controls, and custom application roles (`Admin`, `User`, `CreateGroup`, `SafetyAdmin`, `FeedbackAdmin`).
- **Supported File Types**:

Expand Down
2 changes: 1 addition & 1 deletion application/single_app/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,4 @@ COPY --chown=${UID}:${GID} application/single_app ./
# Expose port
EXPOSE 5000

ENTRYPOINT [ "python3", "/app/app.py" ]
ENTRYPOINT ["python3", "-m", "gunicorn", "-c", "/app/gunicorn.conf.py", "app:app"]
Loading
Loading