Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
17d9d60
Remove release patches (#754)
NeonDaniel Aug 26, 2025
57950d5
Increment Version to 25.8.26a1
NeonDaniel Aug 26, 2025
ebacbbf
Remove Deprecated Code (#755)
NeonDaniel Aug 26, 2025
8dcdf84
Increment Version to 25.8.26a2
NeonDaniel Aug 26, 2025
301bbab
Update neon-utils dependency to enable updated Skill API (#756)
NeonDaniel Aug 27, 2025
2287f91
Increment Version to 25.8.27a3
NeonDaniel Aug 27, 2025
4a6246a
Update skills to new versions that implement API methods (#757)
NeonDaniel Aug 28, 2025
18bf434
Increment Version to 25.8.28a4
NeonDaniel Aug 28, 2025
8294e5d
Fix missing skills in default_skills Docker container (#758)
NeonDaniel Aug 28, 2025
763792b
Increment Version to 25.8.28a5
NeonDaniel Aug 28, 2025
14338aa
Clean up unused code (#759)
NeonDaniel Aug 29, 2025
e1c4b9d
Increment Version to 25.8.29a6
NeonDaniel Aug 29, 2025
c841ab6
Update skills with added API methods (#760)
NeonDaniel Sep 2, 2025
0eb45c8
Increment Version to 25.9.2a7
NeonDaniel Sep 2, 2025
802c2f9
Update dependencies to newer available Alpha releases (#762)
NeonDaniel Sep 3, 2025
88976e6
Increment Version to 25.9.3a8
NeonDaniel Sep 3, 2025
240aefa
Update dependency to resolve wallpaper rotation bug (#763)
NeonDaniel Sep 5, 2025
c0ccb4a
Increment Version to 25.9.5a9
NeonDaniel Sep 5, 2025
1217bac
Update to ovos-core 0.1 (#764)
NeonDaniel Sep 6, 2025
35b7abb
Increment Version to 25.9.6a10
NeonDaniel Sep 6, 2025
1ccf3fc
Refactor to use pip installation function from neon-utils (#761)
NeonDaniel Sep 11, 2025
f03a796
Increment Version to 25.9.11a11
NeonDaniel Sep 11, 2025
d7bb584
Re-implement `mycroft.ready` event emit with service status checks (#…
NeonDaniel Sep 11, 2025
f72ccb4
Increment Version to 25.9.11a12
NeonDaniel Sep 11, 2025
1ae7e41
Update neon-audio (#766)
NeonDaniel Sep 12, 2025
5139d14
Increment Version to 25.9.12a13
NeonDaniel Sep 12, 2025
3ad7b07
Update core dependencies (#767)
NeonDaniel Sep 15, 2025
2e61bad
Increment Version to 25.9.15a14
NeonDaniel Sep 15, 2025
0ddb358
Update default STT config (#768)
NeonDaniel Sep 26, 2025
5908eef
Increment Version to 25.9.26a15
NeonDaniel Sep 26, 2025
dc23f16
Update audio module and support-helper skill (#769)
NeonDaniel Oct 7, 2025
fc3fa8e
Increment Version to 25.10.7a16
NeonDaniel Oct 7, 2025
d4d8cdb
Remove references to deprecated remote API endpoints (#771)
NeonDaniel Nov 6, 2025
1d777d3
Increment Version to 25.11.6a17
NeonDaniel Nov 6, 2025
470930a
Update skills and disable utterance translator by default (#772)
NeonDaniel Mar 3, 2026
952c3ac
Increment Version to 26.3.3a18
NeonDaniel Mar 3, 2026
c1abec2
Update skills (#773)
NeonDaniel Apr 17, 2026
571de7a
Increment Version to 26.4.17a19
NeonDaniel Apr 17, 2026
24f7a51
Update alerts and data-controls skills (#775)
NeonDaniel May 28, 2026
cfb0371
Increment Version to 26.5.28a20
NeonDaniel May 28, 2026
b0cf2f6
Update to stable neon-utils dependency (#776)
NeonDaniel Jun 8, 2026
95372ee
Increment Version to 26.6.8a21
NeonDaniel Jun 8, 2026
45d11e5
Update Neon OS download link in README (#778)
NeonDaniel Jun 25, 2026
d8062d4
Increment Version to 26.6.25a22
NeonDaniel Jun 25, 2026
f495f36
Update default skills to stable versions (#779)
NeonDaniel Jul 2, 2026
b969d9e
Increment Version to 26.7.2a23
NeonDaniel Jul 2, 2026
ec66e78
Update essential skills to latest available versions (#780)
NeonDaniel Jul 28, 2026
64ddae4
Increment Version to 26.7.28a24
NeonDaniel Jul 28, 2026
9ae9208
Update remaining skills and plugins to stable versions (#781)
NeonDaniel Jul 28, 2026
2d21d8d
Increment Version to 26.7.28a25
NeonDaniel Jul 28, 2026
fbe715f
Update Core Modules for stable release (#782)
NeonDaniel Jul 29, 2026
51bd16a
Increment Version to 26.7.29a26
NeonDaniel Jul 29, 2026
ce49c62
Increment Version to 26.8.3
NeonDaniel Aug 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/setup_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
core_and_skills:
strategy:
matrix:
python-version: [ '3.8', '3.9', '3.10', '3.11', '3.12' ]
python-version: [ '3.10', '3.11', '3.12' ]
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
Expand All @@ -27,10 +27,10 @@ jobs:
pip install wheel
- name: Test Core Module Installation
run: |
pip install .[core_modules]
pip install .[core-modules]
- name: Test Skills Installation
run: |
pip install .[skills_required,skills_essential,skills_default,skills_extended]
pip install .[skills-required,skills-essential,skills-default,skills-extended]
pi_image_3_10:
runs-on: ubuntu-latest
timeout-minutes: 90
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
sudo apt update
sudo apt install -y gcc libfann-dev swig libssl-dev portaudio19-dev git libpulse-dev
pip install wheel
pip install . -r requirements/test.txt
pip install .[test]
env:
GITHUB_TOKEN: ${{secrets.neon_token}}

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -57,5 +57,5 @@ HEALTHCHECK CMD "/opt/neon/healthcheck.sh"
CMD ["/root/run.sh"]

FROM base AS default_skills
RUN pip install --no-cache-dir .[skills_required,skills_essential,skills_default,skills_extended]
RUN pip install --no-cache-dir .[skills-required,skills-essential,skills-default,skills-extended]
# Default skills from configuration are installed at container creation
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
# Welcome to Neon AI
Neon AI is an open source voice assistant. Follow these instructions to start
using Neon on your computer. If you are using a Mycroft Mark2 or Raspberry Pi,
you may use the prebuilt image available [on our website](https://neon.ai/Download).
you may use the prebuilt image available with the [latest Neon OS release](https://github.com/NeonGeckoCom/neon-os/releases/latest).

# Quick Start
The fastest method for getting started with Neon is to run the modules in Docker containers.
Expand Down
6 changes: 4 additions & 2 deletions docker_overlay/etc/neon/neon.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
language:
supported_langs:
- en
- uk
# secondary_langs defines what languages are loaded in ovos-core intent services
secondary_langs: [en-us]

skills:
wait_for_internet: false
extra_directories:
Expand Down Expand Up @@ -45,4 +47,4 @@ ready_settings:
- skills
signal:
use_signal_files: false
patch_imports: false
patch_imports: false
4 changes: 3 additions & 1 deletion neon_core/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,11 @@

environ["OVOS_DEFAULT_CONFIG"] = join(dirname(__file__),
"configuration", "neon.yaml")
environ.setdefault('OVOS_CONFIG_BASE_FOLDER', "neon")
environ.setdefault('OVOS_CONFIG_FILENAME', "neon.yaml")

# Patching deprecation warnings
# TODO: Deprecate after migration to ovos-workshop 1.0+ and ovos-core 0.1+
# TODO: Deprecate after migration to ovos-workshop 1.0+ and ovos-core 0.3.0
import ovos_workshop.resource_files
import ovos_core.intent_services.stop_service
from ovos_utils.bracket_expansion import expand_template
Expand Down
9 changes: 9 additions & 0 deletions neon_core/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
from threading import Thread
from click_default_group import DefaultGroup
from neon_utils.packaging_utils import get_neon_core_version
from ovos_utils.log import deprecated

_DEFAULT_CONFIG_FILE = join(dirname(__file__), "configuration", "neon.yaml")
environ.setdefault("OVOS_CONFIG_BASE_FOLDER", "neon")
Expand All @@ -61,6 +62,10 @@ def neon_core_cli(version: bool = False):
click.echo(f"Neon version {get_neon_core_version()}")


@deprecated(
"start_neon is deprecated; use containers or start services individually",
"25.10.0",
)
@neon_core_cli.command(help="Start Neon Core")
def start_neon():
from neon_core.run_neon import start_neon
Expand All @@ -70,6 +75,10 @@ def start_neon():
click.echo("Neon Started")


@deprecated(
"stop_neon is deprecated; use containers or start services individually",
"25.10.0",
)
@neon_core_cli.command(help="Stop Neon Core")
def stop_neon():
from neon_core.run_neon import stop_neon
Expand Down
5 changes: 3 additions & 2 deletions neon_core/configuration/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,15 @@
from ovos_config.config import Configuration
from os.path import exists, isdir, dirname
from os import makedirs
from ovos_utils.log import LOG
from ovos_utils.log import LOG, deprecated

"""
Neon modules should import config from this module since module_overrides will
result in different configurations depending on originating module.
"""


@deprecated("get_private_keys is deprecated without replacement", "25.10.0")
def get_private_keys():
return Configuration().get("keys", {})

Expand All @@ -61,4 +62,4 @@ def patch_config(config: dict = None):
local_config.store()
Configuration().reload()
import mycroft.configuration
mycroft.configuration.Configuration().reload()
mycroft.configuration.Configuration().reload()
49 changes: 0 additions & 49 deletions neon_core/configuration/mark_2/neon.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,68 +8,22 @@ hana:
# TODO: Patched to prevent resource warnings
secondary_langs: [en-us]

# TODO Below block patching for 2025.08 Release
enable_old_audioservice: True
audio_parsers:
blacklist:
- gender
padatious:
intent_cache: ~/.local/share/mycroft/intent_cache
train_delay: 4
single_thread: false
regex_only: false
conf_high: 0.95
conf_med: 0.75
conf_low: 0.50
intents:
pipeline:
- stop_high
- converse
- ocp_high
- padatious_high
- adapt_high
- ocp_medium
- fallback_high
- stop_medium
- adapt_medium
- padatious_medium
- adapt_low
- common_qa
- fallback_medium
- padatious_low
- fallback_low

play_wav_cmdline: "play %1"
play_mp3_cmdline: "play %1"
play_ogg_cmdline: "play %1"
g2p:
module: "dummy"
tts:
# TODO: Patching 2025.08 Release
pulse_duck: false
preload_fallback: false

module: neon-tts-plugin-coqui-remote
fallback_module: coqui
neon-tts-plugin-larynx-server:
host: "https://larynx.2022.us"
mozilla_remote:
api_url: "https://mtts.2022.us/api/tts"
Audio:
backends:
OCP:
type: ovos_common_play
active: true
dbus_type: system
# TODO: Patching 2025.08 Release
default-backend: OCP
stt:
fallback_module: ovos-stt-plugin-vosk
# TODO: Patching 2025.08 Release
module: ovos-stt-plugin-server
ovos-stt-plugin-server:
url: https://whisper.neonaiservices.com/stt

confirm_listening: true
listener:
VAD:
Expand Down Expand Up @@ -226,6 +180,3 @@ language:
utterance_transformers:
neon_utterance_translator_plugin:
enable_detector: False
# TODO: Patching 2025.08 Release
neon_utterance_normalizer_plugin:
active: True
8 changes: 5 additions & 3 deletions neon_core/configuration/neon.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ enable_old_audioservice: True
# Plugin Configuration
utterance_transformers:
neon_utterance_translator_plugin:
active: True
active: False
enable_detector: True
neon_utterance_normalizer_plugin:
active: True
Expand All @@ -18,7 +18,9 @@ stt:
ovos-stt-plugin-vosk:
model: /home/neon/.local/share/neon/vosk-model-small-en-us-0.15
ovos-stt-plugin-server:
url: https://whisper.neonaiservices.com/stt
urls:
- https://whisper.neonaiservices.com/stt
- https://stt.smartgic.io/fasterwhisper/stt
tts:
pulse_duck: false
preload_fallback: false
Expand Down Expand Up @@ -338,4 +340,4 @@ location:
code: America/Los_Angeles
name: Pacific Standard Time
dstOffset: 3600000
offset: -28800000
offset: -28800000
6 changes: 1 addition & 5 deletions neon_core/configuration/opi5/neon.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ g2p:
tts:
module: neon-tts-plugin-coqui-remote
fallback_module: coqui
neon-tts-plugin-larynx-server:
host: "https://larynx.2022.us"
mozilla_remote:
api_url: "https://mtts.2022.us/api/tts"
Audio:
backends:
OCP:
Expand Down Expand Up @@ -162,4 +158,4 @@ system:
- websocket:host
language:
detection_module: None
translation_module: libretranslate_plug
translation_module: libretranslate_plug
6 changes: 1 addition & 5 deletions neon_core/configuration/rpi4/neon.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ g2p:
tts:
module: neon-tts-plugin-coqui-remote
fallback_module: coqui
neon-tts-plugin-larynx-server:
host: "https://larynx.2022.us"
mozilla_remote:
api_url: "https://mtts.2022.us/api/tts"
Audio:
backends:
OCP:
Expand Down Expand Up @@ -166,4 +162,4 @@ language:
translation_module: libretranslate_plug
utterance_transformers:
neon_utterance_translator_plugin:
enable_detector: False
enable_detector: False
7 changes: 3 additions & 4 deletions neon_core/language/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,8 @@

import os

from ovos_plugin_manager.language import OVOSLangDetectionFactory as DetectorFactory
from ovos_plugin_manager.language import OVOSLangTranslationFactory as TranslatorFactory

from neon_core.configuration import Configuration
from ovos_utils.log import deprecated
from ovos_config.config import Configuration


def get_lang_config():
Expand All @@ -44,6 +42,7 @@ def get_lang_config():
return lang_config


@deprecated("get_language_dir is deprecated without replacement", "25.10.0")
def get_language_dir(base_path, lang="en-us"):
""" checks for all language variations and returns best path """
lang_path = os.path.join(base_path, lang)
Expand Down
3 changes: 3 additions & 0 deletions neon_core/run_neon.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@
from ovos_utils.gui import is_gui_running
from neon_utils.log_utils import remove_old_logs, archive_logs, LOG, \
get_log_file_for_module
from ovos_utils.log import log_deprecation

log_deprecation("This script is deprecated. Recommended method is to use containers", "25.10.0")

LOG_FILES = {}
PROCESSES = {}
Expand Down
10 changes: 1 addition & 9 deletions neon_core/skills/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
from ovos_bus_client import Message, MessageBusClient
from ovos_config.locale import set_default_lang, set_default_tz
from ovos_config.config import Configuration
from ovos_utils.log import LOG, log_deprecation
from ovos_utils.log import LOG
from ovos_plugin_manager.skills import get_plugin_skills, get_skill_directories
from ovos_utils.process_utils import StatusCallbackMap, ProcessState
from neon_utils.metrics_utils import announce_connection
Expand Down Expand Up @@ -106,14 +106,6 @@ def __init__(self,
stopping_hook=self.callbacks.on_stopping)
self.skill_manager.name = "skill_manager"

@property
def status(self):
log_deprecation("This reference is deprecated. Use "
"`NeonSkillService.skill_manager.status` directly.",
"24.7.0")
return self.skill_manager.status


def check_health(self):
"""
Check the health of the skills service and get an error state if the
Expand Down
Loading
Loading