Changelogο
Changelogο
All notable changes to the PRISM project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.6.6] - 2026-01-02ο
Changedο
Documentation: Updated ReadTheDocs specifications with new schema keys and features.
Consistency: Synchronized version numbers across all project files (
codemeta.json,CITATION.cff, etc.).
[1.6.5] - 2025-12-25ο
Addedο
Template Editor (Web UI): Create and edit Survey/Biometrics JSON templates with schema-derived field help.
Value-only editing: Keys are fixed; users edit values via form controls (no raw JSON/brackets for typical fields).
Item workflows: Add/select items (questions/metrics), edit per-item fields, validate, and download templates.
[1.6.2] - 2025-12-24ο
Addedο
Biometrics Support: Enhanced biometrics conversion and validation UI.
Methods Boilerplate: Added API endpoint and UI for generating methods boilerplate text.
Internationalization: Enhanced metadata structure for internationalization support.
Build Tools: Added macOS build script and enhanced Windows build version metadata.
Schemas: Added new PRISM schemas and example templates for survey and biometrics.
Changedο
Refactoring: Improved output directory handling and validation for survey and biometrics imports.
Demo Data: Restructured demo dataset paths and related scripts.
[1.6.1] - 2025-12-22ο
Addedο
Survey Generator UI: Added display of response scales (levels), units, and value ranges for items in the Survey Export tool.
Metadata Extraction: Enhanced template info extraction to include item-level metadata (Scale, Units, Min/Max values).
Rebranding: Renamed repository to
prism-studioand updated all internal/external references.
Fixedο
Version Consistency: Synchronized version numbers across
setup.py,src/__init__.py,prism.py, and API endpoints.Documentation: Updated all documentation links and script names to reflect the new
prism-studiobranding.
[1.6.0] - 2025-12-20ο
Addedο
Survey Data Processing (PRISM Studio)ο
Survey import wizard with TSV/CSV/Excel support
Library-based conversion using template JSON schemas
Automatic participant detection from data columns
Value validation against library definitions (min/max/levels)
Missing value handling with configurable strategies
Detailed import logs with row-by-row feedback
Derivatives Systemο
Survey scoring recipes in JSON format (
derivatives/surveys/*.json)Reverse coding support for inverted items
Subscale computation (sum, mean methods)
Multi-format export: CSV, Excel (with Codebook sheet), SPSS (.save), R/Feather
Rich metadata in exports: Variable labels, value labels, score details
Codebook generation: JSON and TSV codebooks with full documentation
Participant variables merge: Age, sex, education included in derivatives
PRISM Naming Conventionsο
Strict suffix validation for survey (
_survey) and biometrics (_biometrics)Physio and eyetrack suffixes added to BIDS regex
Task-based sidecar naming (
task-<name>_survey.json)
Structured Issue Systemο
PRISM error codes (PRISM001-PRISM9xx) with severity levels and categories
Error categories: dataset structure, file naming, sidecar/metadata, schema validation, content validation, BIDS compatibility, plugin errors
Comprehensive
src/issues.pymodule for consistent error reportingUpdated
docs/ERROR_CODES.mdwith complete error code reference
Output Formatsο
JSON output (
--json,--json-pretty) for CI/CD integrationSARIF format (
--format sarif) for GitHub Code ScanningJUnit XML (
--format junit) for test runnersMarkdown (
--format markdown) for documentationCSV export (
--format csv) for spreadsheet analysisOutput file redirection (
-o,--output)
Auto-Fix Systemο
Automatic fixing of common issues (
--fix)Dry-run mode (
--dry-run) to preview fixesFixable issues: missing dataset_description.json, missing sidecars, .bidsignore updates
List all fixable issues (
--list-fixes)
Plugin Systemο
Custom validators via Python plugins in
<dataset>/validators/Plugin template generator (
--init-plugin <name>)Plugin discovery and loading (
--list-plugins)Plugin disable flag (
--no-plugins)Context-aware API with access to files, subjects, modalities
REST APIο
Blueprint-based API at
/api/v1/Endpoints:
/health,/schemas,/schemas/<version>,/validateJSON request/response format
Async validation with progress tracking
New Schemasο
Physiological (physio) schema: ECG, EDA, respiration, PPG, EMG support
Eyetracking schema: gaze tracking, fixations, saccades
Survey Libraryο
Bilingual survey templates (German + English in single JSON)
i18n system for compile-time language selection
Surveys: PHQ-9, GAD-7, PSS-10, WHO-5, Rosenberg, MAIA, PSQI, BDI, DANCEQ, HFerst, GoldDSI
Migration tools:
prism_tools.py survey i18n-migrateandi18n-build
Project Configurationο
.prismrc.jsonproject config file supportSettings: default schema version, output format, strict mode, ignored patterns
Per-dataset configuration
Testingο
pytest unit tests covering core functionality
Test coverage for issues, validators, config, formatters
Demo folder used for integration testing
Web Interface Enhancementsο
Derivatives page with terminal output log
Progress tracking with percentage and current file
Navbar links to Derivatives and ReadTheDocs
Server-Sent Events for real-time updates
API blueprint integration
Changedο
Renamed entry script to
prism-studio.pyCLI now uses structured error codes instead of free-form messages
Validation results include severity levels (error, warning, info)
Improved error messages with fix hints
Fixedο
Fixed
.gitignoreto properly track test filesFixed modality patterns to include JSON sidecars for physio/eyetrack
Fixed BIDS regex to accept physio, eyetrack, events suffixes
1.0.0 - 2025-10-09ο
Added - Major Release πο
This is the first major release of PRISM with comprehensive features for validating psychological research datasets.
Schema Versioning Systemο
Docker-like schema versioning (
stable,v0.1, etc.)--schema-versionCLI flag to specify validation schema version--list-versionscommand to display available schema versionsSchema version selector in web interface (dropdown menu)
Version information included in all validation results
Automatic version normalization (supports both
0.1andv0.1formats)Default to
stableversion when not specifiedComprehensive documentation for schema versioning
Web Interface Improvementsο
Schema version dropdown in upload form
Schema version selector for local folder validation
Updated results page to display schema version used
Improved logo display with correct aspect ratio
Enhanced user experience with clear version selection
Core Featuresο
Multi-modal validation support (image, movie, audio, EEG, eye-tracking, behavior, physiological)
BIDS-inspired filename validation
JSON schema validation for metadata files
Cross-subject consistency checking
Comprehensive validation reports
Support for session-based and direct subject organization
Local folder validation (no upload required)
DataLad-style upload (metadata only, placeholders for large files)
Documentationο
Added
SCHEMA_VERSIONING_GUIDE.md- Complete user guideAdded
SCHEMA_VERSIONING_IMPLEMENTATION.md- Technical detailsAdded
SCHEMA_VERSIONING_QUICKREF.md- Quick referenceAdded
SCHEMA_VERSIONING_COMPLETE.md- Implementation summaryAdded
SCHEMA_VERSIONING_CHECKLIST.md- Development checklistAdded
SCHEMA_VERSIONING_VISUAL.md- Visual documentationUpdated README.md with versioning information
Infrastructureο
Created
schemas/stable/directory for stable schema versionCreated
schemas/v0.1/directory for version 0.1Enhanced
schema_manager.pywith version-aware loadingUpdated
runner.pyto support schema version parameterImproved web interface validation workflow
Changedο
Updated main validator to accept
schema_versionparameterModified web interface to pass schema version through validation pipeline
Enhanced templates with schema version UI elements
Updated README with new features and examples
Technical Detailsο
Python 3.10+ compatible
Flask-based web interface
JSON Schema validation
Cross-platform support (Windows, macOS, Linux)
Zero-dependency validation core
Migration Guideο
For existing users:
No breaking changes - all existing code continues to work
Default behavior uses
stableschema versionExplicitly specify version only if needed for specific use cases
See
docs/SCHEMA_VERSIONING_GUIDE.mdfor detailed migration instructions
Release Notesο
v1.0.0 Highlightsο
π First Major Release - PRISM is now production-ready!
Key Features:
β Schema versioning system (Docker-like)
β Web interface with schema selection
β Command-line tools with version support
β Comprehensive validation for psychological datasets
β Complete documentation suite
Whatβs Next:
Schema diff utilities
Auto-migration tools
Enhanced modality support
CI/CD integration examples
Acknowledgmentsο
Developed at MRI-Lab Graz, University of Graz
Maintained by Karl Koschutnig
Built for the research community β€οΈ
Linksο
[1.3.0] - 2025-11-28ο
Changedο
Project Rename: Renamed project from
prism-studiotoprism.Repository Restructuring: Moved helper scripts to
helpers/directory.Documentation: Updated all documentation to reflect the new name.