Recent Releases of lab.js

lab.js - v23.0-alpha4

Bugfix release addressing the following issues: * Don't overwrite existing component ids when preparing nested sequences * Improve and start cleaning up jumping logic * Support and test reset propagation in nested components (previously this was limited to testing shims)

Full Changelog: https://github.com/FelixHenninger/lab.js/compare/v23.0.0-alpha3...v23.0.0-alpha4

- JavaScript
Published by FelixHenninger almost 2 years ago

lab.js - v23.0-alpha3

Improves controller jumping and fastforward logic

- JavaScript
Published by FelixHenninger almost 2 years ago

lab.js - v22.0-beta11

Continued development on time travel

- JavaScript
Published by FelixHenninger over 2 years ago

lab.js - v23.0-alpha2

Fixes type issues on internal types, specifically removing the type export that was previously core.peekLevel, and replacing it with core.stackSummary, which is equivalent to peekLevel[]

- JavaScript
Published by FelixHenninger over 2 years ago

lab.js - v23.0-alpha1

Changes the module format to ES6 by default

- JavaScript
Published by FelixHenninger over 2 years ago

lab.js - v22.0-beta6

- JavaScript
Published by FelixHenninger almost 3 years ago

lab.js - v22.0-beta5

- JavaScript
Published by FelixHenninger about 3 years ago

lab.js - v22.0-beta4

- JavaScript
Published by FelixHenninger over 3 years ago

lab.js - v22.0-beta3

- JavaScript
Published by FelixHenninger over 3 years ago

lab.js - v22.0-beta1

- JavaScript
Published by FelixHenninger over 3 years ago

lab.js - v22.0.0-alpha6

- JavaScript
Published by FelixHenninger almost 4 years ago

lab.js - v22.0.0-alpha5

- JavaScript
Published by FelixHenninger almost 4 years ago

lab.js - v22.0.0-alpha4

- JavaScript
Published by FelixHenninger almost 4 years ago

lab.js - v22.0.0-alpha3

- JavaScript
Published by FelixHenninger almost 4 years ago

lab.js - 20.2.4

This is a bugfix release with a few small changes:

  • Catch a missing/undefined event label during study export

Big news are imminent, watch this space 🀐

I appreciate y'all from the bottom of my heart. Very happy experimenting, wherever you are! -F

- JavaScript
Published by FelixHenninger over 4 years ago

lab.js - 20.2.3

This is a bugfix release with a few small changes:

  • Enable placeholder support in the strokeWidth canvas option (many thanks @brunodOut, this was an excellent catch!)
  • Fixes HTML error checking in builder
  • Catch a rare canvas editor crash

Larger changes are on the horizon, watch this space 🀐

Happy experimenting, and virtual hugs all around (if you like one), -Felix πŸ€—

- JavaScript
Published by FelixHenninger over 4 years ago

lab.js - 20.2.2

This is another bugfix release, again with few user-facing changes, but significant updates under the hood: 🐞

  • Consistent version ids across library and builder (the last update had introduced some inconsistencies here)
  • Updates to practically all dependencies, enabling us to benefit from the very latest tooling. This brings us up to date regarding our technical foundations, and will make future development significantly easier.

This release concludes the 2020 development cycle (barring bugfixes), and (with any luck) we'll see you with brand new features in a couple of months for the 2021 release. Watch this space, I'm super-excited about what we have in store!

Happy experimenting, and lots of love, -Felix πŸ’›

- JavaScript
Published by FelixHenninger almost 5 years ago

lab.js - 20.2.0

This is largely a housekeeping release, with very few user-facing changes, but large differences under the hood:

  • We now use the outstanding formik library throughout the builder, replacing react-redux-form which served us excellently over the past years, but is no longer under active development. This constitutes a major overhaul of large parts of the builder UI, and significant changes in the file format, because formik allows us to be much more flexible regarding the data structure. We auto-update all experiment files to the new format transparently. It also allowed us to implement some long-awaited changes to the grid component, namely a much better UI for deletion of e.g. responses, plugins, files, etc.
  • The plugin UI has been revamped to be more user-friendly, as we expect it to see much more use in the future.
  • Library and builder now support mouseenter and -leave events for AOIs, which provides a foundation for the mousetrap-web plugin.
  • Build automation and CI are now handled via Github Actions, since our former provide Travis-CI is cutting short their open source support. We are sorry to leave a service that has been super-helpful and a delight to use over the past years, but happy to have found a new home.

- JavaScript
Published by FelixHenninger almost 5 years ago

lab.js - 20.1.1

This is a bugfix release that:

  • Preserves image autoScale settings when exporting studies from the builder (thanks @doomlab, for helping me figure this one out!)
  • Resolves placeholders in Likert scale item labels (thanks @robinsonkwame for discovering one of the remaining options that wasn't escaped!)
  • Improves HTML rendering of Page components, and provides a consistent <div> wrapper around each, with an auto-generated id attribute. (again, thanks @robinsonkwame for the awesome suggestion!)

Many heartfelt thanks to the entire community for everyone's kindness, encouragement, and eagle-eyed bugspotting, happy experimenting y'all!

- JavaScript
Published by FelixHenninger over 5 years ago

lab.js - 20.1.0

This is a minor release that improves performance and stability. Here are the central changes:

  • Improves image caching to avoid rendering delays
  • Builds preview with non-minified library build to aid debugging
  • Adds indexParameter option on loops to provide an iteration counter
  • Parse placeholders in parameters
  • Improves handling of plugins that are included more than once
  • If on JATOS, waits for the integration to load before starting the study
  • Improves monitoring

- JavaScript
Published by FelixHenninger over 5 years ago

lab.js - 20.0.1

This is a bugfix release that fixes a number of stability issues and edge cases. Here are the central changes:

Builder * Re-enable scrolling in the code editors * Attempts to update non-existent components are now caught * Images missing an src attribute no longer cause crashes * Unmounting the visual editor no longer overwrites placeholders in image dimensions * Disable monitoring for exceptions caused by exceeding the in-browser storage quota. * We no longer attempt to reload a closed preview window * Missing static files in the preview cache are now loaded from the server

Library * Stats utility functions can now handle empty arrays * Canceling a component in the interval between calling .run() and the show event now properly removes any pending timeout. * Fallback onto the render timestamp on the off-chance that a show timestamp is not available * Resolve placeholders in the fontSize option on screen content

- JavaScript
Published by FelixHenninger over 5 years ago

lab.js - 20.0.0

This release represents a major update to the lab.js library and builder. Changes include

  • The new page component, which vastly simplifies the design of questionnaires and instruction pages. :pagewithcurl:
  • Mouse interaction support on canvas-based screens via the new AOI content type. :mouse:
  • A much-improved timeline UI for audio sequencing. :loud_sound:
  • Many UI and stability improvements across the board, fixing lots of small niggles and inconsistencies. :sparkles:
  • Data transmission stability improvements, we now retry failed transmissions, and buffer/queue data that has not yet transmitted.
  • Additional design generation options, and constrainted randomization
  • Improved plugin support, for example for fullscreen mode and mouse-tracking
  • Many dependency updates, notably react-redux version 7, logging via Sentry and improved support architecture, notably a fancy new website, and tooling to simplify library releases via NPM, which are increasingly relevant for more users.

The vast majority of these changes are under the hood or API extensions. There is a single breaking change:

  • The Component.respond() method now has a different call pattern: Instead of reason, timestamp, it is called with reason, { timestamp }. We are going to increasingly move more component methods to a pattern that includes a metadata object to catch optional and less-frequently used arguments in v21 at the latest.

- JavaScript
Published by FelixHenninger over 5 years ago

lab.js - 19.1.0

This is our first minor version in 2019, including lots of ongoing work over the past month:

  • The new Plugin UI has been the major development over the last month. In the mid-term, this will provide a modular way of expanding the functionality of lab.js. We have several exciting things in store here, stay tuned! πŸ”Œ
  • Improved styles especially for small screensπŸ“±
  • Further improved timing performance and syncronization for nested screens, and fixed an interesting edge case bug that produced negative reaction time measurements ⏱
  • lab.js now includes a load of new example studies, thanks to everyone who contributed to the Mozilla Global Sprint! Among others, we now provide Posner and Simon tasks, a visual search task and a Sternberg paradigm, a balloon analogue risk task and a headphone detection template. ⚑️
  • Lots of stabilization work πŸ› thanks to our awesome community. Most notably, the builder now shows a much more useful debugging page in the (rare) scenario that the state is invalid (the dreaded blank white page). As always, feedback, ideas and suggestions are very welcome!

Not bad for a month's worth of work, eh?

- JavaScript
Published by FelixHenninger over 6 years ago

lab.js - 19.0.1

Hi everybody -- it's been a while, but we've been hard at work making things better. As always, an exhaustive list is impossible, so from memory, here are just some of the most obvious changes:

  • Audio! πŸ“’ This one has been long in the making, and we're still marking it as beta, but both the library functionality and a fancy timeline UI are in place. Make some noise! (thanks to the fine folks at CAU Kiel and especially @MMarieSchuckart for pushing this)
  • Much improved loop UI πŸ”, with more shuffle/sample modes and a clearer interface (many thanks to input from @jonathon-love), column-wise shuffling, a factorial design generator and column filling.
  • Better file handling πŸ—ƒ: It's now possible to upload multiple files at once (where that makes sense), and files no longer need to be placed on the exact component where they're used: They can be located further up in the hierarchy, enabling easier re-use of files across many components.
  • Performance optimizations 🏎 both in the builder UI and in experiments themselves. Specifically, we now use substantially less memory, and present stimuli even faster, especially in very complex and long studies.
  • New and improved examples, from an updated Stroop task to a fancy multi-page instruction template thanks to @Folquet. 🀩
  • Lots of bug fixes and polish πŸ› thanks to your kind feedback. Please do keep it coming!

Ok, that's it for the moment -- and we're far from done. As always, please keep the ideas and feedback coming, we'd love to hear from you! Likewise, if we can help, we're always glad to, please don't hesitate to reach out.

- JavaScript
Published by FelixHenninger over 6 years ago

lab.js - 2018.1.2

Wow, it's been a while since we've put together a release! A lot has happened in betweeen, and we've made some massive steps forward. Specifically, this release includes

And much more I just can't remember right now. And there's more to come! This is just an interim release to get back into the flow, we'll be putting out a 2019 version very soon, with even more goodies. Let us know what you think, we'd love to hear from you!

- JavaScript
Published by FelixHenninger almost 7 years ago

lab.js - 2017.2.0

Wow, has this project grown! Hello, and welcome to our new watchers and stargazers — and a special thanks to everybody who has provided feedback and helped over the past weeks. It's been a huge pleasure, and a complete blast, to have you around. Things have become much nicer and more stable as a result of your support, and I (that's me, @felixhenninger) have learnt a great deal and have become a better developer.

This release is to commemorate a stable state in view of a few major upcoming changes, but there's also been a lot of activity that is worth summarizing.

Contributor friendliness, project infrastructure, and community outreach

A focus of the recent work has been to make the project as a whole more stable and accessible to contributors. This was prompted in a large part by Mozilla's excellent Open Leadership Training and the fantastic Global Sprint. In particular, the project now has * A Code of Conduct * Improved Contributor Documentation * Build testing via travis-ci, thanks to @pvskarthikeya, who also (rightly) recommended the excellent course How to Write an Open Source Javascript Library by Kent C. Dodds

Library

  • Now includes utilities for building full-screen studies
  • Supports automated and standardized backends for data collection
  • Formats collected data much more nicely in the debug preview

Builder

  • CSV import and export for loops (big thanks to @crsh for suggesting this!)
  • Now exports a complete study ready for the field, including data collection backends
  • Browser compatibility issues are now detected automatically, and users are prompted to update their browser
  • The builder taking big steps towards becoming progressive, i.e. offline-capable (it's not entirely there yet, but close)
  • Editor code is now preloaded, removing a major source of errors (all credit goes to @jeffslofish for prompting this)
  • Static files can be included in a study (upload UI upcoming!)

- JavaScript
Published by FelixHenninger over 8 years ago

lab.js - 2017.1.0

This release represents a major update, adding the builder tool as well as considerable updates to documentation and library internals. Please consult the documentation for additional information.

Some highlights: * New builder interface * Asynchronous, promise-based library API * Extended automated test suite * Revised logo

Contributors

- JavaScript
Published by FelixHenninger over 8 years ago

lab.js - 2016.1.0

What to say? Please celebrate our first official, (hopefully) production-ready release. Fingers are crossed!

- JavaScript
Published by FelixHenninger over 9 years ago