Releases

Releases

Published changes, newest first.

v0.3.3

Main objective

Make curriculum exploration clearer and improve platform reliability.

Changes

  • Show actionable next steps when opening learning paths or the full curriculum.
  • Improve graph readability, panel transitions and reduced-motion accessibility.
  • Fix concurrency issues affecting progress, curriculum publication and sessions.
  • Reorganize Go code into cohesive domains and graph and learning subpackages.

v0.3.2

Main objective

Keep curriculum browsing and proposal editing responsive as the curriculum and the number of concurrent contributors grow.

Changes

  • Separated lightweight curriculum structure reads from full unit content and loaded Markdown only when a unit document is opened.
  • Made curriculum searches return bounded summaries from PostgreSQL instead of materializing every unit's content in application memory.
  • Replaced the global curriculum advisory lock with shared projection locks and proposal-specific row locks, allowing different drafts to change concurrently.
  • Kept rebase planning non-blocking and propagated request cancellation through its read-only database snapshot.
  • Avoided graph reconstruction when a draft already targets the current curriculum proposal.
  • Made curriculum modification content and historical diffs load one focused unit at a time, including proposal-created and retired units.
  • Replaced eager dependency and recognition picker catalogs with debounced, bounded server-side searches that preserve proposal working-state semantics.
  • Made acceptance apply only the accepted proposal to the materialized curriculum instead of replaying the complete publication history.
  • Deferred stale-draft rebases until a draft is opened or modified and avoided calculating full rebase plans for every draft in proposal lists.
  • Resolved MCP proposal-unit responses from focused unit history and immediate relationships instead of reconstructing the complete curriculum graph.
  • Added trigram indexes for published unit name and content search.
  • Bounded expensive graph-order optimization for large proposal overviews.
  • Bounded the PostgreSQL connection pool and exposed its utilization through health response headers.

v0.3.1

Main objective

Help curriculum contributors and agents produce complete, reusable learning units with coherent prerequisite boundaries.

Changes

  • Established a canonical editorial contract for learner-facing unit content, including sufficient intuition, formalism and worked examples where needed.
  • Clarified how to factor shared knowledge into focused units without duplication, partial overlap or hidden prerequisites.
  • Exposed the same canonical authoring documents through MCP resources and the argument-free get_authoring_guidance tool, so agents can load them even when their host does not provide resource reads.
  • Directed MCP agents to load that guidance before authoring, search for existing knowledge and preserve the same expectations in unit creation, editing and dependency tools.

v0.3.0

Main objective

Open curriculum development to selected contributors while keeping proposal acceptance subject to manual administrator approval.

Features

  • Added contributor access managed through single-use, expiring administrator invitations, while public registration continues to create regular members.
  • Added user administration with contributor status, active invitations and each user's proposal history.
  • Allowed contributors to create private drafts and submit immutable active proposals for shared review.
  • Added administrator acceptance and rejection without deleting rejected work, preserving it as a reference for its authors and administrators.
  • Reused the curriculum modification workspace for read-only proposal review, including proposal and unit diffs, with administrator decision actions.
  • Exposed the contributor submission and administrator decision workflow consistently through web, REST and MCP.

v0.2.8

Main objective

Strengthen curriculum workflows and keep their behaviour consistent across web, REST and MCP.

Changes

  • Preserved learning-path targets across curriculum publications by migrating them through recognitions.
  • Improved proposal history by placing draft branches above the proposal state they build on.
  • Made curriculum behaviour more consistent across web, REST and MCP while simplifying the shared workflows behind them.

v0.2.7

Main objective

Refine proposal history navigation and make project evolution visible.

Changes

  • Clarified incremental proposal history with a continuation fade and removed redundant arrows from proposal links.
  • Rebalanced historical proposal panes so the active unit content receives priority while the history remains compact context.
  • Added Releases and Roadmap to About, backed by the canonical release and plan documents and sharing the same list-and-detail infrastructure as Documentation.
  • Exposed the current application version consistently across About, REST and MCP.

v0.2.6

Main objective

Improve historical proposal inspection.

Changes

  • Corrected historical arrows to point from older states to newer ones and clarified incremental loading with a faded continuation.
  • Added a read-only graph to accepted proposal details, including unit navigation, dependency context and content inspection at that curriculum state.

v0.2.5

Main objective

Make proposal review and pane navigation more predictable.

Changes

  • Made pane breadcrumbs converge on canonical server-rendered state, preserved proposal navigation position and constrained long breadcrumb labels.
  • Made published proposal details accessible from history, ordered history and rebase timelines newest-first, and added incremental history loading.
  • Made content diffs treat rewritten paragraphs as complete replacements while retaining word-level detail for small edits.
  • Clarified the draft list and the distinction between publishing and accepting a proposal, with small visual refinements to proposal changes.

v0.2.4

Main objective

Make graph navigation and unit content controls clearer in narrow layouts.

Changes

  • Restored ordinary graph and search navigation after closing a unit's content reader, while retaining quick content switching while the reader is open.
  • Aligned the unit completion action naturally below narrow titles and removed unnecessary button padding.
  • Reduced graph title weight and line height, with slightly smaller text, spacing and nodes when the graph's own container is narrow.

v0.2.3

Main objective

Improve multi-pane layout consistency and reduce production runtime overhead.

Changes

  • Coordinated horizontal padding across visible content panes while preserving fixed navigation and structural pane widths.
  • Treated declared content modes as usable inner widths and aligned bounded lists and forms with their actual readable measures.
  • Allocated surplus proposal workspace width to the dense proposal view instead of the bounded unit reader.
  • Kept narrow unit titles readable by moving completion actions onto their own row when necessary.
  • Replaced aggregate proposal change totals with compact counts by change type.
  • Reused immutable normal and administrator MCP server instances while keeping authentication and user identity request-scoped.
  • Set Render's Go runtime memory limit to 400 MiB.

v0.2.2

Main objective

Make curriculum guidance available to people and agents while improving the responsiveness of large proposal graphs.

Changes

  • Added concise About documentation backed by one canonical Markdown source shared with MCP resources.
  • Made Markdown, LaTeX and final-state proposal semantics directly discoverable from the relevant MCP tools.
  • Improved Documentation panel layout and navigation continuity.
  • Reduced curriculum layout search from 512 to 128 candidates.
  • Reused SVG path samples and skipped geometrically impossible collision checks without changing graph routing criteria.
  • Reorganized implementation packages under the four top-level backend layers.

v0.2.1

Main objective

Make draft proposals represent their final proposed state rather than the editing history of units created within the same draft.

Changes

  • Updating a unit created by the same proposal now updates its existing create_unit change while preserving the unit identity.
  • Repeated REST API, MCP and web edits converge to one creation containing the final name and content.
  • Updates to published units continue to use explicit rename and content changes.

v0.2.0

Main objective

Provide experimental REST and MCP interfaces for agent clients to interact with every platform capability delivered in 0.1.0.

Features

  • An OpenAPI contract for an experimental, unversioned /api surface. The API may change between 0.x releases; a stable versioned path is deferred until the compatibility policy is known.
  • Consistent JSON resources, errors, strict request validation and pagination for growing collections.
  • Personal bearer tokens that inherit their owner's permissions, are shown once, and are stored only as cryptographic hashes.
  • Public reads for the current published curriculum, units, dependencies and accepted proposal history.
  • Private learning-path and recommendation operations, plus progress reporting with direct, recognized and completed states.
  • Administrator proposal editing, conflict resolution and publication through the same services used by the web interface.
  • An agent-oriented MCP server with resources, structured tools and guidance for curriculum discovery, learning workflows and administrator proposals.
  • OAuth 2.1 authorization-code support with PKCE and Client ID Metadata Documents, allowing remote agent clients to connect to a user's account and users to inspect or revoke those connections alongside personal API tokens.

v0.1.0

Main objective

Deliver the first usable release, with public curriculum access and curriculum modification restricted to an administrator account.

Features

  • Proposal-based curriculum modification for administrators, covering units, dependencies, content and recognitions while preserving durable identities and history.
  • Immediate acceptance of administrator-published proposals.
  • Public graph browsing, search, navigation and unit content access.
  • Account registration, sign-in and recovery.
  • Personal learning paths and unit completion tracking.