If you have other general questions about Puck.js, please can you ask them in a separate thread though? It'll help to use this one purely for questions about the 1v92 release itself.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Yes, Puckjs will do both. When you connect to Puck.js to program it Puck.js is being a GATT Server.
It'd be worth checking out the Puck.js Bluetooth LE intro for more information: http://www.espruino.com/About+Bluetooth+LE
If you have other general questions about Puck.js, please can you ask them in a separate thread though? It'll help to use this one purely for questions about the 1v92 release itself.