Jovo v4 is here


After 12 months in the making, it’s finally here! Jovo v4 improves every step of the workflow, including a new browser-based Debugger, a new CLI, an output template engine, a component-based system, and much more. Learn more here:

pinned globally #2

made this a banner . It will appear at the top of every page until it is dismissed by the user. #3


(Hm. Didn’t realize that Jovo v3 had state support too. Overkill for my app, I think.)


I see that in v4 natural language understanding produces different data structures depending on whether it’s handled by the platform (eg Alexa) or by an NLU integration – the former returns values as fields of the outer object, the latter wraps them in an nlu: object.

May I quietly suggest that, for portability, the parsed data always be returned as content of nlu: ? Or perhaps that it always be top level, with the unparsed text being returned as content of raw: or something like that.

I think we want to eliminate as much awareness of the platform as possible. The fewer differences there are in I/O as seen by the handlers, the better.

And yes, I realize the irony of suggesting this right after you announced v4. Sorry; I got distracted from digging into the early drafts.

“Any magic which can be distinguished from science is insufficiently advanced.” – Florence Bowman, in the webcomic Freefall


BTW, if I do jovov4 new whatever, let it install the template, cd into that directory and execute jovov4 run, it complains. I’d have expected that to just run as a hello-world example. Missing dependency?

C:\Users\keshlam\jovo\v4>jovov4 run

jovo run: Start the local development server and test your app using the Jovo Debugger
  >> Learn more:

Sorry, there seems to be an issue with the connection!
Error: xhr poll error
    at XHR.Transport.onError (C:\Users\keshlam\AppData\Roaming\npm\node_modules\@jovotech\cli\node_modules\\lib\transport.js:68:13)
    at Request.<anonymous> (C:\Users\keshlam\AppData\Roaming\npm\node_modules\@jovotech\cli\node_modules\\lib\transports\polling-xhr.js:132:10)
    at Request.Emitter.emit (C:\Users\keshlam\AppData\Roaming\npm\node_modules\@jovotech\cli\node_modules\component-emitter\index.js:145:20)
    at Request.onError (C:\Users\keshlam\AppData\Roaming\npm\node_modules\@jovotech\cli\node_modules\\lib\transports\polling-xhr.js:314:8)
    at Timeout._onTimeout (C:\Users\keshlam\AppData\Roaming\npm\node_modules\@jovotech\cli\node_modules\\lib\transports\polling-xhr.js:261:18)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7) {
  type: 'TransportError',
  description: 0


Hey @keshlam
jovov4 is the beta version of the CLI. Try to uninstall npm uninstall @jovotech/cli -g and reinstall the latest version npm install @jovotech/cli -g

The command of the latest version is jovo


Yes, learn more about using v3 and v4 in parallel here:


Something the “in parallel” instructions don’t mention, and perhaps should: Unless you uninstall jovo v3 first, you will have to npm install -g @jovotech/cli --force to overwrite the previous jovo.cmd with one that points to v4.

removed this banner . It will no longer appear at the top of every page. #10