PEBL 2.3 Release Notes
Released 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?