Releases: aymwoo/OpenLearn-Next-V2
Releases · aymwoo/OpenLearn-Next-V2
Release list
v0.2.3 Release
Release Notes v0.2.3
发布日期: 2026年7月30日
主要更新
1. 课程管理功能增强 (CourseManagement.tsx)
- 图标工具栏: 课程卡片顶部新增预览/编辑、复制、删除快捷图标按钮。
- 筛选 Chips 快捷过滤: 支持按选课人数(>0)、内容非空及创建时间(本月)一键过滤课程。
- 乐观 UI 复制体验: 点击复制立即生成带 Loading 状态的占位卡片,后端复制完成后自动刷新。
- 级联删除警示确认: 删除课程前展示受影响的白板元素、排课计划、选课记录与作业数量,防止误删。
2. 交互白板扩展注册表 (Whiteboard Registries)
FullscreenRendererRegistry: 提供统一的第三方插件全屏渲染注册表,支持动态识别 code、markdown、question、equation 等组件。PropertyEditorRegistry: 提供统一的右侧属性面板自定义属性编辑器注册表,插件可通过register(type, component)自定义组件参数配置。
3. 插件宿主架构与文档全量升级
- 架构版本统一: 平台版本、宿主 API 版本及文档版本统一升级至
0.2.3。 - Sphinx 官方文档完善: 补充
plugin-manifest-spec.md(完整 Manifest 规范)与existing-plugins-guide.md(7 大内置范例插件拆解指南)。
版本说明
- 平台
openlearn-next升至 0.2.3。 @openlearn/plugin-sdk保持^3.4.3。
v0.2.2 - Whiteboard Registries & Course Management
Features
- FullscreenRendererRegistry: Extensible fullscreen views via
register(type, component). Smart default renderer detects data fields (code/markdown/question/text/url/coursewareUuid/equation). Fullscreen overlay portals to document.body with fixed viewport coverage. - PropertyEditorRegistry: Plugin-customizable whiteboard property panels via
register(type, component). Data-driven API withupdateData(partial). - Course Management: Filter chips (enrollment, content, this-month), icon toolbar (View/Copy/Delete), delete with stats confirmation dialog, copy with optimistic UI.
- Backend:
DELETE /api/lessons/:id,GET /api/lessons/:id/stats,POST /api/lessons/:id/clone
Fixes
- Stale closure in
fetchLessonscausing navigation to always redirect to first course - Drag-and-drop from palette failing when existing components on canvas
Docs
docs/reference/plugin-ui-extension-slots.md: Added fullscreen and property editor registry APIsdocs/whiteboard/whiteboard-runtime.md: Comprehensive architecture documentation
v0.1.15 - Patch Release
Features
- Remote Plugin Update Detection: Replace hardcoded market data with dynamic version checking via
git ls-remote(fallback to GitHub/Gitee Releases API) and semver comparison; addupdateSourcefield to plugin manifest (@openlearn/plugin-sdk@3.4.3); add per-plugin "检查更新" button with server-first download and client-side fallback; support pre-release version badges. - Dashboard Quick Access: Make the brand logo/name area clickable to return to the dashboard; add an explicit "系统总览" / "Dashboard" nav button in the top header bar with active-state highlighting.
- Whiteboard Toolbar Docked: Move the interactive whiteboard drawing toolbar from a centered floating overlay into the top white area as a docked, left-aligned bar with a bottom border separator.
- Admin Panel Monitoring Consolidation: Move "SQLite 数据库健康体检" and "分布式操作系统硬件状况" cards from the "学校教职及系统配置" tab into the "系统监控" tab, consolidating all system health metrics under one monitoring view.
- Plugin Center ZIP Install Relocated: Move the ZIP drag-and-drop install area from the plugin store grid into the "发现" tab header bar.
Fixes
- Agent Intro Crash: Fix
Cannot read properties of undefined (reading 'agentIntro')crash by adding a safe fallback when the language key is unrecognized. - Repository URL: Fix incorrect repository URL in package.json from
github.com/openlearn/openlearnv2togithub.com/aymwoo/OpenLearn-Next-V2.
openlearn-next v0.1.13
openlearn-next v0.1.13
Patch release — in-place plugin update + resilient Worker activation.
Features
- In-place plugin update: `plugin.update_zip` command + `updatePluginFromZip` API preserve plugin UUID, config and data on upgrade (`42f8759`)
- Server update endpoints: `POST /api/plugins/:id/update-zip-raw`, `x-install-mode: update` on install, `GET /api/plugins/by-manifest/:manifestId` (`c10b123`)
- Install wizard update mode: version compare, downgrade/in-use guards, locked target plugin (`53a8658`)
Fixes
- Resilient Worker activation timeout: 60s default with sliding `activate-progress` heartbeat; configurable via `OPENLEARN_WORKER_ACTIVATE_TIMEOUT_MS` / `OPENLEARN_WORKER_ACTIVATE_TIMEOUT_PROGRESS_SLIDE_MS` (`c6a9730`)
- Plugin SDK sync: type-only facade re-exports + synced `.d.ts` token exports (`9d0d793`); published as `@openlearn/plugin-sdk@3.4.2`
Docs
- Plugin-dev reference: DI token dictionary, capability/permission matrix, UI extension slot props, database API, host shared-deps, in-place update & distribution flow
Misc
- PluginCenter refresh after ZIP install; DB UUID return + executionMode honor on raw install; spotlight state-event forwarding; agent artifact .gitignore
v0.1.12 - Interactive Whiteboard Multi-Page System & Student Points Ledger
Release Notes v0.1.12
发布日期: 2026年7月26日
主要更新
1. 互动白板多页系统重构与体验优化 (Whiteboard Pagination System)
- 解耦设计意图与强隔离: 厘清白板 P1, P2, P3 分页与课程环节 (Lesson Segments) 的映射关系。白板 P1, P2, P3 作为独立多页画布(多场景/多环节板书隔离),重写
currentPage与pageId的渲染过滤逻辑,彻底解决在环节激活状态下组件和笔画跨页覆盖与污染的问题。 - 全套页面管理 (CRUD): 支持双击页码按钮或下拉菜单重命名页面、一键复制当前页及其画布组件(带坐标偏移)、安全删除页面(带二次确认警示及保底逻辑)与拖拽/左右移动重排序。
- 页面大纲与缩略图抽屉 (Page Outline & Thumbnail Drawer): 在底部导航栏增加大纲控制按钮,可一键唤起全套白板页面的高颜值网格缩略卡片,直观展示各页组件与笔画数量并支持快速跳转。
- 结构化持久化与 Socket.IO 多端同步: 白板页面配置持久化保存至
page_meta配置元素中,结合 Socket.IOwhiteboard-update实时推送page-change与page-meta-update事件,确保全班师生切页与大纲更新秒级同步。 - 顶部工具栏 UI 精效化: 将顶部工具栏中的“AI 助教”按钮重构为与其他工具完全一致的精简图标按钮(
<Wand2 size={16} />),提升工具栏空间利用率与视觉一致性。
2. 学生积分与学期末总积分架构重构 (Student Points Ledger & Semester Grading)
- 统一积分流水日志 (Points Audit Ledger): 新增
student_point_logs数据库日志表,记录每笔积分变动的学生、插件来源、维度、变动分值、原因及时间戳,并通过 EventBus (points.awarded) 和 Socket.IO 实时推送到前端成长轨迹。 - 动态积分维度注册表 (Points Dimension Registry): 引入
IPointsDimensionRegistryToken,支持内置维度(考勤出勤分、学习进度分、平时作业分、期末/大考得分)及第三方插件动态注册新积分维度(如 AI 练习分、互动抢答分、互评贡献分)。 - 学期末总积分动态加权计算与归档: 重构
/api/classes/:classId/semester-summary引擎,支持动态加载已注册维度的班级权重进行标准化求和,并将dimension_scores结构化快照存档至student_semester_reports。 - Plugin SDK 接入支持: 在
@openlearn/plugin-sdk导出IPointsDimensionRegistryToken与IPointsLedgerServiceToken,使插件开发者可无缝注册积分维度与记录积分变动。
3. 测试与验证 (Tests & Verification)
- 新增互动白板多页隔离与页面 CRUD 单元测试
src/features/whiteboard/__tests__/whiteboard-pagination.test.ts(6/6 tests passed)。 - 新增积分流水与维度注册表单元测试
packages/core/di/__tests__/points-ledger.test.ts(6/6 tests passed)。
版本说明
- 平台
openlearn-next由 0.1.11 升至 0.1.12(patch)。 @openlearn/plugin-sdk保持workspace:*自动关联。
OpenLearn V2 v0.1.11
[0.1.11] - 2026-07-25
Features
- Plugin system (P7-A2): complete the unified plugin runtime refactor — wire real
capabilities intoPluginCapabilityGateway, integrate plugin lifecycle via unified
facades, surface unified plugin facades (IPluginLifecycleManager,
IPluginDistributionManager,IUnifiedExtensionRegistry, …) into
PlatformServiceRegistry, and expose them through@openlearn/plugin-sdk. (#e435bba, #475e9e1, #163b1fe, #6b8153e, #1b13eba) - User menu & profile: collapse the top-right username / secure-logout area into a
circular avatar button with a dropdown (Profile / Logout); profile modal supports
editing the display name; password-change flow added (teacher + student). (#f818550, #86e7e25, #4fd9e91) - Class list summary: class management list now shows per-class summary chips —
student count, course count (schedules), assignment count — without expanding the row. (#4451d5b) - Dashboard Activity Center: live in-progress status, pause/resume and
enter-classroom controls, light theme. (#bfecccc, #e1d9ecb) - Class roster: add list view mode and grid layout. (#05ea25e)
- Navigation: optimize platform navigation with grouped categories, badge support,
and a registry adapter. (#2242613) - Routing: reflect the active page in the browser address bar via hash routing. (#506f617)
- Docs: official documentation architecture upgrade to a 25-folder taxonomy; refactor
the plugin-development AI Skill guide to the latest V2 architecture. (#7e62138, #cd31c3a)
Fixes
- Dashboard Activity Center: resolve perpetual loading of the widget. (#cca16b9)
- plugin-sdk build: externalize npm dependencies in the SDK bundle so it no longer
throwsDynamic require of "path"at runtime. (#b50392e)
Chores / Docs
- Purge non-system plugin artifacts and clean up the plugin build manifest
(remove quiz-pro and other purged plugin entries). (#1b71c21, #690c704, #1ff7f59) - Bump
@openlearn/plugin-sdkreferences to 3.4.1 and document the P7-A2 unified
plugin services; publish@openlearn/plugin-sdk@3.4.0. (#5070506, #7d04c73) - Add platform foundation audit report, navigation (PF-02) audit report, and a
documentation quality review report. (#2e9b494, #c4ee1c8, #c272d6f) - Purge obsolete historical sprint reports / RFC drafts and synchronize docs with the
implementation. (#1b5662c, #543bd17) - Add Plugin System Refactor Proposal (P7-A2). (#c53bd3d)