Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time

1.0.0-beta.7 (2022-08-24) / A Much Better NLP

Please read this blog post to know more about all the new features and the exciting future of Leon.



  • create new NLP skills resolvers model + NLP global resolvers model 602604e4

  • better isolate skill resolvers from global resolvers + finish up Akinator skill 905d248e

  • transfer language from core to skills + support thematics on Akinator skill b35a249b

  • actions on slot level + akinator skill progress 7101b8b4

  • add Cartesian sample training on resolvers + enum entities 6ed88a59

  • map skills resolvers intents eb5ade76

  • train skills resolvers and remap as per changes 82df0a3c

  • achieve Cartesian training a1e9011d

  • introduce suggestions dcddacca

  • communicate suggestions to the client 4b5a8835

  • shared skills memory 795acc5b

  • support dynamic variables on skill NLU settings for logic type 10d10a16

  • tmp resolvers mapping b1a332ba

  • start to map resolvers between the core and skills e88495a9

  • train affirmation and denial resolver 993d52e8

  • Python TCP server and Node.js TCP client for IPC (wip) 5970ec9e

  • introduce spaCy for complete NER (wip) caa86fc8

  • slot filling (wip) 76547d94

  • share data across domains f4f9fff9

  • dynamic variable binding on NLG 0367b44f

  • context and slot filling preparation (wip) 975b8ebc

  • annotate entities on the fly + prepare for dialog skill type and cross-domains data 4107932d

  • new NLP training d8023308

  • server:

    • trigger next action suggestions or current ones 244d08c0
    • introduce main NLP model and resolvers NLP model e37526d9
    • change log emojis 843bc428
    • provide nextAction even when no slot is set and clean up NLU object on context switch 8377c63d
    • report full traceback from skills execution b69b1fea
    • support on-the-fly entity annotation for built-in entities 567b030c
    • save slots within conversation context fce47cdb
    • resolve resolvers tmp ceea47ff
    • prepare the next action on non-slot-filled skills 0acb31a9
    • add more affirmative utterance samples 870ab2e8
    • restart a skill with the original utterance saved in context f4446ef1
    • clean up context if the action loop does not meet the expected items 035c9d52
    • add handsigns custom entity 1529c720
    • reprocess NLU in case of slot filling interruption 9e242d77
    • handle action loop when slots have all been filled at once f8830502
    • break the action loop from the skill 27dc801c
    • stop action loop from skill to core 99681e25
    • introduce basic concept of action loop c5b38400
    • prepare action loop feature 19e1aa22
    • add current utterance entities to differentiate from the whole context 8b56a185
    • when a context is activated, pick up the most probable classification 8e186879
    • persist entities into contexts 87575773
    • forward slots to skill + add original utterance 68e40f65
    • handle case when all slots have been filled in one utterance 22e9234b
    • trigger next action once all slots have been filled 9b870010
    • complete slot filling before triggering the next action 9124687e
    • from modules to skills with type at the actions level 77ebaf4a
    • verify if all slots are filled e27c1b9c
    • context and slot filling, keep context and await for entities 25adf406
    • unstack oldest context 1ece25a4
    • context setup with slot for each conversation (wip) 8257eb87
    • resolve slots from slot filling 960a6dc7
    • pickup questions for slot filling 3bbc2f8a
    • main slots structure (wip) 1d9b1809
    • introduce resolvers for slot filling (wip) 334bf393
    • slot filling PoC (tmp wip) 95bfcfe4
    • slot filling (wip) 969a83e6
    • trigger unsupported language 1845eed7
    • context (wip) d1c2a11d
    • context (wip) a9a43ac4
    • differenciate cities from countries for location entities bf9bf231
    • auto restart the TCP server when language is switching 9be7c700
    • support multi languages on TCP server a808742c
    • add auto reconnect on TCP client cbe89ed6
    • make TCP client global 006e9fb0
    • fully implement low-level networking for IPC 8acb82da
    • more accurate NLG d5577b1e
    • unknown_answers fallback on dialog type 28efe6e7
    • deep data mapping on enum NER 3ca48265
    • NLG and entities mapping 8f2f935b
    • bootstrap skill structure fe90c68e
    • on-the-fly language switching f24513a2
    • new NLP containers 34b2aa56
    • (WIP) NLU refactoring ca3f5f42
    • add skills domains cf2a28aa
  • skill/akinator:

  • skill/birthday: remove birthday skill be0b345d

  • skill/color: introduce color skill ce00989b

  • skill/guess_the_number: introduce the Guess the Number skill fba80966

  • skill/introduction:

  • skill/mbti:

  • skill/rochambeau:

  • web app:

    • join us on Discord 141c89ec
    • wait for TCP client to be connected first bc228a68

    Bug Fixes

  • check script with new intent-object format fdf0a389

  • check new resolvers paths cfd8f7cb

  • use mirror for the offline TTS [skip ci] 3dd90396

  • set skill config only when a bridge is set 7513aa7d

  • only set skill config when it is a logic type 9ce9a8bc

  • docker:

    • usage of Ubuntu base image with pyenv and nvm (#408) f507f6f7
    • check should not allocate a pseudo-TTY (#359) 4372b45f
  • server:

    • make leon handle multiple instances 6e7c0aac
    • fallback on global resolver during resolver classification ec77dd0f
    • make use of current entities to match global entities a8d82050
    • multiple slots filling 2ac1bc63
    • context switching on action loop 6712ae55
    • check one-shot slot filling case causing infinite loop 782a3aaa
    • clean up active context after all slots have been filled faabc2c7
    • correctly extract all spaCy entities 6aa60bfb
    • intent not found 8280c658
    • fallback due to modules to skills refactoring ef0c54b2
    • NER due to modules to skills refactoring e4d3904c
    • skill/akinator: remove direct end on guess action f6461f73
    • skill/color: more appropriate answer cb18ed63
    • skill/rochambeau: final logic 0ebc0518

    Performance Improvements

  • check Pipfile instead of Pipfile.lock to judge whether Python packages must be installed afdb71f7

Documentation Changes

  • change newsletter link 4bf2a9af
  • README - Edited sentence for clarity (#389) e83a1c42
  • edit newsletter link fa558a44
  • update sponsor [skip ci] f30ddb6b
  • remove sponsor [skip ci] 5dbc010f
  • remove sponsor [skip ci] f36dd20f
  • remove sponsor [skip ci] 5ee57ddf
  • add @ant-media sponsor [skip ci] b47cbc3a
  • add long dev notice to README [skip ci] 499be77d
  • move sponsor to new section [skip ci] 8825d687
  • change Twitter handle [skip ci] c1afc11c
  • remove sponsor [skip ci] 99b401a6
  • add new sponsor self-hosted img [skip ci] 238d928c
  • remove new sponsor link (broken) [skip ci] 254f2848
  • in GitHub from modules to skills 4a5480a3
  • change @FluxIndustries sponsorship [skip ci] 1a118b71
  • add @FluxIndustries sponsor [skip ci] 9a604d7c
  • new #LeonAI link [skip ci] a0107d62
  • changelog new version diff link fix [skip ci] e14c2498

1.0.0-beta.6 (2022-02-07) / Leon Over HTTP + Making Friends with Coqui STT


  • simple coqui-ai stt integration 86a4816b

  • HTTP API key generator d10a7fa7

  • avoid unnecessary routes generation

  • server:

    • make Coqui STT the default STT solution 70399187
      • add HTTP API key middleware cdf41499
      • expose queries over HTTP b6428d03
      • add timeout action over HTTP 115f9c16
      • handle built-in and trim entities over HTTP + add "disabled" HTTP API action option 82fb967a
      • execute modules over HTTP 2e5b2c59
      • generate Fastify routes on the file to expose packages over HTTP 5b41713a

Bug Fixes

  • do not ask to regenerate the HTTP API key if this one isn't available yet d265377a
  • Python deps tree check c6c01291
  • hotword offline (#342) f563d01d
  • addressed comments by @JRMeyer b1c6f5c8
  • allow to detect STT offline capabilities 04d62288
  • Amazon Polly is always configured on check script due to new structure e6246d1f

Performance Improvements

  • check if Python deps tree has been updated before going through deps install 2d0b0f13

1.0.0-beta.5 (2021-12-28) / Refocus

This release marks a major turn in the future versions of the Leon core. Please read this blog post to know more.


  • Node.js 16+ and npm 8+ minimum requirements 2f66f1c1


  • server: support arrays on NER between conditions 7cf7f979

Bug Fixes

  • jest-extended new setup due to latest update 02f766d6

Performance Improvements

  • Windows setup on DeepSpeech dep removal 13f5a49f

Documentation Changes

  • URL redirect managed by registrar c16d5b28

1.0.0-beta.4 (2021-05-01) / Getting Rid of Dust

This release includes a lot of changes that are made under the hood and are not displayed here, please read the blog post to know more.


  • package/checker: introduce Have I Been Pwned v3 API with API key (0ca89fe3)
  • server:
    • AWS SDK new structure due to v3 and adapt Amazon Polly changes (f15f2db7)
    • IBM Watson TTS and STT new structure (f41ea0e9 | 2668c295)


Bug Fixes

  • set correct status code for GET /downloads 690f1841

  • take .env in consideration when using Docker d38e6095

  • spinner test 9071c927

  • e2e tests by adding modules actions level 5cf77d90

  • package/leon: fix english translations 90225707

  • package/network: make use of new compatible speedtest lib 0c925626

  • package/trend:

    • GitHub module new scraping 68414937
    • when there is no star provided on the GitHub module 563fb409
  • server:

    • make use of Basic plugin from the main NLP container e1d5bed3
    • NER trim entity on after conditions fa6a5a43

Documentation Changes

1.0.0-beta.2 (2019-04-24)


  • can send custom HTTP headers (2685cdab)

  • allow HTML output (ec3f02df)

  • NLU improvement with node-nlp (6585db71)

  • package/trend:

    • add answer when the Product Hunt developer token is not provided (f40b479b)
    • Product Hunt module done (37794306)
    • basics done on the Product Hunt module (32cc7dbe)
    • complete dedicated answers according to the technology and given time (8997d691)
    • GitHub module done (7c6f3922)
    • be able to choose a limit and a date range for the GitHub module (3c088371)
    • format GitHub results in one message (9d026b94)
    • simple GitHub module results (5baec074)
    • list GitHub trends in HTML raw (3441629e | 6b932e94)
    • expressions dataset and structure (f406a5a0 | f54c2272)

Bug Fixes

  • Leon was not fully installed with Docker if a .env file was existing (c8a68ab0)

  • package/trend: when there is no contributor on GitHub module (d845e49b)

  • server:

Documentation Changes

1.0.0-beta.1 (2019-02-24)


Bug Fixes

  • package/checker: isitdown module fails with capital letters in URL (ada6aaef)
  • web app: enable environment variables (a438d6f9)

Performance Improvements

  • web app: favicon compression (33dbcb42)

Documentation Changes

  • update README to make the reader genderless (58662658)

  • use "to rule them all" in README (c74dda4c)

  • readme: add story write-up (08a68e37)

1.0.0-beta.0 (2019-02-10)

Initial release.