This release brings compatibility with Python 3.12 and Ubuntu 24.04
Fixed
- :sparkles: Jinja2 bytecode cache gives a very extreme speedup to certain page lodad
- :sparkles: Minor visual glitches
- :bug: Fix deleting motion detection regions
- :bug: Object tags didn't disply right
- :bug: Module search pages
- :bug: Certain custom resource types could not be created in folders.
- :bug: Page editor robustness against missing keys
- :bug: Dashboard correctly shows the default value even if it hasn't been set yet.
- :bug: Message log page
Changed
- :sparkles: -d now sets the kaithem data dir, -c removed. config.yaml now always in root of dir.
- :sparkles: Module hashes use a different algorithm, the BIP0039 wordlist, and base32 instead of hex for display.
- :sparkles: Use Argon2id for user passwords.
- :sparkles: Use [niquests](https://pypi.org/project/niquests/) instead of requests.
- :sparkles: NVRChannel uses cv2.dnn for Py3.12 compatibility.
Added
- :sparkles: Chandler "shell" command lets you run stuff in the system shell. Use with care!
- :sparkles: `make dev-count-lines` command to roughly track codebase changes.
- :sparkles: Leaving the chandler editor page triggers autosave if there were changes.
Removed
- :coffin: Video filters removed from Beholder
- :coffin: The module[resource] APIs are removed. Use kaithem.api.modules instead.
Line Counts
(Note, pygount doesn't detect languages perfectly, the HTML is atually only Mako and Jinja2)
┏━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━┓
┃ Language ┃ Files ┃ % ┃ Code ┃ % ┃ Comment ┃ % ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━╇━━━━━━┩
│ Python │ 122 │ 29.4 │ 22517 │ 62.1 │ 3993 │ 11.0 │
│ RHTML │ 62 │ 14.9 │ 5078 │ 74.4 │ 27 │ 0.4 │
│ Markdown │ 33 │ 8.0 │ 4040 │ 69.4 │ 19 │ 0.3 │
│ CSS+Lasso │ 17 │ 4.1 │ 3115 │ 56.5 │ 268 │ 4.9 │
│ HTML+Django/Jinja │ 18 │ 4.3 │ 1997 │ 77.3 │ 24 │ 0.9 │
│ HTML+Genshi │ 13 │ 3.1 │ 1843 │ 69.1 │ 62 │ 2.3 │
│ HTML │ 23 │ 5.5 │ 1387 │ 77.9 │ 55 │ 3.1 │
│ JavaScript+Genshi Text │ 3 │ 0.7 │ 1078 │ 50.2 │ 134 │ 6.2 │
│ YAML │ 11 │ 2.7 │ 822 │ 74.7 │ 83 │ 7.5 │
│ Bash │ 12 │ 2.9 │ 328 │ 29.2 │ 147 │ 13.1 │
│ JavaScript │ 2 │ 0.5 │ 300 │ 56.3 │ 8 │ 1.5 │
│ Text only │ 1 │ 0.2 │ 109 │ 90.1 │ 0 │ 0.0 │
│ JavaScript+Ruby │ 1 │ 0.2 │ 8 │ 100.0 │ 0 │ 0.0 │
│ JSON │ 1 │ 0.2 │ 4 │ 57.1 │ 0 │ 0.0 │
│ __unknown__ │ 18 │ 4.3 │ 0 │ 0.0 │ 0 │ 0.0 │
│ __empty__ │ 1 │ 0.2 │ 0 │ 0.0 │ 0 │ 0.0 │
│ __duplicate__ │ 12 │ 2.9 │ 0 │ 0.0 │ 0 │ 0.0 │
│ __binary__ │ 65 │ 15.7 │ 0 │ 0.0 │ 0 │ 0.0 │
├────────────────────────┼───────┼───────┼───────┼───────┼─────────┼──────┤
│ Sum │ 415 │ 100.0 │ 42626 │ 64.1 │ 4820 │ 7.3 │
└────────────────────────┴───────┴───────┴───────┴───────┴─────────┴──────┘