Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
266 commits
Select commit Hold shift + click to select a range
8353d77
Added version number to document, and removed redudant import statement
Jan 24, 2026
5aa7007
refactor: use _ for intentionally unused variable in AI Search test
Jan 24, 2026
548d8d8
Removed azure_speech_managed_indeity_manual readme file since it is u…
Jan 24, 2026
62b0b5b
update version numbers to 0.236.012 in bug fix documentation
Jan 24, 2026
b0be501
Update application/single_app/semantic_kernel_loader.py
vivche Jan 24, 2026
e264a13
Update docs/how-to/agents/ServiceNow/open_api_specs/sample_now_knowle…
vivche Jan 24, 2026
b04bd67
Update docs/explanation/fixes/v0.236.012/AZURE_AI_SEARCH_TEST_CONNECT…
vivche Jan 24, 2026
84c01e9
Update docs/how-to/agents/ServiceNow/open_api_specs/sample_now_knowle…
vivche Jan 24, 2026
c8e383e
Update docs/how-to/agents/ServiceNow/open_api_specs/sample_servicenow…
vivche Jan 24, 2026
39dc7a4
Update docs/explanation/fixes/v0.236.012/GROUP_AGENT_LOADING_FIX.md
vivche Jan 24, 2026
2e8c737
Remvoed debug statements that might include senstive info
Jan 24, 2026
d0581d5
Merge branch 'servicenow-integration' of https://github.com/vivche/si…
Jan 24, 2026
0c23a78
Rollback Azure AI Search test connection fix for separate PR
Jan 24, 2026
7f8248a
Update application/single_app/semantic_kernel_plugins/openapi_plugin_…
vivche Jan 24, 2026
a0fbffd
Update docs/explanation/fixes/v0.236.012/GROUP_AGENT_LOADING_FIX.md
vivche Jan 24, 2026
4bac07a
Update docs/explanation/fixes/v0.236.012/GROUP_ACTION_OAUTH_SCHEMA_ME…
vivche Jan 24, 2026
1c31db4
Update docs/how-to/agents/ServiceNow/SERVICENOW_OAUTH_SETUP.md
vivche Jan 24, 2026
7e0c688
Fix Azure AI Search test connection with managed identity
Jan 24, 2026
6b0164a
Fix Azure AI Search test connection with managed identity
Jan 24, 2026
c910ede
Corrected file folder name
Jan 24, 2026
f188224
Merge branch 'ai-search-test-connection-fix' of https://github.com/vi…
Jan 24, 2026
8ae8518
Corrected the version number to reference 0.236.012
Jan 24, 2026
a82ecb7
Removed unneeded folder and document
Jan 24, 2026
589291b
Revert terraform main.tf to upstream/Development version
Jan 24, 2026
d017028
updated the logging logic when running retention delete with archivin…
paullizer Jan 24, 2026
2e8e87a
Corrected version to 0.236.011 (#645)
paullizer Jan 26, 2026
6042461
v0.237.001 (#649)
paullizer Jan 26, 2026
9c698af
Merge branch 'Staging' into Development
paullizer Jan 26, 2026
84e00cb
Use Microsoft python base image
clarked-msft Jan 26, 2026
317c6ee
Add python ENV vars
clarked-msft Jan 26, 2026
25f41fb
Add python ENV vars
clarked-msft Jan 26, 2026
0753f52
Install deps to systme
clarked-msft Jan 26, 2026
f2958f0
Add temp dir to image and pip conf support
clarked-msft Jan 26, 2026
efd6fe7
Add custom-ca-certificates dir
clarked-msft Jan 26, 2026
231b792
Merge pull request #653 from clarked-msft/msft-python-image
Bionic711 Jan 26, 2026
7d0a792
Logo bug fix (#654)
paullizer Jan 26, 2026
1cdb27a
Merge branch 'Staging' into Development
paullizer Jan 26, 2026
823e6fa
Rentention policy (#657)
paullizer Jan 26, 2026
1c1c845
Merge branch 'Staging' into Development
paullizer Jan 26, 2026
31e8341
Added ServiceNow support for create and publish article. Including r…
Jan 27, 2026
c70db6b
Replace actual servicenow instance name with generic name in the read…
Jan 27, 2026
fa72a65
Merge remote-tracking branch 'upstream/Development' into servicenow-i…
Jan 27, 2026
0ed07b1
Changed version number in ServiceNow readme files to 0.237.005 since …
Jan 27, 2026
61d8a8b
Enhance ServiceNow agent for managing new KB article creation
Jan 28, 2026
715bb6b
Added readme and open ai specs and agent instructions to support Serv…
Jan 28, 2026
b5804ad
Remove any references to actual ServiceNow instances
Jan 28, 2026
6c4b14e
Merge upstream/Development into ai-search-test-connection-fix
Jan 28, 2026
7ace8b7
Merge pull request #641 from vivche/ai-search-test-connection-fix
Bionic711 Jan 29, 2026
05a14e4
fixed retention policy runtime bug and sidebar bug (#672)
paullizer Jan 30, 2026
5cd0f3b
Merge branch 'Staging' into Development
paullizer Jan 30, 2026
0e0c437
Fix: Windows Unicode encoding issue for video uploads (#662)
vivche Jan 30, 2026
ab456a4
Update docs/how-to/azure_speech_managed_identity_manul_setup.md (#675)
paullizer Jan 30, 2026
534eb72
Add custom subdomain support for OpenAI and Speech Service in Terrafo…
vivche Jan 30, 2026
251b949
0.237.006 (#676)
paullizer Jan 30, 2026
cd09c7a
docs: Update release notes for ServiceNow integration and bug fixes
Jan 30, 2026
634040d
Update release_notes.md
paullizer Jan 30, 2026
944b581
Merge branch 'Staging' into Development
paullizer Jan 30, 2026
39e812c
resolve conflict
Jan 30, 2026
0da710a
fixed sidebar race condition (#679)
paullizer Jan 30, 2026
1e4b524
Merge branch 'Staging' into Development
paullizer Jan 30, 2026
fd66132
Merge branch 'Development' into servicenow-integration, and moved fix…
Jan 31, 2026
0c161ae
fix the version number in config.py
Jan 31, 2026
bf90baf
Security: Restrict group agent loading to active group only
Jan 31, 2026
8a9ad98
Fixed an instruction error that caused semantic kernel to fall back t…
Jan 31, 2026
28a557e
Merge pull request #640 from vivche/servicenow-integration
Bionic711 Jan 31, 2026
82f8a89
Fixed! The issue was caused by duplicated code blocks (#683)
paullizer Feb 3, 2026
4c24cc8
Manage group frontend bug (#684)
paullizer Feb 3, 2026
b66bee9
initial feature add
paullizer Feb 4, 2026
ef5f468
added tag endpoint
paullizer Feb 4, 2026
af15c05
return unused tags too
paullizer Feb 4, 2026
ef14203
Bicepfix (#690)
eldong Feb 5, 2026
296d987
working on ui
paullizer Feb 5, 2026
a4a4224
Search bug fix 20260229 (#697)
paullizer Feb 9, 2026
541dd60
Overhauled and updated file extension definition & MAG audio file tra…
Xeelee33 Feb 9, 2026
7c2eb0c
Update release_notes.md (#698)
paullizer Feb 9, 2026
e102efe
Merge branch 'Staging' into Development
paullizer Feb 9, 2026
2429489
removed duplicate code causing bugs (#701)
paullizer Feb 9, 2026
b529d60
Chat file upload error (#709)
paullizer Feb 11, 2026
0cd14b9
Merge branch 'Staging' into Development
paullizer Feb 11, 2026
7381359
edit folders
paullizer Feb 18, 2026
66f9287
sorting fixed
paullizer Feb 18, 2026
654739a
chat with working with personal
paullizer Feb 19, 2026
3daf815
tagging added to groups and public workspaces
paullizer Feb 20, 2026
e317139
added tags to group and public workspace
paullizer Feb 22, 2026
6d9e6b0
fixed tags in group and public workspaces
paullizer Feb 23, 2026
978ca4f
Update .gitignore
paullizer Feb 23, 2026
de3a523
fixed citation bug
paullizer Feb 23, 2026
4befb2c
cleaned up workspaces
paullizer Feb 23, 2026
47d07da
Bugfix/globalagentscreation (#720)
Bionic711 Feb 23, 2026
f36f990
Add Dockerfile and update devcontainer configuration for Python envir…
SteveCInVA Feb 23, 2026
dc746a4
extended document dropdown width
paullizer Feb 23, 2026
b256a07
Update chat-documents.js
paullizer Feb 23, 2026
b74c077
Create CLAUDE.md
paullizer Feb 23, 2026
8168bb1
added features and updated release notes
paullizer Feb 23, 2026
59e8297
Added ability for admin to disable/enable workspace lock
paullizer Feb 23, 2026
deae525
Merge branch 'Development' into workspace-folders
paullizer Feb 23, 2026
e0da096
Add tags to blob metadata when enhanced citations is enabled
paullizer Feb 23, 2026
edcce6d
Merge branch 'workspace-folders' of https://github.com/microsoft/simp…
paullizer Feb 23, 2026
f78e8a5
Fix/agent action 500 error (#731)
paullizer Feb 23, 2026
b92ec5a
Update release_notes.md
paullizer Feb 23, 2026
a924a30
Merge branch 'workspace-folders' into Development
paullizer Feb 23, 2026
a334377
fixed active workspace bug for users switching public workspaces
paullizer Feb 24, 2026
3100d85
optional only allow owner to create/edit/delete group agents and actions
paullizer Feb 24, 2026
d3667b2
Merge pull request #736 from microsoft/feature/owner-required-to-crea…
Bionic711 Feb 24, 2026
9e29f22
Added retention policy UI for groups and public workspaces (#730)
eldong Feb 24, 2026
ac64920
fix_scroll - Added overflow: auto to message-content css class to all…
chadpalmer Feb 25, 2026
0ea45c2
fixed showToast
paullizer Feb 25, 2026
0bd9f12
Hardened `get_user_settings()` to normalize malformed or missing `set…
paullizer Feb 26, 2026
fc501be
Update docker customization for CA and pip
clarked-msft Feb 27, 2026
eac2ad6
Update release notes
clarked-msft Feb 27, 2026
64a3ab9
Revert changes to older release notes...
clarked-msft Feb 27, 2026
79670ed
Apply suggestions from code review
clarked-msft Feb 27, 2026
df8964f
fixed potential sql injection with new tags feature
paullizer Mar 2, 2026
941a4d2
Merge pull request #751 from microsoft/fix/tag-sql-injection
Bionic711 Mar 2, 2026
f10997d
Merge branch 'Development' into fix-harden-get-user-settings
Bionic711 Mar 2, 2026
3d7e8d4
Merge pull request #744 from microsoft/fix-harden-get-user-settings
Bionic711 Mar 2, 2026
3acf5c2
Merge branch 'Development' into fix-public-workspace-active-bug
Bionic711 Mar 2, 2026
834bfc4
Apply suggestion from @Copilot
paullizer Mar 2, 2026
ca93510
fix js location
paullizer Mar 2, 2026
d3fcf85
Merge branch 'fix-public-workspace-active-bug' of https://github.com/…
paullizer Mar 2, 2026
433a7c3
update wrapper (#741)
Bionic711 Mar 2, 2026
b64c9e8
Merge pull request #735 from microsoft/fix-public-workspace-active-bug
Bionic711 Mar 2, 2026
271a338
Merge branch 'Staging' into Development
nadoylemsft Mar 2, 2026
f7e1e41
Added ability to export conversations & set retention policies (#734)
eldong Mar 3, 2026
12a88ca
Merge branch 'Staging' into Development
paullizer Mar 3, 2026
a05ce52
moved retention to manage pages (#755)
paullizer Mar 3, 2026
7e7ece8
fixed bug causing js error (#759)
paullizer Mar 3, 2026
355cef7
fixed workspace scope unlock bug (#760)
paullizer Mar 3, 2026
079f8e4
Merge branch 'Staging' into Development
paullizer Mar 3, 2026
d31afe0
feedback-user-timeout - Added user idle timeout feature that auto log…
chadpalmer Mar 4, 2026
7430b13
Merge branch 'Development' into docker-customization
clarked-msft Mar 5, 2026
fa96a44
Update docker custimization doc
clarked-msft Mar 5, 2026
22dae79
Add future release version to release notes
clarked-msft Mar 5, 2026
dcde439
upd for cross-cloud calls and unification of OIDC endpoints/calls (#771)
Bionic711 Mar 5, 2026
b1b2a82
feedback-user-timeout - fixed merge conflict with microsoft update.
chadpalmer Mar 5, 2026
f216d68
Merge branch 'Development' into feedback-user-timeout
chadpalmer Mar 5, 2026
765a847
feedback-user-timeout - Moved new settings variables to app admin set…
chadpalmer Mar 5, 2026
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
b8c62a1
feedback-user-timeout - Cleaned up code as per some of copilot's sugg…
chadpalmer 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
8f692f9
feedback-user-timeout - Added admin settings toggle to allow turning …
chadpalmer Mar 6, 2026
8be4f31
added export pdf and conversation summary
paullizer Mar 9, 2026
3443ad0
Redis key vault auth and 3 bug fixes (#767)
Xeelee33 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
36649c9
Merge branch 'Development' into docker-customization
clarked-msft Mar 10, 2026
3d346ea
Merge pull request #747 from clarked-msft/docker-customization
Bionic711 Mar 10, 2026
7fd6a0a
feedback-user-timeout - Added logging and method comments.
chadpalmer Mar 10, 2026
9315739
feedback-user-timeout - Merge latest updates and fix merge conflicts.
chadpalmer Mar 11, 2026
0519999
feedback-user-timeout - Updated/cleaned up release notes and added mi…
chadpalmer Mar 11, 2026
6431de2
feedback-user-timeout - More code clean up for safe_int method and cs…
chadpalmer Mar 11, 2026
8ea5b81
feedback-user-timeout - More code clean up for unit tests and making …
chadpalmer Mar 12, 2026
7c1b464
Feature/admin configurable access denied message (#772)
vivche Mar 12, 2026
aee0a6c
Bicep support for airgap (#792)
clarked-msft Mar 12, 2026
4b869f2
feedback-user-timeout - Added missing utils file to repo.
chadpalmer Mar 12, 2026
1be8338
feedback-user-timeout - Made api call's interaction with idle timeout…
chadpalmer Mar 12, 2026
dce26d7
feedback-user-timeout - Adjusted idle timeout initialization to accou…
chadpalmer Mar 12, 2026
1de1b06
feedback-user-timeout - Adjusted idle heartbeat reauth handling.
chadpalmer Mar 12, 2026
567d661
feedback-user-timeout - Moved fixes documentation into v0.239.006 fol…
chadpalmer Mar 12, 2026
55f539b
updates to tabular processing
paullizer Mar 12, 2026
8b3a712
improved tool calling and thought tracking
paullizer Mar 13, 2026
fe46c15
Add per-message export feature for Markdown and Word formats (#783)
eldong Mar 13, 2026
71ca9dd
resolved bug fixes
paullizer Mar 13, 2026
4eddb1d
removed test files
paullizer Mar 13, 2026
fa9b24c
feedback-user-timeout - Merged latest updates from microsoft simplech…
chadpalmer Mar 13, 2026
c87df0a
feedback-user-timeout - Updated doc folder name to match new update v…
chadpalmer Mar 13, 2026
1b81680
multi-tab excel support
paullizer Mar 13, 2026
59969ab
fix agent creation bug
paullizer Mar 13, 2026
8daeecc
trigger cla check
chadpalmer Mar 13, 2026
d034247
added tag view to document lists in groups and public workspaces
paullizer Mar 16, 2026
a5a95f4
feedback-user-timeout - Updated default idle enabled values to false,…
chadpalmer 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
296fa93
feedback-user-timeout - Addressed issues flagged by github copilot.
chadpalmer Mar 17, 2026
4045e55
feedback-user-timeout - Addressed more issues flagged by github copilot.
chadpalmer 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
f3a63f8
feedback-user-timeout - Addressed even more issues flagged by github …
chadpalmer 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
57b117f
feedback-user-timeout - Addressed yet more issues flagged by github c…
chadpalmer Mar 18, 2026
b1aa8f3
feedback-user-timeout - Addressed another round of issues flagged by …
chadpalmer Mar 18, 2026
3f2b8e8
feedback-user-timeout - Updated docs and added docstring.
chadpalmer Mar 18, 2026
8df1620
feedback-user-timeout - Toned down potential log entries.
chadpalmer 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
579b552
Merge pull request #782 from microsoft/Thought-and-fixes
Bionic711 Mar 23, 2026
e7881ba
Merge branch 'Staging' into fix/release_notes-merge_fix-20260323
paullizer Mar 23, 2026
4abee3c
Merge branch 'main' into fix/release_notes-merge_fix-20260323
paullizer Mar 23, 2026
0ab5772
Update release_notes.md
paullizer Mar 23, 2026
5ff07e7
Update release_notes.md
paullizer Mar 23, 2026
81a863c
Merge pull request #808 from microsoft/fix/release_notes-merge_fix-20…
Bionic711 Mar 23, 2026
ea6a341
Merge branch 'Development' into feedback-user-timeout
chadpalmer Mar 24, 2026
2b63923
feedback-user-timeout - Added custom message field, enforce min 10 mi…
chadpalmer Mar 24, 2026
e178c24
feedback-user-timeout - Updated/fixed issues flagged by github copilot.
chadpalmer Mar 24, 2026
79d3e18
feedback-user-timeout - Added doc files in new folder.
chadpalmer Mar 24, 2026
85be8a7
Feature/aifoundryagents (#812)
Bionic711 Mar 31, 2026
39343c3
Deployment updates (#815)
paullizer Mar 31, 2026
24c79c8
Feature/chattutorial (#816)
paullizer Mar 31, 2026
3209cb8
Fixed auto-delete of custom logo images issue.
chadpalmer Apr 1, 2026
5d465ff
feedback-user-timeout - Fixed merge conflict.
chadpalmer Apr 1, 2026
1cc8ff7
feedback-user-timeout - Fixed several code issues from merge and dele…
chadpalmer Apr 1, 2026
e269b51
feedback-user-timeout - Added missing logo images.
chadpalmer Apr 1, 2026
0527e8d
Merge pull request #800 from Xeelee33/feedback-user-timeout
Bionic711 Apr 1, 2026
ec117ec
Fix/20260331 (#818)
paullizer Apr 2, 2026
187d570
Fix/doc versioning (#821)
paullizer Apr 7, 2026
108b6a1
Feature/support menu (#824)
paullizer Apr 7, 2026
6b18370
Fix/20260407 (#826)
paullizer Apr 8, 2026
eaa82cc
Release notes (#828)
paullizer Apr 8, 2026
e86c093
Fix/0.241.001 videos (#830)
paullizer Apr 8, 2026
6d0b627
Fix/20260408 (#832)
paullizer Apr 8, 2026
7ee5fad
Merge branch 'Staging' into Development
paullizer Apr 8, 2026
18fe665
Docs/20260408 videos (#837)
paullizer Apr 8, 2026
6026d34
Docs/20260408 videos (#840)
paullizer Apr 8, 2026
40ae69e
Merge branch 'Staging' into Development
paullizer Apr 8, 2026
7bb10cb
Docs/20260408 videos (#843)
paullizer Apr 8, 2026
89cdd12
Merge branch 'Staging' into Development
paullizer Apr 8, 2026
59ed754
Development - v0.241.006 (#846)
paullizer Apr 9, 2026
9162930
group workspace fix (#847)
paullizer Apr 9, 2026
5164589
Merge branch 'Staging' into Development
paullizer Apr 9, 2026
2112192
Bugfix/850 (#851)
Bionic711 Apr 9, 2026
17025e5
Docs/video speech update (#852)
paullizer Apr 9, 2026
57acc5f
Action/release notes (#853)
paullizer Apr 9, 2026
b22f215
Merge branch 'Staging' into Development
paullizer Apr 9, 2026
5969ac1
fix bug for media enhanced citations (#855)
paullizer Apr 9, 2026
10f9bb2
Merge branch 'Staging' into Development
paullizer Apr 9, 2026
059369d
v0.241.006 (#849)
paullizer Apr 9, 2026
15bc1b1
Merge branch 'main' into Staging
paullizer Apr 9, 2026
99d6997
Merge branch 'Staging' into Development
paullizer Apr 9, 2026
1ec813c
added contributing details (#857)
paullizer Apr 13, 2026
ef945e5
Visual and content update to Github Pages (#858)
paullizer Apr 13, 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
103 changes: 103 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Contributing to SimpleChat

This repository uses the standard `CONTRIBUTING.md` filename so GitHub can surface the guide automatically.
The documentation-site copy lives at `docs/contributing.md`, and both files should stay aligned.

## Contribution Flow

SimpleChat contributions should be made through a fork-based workflow.

1. Fork the repository.
2. Clone your fork locally.
3. Add the main SimpleChat repository as `upstream`.
4. Create a new branch from the upstream `Development` branch.
5. Make your changes in that new branch.
6. Push the branch to your fork.
7. Open a pull request from your fork branch back to the main SimpleChat repository's `Development` branch.

Do not open contributor pull requests directly to `Staging` or `main`. The repository uses a staged promotion flow: `Development` -> `Staging` -> `main`.
Use the branch names exactly as written here. In this repository, `Development` and `Staging` are capitalized.
After a contribution is merged into `Development`, the SimpleChat team handles promotion forward.

<!-- Optional image placeholder:
Add a branch-flow diagram here later if you want a visual version of the process.

Example:
![SimpleChat contribution flow](docs/images/contribution-flow.png)
-->

## Suggested Git Commands

Use whatever Git workflow you prefer, but this is the expected starting point:

```bash
git clone <your-fork-url>
cd simplechat
git remote add upstream <simplechat-upstream-url>
git fetch upstream
git switch -c feature/my-change upstream/Development
```

When you are ready to publish your work:

```bash
git push -u origin feature/my-change
```

If your branch falls behind, sync it from `upstream/Development` before opening or updating the pull request.

## Local Development

Before contributing, make sure you can run SimpleChat locally.

Recommended local setup in VS Code uses a repo-local `.venv` with Python 3.12.

From the repo root in PowerShell:

```powershell
py -3.12 -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install --upgrade pip
pip install -r application/single_app/requirements.txt
Set-Location application/single_app
$env:FLASK_DEBUG = "1"
python app.py
```

For the full local workflow, environment guidance, and notes about Docker, WSL2, and Gunicorn validation, see:

- [README.md](./README.md)
- [docs/setup_instructions_manual.md](./docs/setup_instructions_manual.md)
- [docs/explanation/running_simplechat_locally.md](./docs/explanation/running_simplechat_locally.md)

## Pull Request Expectations

Keep pull requests focused and easy to review.

- Base your work on `Development`, not `main`.
- Keep unrelated refactors out of the same pull request.
- Explain what changed, why it changed, and how you tested it.
- Include screenshots or short recordings for UI changes when helpful.
- Call out any configuration, schema, security, or deployment impact.
- Update documentation when user-facing behavior or setup steps change.

## Tests and Validation

Before opening a pull request, run the tests that match your change.

- Add or update functional tests for bug fixes and new features when appropriate.
- Run relevant tests from `functional_tests/` and `ui_tests/` when your change affects those areas.
- If you change Flask routes, keep the existing Swagger route decorator pattern intact.

Pull requests are reviewed by the SimpleChat team and go through repository validation. Depending on the files changed, that can include Python syntax checks, release-note validation, Swagger route validation, and additional maintainer review. Maintainers may also run additional security or AI-assisted review before merge.

## Security and Repo Conventions

- Never commit secrets, keys, or environment-specific credentials.
- Review [SECURITY.md](./SECURITY.md) before submitting security-sensitive changes.
- Follow the repository's existing structure and conventions instead of introducing broad cleanup changes.
- If you use AI-assisted tooling while contributing, also review [CLAUDE.md](./CLAUDE.md) and [.github/copilot-instructions.md](./.github/copilot-instructions.md) for repo-specific guidance.

## Need Help?

If you are unsure about the right target branch or how to structure a change, open a draft pull request against `Development` and explain the question in the description. That gives the maintainers a concrete starting point for feedback.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ The application utilizes **Azure Cosmos DB** for storing conversations, metadata

[Simple Chat Documentation | Simple Chat Documentation](https://microsoft.github.io/simplechat/)

## Contributing

See [CONTRIBUTING.md](./CONTRIBUTING.md) for the fork-based workflow, target branch guidance, and local development references for SimpleChat contributors.

## Quick Deploy

[Detailed deployment Guide](./deployers/bicep/README.md)
Expand Down
2 changes: 1 addition & 1 deletion application/external_apps/bulkloader/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
requests==2.32.4
requests==2.33.0
msal==1.31.0
python-dotenv==0.21.0
2 changes: 1 addition & 1 deletion application/external_apps/databaseseeder/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
requests==2.32.4
requests==2.33.0
msal==1.31.0
python-dotenv==0.21.0
3 changes: 3 additions & 0 deletions docs/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ gem "github-pages", group: :jekyll_plugins
gem "webrick", "~> 1.8"
gem "json", ">= 2.19.2"

# Security override for transitive GitHub Pages/Jekyll dependency
gem "addressable", ">= 2.9.0"

# Jekyll plugins for enhanced functionality
group :jekyll_plugins do
gem "jekyll-feed"
Expand Down
5 changes: 3 additions & 2 deletions docs/Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ GEM
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
uri (>= 0.13.1)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
addressable (2.9.0)
public_suffix (>= 2.0.2, < 8.0)
base64 (0.3.0)
benchmark (0.4.1)
bigdecimal (3.2.3)
Expand Down Expand Up @@ -278,6 +278,7 @@ PLATFORMS
x64-mingw-ucrt

DEPENDENCIES
addressable (>= 2.9.0)
github-pages
jekyll-feed
jekyll-livereload
Expand Down
3 changes: 3 additions & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ navigation:
- title: Getting Started
url: /setup_instructions/
icon: bi bi-rocket-takeoff
- title: Contributing
url: /contributing/
icon: bi bi-git
- title: Features
url: /features/
icon: bi bi-stars
Expand Down
2 changes: 1 addition & 1 deletion docs/_layouts/latest-release-feature.html
Original file line number Diff line number Diff line change
Expand Up @@ -96,5 +96,5 @@ <h5 class="modal-title mb-1" id="latestFeatureImageModalLabel">Latest Feature Pr
</article>

{% if feature_meta.images and feature_meta.images.size > 0 %}
<script src="{{ '/assets/js/latest-release.js' | relative_url }}"></script>
<script src="{{ '/assets/js/latest-release.js' | relative_url }}?v={{ site.time | date: '%s' }}"></script>
{% endif %}
122 changes: 122 additions & 0 deletions docs/_layouts/showcase-page.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
---
layout: default
---

{% assign accent = page.accent | default: 'blue' %}

<article class="page-content latest-release-page docs-showcase-page latest-release-accent--{{ accent }}">
<section class="latest-release-hero">
<div class="latest-release-hero-copy">
{% if page.breadcrumb and page.breadcrumb.url and page.breadcrumb.label %}
<div class="latest-release-breadcrumb">
<a href="{{ page.breadcrumb.url | relative_url }}"><i class="bi bi-arrow-left"></i> {{ page.breadcrumb.label }}</a>
</div>
{% endif %}

{% if page.eyebrow or page.hero_version %}
<div class="latest-release-pill-row">
{% if page.eyebrow %}
<span class="latest-release-pill">{{ page.eyebrow }}</span>
{% endif %}
{% if page.hero_version %}
<span class="latest-release-subtle">{{ page.hero_version }}</span>
{% endif %}
</div>
{% endif %}

<h1 class="latest-release-hero-title">{{ page.title }}</h1>

{% if page.description %}
<p class="latest-release-hero-description">{{ page.description }}</p>
{% endif %}

{% if page.hero_pills %}
<div class="latest-release-pill-row">
{% for pill in page.hero_pills %}
<span class="latest-release-pill">{{ pill }}</span>
{% endfor %}
</div>
{% endif %}

{% if page.hero_links %}
<div class="latest-release-hero-actions">
{% for link in page.hero_links %}
{% assign button_class = 'btn-outline-secondary' %}
{% if link.style == 'primary' %}
{% assign button_class = 'btn-primary' %}
{% elsif link.style == 'secondary' %}
{% assign button_class = 'btn-secondary' %}
{% endif %}
<a href="{{ link.url | relative_url }}" class="btn {{ button_class }} btn-sm">{{ link.label }}</a>
{% endfor %}
</div>
{% endif %}
</div>

<div class="latest-release-hero-art" aria-hidden="true">
{% if page.hero_icons and page.hero_icons.size > 1 %}
<div class="latest-release-hero-stack">
{% for icon in page.hero_icons limit: 3 %}
<span><i class="bi {{ icon }}"></i></span>
{% endfor %}
</div>
{% else %}
{% assign hero_icon = page.hero_icon %}
{% if hero_icon == nil and page.hero_icons and page.hero_icons.size > 0 %}
{% assign hero_icon = page.hero_icons[0] %}
{% endif %}
<div class="latest-release-icon-orb">
<i class="bi {{ hero_icon | default: 'bi-stars' }}"></i>
</div>
{% endif %}
</div>
</section>

<div class="latest-release-feature-content">
<div class="latest-release-rich-content">
{{ content }}
</div>

{% if page.show_nav and page.nav_links %}
<nav class="page-navigation mt-5">
<div class="row">
{% if page.nav_links.prev %}
<div class="col-md-6">
<a href="{{ page.nav_links.prev.url | relative_url }}" class="btn btn-outline-primary">
<i class="bi bi-arrow-left me-2"></i>{{ page.nav_links.prev.title }}
</a>
</div>
{% endif %}
{% if page.nav_links.next %}
<div class="col-md-6 text-end">
<a href="{{ page.nav_links.next.url | relative_url }}" class="btn btn-outline-primary">
{{ page.nav_links.next.title }}<i class="bi bi-arrow-right ms-2"></i>
</a>
</div>
{% endif %}
</div>
</nav>
{% endif %}
</div>

<div class="modal fade latest-feature-image-modal" id="latestFeatureImageModal" tabindex="-1" aria-labelledby="latestFeatureImageModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-xl">
<div class="modal-content">
<div class="modal-header">
<div>
<h5 class="modal-title mb-1" id="latestFeatureImageModalLabel">Image Preview</h5>
<small class="latest-feature-image-modal-caption" id="latestFeatureImageModalCaption">Click outside the popup to close it.</small>
</div>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body pt-2">
<div class="latest-feature-image-frame">
<img id="latestFeatureImageModalImage" src="" alt="Image preview" />
</div>
</div>
</div>
</div>
</div>
</article>

<script src="{{ '/assets/js/latest-release.js' | relative_url }}?v={{ site.time | date: '%s' }}"></script>
Loading
Loading