PsyCloud

Changelog

PsyCloud is in early alpha. The authoritative, always-current record of changes is CHANGELOG.md in the repository, which follows Keep a Changelog and Semantic Versioning. This page summarizes the highlights; consult the repo file for the complete list.

Versioning during alpha

The core library is published as 0.0.1. The 1.0.0 heading in the changelog tracks the in-progress modernization milestone (the full TypeScript rewrite) rather than a dated public release. Treat APIs as subject to change and pin to a specific commit if you need stability.

Unreleased

Added

  • Component schema system for Studio integration (getConfigSchema()).
  • Safe expression evaluator for Survey conditional logic (replaces new Function() — security fix).
  • Design token system with CSS custom properties.
  • Keyboard navigation for radio groups (accessibility).
  • A comprehensive documentation website (this site).

Changed

  • Migrated core modules from CoffeeScript to TypeScript.
  • Standardized input heights and improved hover / disabled states on form components.

Fixed

  • Circle component coordinate documentation.
  • Survey security vulnerability (safe expression parser).

Removed

  • Redundant legacy CoffeeScript library files.

1.0.0 — modernization milestone

The current major effort, captured under 1.0.0 in the repo changelog:

  • Complete TypeScript rewrite of the core library.
  • Dual rendering: Canvas (Konva.js) and HTML components.
  • Component library of canvas + HTML components, including a Survey component with multiple question types.
  • Fluent API for programmatic experiment building, plus DesignBuilder, DesignMatrix, and Counterbalancer.
  • Resource preloader, telemetry, and data collection / export.
  • Platform integrations (Pavlovia, JATOS, MTurk utilities).
  • Build modernization: Webpack 5, native Promises (from Q), Tailwind CSS v4.

Legacy (0.x)

Earlier 0.x versions were CoffeeScript-based and are considered legacy. The TypeScript rewrite is a clean modernization; see CoffeeScript Authoring for how the DSL fits the current canonical pipeline.

Next