Skip to content

Commit dd21873

Browse files
committed
Publish 3.0.0alpha1
SHA256 hashes: jupyter-ai-core-3.0.0-alpha.1.tgz: 2b4a36f576622b341c39e4ab132b9887a389cd135eb66e931178809dbd688248 jupyter_ai-3.0.0a1-py3-none-any.whl: 47328f7490c9f1c3f7e3feb1426ce8db9a945775a9b7b3e5c2144848d2bf4360 jupyter_ai-3.0.0a1.tar.gz: 5851eaf9e2f5649d2d834f2007e50c58da669d3b874bf19d069132dc02b580c4 jupyter_ai_magics-3.0.0a1-py3-none-any.whl: 0195e272b9b6d6114cb2ad415428d690265add2cf70cb0e10d369737b85c93ad jupyter_ai_magics-3.0.0a1.tar.gz: ccbc5ac072c954841329945d89998a05f350bc052280497eba757a434ffb726e
1 parent eeeaece commit dd21873

File tree

7 files changed

+107
-8
lines changed

7 files changed

+107
-8
lines changed

CHANGELOG.md

Lines changed: 101 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,107 @@
22

33
<!-- <START NEW CHANGELOG ENTRY> -->
44

5+
## 3.0.0a1
6+
7+
Hey folks! This v3 release notably introduces **AI personas** that replace chat handlers, fixes various usability issues encountered in v3.0.0a0, and upgrades to LangChain v0.3 & Pydantic v2. 🎉
8+
9+
### AI personas
10+
11+
AI personas re-define how new messages are handled in Jupyter AI, and supersede the previous convention of "chat handlers" used in v2. AI personas are like "chatbots" available in every chat instance and can use any model/framework of their choice.
12+
13+
- Each chat can have any number of AI personas.
14+
- **You have to `@`-mention a persona to get it to reply.** The available personas will be listed after typing `@`, which shows a menu listing the available personas.
15+
- Currently, Jupyter AI only has a single AI persona by default: Jupyternaut.
16+
- Each message may mention any number of AI personas, so you can send the same question to multiple personas.
17+
- Personas can have a custom name & avatar.
18+
- Custom AI personas can be added to your Jupyter AI instance by writing & installing a new package that provides custom AI personas as entry points.
19+
- We plan to add more AI personas by default and/or provide library packages that add AI personas.
20+
- More information will be available in the v3 user documentation once it is ready.
21+
22+
There's also a new v3 documentation page! Currently, only the developer documentation has been updated. Please read through the v3 developer docs if you are interested in writing your own AI personas. 🤗
23+
24+
- Link to new v3 developer docs: https://jupyter-ai.readthedocs.io/en/v3/developers/index.html
25+
26+
### Planned future work
27+
28+
- Jupyternaut in v3 is similar to Jupyternaut in v2, but currently lacks slash commands. We are planning to replace slash commands with agentic tools called by the chat model directly.
29+
30+
- In other words, Jupyternaut will infer your intent based on your prompt and automatically learn/generate/fix files by v3.0.0.
31+
- We will develop this once we begin work on providing APIs for agentic tool use and integrating MCP support after v3.0.0b0 (beta development phase).
32+
33+
- See the roadmap issue & GitHub milestones for more details on our future work: https://github.com/jupyterlab/jupyter-ai/issues/1052
34+
35+
([Full Changelog](https://github.com/jupyterlab/jupyter-ai/compare/@jupyter-ai/[email protected]))
36+
37+
### Enhancements made
38+
39+
- Introduce AI persona framework [#1341](https://github.com/jupyterlab/jupyter-ai/pull/1341) ([@dlqqq](https://github.com/dlqqq))
40+
- Separate `BaseProvider` for faster import [#1338](https://github.com/jupyterlab/jupyter-ai/pull/1338) ([@krassowski](https://github.com/krassowski))
41+
- Added new `gpt-4.1` models [#1325](https://github.com/jupyterlab/jupyter-ai/pull/1325) ([@srdas](https://github.com/srdas))
42+
- Introduce AI persona framework [#1324](https://github.com/jupyterlab/jupyter-ai/pull/1324) ([@dlqqq](https://github.com/dlqqq))
43+
- [v3] Upgrade to jupyterlab-chat v0.8, restore context command completions [#1290](https://github.com/jupyterlab/jupyter-ai/pull/1290) ([@dlqqq](https://github.com/dlqqq))
44+
- Added help text fields for embedding providers in the AI Setting page [#1288](https://github.com/jupyterlab/jupyter-ai/pull/1288) ([@srdas](https://github.com/srdas))
45+
- Allow chat handlers to be initialized in any order [#1268](https://github.com/jupyterlab/jupyter-ai/pull/1268) ([@Darshan808](https://github.com/Darshan808))
46+
- Allow embedding model fields, fix coupled model fields, add custom OpenAI provider [#1264](https://github.com/jupyterlab/jupyter-ai/pull/1264) ([@srdas](https://github.com/srdas))
47+
- Refactor Chat Handlers to Simplify Initialization [#1257](https://github.com/jupyterlab/jupyter-ai/pull/1257) ([@Darshan808](https://github.com/Darshan808))
48+
- Make Native Chat Handlers Overridable via Entry Points [#1249](https://github.com/jupyterlab/jupyter-ai/pull/1249) ([@Darshan808](https://github.com/Darshan808))
49+
- Upgrade to LangChain v0.3 and Pydantic v2 [#1201](https://github.com/jupyterlab/jupyter-ai/pull/1201) ([@dlqqq](https://github.com/dlqqq))
50+
- Show error icon near cursor on inline completion errors [#1197](https://github.com/jupyterlab/jupyter-ai/pull/1197) ([@Darshan808](https://github.com/Darshan808))
51+
52+
### Bugs fixed
53+
54+
- Fix the path missing in inline completion request when there is no kernel [#1361](https://github.com/jupyterlab/jupyter-ai/pull/1361) ([@krassowski](https://github.com/krassowski))
55+
- Periodically update the persona awareness to keep it alive [#1358](https://github.com/jupyterlab/jupyter-ai/pull/1358) ([@brichet](https://github.com/brichet))
56+
- Added a local identity provider. [#1333](https://github.com/jupyterlab/jupyter-ai/pull/1333) ([@3coins](https://github.com/3coins))
57+
- Handle missing field in config.json on version upgrade [#1330](https://github.com/jupyterlab/jupyter-ai/pull/1330) ([@srdas](https://github.com/srdas))
58+
- [3.x] Expand edge case handling in ConfigManager [#1322](https://github.com/jupyterlab/jupyter-ai/pull/1322) ([@dlqqq](https://github.com/dlqqq))
59+
- Open the AI settings in a side panel in Notebook application [#1309](https://github.com/jupyterlab/jupyter-ai/pull/1309) ([@brichet](https://github.com/brichet))
60+
- Add `default_completions_model` trait [#1303](https://github.com/jupyterlab/jupyter-ai/pull/1303) ([@srdas](https://github.com/srdas))
61+
- Pass `model_parameters` trait to embedding & completion models [#1298](https://github.com/jupyterlab/jupyter-ai/pull/1298) ([@srdas](https://github.com/srdas))
62+
- Migrate old config schemas, fix v2.31.0 regression [#1294](https://github.com/jupyterlab/jupyter-ai/pull/1294) ([@dlqqq](https://github.com/dlqqq))
63+
- Remove error log emitted when FAISS file is absent [#1287](https://github.com/jupyterlab/jupyter-ai/pull/1287) ([@srdas](https://github.com/srdas))
64+
- Ensure magics package version is consistent in future releases [#1280](https://github.com/jupyterlab/jupyter-ai/pull/1280) ([@dlqqq](https://github.com/dlqqq))
65+
- Correct minimum versions in dependency version ranges [#1272](https://github.com/jupyterlab/jupyter-ai/pull/1272) ([@dlqqq](https://github.com/dlqqq))
66+
- Allow embedding model fields, fix coupled model fields, add custom OpenAI provider [#1264](https://github.com/jupyterlab/jupyter-ai/pull/1264) ([@srdas](https://github.com/srdas))
67+
- Enforce path imports for MUI icons, upgrade to ESLint v8 [#1225](https://github.com/jupyterlab/jupyter-ai/pull/1225) ([@krassowski](https://github.com/krassowski))
68+
- Fixes duplicate api key being passed in `openrouter.py` [#1216](https://github.com/jupyterlab/jupyter-ai/pull/1216) ([@srdas](https://github.com/srdas))
69+
- Fix MUI theme in Jupyter AI Settings [#1210](https://github.com/jupyterlab/jupyter-ai/pull/1210) ([@MUFFANUJ](https://github.com/MUFFANUJ))
70+
- Fix Amazon Nova support (use `StrOutputParser`) [#1202](https://github.com/jupyterlab/jupyter-ai/pull/1202) ([@dlqqq](https://github.com/dlqqq))
71+
- Remove remaining shortcut to focus the chat input [#1186](https://github.com/jupyterlab/jupyter-ai/pull/1186) ([@brichet](https://github.com/brichet))
72+
- Fix specifying empty list in provider and model allow/denylists [#1185](https://github.com/jupyterlab/jupyter-ai/pull/1185) ([@MaicoTimmerman](https://github.com/MaicoTimmerman))
73+
- Reply gracefully when chat model is not selected [#1183](https://github.com/jupyterlab/jupyter-ai/pull/1183) ([@dlqqq](https://github.com/dlqqq))
74+
75+
### Maintenance and upkeep improvements
76+
77+
- Revert "Introduce AI persona framework (#1324)" [#1340](https://github.com/jupyterlab/jupyter-ai/pull/1340) ([@dlqqq](https://github.com/dlqqq))
78+
- Add `pyupgrade --py39-plus` and `autoflake` to `pre-commit` config [#1329](https://github.com/jupyterlab/jupyter-ai/pull/1329) ([@rominf](https://github.com/rominf))
79+
- Ensure magics package version is consistent in future releases [#1280](https://github.com/jupyterlab/jupyter-ai/pull/1280) ([@dlqqq](https://github.com/dlqqq))
80+
- Correct minimum versions in dependency version ranges [#1272](https://github.com/jupyterlab/jupyter-ai/pull/1272) ([@dlqqq](https://github.com/dlqqq))
81+
- Remove the dependency on `jupyterlab` [#1234](https://github.com/jupyterlab/jupyter-ai/pull/1234) ([@jtpio](https://github.com/jtpio))
82+
- Upgrade to `actions/cache@v4` [#1228](https://github.com/jupyterlab/jupyter-ai/pull/1228) ([@dlqqq](https://github.com/dlqqq))
83+
- Typo in comment [#1217](https://github.com/jupyterlab/jupyter-ai/pull/1217) ([@Carreau](https://github.com/Carreau))
84+
85+
### Documentation improvements
86+
87+
- Overhaul v3 developer documentation [#1344](https://github.com/jupyterlab/jupyter-ai/pull/1344) ([@dlqqq](https://github.com/dlqqq))
88+
- Update documentation to show usage with OpenRouter API and URL [#1318](https://github.com/jupyterlab/jupyter-ai/pull/1318) ([@srdas](https://github.com/srdas))
89+
- Add information about ollama - document it as an available provider and provide clearer troubleshooting help. [#1235](https://github.com/jupyterlab/jupyter-ai/pull/1235) ([@fperez](https://github.com/fperez))
90+
- Add documentation for vLLM usage [#1232](https://github.com/jupyterlab/jupyter-ai/pull/1232) ([@srdas](https://github.com/srdas))
91+
- Update documentation for setting API keys without revealing them [#1224](https://github.com/jupyterlab/jupyter-ai/pull/1224) ([@srdas](https://github.com/srdas))
92+
- Typo in comment [#1217](https://github.com/jupyterlab/jupyter-ai/pull/1217) ([@Carreau](https://github.com/Carreau))
93+
- Docs: Update installation steps to work in bash & zsh [#1211](https://github.com/jupyterlab/jupyter-ai/pull/1211) ([@srdas](https://github.com/srdas))
94+
- Update developer docs on Pydantic compatibility [#1204](https://github.com/jupyterlab/jupyter-ai/pull/1204) ([@dlqqq](https://github.com/dlqqq))
95+
- Update documentation to add usage of `Openrouter` [#1193](https://github.com/jupyterlab/jupyter-ai/pull/1193) ([@srdas](https://github.com/srdas))
96+
- Fix dev install steps in contributor docs [#1188](https://github.com/jupyterlab/jupyter-ai/pull/1188) ([@srdas](https://github.com/srdas))
97+
98+
### Contributors to this release
99+
100+
([GitHub contributors page for this release](https://github.com/jupyterlab/jupyter-ai/graphs/contributors?from=2024-12-26&to=2025-06-04&type=c))
101+
102+
[@3coins](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3A3coins+updated%3A2024-12-26..2025-06-04&type=Issues) | [@brichet](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Abrichet+updated%3A2024-12-26..2025-06-04&type=Issues) | [@Carreau](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3ACarreau+updated%3A2024-12-26..2025-06-04&type=Issues) | [@Darshan808](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3ADarshan808+updated%3A2024-12-26..2025-06-04&type=Issues) | [@dlqqq](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2024-12-26..2025-06-04&type=Issues) | [@ellisonbg](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Aellisonbg+updated%3A2024-12-26..2025-06-04&type=Issues) | [@fperez](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Afperez+updated%3A2024-12-26..2025-06-04&type=Issues) | [@gogakoreli](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Agogakoreli+updated%3A2024-12-26..2025-06-04&type=Issues) | [@Jiya873](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3AJiya873+updated%3A2024-12-26..2025-06-04&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Ajtpio+updated%3A2024-12-26..2025-06-04&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Akrassowski+updated%3A2024-12-26..2025-06-04&type=Issues) | [@lumberbot-app](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Alumberbot-app+updated%3A2024-12-26..2025-06-04&type=Issues) | [@MaicoTimmerman](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3AMaicoTimmerman+updated%3A2024-12-26..2025-06-04&type=Issues) | [@MUFFANUJ](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3AMUFFANUJ+updated%3A2024-12-26..2025-06-04&type=Issues) | [@paulrutter](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Apaulrutter+updated%3A2024-12-26..2025-06-04&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Apre-commit-ci+updated%3A2024-12-26..2025-06-04&type=Issues) | [@rominf](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Arominf+updated%3A2024-12-26..2025-06-04&type=Issues) | [@srdas](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Asrdas+updated%3A2024-12-26..2025-06-04&type=Issues)
103+
104+
<!-- <END NEW CHANGELOG ENTRY> -->
105+
5106
## 3.0.0a0
6107

7108
Hope you all have had a wonderful holiday season! Santa and I present to you the first pre-release of v3, the next major version of Jupyter AI. 🎁
@@ -25,8 +126,6 @@ This pre-release is being published quickly to get feedback from contributors &
25126

26127
[@dlqqq](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2024-12-24..2024-12-26&type=Issues)
27128

28-
<!-- <END NEW CHANGELOG ENTRY> -->
29-
30129
## 2.28.4
31130

32131
Merry Christmas and happy holidays to all! 🎄

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
33
"useWorkspaces": true,
4-
"version": "3.0.0-alpha.0",
4+
"version": "3.0.0-alpha.1",
55
"npmClient": "yarn",
66
"useNx": true
77
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@jupyter-ai/monorepo",
3-
"version": "3.0.0-alpha.0",
3+
"version": "3.0.0-alpha.1",
44
"description": "A generative AI extension for JupyterLab",
55
"private": true,
66
"keywords": [

packages/jupyter-ai-magics/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@jupyter-ai/magics",
3-
"version": "3.0.0-alpha.0",
3+
"version": "3.0.0-alpha.1",
44
"description": "Jupyter AI magics Python package. Not published on NPM.",
55
"private": true,
66
"homepage": "https://github.com/jupyterlab/jupyter-ai",

packages/jupyter-ai-test/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@jupyter-ai/test",
3-
"version": "3.0.0-alpha.0",
3+
"version": "3.0.0-alpha.1",
44
"description": "Jupyter AI test package. Not published on NPM or PyPI.",
55
"private": true,
66
"homepage": "https://github.com/jupyterlab/jupyter-ai",

packages/jupyter-ai/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@jupyter-ai/core",
3-
"version": "3.0.0-alpha.0",
3+
"version": "3.0.0-alpha.1",
44
"description": "A generative AI extension for JupyterLab",
55
"keywords": [
66
"jupyter",

packages/jupyter-ai/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ dependencies = [
2929
# pydantic <2.10.0 raises a "protected namespaces" error in JAI
3030
# - See: https://docs.pydantic.dev/latest/api/config/#pydantic.config.ConfigDict.protected_namespaces
3131
"pydantic>=2.10.0,<3",
32-
"jupyter_ai_magics>=2.13.0",
32+
"jupyter_ai_magics>=3.0.0a1,<4.0.0",
3333
"dask[distributed]",
3434
# faiss-cpu is not distributed by the official repo.
3535
# v1.8.0.post0 should be excluded as it lacks macOS x86 wheels.

0 commit comments

Comments
 (0)