Releases: microsoft/chat-copilot
Semantic Memory Integration into Copilot Chat
BREAKING UPDATE
This change introduces semantic-memory to copilot-chat:
- https://github.com/microsoft/chat-copilot/blob/main/README.md
- https://github.com/microsoft/chat-copilot/blob/main/webapi/README.md
- https://github.com/microsoft/chat-copilot/blob/main/memorypipeline/README.md
This change represents a signifant shift our memory architecture with the promise to support use-cases beyond what is possible with the semantic-kernel connectors.
To maintain continuity of service for a existing deployments, we highly recommend upgrading to Release 0.4 prior to deploying this release for the application to support "maintenance mode".
As part of this shift, existing chat memories will be automatically migrated: however, any documents previously imported must be re-imported. For additional details, please refer to migration section at the end of these release notes.
An immediate benefit to this switch is that chat-copilot will no longer create 3 indexes (or containers) per chat in the vector database. Only a single index is utilized for the application. This removes the maximum-index constraint for copilot chat
A downside to this shift is that support for Postgres and Chroma have been temporarily removed.
Co-authored-by: Tao Chen TaoChenOSU@users.noreply.github.com
Co-authored-by: Teresa Hoang 125500434+teresaqhoang@users.noreply.github.com
What's Changed
Please sync to the current state of
main
to realize subsequent stabilization updates.
Full Changelog: 0.4...0.5
Memory Migration
Migration of existing chat memories is automatically triggered when the expected index (default: chatmemory
) does not exist. During migration, the application will be held in maintenance-mode (no chats) and once completed, the previous indexes may be removed.
Note: Chat history is always preserved. Memory migration affects only the short-term and long-term memory extractions for each chat.
Migrate existing memories:
- Ensure capacity exist to create one new index (chatmemory) and also create "global-documents" index, if it doesn't already exist.
- Deploy updated API service
- Deploy updated APP site
- Any request will trigger migration (/healthz)
- Verify webapp functioning (chat)
- Verify `chatmemory`` index exists
- Remove all indexes that are not chatmemory
Reset memory migration
If for some reason migration is not successful or needs to be reset:
- Stop API service
- Remove
chatmemory
andglobal-documents
indexes. - Start API service
- Any request will trigger migration (/healthz)
- Verify webapp functioning (chat)
- Verify `chatmemory`` index exists
Opt-out of migration:
To avoid memory migration, remove the existing indexes ahead of time:
- Stop API service
- Delete all existing indexes.
- Deploy updated API
- Deploy updated APP
0.4 - Last release before integration with Semantic Memory
Highlighted Changes
- Refactor ChatSkill to use new Chat Completions prompt format by @teresaqhoang in #337
- Maintenance framework by @crickman in #316
- Maintenance and memory fixes by @crickman in #365
What's Changed
- Integration tests workflow by @glahaye in #285
- doc: βοΈ Update README.md clarifying install script. by @m2web in #286
- Delete-chat fix to also remove document index by @crickman in #288
- Clarify requirements before deploying to Azure by @alliscode in #291
- Bump prettier from 3.0.1 to 3.0.3 in /webapp by @dependabot in #298
- Bump serve from 14.2.0 to 14.2.1 in /webapp by @dependabot in #297
- Adding Timeout Limit option for /chat requests by @teresaqhoang in #304
- Update SK from 0.19.230804.2-preview to 0.21.230828.2-preview by @TaoChenOSU in #305
- Bump actions/checkout from 3 to 4 by @dependabot in #299
- Bump @fluentui/react-components from 9.29.4 to 9.30.1 in /webapp by @dependabot in #296
- Fix formatting of Aad url in react env variables by @jimmystridh in #303
- Bump @azure/msal-react from 1.5.9 to 1.5.10 in /webapp by @dependabot in #295
- Bump @azure/msal-browser from 2.38.1 to 2.38.2 in /webapp by @dependabot in #294
- Adding option for plugin timeout + using proper userId for guest accounts by @teresaqhoang in #314
- Updating SK packages to 0.23.230906.2-preview by @teresaqhoang in #329
- Verify backend is up before running frontend in start scripts by @m2web in #319
- Maintenance framework by @crickman in #316
- Bump System.IdentityModel.Tokens.Jwt from 6.32.2 to 6.32.3 in /webapi by @dependabot in #328
- Bump Microsoft.Identity.Web from 2.13.3 to 2.13.4 in /webapi by @dependabot in #327
- Fix async signature by @crickman in #334
- Fix Exception catch block for vector-storage connector by @crickman in #343
- Bump @typescript-eslint/parser from 6.4.0 to 6.6.0 in /webapp by @dependabot in #322
- Bump microsoft-cognitiveservices-speech-sdk from 1.31.0 to 1.32.0 in /webapp by @dependabot in #323
- Bump @azure/msal-react from 1.5.10 to 1.5.11 in /webapp by @dependabot in #324
- Bump @types/node from 20.5.1 to 20.6.0 in /webapp by @dependabot in #326
- Update sub-readmes for getting started by @momuno in #345
- Fix multi-user chat feature toggle behavior by @TaoChenOSU in #336
- Querying chat messages with partition key by @teresaqhoang in #346
- Bump Microsoft.Azure.Cosmos from 3.35.3 to 3.35.4 in /webapi by @dependabot in #354
- Bump @microsoft/signalr from 7.0.10 to 7.0.11 in /webapp by @dependabot in #363
- Bump @fluentui/react-icons from 2.0.209 to 2.0.216 in /webapp by @dependabot in #361
- Bump @typescript-eslint/parser from 6.6.0 to 6.7.0 in /webapp by @dependabot in #359
- Bump @fluentui/react-components from 9.30.1 to 9.31.1 in /webapp by @dependabot in #360
- Bump docker/login-action from 2 to 3 by @dependabot in #358
- Bump docker/build-push-action from 4 to 5 by @dependabot in #356
- Bump docker/metadata-action from 4 to 5 by @dependabot in #357
- Refactor ChatSkill to use new Chat Completions prompt format by @teresaqhoang in #337
- Remove unused webapi packages by @dehoward in #364
- Maintenance and memory fixes by @crickman in #365
- Dev UX - Redirect root path to swagger by @crickman in #368
- Updating SK to dotnet-0.24.230918.1-preview by @teresaqhoang in #369
New Contributors
- @m2web made their first contribution in #286
- @jimmystridh made their first contribution in #303
Full Changelog: 0.3...0.4
0.3
Breaking Changes
- E2E AAD authentication - This change removes the key based authentication between the webApp and the webApi and replaces it with E2E AAD user based authentication when deployed to Azure. This drastically improves the security of the deployed resources but does require some additional AAD setup. This change also removes the need for an AAD Application when running locally which greatly simplifies things. #126
- Cosmos Db schema changes - This change improves the performance of Chat-Copilot by redesigning the partition keys used in Cosmos Db collections. This is a breaking change and will require special attention when deploying over existing resources, this blog post has all the details. #240
What else changed
- Integration with Azure Content Moderation Service by @teresaqhoang in #143
- Added ability to delete chats by @teresaqhoang in #193
- Add dockerfile and docker-compose support by @huangyingting in #184
- Fix scenario tests by @TaoChenOSU in #265
- WebApi integration tests by @glahaye in #268
- Encapsulate signalR hub connection instance by @TaoChenOSU in #144
- Add community sections to the main ReadMe by @TaoChenOSU in #195
- Adding the branch name to the concurrency group to separate deploymen⦠by @alliscode in #205
- Re-ordered plug-in result to be included after chat-history by @crickman in #182
- Fix problem when sqlAdminPassword is not provided by @glahaye in #207
- added more generic exception message and summary by @ashishwebt in #219
- Fix Null Reference on Content-Saftey service by @crickman in #222
- Tweak ContentSafetyOptions.Enabled attribution and stream-line ServiceExtensiosn by @crickman in #234
- Add a dotnet format check workflow by @TaoChenOSU in #216
- Add missing step to README instructions for enabling auth by @gitri-ms in #235
- Update import document tool to new auth model by @gitri-ms in #239
- Fix incorrect tab mentioned for frontend app registration by @Rainson12 in #248
- Building main.json from main.bicep to get latest changes. by @alliscode in #262
- Render chat messages as markdown by @Rainson12 in #263
- Update Dockerfile.nginx by @huangyingting in #269
- Add scenario test readme by @TaoChenOSU in #272
- *nix codestyle by @dluc in #282
- Updating broken links and links to wrong repository. by @alliscode in #278
- Lot's of docs and README fixes and improvements!
New Contributors
- @gitri-ms made their first contribution in #126
- @ashishwebt made their first contribution in #219
- @huangyingting made their first contribution in #184
- @Rainson12 made their first contribution in #248
- @dluc made their first contribution in #282
Full Changelog: 0.2...0.3
0.2
Switching release numbering system
What's Changed
- Fix typo in README.md by @eltociear in #109
- Readme: Provide instructions if used custom model naming for Azure OpenAI by @momuno in #98
- Bump Roslynator.Analyzers from 4.3.0 to 4.4.0 in /webapi by @dependabot in #119
- Bump Roslynator.Formatting.Analyzers from 4.3.0 to 4.4.0 in /webapi by @dependabot in #118
- Bump Roslynator.CodeAnalysis.Analyzers from 4.3.0 to 4.4.0 in /webapi by @dependabot in #117
- Bump @typescript-eslint/parser from 6.2.0 to 6.2.1 in /webapp by @dependabot in #112
- Bump prettier from 3.0.0 to 3.0.1 in /webapp by @dependabot in #115
- Bump @types/react from 18.2.17 to 18.2.18 in /webapp by @dependabot in #116
- Bump @typescript-eslint/eslint-plugin from 6.2.0 to 6.2.1 in /webapp by @dependabot in #113
- Bump @fluentui/react-components from 9.27.1 to 9.27.4 in /webapp by @dependabot in #114
- Upload documents in parallel + truncate text for long document names by @dehoward in #83
- Refactor webapi directory structure by @dehoward in #100
- Update SK packages by @crickman in #120
- π§ Update OpenApiPlugin paths by @teresaqhoang in #127
- Run formatting scripts during PR builds by @dehoward in #124
- Integrating Stepwise planner by @teresaqhoang in #121
- Update permissions on deploy scripts + only run Github build workflows on relevant paths by @dehoward in #135
- Fix relative paths in deploy scripts by @dehoward in #136
- π Fix connection error handling + uncaught exceptions by @teresaqhoang in #134
- Fix app registration link in README by @crickman in #142
- Rename "MemoriesStore" to "MemoryStore" by @glahaye in #138
- Update Chat Copilot gif on primary Readme.md by @momuno in #147
- Fix C# CodeQL alerts + add JS/TS to CodeQL by @dehoward in #139
- π Adding new app state to handle user info by @teresaqhoang in #145
- Updating template hash. by @alliscode in #162
- Update Readme with note on execution policy. by @momuno in #161
- Bump eslint from 8.46.0 to 8.47.0 in /webapp by @dependabot in #167
- Bump @azure/msal-browser from 2.38.0 to 2.38.1 in /webapp by @dependabot in #168
- Bump @types/node from 20.4.5 to 20.5.0 in /webapp by @dependabot in #171
- Bump Microsoft.Azure.Cosmos from 3.35.2 to 3.35.3 in /webapi by @dependabot in #173
- Bump Microsoft.VisualStudio.Threading.Analyzers from 17.6.40 to 17.7.30 in /webapi by @dependabot in #174
- Bump @typescript-eslint/parser from 6.2.1 to 6.3.0 in /webapp by @dependabot in #169
- Bump microsoft-cognitiveservices-speech-sdk from 1.30.1 to 1.31.0 in /webapp by @dependabot in #170
- Bump Azure.AI.FormRecognizer from 4.0.0 to 4.1.0 in /webapi by @dependabot in #172
- Functional improvements + bug squashing by @teresaqhoang in #153
- Adding option to view full stepwise context after every run by @teresaqhoang in #149
- Handling unable to create plan error by @teresaqhoang in #176
- Tuned: Document chunking parameters and debug output (customer input) by @crickman in #178
- Add postgresql memory store by @kbeaugrand in #175
- UX improvements: A11y labels, fixing space input bug, enabling RLFH, etc. by @teresaqhoang in #179
- Clean deployment scripts usage descriptions by @TaoChenOSU in #181
New Contributors
- @eltociear made their first contribution in #109
- @crickman made their first contribution in #120
- @kbeaugrand made their first contribution in #175
Full Changelog: 0731234...0.1