Skip to content

feat: add firmware version filter support#1

Open
do-kiss wants to merge 6 commits into
Lightos1:mainfrom
do-kiss:main
Open

feat: add firmware version filter support#1
do-kiss wants to merge 6 commits into
Lightos1:mainfrom
do-kiss:main

Conversation

@do-kiss

@do-kiss do-kiss commented Jun 26, 2026

Copy link
Copy Markdown

Add firmware version-based filtering for sys-env rules, allowing program IDs to be conditionally blocked/unblocked based on the current HOS version.

Changes:
Support version conditions in rules (=, >, <, >=, <=)
Apply rules only when firmware version matches condition
Auto restore previously blocked entries when condition is no longer met
Improve version parsing robustness

Compatibility:Fully backward compatible. Existing configs remain unchanged.

dokiss added 6 commits June 26, 2026 15:31
- Add VersionOp enum and ProgramEntry struct with optional version check
- Parse version conditions from config.ini (e.g. '0100000000001000 = >=16.0.0')
- CheckVersion() blocks program only when firmware doesn't match condition
- Backward compatible: entries without version condition behave as before
- Add SysEnvResult_InvalidVersionFormat error code for malformed versions
- Update README with firmware version condition documentation
…ries

- Fix ParseVersionCondition: when only one version part is given (e.g. '= 16'),
  assign it to major instead of micro (16.0.0 vs 0.0.16)
- Fix EditContent: directories with env suffix that are no longer in the config
  get their .bak stripped automatically, preventing permanently blocked entries
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants