Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[1.6.0] -


  • Add support for arrays in the 1 parameter numerical functions.

    With this addition, those functions can process individual elements inside an array,
    and set the result to an array.

  • Add new statistic-functions plugin with 8 fundamental functions.
  • Add get and slice functions for array data extraction to functions.
  • Add new format-functions plugin to convert numbers to string according to locale.
  • Add getVars global function to allow plugins to add init vars.
  • Add support for cli options ending with __\d+.

This addition solves slimerjs --config option conflict with abeamer --config.

  • Add support for default INFO_PER_SERVER.

This allows to add more servers without changing INFO_PER_SERVER.

  • Add initial support for slimerjs server. (alpha version).
  • Add --server-exec option to command line.
  • Add --scale support for abeamer cli gif and movie command.
  • Add --no-default-browser-check to puppeteer server agent.

This change reduce chrome's the initialization phase.


  • Use getVars function instead of _vars.

    With this change, _vars will no longer be used by any plugin, allowing to remove export from _vars.


  • Remove _vars from release version.

This won't be considered a breaking change, since the use of _vars was already discouraged from being used.


  • Fix a critical bug on phantomjs server agent.


  • Update ROADMAP.

[1.5.0] -


  • (DEV) Port documents build to mkdocs 1.0.1.
  • Improve the gallery example descriptions.
  • Improve of a few cosmetic steps of the build gallery-release.
  • Fix broken links, documentation formating and its output.

    The output documentation code syntax highlight is changed to javascript due the fact the highligher processor performs better.
    The website scripts will be responsible to improve the code highlight output.

  • (DEV) Remove dead code. Add missing void return type.
  • (DEV) Remove local build-docs.

    By moving the docs and gallery to the same domain as the website and blog, and by restructuring the docs and gallery output paths to be the same as online, now it's possible to test the docs and gallery offline using a local server and symlinks.

  • Improve command line documentation.
  • (DEV) Move build paths, urls and parts of gulp code to config.yaml.

    With this change, a developer can change the release paths and execute gulp tasks without changing the gulpfile. There are still parts inside the gulp file that needs to be ported.

  • (DEV) Change gulp task, npm scripts, code naming to match path names of release,gallery and docs.

    With this change, the gulp tasks, builder filenames are easier to understand its meaning since they match the output path names.

  • (DEV) Change main gulp tasks into gulpSequence.

    Instead of chaining gulp tasks with the required finished tasks and having parts of the tasks in the package.json file. the external gulp tasks use a gulpSequence which is much easier to read the workflow.


  • Fix the removal of export of ids starting with _ during build process of a single file.

    This bug was introduced just before the commit 5f4f3e6. In practice, the committed code didn't remove the exports of the ids starting with _.
    There was no side-effects just had no effect.
    Also added _vars to the list of exclusions of this process since it's still being used by chart tasks.

  • Fix minor design issues in 2 gallery-src examples.


  • Add Minor cosmetic improvements on gallery README.
  • (DEV) Add gulp post-build-docs to improve documentation output.

    This version replaces documentation online links with local links to support offline testing.

  • Add type and keyword syntax highlighting code during post-build-docs.
  • Add allowExpr parameter to add-vars task.

    When allowExpr is true, and the value is string starting with =, it will compute the expression, using ABeamer expression parser.

  • Add datetime-functions plugin.

    This plugin allows to create teleportable expressions with date/time functions.

  • (DEV) Add _ to the start of the id of unused function parameters.

    Although the tsconfig.json has "noUnusedParameters": false,
    adding the underscore prevent warnings in case of is set to true,
    and also helps to understand better unused parameters for future cleanups.

  • Add support for array parameters to rgb functions in color-functions plugin.
  • Add hsl and hsla functions to color-functions plugin.
  • Add abs and sign functions to functions.
  • Add hsl2Rgb and rgb2Hsl functions to color-functions plugin.
  • Add alternative ways to express colors to gallery-src/animate-colors.

    Originally it was designed, only to use color arrays, but this addition, the user can also test expressions with rgb/hsl functions.

[1.4.0] -


  • Fix the bug in gulp build-release that forced to have 2 folders in the gallery.


  • Add abeamer-debug.min.js to release version and both min.js are smaller.

    To generate the release version, all core .ts files are joined and it's removed the inner namespaces and removed the exports from id starting with _.
    Then they are compiled again using tsc.
    This process makes the minify compress more since there more internal symbols.
    The abeamer.min takes one step further by stripping all the code inside #debug-start/#debug-end section.
    This will remove its capacity to provide debug logs but it will make it lighter.

  • Add story.startTeleporting to delay the teleportation initial snapshot.

    This new method allows to teleport any HTML/CSS code injected after the story has been created and before this method was invoked. Read more on


  • Move gallery, badges, icons file paths to be compatible with the website.

    This change moves not only the file structure but also updates all the build scripts.
    With this change, it simplifies the process of local testing and converting from local links to online links back and forth.
    Information regarding the old repos and git pages is removed.
    Documentation links are also updated to reflect this change.

    File structure changes:

    • gallery -> gallery-src
    • gallery-release -> gallery/latest
    • docs/sources/*.{svg,gif} -> assets/badges
    • docs/sources/*.png -> assets/icons
  • Change the background image of animate-item-delay to reduce the pixelization.

    When it was converted to animated gif the image looked pixelized due the fact there is a color reduction to 256-colors and the previous background image add too many shades.

[1.3.0] -


[1.2.0] -


  • Change imagemagick convert alpha parameters to fix gif generation on windows.


  • Remove docs and gallery-release visual customization.

    Since the website, blog, release, and gallery-release are all hosted by the website, this is now in responsibility to do all the customization.

  • Change the release version from release to release/latest.

    This change will allow a local webserver have access to the same url subpart as it is on the site.
    Simplifying the process of testing and deploying release versions.

  • Add minify to all js files during the build-release phase.


  • Move documentation from github repo to
  • Update links and generators to move docs, gallery and release to abeamer website.

    The github repos are replaced with folders on

    • docs/build/(target)/versions/latest/en ----> docs/release/latest/(target)/en
    • git repo abeamer-release ----> release/latest
    • git repo abeamer-gallery-release ----> gallery/latest
    • git repo abeamer-docs ----> docs/latest
  • Remove index-online.html from gallery/*/

    This file will be integrated with the website and shouldn't be part of user files.


  • Add parameter --gif-background to abeamer gif CLI.
  • (DEV) gulp build-gallery-release generate index.html.

    Since doesn't support markdown render, it's required to generate the index.html

  • Add messages/messages-en.js to be the version 2.x holder of the english messages.

    The messages in i18n.ts file will be moved to messages/messages-en.ts file on version 2.x.
    Users are encouraged to include the messages/messages-en.js on their index.html even though for now it's an empty file to prevent breaking changes.

  • Add core plugins to gallery examples using oscillators, paths, transitions and functions.
  • (DEV) Add check for missing gif files on gulp build-gallery-release.
  • Add abeamer scripts to

    This addition allows users how just want to download abeamer as a zip instead of using npm to have running scripts without having to build their own scripts.

[1.1.0] -


  • Access to story.virtualAnimator is deprecated.

    use addVirtualAnimator/removeVirtualAnimator instead.

  • (DEV) Port _ChartVirtualAnimator to SimpleVirtualAnimator.

    Using SimpleVirtualAnimator gives a cleaner implementation, and by also using animateProps reduces the render count when the animator has multiple animation properties.


  • Add addVirtualAnimator/removeVirtualAnimator to the story.

    By using these methods instead of direct access to virtualAnimator, allows to create maps for quicker access to virtual animators.

  • Add SimpleVirtualAnimator class.

    To be used by plugin creators to simplify the process of animating their content.

  • Add support value parameters starting with -- in the abeamer cli.
  • Add --movie-pre and --movie-post parameters to abeamer cli.

    These arguments to be passed to ffmpeg before/after the arguments passed by abeamer.

  • Add --gif-pre and --gif-post parameters to abeamer cli.

    These arguments to be passed to convert before/after the arguments passed by abeamer.

  • (DEV) Add Launch abeamer cli to VSC debugger configuration.
  • (DEV) Add excludes to vsc files.watcher

    VSC complains about too many files on the project.
    This change is an attempt to solve this issue.

  • Add support of system env FFMPEG_BIN to locate ffmpeg executable.

    By having an environment variable pointing to the ffmpeg executable, ABeamer can generate a movie without requiring ffmpeg to be in the search path.

  • Add support of system env IM_CONVERT_BIN to locate imagemagick convert executable.

    By having an environment variable pointing to the imagemagick convert executable, ABeamer can generate a gif without requiring imagemagick convert to be in the search path.
    On windows the search path points to windows convert program which can conflict with imagemagick convert.

  • Add check command to the abeamer cli.

    Gives the user information how to configure puppeteer to use Chrome instead of Chromium.

  • (DEV) Add windows test batch files.

    It helps windows developers to test developer versions.

  • Add adapters.frameRendered.

    Using frameRendered allows animators with multiple animation properties to be called only once per frame. This is the case of charts and many other common canvas and WebGL virtual animators.

  • Add SimpleVirtualAnimator.animateProps.
  • Prepare core parts to be moved into plugins on version 2.x.

    By having many core parts as plugins, the ABeamer will load faster and the user can opt-out parts that aren't needed in a project.
    Since this will generate breaking changes, this phase will only be a preparation.


  • Fix http-server for URL with path with %20(spaces).
  • (DEV) Fix unix test scripts project paths containing spaces.
  • Fix render plugin injector to apply the same url base part.

    This allows the dev script to inject on non-release version, and in the release version to correctly inject in case the user changed from abeamer to another path.

  • (DEV) Fix unix test script project paths containing spaces.

[1.0.1] -


  • Update links with

    Using didn't guarantee the updated links to abeamer-release files.

[1.0.0] -

Breaking changes

  • abeamer render --width and --height parameter override abeamer.ini/story.json definition and override story CSS dimension properties.
  • Remove hide the story when the render starts, and then show it again to avoid first frame problem. It best method is author the way it is, and when authoring is finished hide the story on CSS.


  • Documentation breadcrumbs points to new links.
  • Documentation uses a custom theme based on mkdocs.
  • Update Documentation favicon.
  • Read parameters of gallery/animate-badges via command line --var parameter.
  • (DEV) Set The README gif loops more times and waits longer between loops.
  • (DEV) Refactor set width/height in story.constructor.
  • Change from fixed to dynamic dimensions in animate-badges/main.scss.
  • Change gallery/animate-badges to support teleported dynamic story.
  • Change server-agent to operate without --file or --out if there is --url.
  • Change abeamer render to operate without any local file, only needs --url,--width,--height.
  • Remove unnecessary text-tasks from gallery/animate-badges.


  • Add Google Analytics to Documentation.
  • (DEV) Add array and object type to command line parameters.
  • abeamer render can pass --var parameters to client lib as args.vars.
  • story.args is exposed as readonly property to allow to access story.args.vars.
  • Add duration, wait, name-background-color, value-background-color to gallery/animate-badges.
  • Add name-width to gallery/animate-badges.
  • Add all parameters to the serverless pageUrl output in abeamer render.
  • Add object variables in add-vars tasks.
  • Add overwrite parameter to add-vars tasks.
  • Add calcStr to compute textual expressions and check the output.
  • Add easings with names defined as an expression starting with '=='
  • Add extra exception handling server-agent-puppeteer to prevent freezing.
  • Add story.getStoryToTeleportAsConfig to provide an object access to story to teleport.
  • Add '[..]' to the listing in abeamer serve --list-dir.
  • Add logLevel to story.constructor, allowing to get verbose information during story constructor phase.


  • Fix ChartLegend in chart-tasks that had required typing mark parameter.
  • (DEV) Fix gulp build-release in Windows, by disable gulpPreserveTime in rel:server-minify task.
  • Fix CSS transform property on IE11, by disable overwriting property vendor remapping.
  • Fix the transparency in area charts for IE11/MS Edge by changing from #RRGGBBAA to rgb(r,g,b,a).

[0.3.2] -


  • Improve documentation.
  • Add website information.

[0.3.1] -


  • (DEV) Fix the gulp README-to-local and gulp README-to-online.
  • (DEV) Fix code examples on JSDocs for gulp build-docs.
  • (DEV) Fix the tests that had errors.
  • Fix the chart legend color for line charts.
  • Fix the chart y-labels when there is not enough y-space created by labelsX to chart-tasks.


  • (DEV) Set npm run test-all-serial to runs all the tests in serial.


  • Add links for property and method classes to gulp build-docs.
  • Add functions: log, log10 and exp.
  • Add expression series in chart-tasks.

[0.3.0] -

Breaking changes

  • chart-tasks parameters are incompatible.


  • Fix several chart-tasks bugs.


  • Add many features to the chart-tasks.
  • Add parseEnum utility function.
  • Add elIndex and i to factory task attribute expressions.
  • Add object variables to expressions.
  • Add one-dimension indices access to array variable to expressions.
  • Add default values to chart-tasks.
  • each gallery example has a index-online.html using links for online ABeamer.
  • Add easings-gallery.
  • Add to gulp build-gallery-release "try it online" link.


  • npm package.json points to main repo.

[0.2.13] -

  • A version bump was required due using npm publish with npm@5.6.0. See [0.2.10].

[0.2.12] -


  • Fix abeamer create . and abeamer create.
  • Fix command line error messages.
  • Fix gallery-release links in order to allow to override a created project.
  • (DEV) Fix gulp update-gallery-scripts.
  • Fix abeamer render --inject plugins.
  • Fix the creation of gallery-release/remote-server/
  • Fix adding assets folder to gallery-release/remote-server.


  • Add extra file and directory exists tests to server-agent.
  • Add more examples to the command line documentation.


  • (DEV)gulp build-release makes chmod u+x for cli/abeamer-cli.js.
  • Set gallery html files spacing to 2 spaces.
  • Update teleporter documentation.
  • Improve the files.

[0.2.11] -


  • Improve
  • Improve documentation.


  • Add more utility functions to expressions.
  • Add virtualAnimators.
  • First version of chart-tasks.

[0.2.10] -

  • This version was used to overcome a critical bug on npm publish in npm@5.6.0 that fails to find the, and it's not possible to update to npm@6.1.0 because it has a critical bug on npm update, plus countless false positives in npm audit.
    Until npm team finds an acceptable solution it will be used npm@5.6.0 for all except for npm publish.

[0.2.9] -


  • Add width-height as dual-property to Adapters.
  • Add numerical arrays to expressions.
  • Add array binary operators to expressions.


  • Paths support expression paths.

[0.2.8] -


  • Fix running in JSFiddle by executing _initBrowser(); during story.constructor.


  • Add the playground to
  • Add normalize.css to hello-world example.

[0.2.7] -


  • Relax the abeamer create to support a project names with spaces and non-latin characters.
  • If server-agent-puppeteer has page.goto it logs the error.
  • (DEV)gulp bump-version checks for error conditions of badge creation.
  • abeamer create checks if the project name already exists, and throws error if is true.
  • abeamer create if project name has a path component it does mkdirp.
  • rebranding.


  • Add .webm and .avi outputs to abeamer movie.


  • Fix web links.

[0.2.6] -


  • abeamer-cli converts exception into console.error messages.


  • Add .webm and .avi outputs to abeamer movie.
  • Add --loop parameter to define the number of loops to abeamer gif.
  • Add animated badges to

[0.2.5] -


  • Fix the case where a pixel property has previous animation and has no valueStart.
  • Fix documentation badges.


  • (DEV) pEls no longer needs to use laserMarker.
  • (DEV) Remove several unused vars.
  • Improve gulp bump-version.


  • Add advance parameter to animations and property animations.
  • Add badges to the
  • Add color-functions to documentation.

[0.2.4] -


  • Created a workaround to overcome github and npm striping video tag.

[0.2.3] -


  • Fix
  • Improve _waitForMediaSync to wait for video ready to play and finish seek, only when is ready.
  • video-sync Flyover support serverRender param to disable if hasServer.
  • Fix /gallery/animate-video-sync/js/main.ts duration.


  • (DEV) npm serve-with-dirs also lists 'index.html', '' files.
  • Add more info about the command line utility to the documentation.
  • gulp build-gallery-release can add video to its instead of gifs.
  • Add gulp clean-gallery-png.
  • Add --bkg-movie option to blend a movie with a transparent image sequence to abeamer-cli movie.


  • Set default movie name generated by abeamer-cli movie to story.mp4.

[0.2.2] -


  • Fix gallery/animate-workbench top value parameter.
  • Add extra info to gallery examples to improve browser compatibility.
  • Improve browser compatibility in Adapter and interpolator.
  • Fix missing devDependencies.


  • Add logical and, or or to expressions.
  • Add comment before injecting the plugins to abeamer-cli create.
  • (DEV) Declare function return void if it didn't had a return value.
  • abeamer serve --dirs define the body colors (fixes a problem on firefox with dark themes)


  • Set scene1 instead of scene0 to hello-world example.
  • Improve documentation.
  • Improve build-docs: remove, generate logs, improve generation of api-header.
  • Remove TransitionFuncHandler.

[0.2.1] -


  • Raise an exception if value parameter isn't number nor expression.
  • Add gallery/animate-video-sync.


  • Set div instead of p to hello-world example.
  • gulp build-gallery-release clean gallery-release before copy all the examples.
  • Improve hello-world example.


  • Fix radiusY parameter in ellipse path.
  • Fix gulp build-docs link parser.
  • Fix server-agent-phantomjs.
  • Minor cosmetic improvements on gallery examples.

[0.2.0] -

Breaking changes

  • Change isExpression to isExpr.
  • Remove vars.defaultDuration.
  • Change DEFAULT_DURATION to immutable 1f.
  • Move rgb function to color-functions plugin.
  • Change typewriter text task cursor parameterization to a similar way of CSS properties.


  • (DEV) Harmonize the internal call parameters.
  • Set parseTimeHandler to public.
  • Set calcExpr, ifExprCalc, ifExprCalcNum to public.
  • Remove defaultDuration from the gallery.
  • Improve cross-browser CSS support.
  • Adapters have access to ABeamerArgs.
  • Redesign the render loop to support wait functions.
  • Improve
  • Redesign gallery/animate-speech.


  • (DEV) Add plugins to exact framework.
  • (DEV) Add test script.
  • Add DEFAULT_FADE_DURATION = '400ms'.
  • Add color-functions plugin with rgb and rgba functions.
  • _DOMElementAdapter can sync HTMLMediaElement currentTime property.
  • _DOMElementAdapter check if img src is loaded, if not adds waitFor to wait until loaded.
  • Add First implementation of custom waitFor.
  • _DOMElementAdapter handle Animation property waitFor parameter.


  • Fix gulp build-gallery-gifs links.
  • Improve CSS properties teleportation.

[0.1.6] -


  • Improve the gulp bump-version.


  • Add npm before-* commands to reduce the errors when abeamer is published.

[0.1.5] -


  • Add Easings, Oscillator and Path handlers by Id.
  • Lists command line utility options in the dash format.
  • Add print http://localhost:${port}/?dir to abeamer serve --list-dir.
  • abeamer serve --list-dir sorts the listing, and places directory names first.
  • Add class property animation.
  • gulp build-docs* and build-gallery-release with local and online links.
  • gulp README-* converts links to local or online.
  • Improve documentation.


  • Fix gallery/localization text label.

[0.1.4] -


  • Fix typings.

[0.1.3] -


  • Fix hello-world/main.scss clip-path.

[0.1.2] -


  • Fix .npmignore.

[0.1.1] -


  • Fix links and fixed phrases in documentation.

[0.1.0] -

  • First Release