diff --git a/.github/workflows/bumpversion.yml b/.github/workflows/bumpversion.yml new file mode 100644 index 00000000..d1efb5f6 --- /dev/null +++ b/.github/workflows/bumpversion.yml @@ -0,0 +1,65 @@ +name: Bump version and changelog +on: + workflow_dispatch + +jobs: + bumpversion: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: actions/checkout@v6 + - name: Get next version + id: tag_version + uses: python-semantic-release/python-semantic-release@v10.5.3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + push: false + - name: Set up Python 3.12 + uses: actions/setup-python@v6 + with: + python-version: "3.12" + - name: Create bumpversion + if: steps.tag_version.outputs.version + id: bumpversion + run: | + pip install bump2version + bump2version --new-version ${{ steps.tag_version.outputs.version }} setup.cfg + - name: Update Changelog + if: steps.tag_version.outputs.version + uses: stefanzweifel/changelog-updater-action@v1.12.0 + with: + latest-version: ${{ steps.tag_version.outputs.tag }} + release-notes: ${{ steps.tag_version.outputs.release_notes }} + - name: Push branch + if: steps.tag_version.outputs.version + run: | + branch_name="bot/${{ steps.tag_version.outputs.tag }}" + git fetch --prune origin + if git show-ref --quiet refs/remotes/origin/$branch_name; then + git push --delete origin $branch_name + fi + git checkout -b $branch_name || git checkout $branch_name + git push origin $branch_name + - name: Create Pull Request + id: cpr + uses: peter-evans/create-pull-request@v8 + with: + token: ${{ secrets.AI_EXNTENSIONS_GITHUB_TOKEN }} + title: "chore: preparing release ${{ steps.tag_version.outputs.version }}" + commit-message: "chore: preparing release ${{ steps.tag_version.outputs.version }}" + branch: "bot/${{ steps.tag_version.outputs.tag }}" + base: main + body: | + Automated version bump for release ${{ steps.tag_version.outputs.version }}. + + This pull request was automatically generated. It includes the following changes: + + - Version: ${{ steps.tag_version.outputs.tag }} + - Previous version: v${{ steps.tag_version.outputs.previous_version }} + + ${{ steps.tag_version.outputs.changelog }} + + No code changes are included in this pull request. The purpose of this PR is to trigger a version bump for the project. + + Once the pull request is merged, a new GitHub release will be created with the updated version. diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..b5a57c4a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,29 @@ +name: Release +on: + pull_request: + types: + - closed + branches: + - main + +jobs: + release: + if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'bot/v') + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: actions/checkout@v6 + - name: Create tag + id: tag_version + uses: python-semantic-release/python-semantic-release@v10.5.3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + push: false + - name: Create a GitHub release + if: steps.tag_version.outputs.tag + uses: ncipollo/release-action@v1 + with: + tag: ${{ steps.tag_version.outputs.tag }} + name: Release ${{ steps.tag_version.outputs.tag }} + body: ${{ steps.tag_version.outputs.release_notes }} diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..44230dfd --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,468 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## v2.5.0 - 2026-05-14 + +### v2.5.0 (2026-05-14) + +#### Features + +- Anthropic multi-turn support ([#220](https://github.com/openedx/openedx-ai-extensions/pull/220), [`e962171`](https://github.com/openedx/openedx-ai-extensions/commit/e96217133d9f44455c705bd2855fe45f6ec0fe76)) + +- Add timestamp for sessions ([#221](https://github.com/openedx/openedx-ai-extensions/pull/221), [`8035a95`](https://github.com/openedx/openedx-ai-extensions/commit/8035a950ef9c9e06cc7694296dfe840ec46d9fc1)) + +#### Chores + +- Bump version ([#222](https://github.com/openedx/openedx-ai-extensions/pull/222), [`1e2a0e9`](https://github.com/openedx/openedx-ai-extensions/commit/1e2a0e9b0a10e9f529af3abf0d5231d223724782)) + +--- + +**Detailed Changes**: [v2.4.1...v2.5.0](https://github.com/openedx/openedx-ai-extensions/compare/v2.4.1...v2.5.0) + +## v2.4.1 - 2026-05-09 + +### v2.4.1 (2026-05-09) + +#### Bug Fixes + +- Correct build error ([#219](https://github.com/openedx/openedx-ai-extensions/pull/219), [`bb0cdb5`](https://github.com/openedx/openedx-ai-extensions/commit/bb0cdb5d156ec2db83f724c79425d517d7f56133)) + +--- + +**Detailed Changes**: [v2.4.0...v2.4.1](https://github.com/openedx/openedx-ai-extensions/compare/v2.4.0...v2.4.1) + +## v2.4.0 - 2026-05-08 + +### v2.4.0 (2026-05-08) + +#### Features + +- Add `up_to_current_unit` retrieval mode to OpenEdXProcessor ([#213](https://github.com/openedx/openedx-ai-extensions/pull/213), [`3aefaad`](https://github.com/openedx/openedx-ai-extensions/commit/3aefaadd7955176b8d34132dd858fafc34182d99)) + +- Edit prompt template from studio ([#183](https://github.com/openedx/openedx-ai-extensions/pull/183), [`76e5107`](https://github.com/openedx/openedx-ai-extensions/commit/76e5107f0badcbc857d13486dc800a06482589c0)) + +#### Documentation + +- Update docs and usage guide to match the latest work on UI IDs ([#214](https://github.com/openedx/openedx-ai-extensions/pull/214), [`972f2fe`](https://github.com/openedx/openedx-ai-extensions/commit/972f2fe66998082a3bafa2364459fe92736ce6bf)) + +#### Chores + +- Bump version ([#218](https://github.com/openedx/openedx-ai-extensions/pull/218), [`4d4a1fe`](https://github.com/openedx/openedx-ai-extensions/commit/4d4a1fe3bc2b7805984cf258acdcc459ca8295bd)) + +--- + +**Detailed Changes**: [v2.3.2...v2.4.0](https://github.com/openedx/openedx-ai-extensions/compare/v2.3.2...v2.4.0) + +## v2.3.2 - 2026-04-09 + +### v2.3.2 (2026-04-09) + +#### Bug Fixes + +- Fix frontend build ([#211](https://github.com/openedx/openedx-ai-extensions/pull/211), [`61ace2e`](https://github.com/openedx/openedx-ai-extensions/commit/61ace2efe0b14c7e25f77cc67d1f6cedbc81e891)) + +--- + +**Detailed Changes**: [v2.3.1...v2.3.2](https://github.com/openedx/openedx-ai-extensions/compare/v2.3.1...v2.3.2) + +## v2.3.1 - 2026-04-09 + +### v2.3.1 (2026-04-09) + +#### Bug Fixes + +- Add default to aspects assets ([#210](https://github.com/openedx/openedx-ai-extensions/pull/210), [`6612f0c`](https://github.com/openedx/openedx-ai-extensions/commit/6612f0cc492f8e316624a2eaa0da41f456022ac1)) + +--- + +**Detailed Changes**: [v2.3.0...v2.3.1](https://github.com/openedx/openedx-ai-extensions/compare/v2.3.0...v2.3.1) + +## v2.3.0 - 2026-04-09 + +### v2.3.0 (2026-04-09) + +#### Features + +- Prevent UI from showing raw JSON when AI response is empty ([#95](https://github.com/openedx/openedx-ai-extensions/pull/95), [`8ed9fd5`](https://github.com/openedx/openedx-ai-extensions/commit/8ed9fd5d3b10a3cbcd84510bcb1b10feb7b0267c)) + +- Add aspects charts ([#193](https://github.com/openedx/openedx-ai-extensions/pull/193), [`571d847`](https://github.com/openedx/openedx-ai-extensions/commit/571d8475e3da0e7062bd4e5717b66d9cac6b8ab5)) + +#### Chores + +- Bump minor version ([#209](https://github.com/openedx/openedx-ai-extensions/pull/209), [`c3bfd73`](https://github.com/openedx/openedx-ai-extensions/commit/c3bfd732996be24829369c0c279df8fc4b4887a7)) + +--- + +**Detailed Changes**: [v2.2.0...v2.3.0](https://github.com/openedx/openedx-ai-extensions/compare/v2.2.0...v2.3.0) + +## v2.2.0 - 2026-04-07 + +### v2.2.0 (2026-04-07) + +#### Features + +- Gracefully present AI failures ([#179](https://github.com/openedx/openedx-ai-extensions/pull/179), [`63e5c64`](https://github.com/openedx/openedx-ai-extensions/commit/63e5c641c5f0924bf9e0b1bdf32dea7ee423b970)) + +#### Bug Fixes + +- Send events even on streaming responses and improve usage logic ([#200](https://github.com/openedx/openedx-ai-extensions/pull/200), [`3ec5287`](https://github.com/openedx/openedx-ai-extensions/commit/3ec528794db7ef0f74350e3f3c2ee98cf191a8b9)) + +#### Chores + +- Bump version to v2.2.0 ([#201](https://github.com/openedx/openedx-ai-extensions/pull/201), [`879e81c`](https://github.com/openedx/openedx-ai-extensions/commit/879e81ccd442e6e4a2168075e988c1e4b0d7bb4f)) + +--- + +**Detailed Changes**: [v2.1.0...v2.2.0](https://github.com/openedx/openedx-ai-extensions/compare/v2.1.0...v2.2.0) + +## v2.1.0 - 2026-04-01 + +### v2.1.0 (2026-04-01) + +#### Features + +- Add event consumer to allow run scopes ([#197](https://github.com/openedx/openedx-ai-extensions/pull/197), [`49247d3`](https://github.com/openedx/openedx-ai-extensions/commit/49247d31388c36d30a012fd5fe4840d78010054d)) + +#### Bug Fixes + +- Fix typo in fixtures ([#195](https://github.com/openedx/openedx-ai-extensions/pull/195), [`7c5fbb1`](https://github.com/openedx/openedx-ai-extensions/commit/7c5fbb1015d8d67dfb0c510b4a46ec22894c2eca)) + +#### Documentation + +- Add ADR about event consumer implementation ([#196](https://github.com/openedx/openedx-ai-extensions/pull/196), [`ee9413c`](https://github.com/openedx/openedx-ai-extensions/commit/ee9413c14319734f6b27f494883eea49676fbb4d)) + +#### Chores + +- Bump version to v2.1.0 ([#198](https://github.com/openedx/openedx-ai-extensions/pull/198), [`0dfc0ca`](https://github.com/openedx/openedx-ai-extensions/commit/0dfc0cadedd607346205cf3318a01566224e8ecc)) + +--- + +**Detailed Changes**: [v2.0.0...v2.1.0](https://github.com/openedx/openedx-ai-extensions/compare/v2.0.0...v2.1.0) + +## v2.0.0 - 2026-03-27 + +### v2.0.0 (2026-03-27) + +#### Breaking Changes + +- Remove deprecated AI Library assistant components and profile ([#171](https://github.com/openedx/openedx-ai-extensions/pull/171), [`b001fad`](https://github.com/openedx/openedx-ai-extensions/commit/b001fadd328f6c0d41d512c45e0e0f811888c077)) + +- Use attempts instead of manually leaving subsequent submissions ([#186](https://github.com/openedx/openedx-ai-extensions/pull/186), [`7a121a2`](https://github.com/openedx/openedx-ai-extensions/commit/7a121a2677041436ea1aa090024344aacba6882b)) + +#### Features + +- Send LLM usage via xAPI events, fix emit event structure ([#192](https://github.com/openedx/openedx-ai-extensions/pull/192), [`de300ad`](https://github.com/openedx/openedx-ai-extensions/commit/de300ada2fb82d7302d052452d603028b4587d65)) + +--- + +**Detailed Changes**: [v1.6.0...v2.0.0](https://github.com/openedx/openedx-ai-extensions/compare/v1.6.0...v2.0.0) + +## v1.6.0 - 2026-03-27 + +### v1.6.0 (2026-03-27) + +#### Features + +- Add xblock service and ADR ([#163](https://github.com/openedx/openedx-ai-extensions/pull/163), [`c7d388d`](https://github.com/openedx/openedx-ai-extensions/commit/c7d388d1fa3f4ea8c8f2963e8bed4db348243746)) + +- Improve admin pages ([#188](https://github.com/openedx/openedx-ai-extensions/pull/188), [`0665d1e`](https://github.com/openedx/openedx-ai-extensions/commit/0665d1e23bdb3ec366106edbcfef8c8d154d4f19)) + +#### Bug Fixes + +- Rename flashcards profile due to a typo ([#187](https://github.com/openedx/openedx-ai-extensions/pull/187), [`e282c88`](https://github.com/openedx/openedx-ai-extensions/commit/e282c888e878ec3ea23744af772dbca1fd45dd80)) + +- Focus ring no longer breaks layout ([#191](https://github.com/openedx/openedx-ai-extensions/pull/191), [`9f40254`](https://github.com/openedx/openedx-ai-extensions/commit/9f4025438bb1190ec8a1b0d9b53b56b18db36dac)) + +- Fix text area focus when the chat answers ([#190](https://github.com/openedx/openedx-ai-extensions/pull/190), [`3af299f`](https://github.com/openedx/openedx-ai-extensions/commit/3af299f5a3850d4f03342324103f4d1f0416fcf8)) + +- Remove cache for the get_profiles function ([#189](https://github.com/openedx/openedx-ai-extensions/pull/189), [`47a93cf`](https://github.com/openedx/openedx-ai-extensions/commit/47a93cf7babfb8c9e7b413e918b08cedae6095f0)) + +#### Documentation + +- Add ADR for AI chat history storage ([#135](https://github.com/openedx/openedx-ai-extensions/pull/135), [`7810b05`](https://github.com/openedx/openedx-ai-extensions/commit/7810b05f6425c474ccf0d42e9a08dcb6442843cb)) + +- Add fixtures and update readme ([#185](https://github.com/openedx/openedx-ai-extensions/pull/185), [`c8dba4d`](https://github.com/openedx/openedx-ai-extensions/commit/c8dba4d4e04eccdea5cbdef29f2974c730f49a76)) + +#### Chores + +- Relax dependencies to support Open edX Ulmo ([#176](https://github.com/openedx/openedx-ai-extensions/pull/176), [`426c7c5`](https://github.com/openedx/openedx-ai-extensions/commit/426c7c5f332237119d15bd8e7398b1f2356ce130)) + +- Bump to v1.6.0 ([#194](https://github.com/openedx/openedx-ai-extensions/pull/194), [`7044dac`](https://github.com/openedx/openedx-ai-extensions/commit/7044dac5c9309f35061b9c31748d02d83e117f74)) + +--- + +**Detailed Changes**: [v1.5.0...v1.6.0](https://github.com/openedx/openedx-ai-extensions/compare/v1.5.0...v1.6.0) + +## v1.5.0 - 2026-03-25 + +### v1.5.0 (2026-03-25) + +#### Features + +- Improve flashcards ([#182](https://github.com/openedx/openedx-ai-extensions/pull/182), [`35df7a4`](https://github.com/openedx/openedx-ai-extensions/commit/35df7a40c67028b50c8820889df99ca6bb0d124a)) + +#### Documentation + +- Add the extensibility quickstart ([#161](https://github.com/openedx/openedx-ai-extensions/pull/161), [`f4f65d8`](https://github.com/openedx/openedx-ai-extensions/commit/f4f65d8b48f2b4026b054872260ba48c4b25af33)) + +--- + +**Detailed Changes**: [v1.4.1...v1.5.0](https://github.com/openedx/openedx-ai-extensions/compare/v1.4.1...v1.5.0) + +## v1.4.1 - 2026-03-20 + +### v1.4.1 (2026-03-20) + +#### Bug Fixes + +- Use prepareContextData in FlashCardFResponse ([#180](https://github.com/openedx/openedx-ai-extensions/pull/180), [`07f89be`](https://github.com/openedx/openedx-ai-extensions/commit/07f89befd8c95893d2ed7433f9ef92cd2b581d39)) + +--- + +**Detailed Changes**: [v1.4.0...v1.4.1](https://github.com/openedx/openedx-ai-extensions/compare/v1.4.0...v1.4.1) + +## v1.4.0 - 2026-03-20 + +### v1.4.0 (2026-03-20) + +#### Features + +- LiteLLM client-side cache implementation ([#152](https://github.com/openedx/openedx-ai-extensions/pull/152), [`4301889`](https://github.com/openedx/openedx-ai-extensions/commit/4301889f97542c24be7b203c19f03be13f5e5910)) + +- Usage improvements ([#177](https://github.com/openedx/openedx-ai-extensions/pull/177), [`51011ce`](https://github.com/openedx/openedx-ai-extensions/commit/51011cef9f322d9a3ddd8efeaa292ff925ec9ff2)) + +- Add flashcards frontend component ([#174](https://github.com/openedx/openedx-ai-extensions/pull/174), [`e3c21d5`](https://github.com/openedx/openedx-ai-extensions/commit/e3c21d5c701847364822ae6ffc76b89890c556a5)) + +- Add backend for flashcards ([#178](https://github.com/openedx/openedx-ai-extensions/pull/178), [`b83137f`](https://github.com/openedx/openedx-ai-extensions/commit/b83137f70cdbb780a43e8bc442def338c1877c50)) + +- Resolve dependencies collision ([#164](https://github.com/openedx/openedx-ai-extensions/pull/164), [`a816641`](https://github.com/openedx/openedx-ai-extensions/commit/a816641958d253caa0965b42f09dd063830cde2f)) + +#### Bug Fixes + +- Update package.json to add style files in the bundle ([#172](https://github.com/openedx/openedx-ai-extensions/pull/172), [`430b3f3`](https://github.com/openedx/openedx-ai-extensions/commit/430b3f32f132469712d8a9e17f23428597e75034)) + +--- + +**Detailed Changes**: [v1.3.0...v1.4.0](https://github.com/openedx/openedx-ai-extensions/compare/v1.3.0...v1.4.0) + +## v1.3.0 - 2026-03-11 + +### v1.3.0 (2026-03-11) + +#### Features + +- Enable functions in streaming ([#160](https://github.com/openedx/openedx-ai-extensions/pull/160), [`24db972`](https://github.com/openedx/openedx-ai-extensions/commit/24db972139e98da4eb51e0040f80f7e22e6dde7a)) + +#### Refactors + +- Add review steps for problem creator in studio ([#165](https://github.com/openedx/openedx-ai-extensions/pull/165), [`fa3ec9e`](https://github.com/openedx/openedx-ai-extensions/commit/fa3ec9ee10eeaa0e2a055ab814cb481253f1651b)) + +- NPM distribution improvements ([#169](https://github.com/openedx/openedx-ai-extensions/pull/169), [`c80a565`](https://github.com/openedx/openedx-ai-extensions/commit/c80a565bef78ccb615a8d306054fb2ce9498eae2)) + +#### Chores + +- Bump to v1.3.0 ([#170](https://github.com/openedx/openedx-ai-extensions/pull/170), [`0c66a3a`](https://github.com/openedx/openedx-ai-extensions/commit/0c66a3a2291e6d5115574cbc21377b3d917ef4bb)) + +--- + +**Detailed Changes**: [v1.2.0...v1.3.0](https://github.com/openedx/openedx-ai-extensions/compare/v1.2.0...v1.3.0) + +## v1.2.0 - 2026-03-10 + +### v1.2.0 (2026-03-10) + +#### Features + +- Expose version number in admin ([#147](https://github.com/openedx/openedx-ai-extensions/pull/147), [`24d29e0`](https://github.com/openedx/openedx-ai-extensions/commit/24d29e0176830e322ddc05530c5b9f2f4b45c33b)) + +- Add the get_course_info function to OpenEdX processor ([#145](https://github.com/openedx/openedx-ai-extensions/pull/145), [`4a597c0`](https://github.com/openedx/openedx-ai-extensions/commit/4a597c0c43e037b19061bce4a137be0a3f802478)) + +- Pages and Resources AI extensions Card ([#151](https://github.com/openedx/openedx-ai-extensions/pull/151), [`ad0eba2`](https://github.com/openedx/openedx-ai-extensions/commit/ad0eba2de65617d3e03b1fbd9a1e4b7569093093)) + +- Multiple scopes per location ([#149](https://github.com/openedx/openedx-ai-extensions/pull/149), [`f6eb0e9`](https://github.com/openedx/openedx-ai-extensions/commit/f6eb0e97e028793c5460b62be999ddce1165cfe4)) + +#### Bug Fixes + +- QA fixes in the extractor code ([#140](https://github.com/openedx/openedx-ai-extensions/pull/140), [`b862005`](https://github.com/openedx/openedx-ai-extensions/commit/b862005db9418b829461d2cc75e370c6be66efb9)) + +- Improve educator questions generation ([#155](https://github.com/openedx/openedx-ai-extensions/pull/155), [`23ab6a6`](https://github.com/openedx/openedx-ai-extensions/commit/23ab6a644c7c4d526eb79b7cee9c03fce8e8af87)) + +- Clean up resolver logs ([#159](https://github.com/openedx/openedx-ai-extensions/pull/159), [`1a77ec9`](https://github.com/openedx/openedx-ai-extensions/commit/1a77ec98294435172312eb0afebe40e09a637e99)) + +- Fix debug view merge ([#148](https://github.com/openedx/openedx-ai-extensions/pull/148), [`3bd6e31`](https://github.com/openedx/openedx-ai-extensions/commit/3bd6e31f7edea832e9c59b3622f6a9826cce9b33)) + +#### Refactors + +- Make course_id and location_id optional in get_profile ([#154](https://github.com/openedx/openedx-ai-extensions/pull/154), [`2b1f3d5`](https://github.com/openedx/openedx-ai-extensions/commit/2b1f3d5ac5cdda446b82a041387f42ce94796d9b)) + +- LLMProcessor accepts extra_params for direct litellm config ([#158](https://github.com/openedx/openedx-ai-extensions/pull/158), [`e08a296`](https://github.com/openedx/openedx-ai-extensions/commit/e08a2966a191f97b300eaf6e26984b4108041d20)) + +#### Chores + +- Bump version to v1.2.0 ([#167](https://github.com/openedx/openedx-ai-extensions/pull/167), [`583e855`](https://github.com/openedx/openedx-ai-extensions/commit/583e85583b90f7755a5ef5cdfb4715454523b999)) + +--- + +**Detailed Changes**: [v1.1.0...v1.2.0](https://github.com/openedx/openedx-ai-extensions/compare/v1.1.0...v1.2.0) + +## v1.1.0 - 2026-02-19 + +### v1.1.0 (2026-02-19) + +#### Features + +- Add read the docs config file ([#97](https://github.com/openedx/openedx-ai-extensions/pull/97), [`a8956e3`](https://github.com/openedx/openedx-ai-extensions/commit/a8956e3287e3929a0c373c80a3b5fdfb5e4ab377)) + +- Centralize orchestrator instantiation via BaseOrchestrator ([#99](https://github.com/openedx/openedx-ai-extensions/pull/99), [`ebc2416`](https://github.com/openedx/openedx-ai-extensions/commit/ebc241655f749e66783ac6ed1df8128958ce2108)) + +- Improve extensibility ([#125](https://github.com/openedx/openedx-ai-extensions/pull/125), [`b246dd1`](https://github.com/openedx/openedx-ai-extensions/commit/b246dd165697b3b3152b4537fd28e113d390af1e)) + +#### Bug Fixes + +- Improve Django admin preview readability in dark mode ([#101](https://github.com/openedx/openedx-ai-extensions/pull/101), [`2541c58`](https://github.com/openedx/openedx-ai-extensions/commit/2541c588a6ddef2146fbdf3213db0d81dd723751)) + +- Update keys for UI config in custom_prompt ([#124](https://github.com/openedx/openedx-ai-extensions/pull/124), [`31e66be`](https://github.com/openedx/openedx-ai-extensions/commit/31e66bef025c2d0d1f1fe0ff39c38f7e73fa33b7)) + +- Add validation to profile if prompt_template does not exist ([#121](https://github.com/openedx/openedx-ai-extensions/pull/121), [`e9eea41`](https://github.com/openedx/openedx-ai-extensions/commit/e9eea4159b88a565ea23319e0f5b0da66f91f19a)) + +- Resolve path to prompt template for libraries question generator ([#129](https://github.com/openedx/openedx-ai-extensions/pull/129), [`15a8ffb`](https://github.com/openedx/openedx-ai-extensions/commit/15a8ffb770d58fd3dd2cd4be456dafafeb143e9f)) + +- Remove automatic sending of custom message into chat box ([#136](https://github.com/openedx/openedx-ai-extensions/pull/136), [`a794e3c`](https://github.com/openedx/openedx-ai-extensions/commit/a794e3caf205d612a5ea38229a296b2b1b82c9cc)) + +- Fix location_id stuck bug ([#128](https://github.com/openedx/openedx-ai-extensions/pull/128), [`c1d8bfc`](https://github.com/openedx/openedx-ai-extensions/commit/c1d8bfc76f8189301425739ce188c99076129c9e)) + +- When streaming, closing the chat window will continue to capture focus and reopen the chat div ([#142](https://github.com/openedx/openedx-ai-extensions/pull/142), [`b164fff`](https://github.com/openedx/openedx-ai-extensions/commit/b164fff377cb3ba48d7a1001abf4d97c51aa36c5)) + +#### Refactors + +- Refactor processors folder structure ([#100](https://github.com/openedx/openedx-ai-extensions/pull/100), [`e6caf77`](https://github.com/openedx/openedx-ai-extensions/commit/e6caf7720e2f97b72d5540a80a12deffbd29e5bd)) + +- Move orchestrators to their own folder and move run_async to SessionOrchestrator ([#131](https://github.com/openedx/openedx-ai-extensions/pull/131), [`25bb0d8`](https://github.com/openedx/openedx-ai-extensions/commit/25bb0d84144d7d230f2a8c67ca74a761daf4f049)) + +- Improve frontend styling and accessibility ([#130](https://github.com/openedx/openedx-ai-extensions/pull/130), [`7357a57`](https://github.com/openedx/openedx-ai-extensions/commit/7357a57acacd0922d264d5a8f99e88a2e5a9b8e5)) + +#### Style + +- Update code to use TypeScript as type checker ([#111](https://github.com/openedx/openedx-ai-extensions/pull/111), [`cb297cc`](https://github.com/openedx/openedx-ai-extensions/commit/cb297cceffc5e85f6807c5a3ef8b754322f664b4)) + +#### Documentation + +- Docs fixes and improvements ([#103](https://github.com/openedx/openedx-ai-extensions/pull/103), [`a1a1ed6`](https://github.com/openedx/openedx-ai-extensions/commit/a1a1ed6781e5e49d7306a8cf39b61e19f34c905e)) + +- Use "Open edX" trademark properly in the documentation ([#98](https://github.com/openedx/openedx-ai-extensions/pull/98), [`5e02075`](https://github.com/openedx/openedx-ai-extensions/commit/5e02075a71e02fc938c8396b7e544766c0d43c65)) + +#### Chores + +- Update litellm dependencies for stream ([#73](https://github.com/openedx/openedx-ai-extensions/pull/73), [`be2cb0c`](https://github.com/openedx/openedx-ai-extensions/commit/be2cb0c1808593176e52e0717b20d80581fa23e9)) + +--- + +**Detailed Changes**: [v1.0.0...v1.1.0](https://github.com/openedx/openedx-ai-extensions/compare/v1.0.0...v1.1.0) + +## v1.0.0 - 2025-12-24 + +### v1.0.0 (2025-12-24) + +This is the first release of this package. It is compatible with Teak and should also be compatible with Ulmo. + +#### Features + +- Making a working concept ([#2](https://github.com/openedx/openedx-ai-extensions/pull/2), [`9b2f45c`](https://github.com/openedx/openedx-ai-extensions/commit/9b2f45cd5d5ec66cb155c826a204ce8af4c8f9db)) + +- Add CI workflow and fix related issues ([#16](https://github.com/openedx/openedx-ai-extensions/pull/16), [`e1d1c2b`](https://github.com/openedx/openedx-ai-extensions/commit/e1d1c2b9b3fe474c6edff082f3aac6a4a21dcca9)) + +- Add tutor plugin and package installation ([#14](https://github.com/openedx/openedx-ai-extensions/pull/14), [`363eff3`](https://github.com/openedx/openedx-ai-extensions/commit/363eff3fcea0a5e6fff8a1ac2946e7d342be5362)) + +- Use tutor configs to select model, key and options in litellm ([#19](https://github.com/openedx/openedx-ai-extensions/pull/19), [`1dd99d4`](https://github.com/openedx/openedx-ai-extensions/commit/1dd99d4d4bb437bc7ad717f62336fd87424655fc)) + +- Add workflow model flexible ([#26](https://github.com/openedx/openedx-ai-extensions/pull/26), [`93a3c3f`](https://github.com/openedx/openedx-ai-extensions/commit/93a3c3fe852508cdf88bd0cdf94375c96afcddda)) + +- UI runtime configuration ([#27](https://github.com/openedx/openedx-ai-extensions/pull/27), [`be73c4d`](https://github.com/openedx/openedx-ai-extensions/commit/be73c4d46962b08b222542badedafd9e2d057cf0)) + +- Add chat with unit context ([#38](https://github.com/openedx/openedx-ai-extensions/pull/38), [`d0c9aef`](https://github.com/openedx/openedx-ai-extensions/commit/d0c9aef2b7fd83628630ca5b02603ca75f80ee91)) + +- POC: add library problem ([#35](https://github.com/openedx/openedx-ai-extensions/pull/35), [`43aab4b`](https://github.com/openedx/openedx-ai-extensions/commit/43aab4b1d239d127a02f90bb8c4f2bde3cde8c43)) + +- Improve unit content readability with structured component extractors ([#44](https://github.com/openedx/openedx-ai-extensions/pull/44), [`5213c8b`](https://github.com/openedx/openedx-ai-extensions/commit/5213c8b860cc7f43f605a5febf14a8c2a6bc0ec3)) + +- Allow multimodel for responses and completion processors ([#53](https://github.com/openedx/openedx-ai-extensions/pull/53), [`a7ecdf9`](https://github.com/openedx/openedx-ai-extensions/commit/a7ecdf983c0b0f18547c6b4906246b02596ae63a)) + +- Standardize workflow context handling and retrieval ([#42](https://github.com/openedx/openedx-ai-extensions/pull/42), [`b0885c9`](https://github.com/openedx/openedx-ai-extensions/commit/b0885c97f2a78bc9a31785dde7530ab575ad8c90)) + +- Remove extra context ([#61](https://github.com/openedx/openedx-ai-extensions/pull/61), [`abe2c2f`](https://github.com/openedx/openedx-ai-extensions/commit/abe2c2f1c355a5ed0db01d9e16b91c237b4ddcbe)) + +- Improve prompt and better try/catch in problem generator ([#65](https://github.com/openedx/openedx-ai-extensions/pull/65), [`3df248f`](https://github.com/openedx/openedx-ai-extensions/commit/3df248fe63621e6e19519ed81c271b7e0cabd604)) + +- Update system role for the LLM greet function ([#66](https://github.com/openedx/openedx-ai-extensions/pull/66), [`6493f8c`](https://github.com/openedx/openedx-ai-extensions/commit/6493f8c9b0b44fee5673dc77fac6dcb145630855)) + +- POC: add streaming responses ([#52](https://github.com/openedx/openedx-ai-extensions/pull/52), [`4fc0782`](https://github.com/openedx/openedx-ai-extensions/commit/4fc0782760d4beb11ecfc0bfa0ec33b15abc1fa9)) + +- Refactor problem HTML processing for LLM-friendly output ([#60](https://github.com/openedx/openedx-ai-extensions/pull/60), [`b36806a`](https://github.com/openedx/openedx-ai-extensions/commit/b36806a04125204fdc85e3e1d3633d25edbe0e04)) + +- Add xAPI event ([#24](https://github.com/openedx/openedx-ai-extensions/pull/24), [`febc35f`](https://github.com/openedx/openedx-ai-extensions/commit/febc35fcf031743f3adb9e607b781b0232e94b1b)) + +- Add CourseOutlineProcessor implementation ([#67](https://github.com/openedx/openedx-ai-extensions/pull/67), [`171fa1a`](https://github.com/openedx/openedx-ai-extensions/commit/171fa1a437a1287efed7c40e88972b6cd6a699f8)) + +- Enable functions feature ([#62](https://github.com/openedx/openedx-ai-extensions/pull/62), [`a4170e5`](https://github.com/openedx/openedx-ai-extensions/commit/a4170e5e44b6bf19b15742bf1e3783553f47086b)) + +- Allow include MCP configuration via settings ([#49](https://github.com/openedx/openedx-ai-extensions/pull/49), [`05c259b`](https://github.com/openedx/openedx-ai-extensions/commit/05c259b674aca2e68bcfa481c9850a6d4d6d0e90)) + +- Enable documentation testing in CI ([#71](https://github.com/openedx/openedx-ai-extensions/pull/71), [`6c0fb87`](https://github.com/openedx/openedx-ai-extensions/commit/6c0fb878dd5325dacfa46c86fa9eb9459425190a)) + +- Rename and materialize django models ([#76](https://github.com/openedx/openedx-ai-extensions/pull/76), [`dbe2db4`](https://github.com/openedx/openedx-ai-extensions/commit/dbe2db47bb125bfbbe0783e8abda48b23556ea01)) + +- Move long LLM calls to a celery task ([#75](https://github.com/openedx/openedx-ai-extensions/pull/75), [`c3ea4c2`](https://github.com/openedx/openedx-ai-extensions/commit/c3ea4c245b782f16d4d0dda1438201f70f2039a7)) + +- Allow change prompts via django admin ([#77](https://github.com/openedx/openedx-ai-extensions/pull/77), [`c4a03d7`](https://github.com/openedx/openedx-ai-extensions/commit/c4a03d709badcdeaed8a230f123b34d9aa1ab527)) + +- Allow model and key overrides in the profile ([#79](https://github.com/openedx/openedx-ai-extensions/pull/79), [`70959a6`](https://github.com/openedx/openedx-ai-extensions/commit/70959a63a76dec089fe3426c167deed132aed2a2)) + +- Using a model to store reusable prompts ([#80](https://github.com/openedx/openedx-ai-extensions/pull/80), [`5760f32`](https://github.com/openedx/openedx-ai-extensions/commit/5760f32fd23048f4e9e5c5ac24526bdaee154c09)) + +#### Bug Fixes + +- Fix formatting issue in catalog-info.yaml ([#4](https://github.com/openedx/openedx-ai-extensions/pull/4), [`7b9f04c`](https://github.com/openedx/openedx-ai-extensions/commit/7b9f04c6ba2e650b8f1410591beb8ba63407c972)) + +- Add json and txt files to the manifest ([#45](https://github.com/openedx/openedx-ai-extensions/pull/45), [`3634be0`](https://github.com/openedx/openedx-ai-extensions/commit/3634be0a2f63c8fc841425074eeb43ac2e1469e2)) + +- Fix non-streaming responses ([#72](https://github.com/openedx/openedx-ai-extensions/pull/72), [`ad10442`](https://github.com/openedx/openedx-ai-extensions/commit/ad10442587bdea6013593340126388358620b974)) + +#### Refactors + +- Rename pipelines as workflows ([#25](https://github.com/openedx/openedx-ai-extensions/pull/25), [`ed4642f`](https://github.com/openedx/openedx-ai-extensions/commit/ed4642f30572ca401bb3199bc3c3fc345e8f82ca)) + +- Join completion and responses processors, fix chat order ([#58](https://github.com/openedx/openedx-ai-extensions/pull/58), [`6919fa0`](https://github.com/openedx/openedx-ai-extensions/commit/6919fa0406d92cab70dabf82f6f0b6d7b0a0f8f2)) + +#### Documentation + +- Write a more complete readme ([#18](https://github.com/openedx/openedx-ai-extensions/pull/18), [`570d4f8`](https://github.com/openedx/openedx-ai-extensions/commit/570d4f8dc70a49103a7674ab1b96cab819f92f58)) + +- Add usage and configuration docs ([#81](https://github.com/openedx/openedx-ai-extensions/pull/81), [`87aa66c`](https://github.com/openedx/openedx-ai-extensions/commit/87aa66cc4969750c9c1c5c9cf4939cce05ba045b)) + +#### Chores + +- Update standard workflow files ([#1](https://github.com/openedx/openedx-ai-extensions/pull/1), [`d11dd8a`](https://github.com/openedx/openedx-ai-extensions/commit/d11dd8aacecaa5c196353678f690f1b646396e50)) + +- Boiler plate PR ([#3](https://github.com/openedx/openedx-ai-extensions/pull/3), [`0275948`](https://github.com/openedx/openedx-ai-extensions/commit/027594889494ef76d0bc0a237ef22d5571bc1064)) + +- Add litellm requirement ([#6](https://github.com/openedx/openedx-ai-extensions/pull/6), [`b10d519`](https://github.com/openedx/openedx-ai-extensions/commit/b10d51952754e400f3567bb644286385d5a60b62)) + +- Apply quality fixes ([#39](https://github.com/openedx/openedx-ai-extensions/pull/39), [`8719380`](https://github.com/openedx/openedx-ai-extensions/commit/87193808d43a3b57f1f764a4cfb3cf5ad57edb1d)) + +- Config additions ([#64](https://github.com/openedx/openedx-ai-extensions/pull/64), [`cef8ff5`](https://github.com/openedx/openedx-ai-extensions/commit/cef8ff53bbcf5b04b9bd58fd5f5b63c4faed3fe9)) + +- Log complete exception in early return error responses ([#74](https://github.com/openedx/openedx-ai-extensions/pull/74), [`0921b7d`](https://github.com/openedx/openedx-ai-extensions/commit/0921b7dd9b414fd6ed675b82a06880915ce1a158)) + +- Change versions to v1 ([#82](https://github.com/openedx/openedx-ai-extensions/pull/82), [`b200e96`](https://github.com/openedx/openedx-ai-extensions/commit/b200e9616b32395c5a6129df5481f489dfe771ec)) + +#### Build + +- Use ubuntu-lts-latest in readthedocs build ([#5](https://github.com/openedx/openedx-ai-extensions/pull/5), [`0d19ec9`](https://github.com/openedx/openedx-ai-extensions/commit/0d19ec9f9d3e75f63f8f5f42597f57d35d2f77cc)) + +--- + +**Detailed Changes**: [v1.0.0](https://github.com/openedx/openedx-ai-extensions/commits/v1.0.0) diff --git a/CHANGELOG.rst b/CHANGELOG.rst deleted file mode 100644 index edc34f2f..00000000 --- a/CHANGELOG.rst +++ /dev/null @@ -1,55 +0,0 @@ -Change Log -########## - -.. - All enhancements and patches to openedx_ai_extensions will be documented - in this file. It adheres to the structure of https://keepachangelog.com/ , - but in reStructuredText instead of Markdown (for ease of incorporation into - Sphinx documentation and the PyPI description). - - This project adheres to Semantic Versioning (https://semver.org/). - -.. There should always be an "Unreleased" section for changes pending release. - -Unreleased -********** - -* - -1.0.0 – 2025-12-24 -********************************************** - -Added -===== - -* Prompt template model for reusable AI prompts across profiles -* Custom prompt support via Django admin interface -* Async task orchestrator for long-running AI workflows with Celery -* Session metadata support for task status tracking -* Documentation: comprehensive configuration guide and usage guide -* Support for provider-specific configuration overrides via "options" key -* Base models for workflows, profiles, scopes, and prompt templates - -Changed -======= - -* **BREAKING**: Renamed "config" key to "provider" in profile configurations -* Improved streaming response handling to eliminate double messages -* Enhanced test coverage across all major features -* Moved PromptModel to top-level models to avoid circular imports - -Fixed -===== - -* Validation errors now trigger on clean() instead of save() -* Faster mocked streaming for testing -* Double streaming message bug resolved -* Various QA and test coverage improvements - -0.1.0 – 2025-04-11 -********************************************** - -Added -===== - -* First release on PyPI. diff --git a/docs/changelog.rst b/docs/changelog.rst index 565b0521..25938a8b 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1 +1,4 @@ -.. include:: ../CHANGELOG.rst +Changelog +========= + +.. include:: ../CHANGELOG.md diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 00000000..641240d5 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,8 @@ +[bumpversion] +current_version = v2.5.0 +commit = False +tag = False + +[bumpversion:file:backend/openedx_ai_extensions/__init__.py] + +[bumpversion:file:frontend/package.json]