PEBL Release Notes
PEBL 2.4 — April 2026
PEBL 2.4 launches alongside the new OpenScales repository, bringing a graphical Scale Builder, Lab Streaming Layer integration, a consent system, and new battery tasks.
OpenScales & Scale Builder
- This release coincides with the first release of OpenScales — a free, open collection of 555+ psychological scales in the Open Scale Definition (OSD) format
- Browse the full OpenScales catalog from within the PEBL launcher and run any scale with one click
- New graphical Scale Builder: create and edit OSD scales with Likert, multiple-choice, multi-select, text entry, and VAS response types
- Sections, scoring dimensions, computed variables, score transforms, translations editor, and parameter configuration
- Scales run natively in PEBL, on PEBL Hub online, or via a standalone JavaScript runner
Lab Streaming Layer (LSL)
- New
--lsl <StreamName>flag enables LSL marker output for any PEBL task - Synchronize experiment events with EEG, fMRI, eye tracking, and other physiological acquisition systems
- "Waiting for LabRecorder" screen shown before the task begins for clean synchronization
- Uses liblsl v1.17.5 with multicast UDP discovery — works across subnets and multiple machines
- Chain builder supports per-task LSL configuration
- Available on Linux and Windows
Consent System & Launcher Improvements
- New Consent item type in the chain builder: declining consent cleanly terminates the study
- DEMO-NIMH consent form included as a starting template
- OpenScales browser tab added to launcher; Scale Builder integrated as first-class tab
- Per-task LSL stream configuration in chains
- Settings dialog expanded with upload server configuration
Battery & Language
- New tasks: Digit Symbol Coding (digitsymbol), Pattern Comparison Same/Different (pattcomp-samediff), Pattern Comparison Sequential (pattcomp-seq), updated Spatial Cueing (spatialcueing)
- Additional tasks migrated to online platform — approximately 80 tests now available online
- New translations (de, es, fr, it, nl, pt) for plusminus, probrev, brownpeterson; Urdu for matchtosample and TOL
- New
RegexMatch()function for pattern matching - HTML-lite markup support in Label objects (bold, italic, color, font size)
- Windows build fully modernized with MSYS2/MinGW; LSL ABI compatibility fixes; GCC 15 compatibility
PEBL 2.3 — January 2026
PEBL 2.3 brings a comprehensive Layout & Response System for cross-platform input handling, a native C++ launcher with study management, a standalone script validator, and a major expansion of the online platform test library.
Online Platform & Upload-Battery Expansion
- Expanded upload-battery directory with 10 new platform-ready tests (total 58 tests)
- New tests migrated to upload-battery:
- Chimp Test (chimptest) — Iconic/eidetic and spatial memory assessment
- Dual-Task Interference Test (dualtask) — Executive function and multitasking
- Global-Local Processing Task (globallocal) — Attentional processing and visual perception
- Line Judgment Task (linejudgment) — Visual perception and estimation
- Matrix Rotation Task (matrixrotation) — Visuospatial reasoning
- Dual N-Back Task (nback) — Working memory training and assessment
- Span Variants Test (spanvariants) — Comprehensive memory span assessment
- Time-Tapping Task (timetap) — Temporal perception and motor timing
- Visual Search Task (vsearch) — Attention and visual processing
- Even/Odd Task (evenodd) — Number processing and decision making
- All newly migrated tests feature Layout & Response System integration
- Enhanced frozen snapshot system for study version control on online platform
- Improved bundle management for platform test deployment
Layout & Response System
- Comprehensive platform-aware input handling system for cross-platform compatibility
- Semantic response mapping (LEFT/RIGHT, YES/NO, etc.) independent of physical input device
- Multiple response mode support: keyboard-safe, mousebutton, touchtarget, touchdrag, mousedrag
- Automatic adaptation to platform capabilities (touch vs mouse vs keyboard)
- Sticky Keys prevention for web browsers (avoids Windows accessibility dialog)
- CreateLayout() function for UI setup with responsemode parameter
- Unified response handling across native, WebAssembly, and mobile platforms
- 18+ battery tests migrated to new response system
- Detailed migration guide in doc/LAYOUT_MIGRATION_GUIDE.md
Native C++ Launcher & Development Tools
- PEBL Launcher (pebl-launcher): Native C++ study management application using Dear ImGui
- Visual study builder with drag-and-drop test organization
- Chain creation for multi-task experiment sequences
- Snapshot export/import system for study version control and sharing
- ZIP-based snapshot format with metadata and bundled files
- Subject ID management and data directory organization
- Token-based upload configuration for PEBL Online Platform
- Cross-platform support (Linux, planned Windows/macOS support)
- libzip integration for snapshot packaging
- PEBL Validator (pebl-validator):
- Standalone syntax validation tool for PEBL scripts
- Batch validation support for entire directories
- Detailed error reporting with line numbers and context
- Integration with development workflows
- Available as separate binary for CI/CD pipelines
Network & Data Upload Improvements
- Token-based authentication system in Transfer.pbl
- New auth_token field replaces username/password for platform uploads
- Backward compatibility maintained for legacy authentication
- Unified authentication across native and WebAssembly builds
- HTTPS upload fixes in PEBLHTTP.cpp
- Automatic protocol detection based on port (443 = HTTPS, others = HTTP)
- Full URL construction with protocol prefix for libcurl
- Proper SSL/TLS handling for secure data transmission
- Fixed port-based routing for encrypted uploads
- Enhanced upload reliability and error handling
- Improved network connection management
Build System Improvements
- Fixed Emscripten JPEG support with correct SDL2_IMAGE_FORMATS configuration
- Changed from "jpeg" to "jpg" format string with explicit USE_LIBJPEG=1 flag
- Enhanced .gitignore patterns for build artifacts (test bundles, launcher binaries)
- Improved bundle packaging workflow for online platform deployment
- Separate handling of frozen snapshot bundles vs. core battery bundles
Battery Test Improvements
- Fixed Iowa Gambling Task (iowa.pbl) syntax errors in language detection
- Corrected indentation and brace placement in conditional blocks
- Fixed nested if/else structure for translation file selection
- Applied fixes to both battery/ and upload-battery/ versions
- Removed legacy backup files (iowa-old.pbl) from upload-battery
- Enhanced parameter schemas and translation support across migrated tests
Bug Fixes and Refinements
- Fixed brace alignment and conditional nesting in language detection code
- Improved error handling in token-based upload system
- Corrected JPEG format specifier for SDL2_image in WebAssembly builds
- Enhanced bundle metadata handling for platform deployment
- Fixed snapshot bundle path resolution for active studies
Also Includes Changes from 2.2.1
- Fixed GLR parser to allow 'else' statements on new line, improving code readability
- Added Urdu language support with automatic font selection for Perso-Arabic script
- Migrated TNT (Toulouse N-back Test) and Fitts' Law test to upload-battery
- Added translations for multiple battery tests (German, Spanish, Italian, Dutch, Portuguese)
- Audio format standardization: converted WAV files to OGG for better web compatibility
- Improved manifest-based bundle packaging for Emscripten builds
Download PEBL 2.3
Ready to try the latest version?