Skip to content

Changelog

diegodoumecq edited this page Feb 16, 2017 · 18 revisions

v0.7.2

Feb. 15, 2017

  • Made memoization mandatory, its no longer opt-out
  • JoyMap no longer parses all buttons on each poll and now handles that logic on button data request
  • Mappers now only receive the player object as argument
  • Removed player name because it wasn't necessary and bloated the API
  • Made canvas example's use of mappers more interesting
  • Added support for multiple gamepads to stateLog example
  • Improved flowtype type names
  • Updated flowtyped declarations

v0.7.1

Jan. 30, 2017

  • Implemented Exporting and Importing of Player configurations
  • Cleaned up the canvas example of every dependency and ES6 feature so that it's simpler and less difficult to understand for new js developers
  • Added option to memoize button, stick and mapper results
  • Added fast-memoize as a dependency to do the memoization

v0.7.0

Jan. 21, 2017

  • Removed all unnecessary auxiliary structures being updated on each poll, improving performance greatly
  • Now both createJoyMap and createPlayer each return one object composed entierly of functions
  • In consequence, added a bunch of setters and getters to both
  • Refactored buttonAliases, stickAliases, buttonBindings, stickBindings and aggregators into just buttons and sticks that handle indexes directly
  • Added functions to handle said indexes making changing buttons and sticks more flexible and way simpler with less concepts thrown around
  • Renamed aggregators as mappers and now they are only used when queried
  • Player creation has now been delegated entirely to the user
  • Players auto connecting to unused gamepads is now an option
  • player.getButtons now returns all of the buttons, some of the buttons or only one depending on the arguments given
  • Same thing goes for getSticks
  • Moved all non-inline type definitions to the types file
  • Updated all of the examples so that they now use the new API

v0.6.4

Jan. 16, 2017

  • Replaced es6 classes with factory functions to discourage classical inheritance and to make things simpler
  • Refactored the bundling process: now the output is every single file but transpiled and paired with the original file with a .flow extension added. Apparently that's how it must be done. For now

v0.6.1

Jan. 15, 2017

  • joyMap.removePlayer now takes a player and not a name as an argument
  • Improved canvas example to allow multiple gamepads that can connect and disconnect
  • Added alphanumeric checks to all functions that took names as arguments
  • Added a proposal for event handling to roadmap

v0.6.0

Jan. 14, 2017

  • Started using a Changelog
  • Changed how sticks work, instead of having a value of type object like { x: 0, y: 0 } they now are simple arrays of numbers [0, 0]
  • Sticks can now have any number of axes instead of being forced into only having 2
  • Implemented full rebinding support
  • Added the data structure parsedGamepad for ease of use

v0.5.0 and previous versions

2016

  • Built JoyMap from the ground up
  • Refactored it several times, including one complete rewrite
  • Decided to have an actual README
  • Replaced all mentions of npm with yarn
  • Changed the dev environment several times
  • Added three examples of usage using different techniques
  • Removed the lodash dependency from the library
  • Added flowtype support
  • Exported flowtypes of library using babel-plugin-transform-flow-comments
  • Realized flowtype comments are not being maintained
  • Regretted spending so much time on flowtype comments
Clone this wiki locally