chore(release): aiui 0.3.110 (MCP + platforms + instrumentation + auth + Ask* + DX)#40
Conversation
Consolidation release wrapping up the 10-phase naming / capability refactor tracked in the spring 2026 parity push. Merged since 0.3.109 (squash-merges on main): * #38 fix(lint): resolve 657 ruff errors, undefined names in jobs * #29 feat: Model Context Protocol (MCP) client + HTTP API + UI * #30 feat: platform connectors (Slack / Discord / Teams) * #32 feat: LLM instrumentation (OpenAI / Anthropic / Google / Mistral) * #33 feat: OAuth providers, header auth, JWT sessions, thread sharing * #27 feat: Ask* message family (AskFileMessage / AskActionMessage / AskElementMessage) * #35 feat: DX bundle - ErrorMessage, sync utils, elements API, custom elements, copilot functions, chat settings Public API additions (all lazy-loaded via praisonaiui.__init__): MCP: MCPServer, @on_mcp_connect, @on_mcp_disconnect Channels: current_channel, current_user, @on_slack_reaction_added Auth: User, Session, @oauth_callback, @header_auth_callback, @password_auth_callback, @on_logout, @on_shared_thread_view Instrum: instrument_openai/anthropic/google/mistral, no_instrument, get_token_usage Ask*: AskFileMessage, AskActionMessage, AskElementMessage DX: ErrorMessage, make_async, run_sync, AsyncContext, sleep, format_duration, truncate_text, safe_filename, Plotly, Pyplot, Dataframe (+ *Element wrappers), CustomElement, register_custom_component, CustomElementProtocol, CopilotFunction, @copilot_function, @on_copilot_function_call, call_copilot_function, ChatSettings + TextInput/NumberInput/Slider/Select/Switch/ ColorPicker, @on_settings_update, trigger_settings_update, create_model_settings, create_ui_settings Full test suite: 888 pass, 4 skipped, 8 xfailed, 1 xpassed.
There was a problem hiding this comment.
Code Review
This pull request updates the project version from 0.3.109 to 0.3.110 across pyproject.toml and the version file. Feedback indicates that a minor version bump to 0.4.0 would be more appropriate to reflect the significant features and refactoring involved. Additionally, the review highlights the need to resolve metadata inconsistencies regarding Python version support and the project description.
| [project] | ||
| name = "aiui" | ||
| version = "0.3.109" | ||
| version = "0.3.110" |
There was a problem hiding this comment.
The version increment to 0.3.110 is a patch bump, but the PR description highlights significant new features (MCP, platform connectors, OAuth, instrumentation) and a '10-phase naming / capability refactor'. Under Semantic Versioning, these changes—especially a naming refactor which often involves breaking changes—should trigger a minor version bump (e.g., 0.4.0) to correctly signal the scope of changes to users.
Furthermore, this consolidation release is an ideal time to resolve metadata inconsistencies in this file:
- Python Support:
requires-python = ">=3.10"(line 10) contradicts the Python 3.9 classifier (line 17) and the tool configurations for ruff and mypy (lines 169, 189). - Description: The description on line 4 ('YAML-driven website generator') appears outdated given the new AI UI focus.
| version = "0.3.110" | |
| version = "0.4.0" |
| """Version information.""" | ||
|
|
||
| __version__ = "0.3.109" | ||
| __version__ = "0.3.110" |
chore(release): aiui 0.3.110
Consolidation release wrapping up the 10-phase naming / capability
refactor tracked in the spring 2026 parity push.
Merged since 0.3.109 (squash-merges on main):
AskElementMessage)
custom elements, copilot functions, chat settings
Public API additions (all lazy-loaded via praisonaiui.init):
MCP: MCPServer, @on_mcp_connect, @on_mcp_disconnect
Channels: current_channel, current_user, @on_slack_reaction_added
Auth: User, Session, @oauth_callback, @header_auth_callback,
@password_auth_callback, @on_logout, @on_shared_thread_view
Instrum: instrument_openai/anthropic/google/mistral, no_instrument,
get_token_usage
Ask*: AskFileMessage, AskActionMessage, AskElementMessage
DX: ErrorMessage, make_async, run_sync, AsyncContext,
sleep, format_duration, truncate_text, safe_filename,
Plotly, Pyplot, Dataframe (+ *Element wrappers),
CustomElement, register_custom_component, CustomElementProtocol,
CopilotFunction, @copilot_function, @on_copilot_function_call,
call_copilot_function,
ChatSettings + TextInput/NumberInput/Slider/Select/Switch/
ColorPicker, @on_settings_update, trigger_settings_update,
create_model_settings, create_ui_settings
Full test suite: 888 pass, 4 skipped, 8 xfailed, 1 xpassed.