• 0.9.0 dc0107aee3

    gitea-actions released this 2026-03-15 18:17:13 +00:00 | 0 commits to main since this release

    [0.9.0] - 2026-03-15

    Features

    • 8313b96 backend_server.py: add get_clients_data() method
    • dba9624 main.py: start FastAPI server (uvicorn) in main
    • 9443c77 backend_server.py: add host and port properties
    • 9bc29fd api/api.py: add create_app function
    • 53729a1 api/v1.py: add API

    Build

    • 9f28ad6 uv.lock: add depedency on fastapi[standard]
    • dbeeca1 pyproject.toml: add depedency on fastapi[standard]
    Downloads
  • 0.8.0 251c59b6bd

    pufereq released this 2026-03-15 11:39:39 +00:00 | 10 commits to main since this release

    [0.8.0] - 2026-03-15

    Features

    • 61324a2 config_manager.py: add ConfigManager class
    • 68bb05a move modules from judas_server/backend to judas_server/

    Miscellaneous Tasks

    • 0f05a4a init.py: fix version string
    • e4cf43c backend_server.py: remove redundant code and call ConfigManager
    • 9e2fd2d pyproject.toml: reenable basedpyright type checking
    • f49c339 web: remove web code

    Refactor

    • 74c2b89 initial_handler.py: change type ignore comment
    • 65d9a69 hello_handler.py: use config manager for known_clients
    • 882f1e5 ack_handler.py: fix typing
    • e83f1c6 backend_server.py: fix typing

    Build

    • 99b900d uv.lock: remove depedency on flask_login and flask_socketio
    • 102da8a pyproject.toml: remove depedency on flask_login and flask_socketio
    • 659f19a uv.lock: update judas_protocol to 0.9.2
    Downloads
  • 0.7.0 2a85084c8f

    gitea-actions released this 2026-03-12 20:26:13 +00:00 | 26 commits to main since this release

    [0.7.0] - 2026-03-12

    Bug Fixes

    • a697ae6 ack_handler.py: fix error by importing annotations
    • 762256c client_details.html: fix up code for AJAX loading

    Features

    • acbcb33 web_server.py: add debug parameter to JudasWebServer.run()
    • 1d764bd header.html: add header template
    • 6f4bc3a base.html: add base template
    • 14ea136 panel.js: move js from inline to separate script
    • 78f9508 panel.html: use ?query instead of #hash for client selection

    Miscellaneous Tasks

    • aa562a0 base.html: remove leftover code
    • 865112c style.css: adjust styles

    Refactor

    • c442dca panel.html: use new base template
    • 12c5de9 index.html: use new base template
    Downloads
  • gitea-actions released this 2026-03-08 19:47:32 +00:00 | 40 commits to main since this release

    [0.7.0-dev.1] - 2026-03-08

    Features

    • d7b1368 client_details.html: add temporary initial telemetry display
    • 7e9a9e6 backend_server.py: add initial_telemetry support
    • 6ed03ab client.py: add Client.initial_telemetry property
    • 40c08d0 initial_handler.py: add handler for TELEMETRY/INTIIAL msgs

    Build

    • 3d13d24 uv.lock: update judas_protocol to 0.9.1
    • 28b57b6 uv.lock: update judas_protocol to 0.9.0
    Downloads
  • 0.6.0 6a024bbfc6

    gitea-actions released this 2026-03-05 19:59:50 +00:00 | 49 commits to main since this release

    [0.6.0] - 2026-03-05

    Bug Fixes

    • fbb75c2 backend_server.py: fix double-connection handling
    • 88d3490 backend_server.py: fix double disconnect if client.inbound empty
    • e308a07 backend_server.py: call _initialize_handlers() on init
    • ead2224 backend_server.py: do not disconnect a client if Exception raised on msg handling
    • 6446fe8 backend_server.py: check if client to disconnect has an open socket

    Features

    • 72d51b4 backend_server.py: add notice to known_clients.yaml
    • 0e7c948 config/: add config/ directory
    • 97fc17f hello_handler.py: remove client from pending_hello if recv'd HELLO
    • f5b14fc backend_server.py: add timeout on HELLO
    • bf1ad0e ack_handler.py: add handling for ACKs
    • a9bace8 backend_server.py: add ACK_TIMEOUT constant
    • c88e39c backend_server.py: track message ACKs and resend if no ACK recv'd within 5 seconds
    • dafe418 backend_server.py: add warning if received an unknown message (no handler)
    • 0ed478a backend_server.py: implement message handling
    • c952413 hello_handler.py: add HELLO message handler
    • 882c878 base_handler.py: add BaseHandler class for message handling
    • faecc38 client_status.py: move ClientStatus enum to own module

    Miscellaneous Tasks

    • 61be674 remove cache/ directory
    • f46d271 .gitignore: ignore config/known_clients.yaml as it's generated automatically
    • f13f243 main.py: set logging level for werkzeug to WARNING
    • 332238b init.py: correct version
    • e54cc47 handler/init.py: add AckHandler to __all__
    • ee38141 backend_server.py: remove redundant HELLO msg handling
    • ec58a52 handler/init.py: add module init
    • d3f68d3 backend/init.py: add Client and ClientStatus to __all__
    • bda10a6 cache/: add cache/ directory

    Refactor

    • efbf99f backend_server.py: if known_clients.yaml not present, call _save_known_clients()
    • 35899d3 backend_server.py: move known_clients.yaml to config/
    • 3eb681e backend_server.py: move loading known clients to its own method
    • fa2da20 backend_server.py: refactor calls to Message class constructors after protocol changes

    Styling

    • 62acc4b client.py: correct property typing

    Build

    • c64a258 uv.lock: update judas_protocol to 0.8.0
    • f41a777 uv.lock: update judas_protocol to 0.7.0
    Downloads
  • 0.5.0 2a8ac307d5

    gitea-actions released this 2026-02-28 22:49:50 +00:00 | 84 commits to main since this release

    [0.5.0] - 2026-02-28

    Features

    • 956da02 style.css: make client list elements flexboxes
    • 54eec65 style.css: use monospaced font only for heading
    • 1900bf4 client_details.html: add basic client details
    • c5771dc panel.html: use client_details.html after clicking on client on sidebar
    • de9240e backend_server.py: set client status to STALE if offline for >24h
    • b1656cd client.py: redo ClientStatuses adding PENDING and STALE
    • 563de5a backend_server.py: add known_clients.yaml file for storing clients between server restarts
    • 6971548 web_server.py: use client_details blueprint
    • 31c5157 client_details.py: add client_details route
    • b652db9 style.css: style no-connection-icon and client list
    • 1dfddd2 panel.html: add a side panel client list
    • d20ff9b panel.html: add a no connection icon to header
    • 2bbe118 rename details.html -> client_details.html
    • 29b4f3a css/style.css: add .button:active color
    • 69bf4f1 css/style.css: add #content styling, make main's flex column to fit aside
    • 563dc62 css/style.css: include flaticon icons
    • bb229dc css/style.css: make UI more compact
    • 3077a98 backend_server.py: add send_close() method

    Miscellaneous Tasks

    • 7f904fd uv.lock: add pyyaml to depedencies
    • f11b442 style.css: style no connection message correctly
    • 72a7433 pyproject.toml: add pyyaml to depedencies
    • 5ca5d9f .vscode/launch.json: set cwd to workspace folder
    • 0580a6b css/style.css: remove transition from button hover bg color
    • 97221bc uv.lock: update depedencies for Python 3.14

    Refactor

    • a5e1ba8 adapt for client.id
    • 1e38be5 backend_server.py: adapt client's id after refactor
    • b265feb client.py: rename Client.mac_id -> Client.id
    • 840d9ce login.html: move elements from main to #content
    • 9971981 index.html: move elements from main to #content
    • 5510e9d backend_server.py: rewrite _handle_connection() to minimize indents
    • 1e02da1 backend_server.py: rename _send_ack() -> send_ack()

    Styling

    • f54d974 style.css: remove commented-out code

    Build

    • f01eaec uv.lock: update judas_protocol to 0.6.0
    Downloads
  • 0.4.0 5dd208a100

    gitea-actions released this 2025-11-30 17:39:04 +00:00 | 119 commits to main since this release

    [0.4.0] - 2025-11-30

    Bug Fixes

    • 115deaa backend_server.py: use unused packet_size argument to _receive_inbound()
    • cc6b650 backend_server.py: import Any from typing
    • 5024862 backend_server.py: add 1ms sleep to prevent 100% CPU usage in _loop()
    • f0eeeb7 backend_server.py: handle unregister exceptions

    Features

    • 6f5fa33 backend_server.py: handle all other client Exceptions in _handle_connection()

    Refactor

    • 8d2b8f9 backend_server.py: change log levels
    • faf1f4e backend_server.py: remove unused argument in BackendServer._send_outbound()
    • 61a607c wip

    Styling

    • f365139 backend_server.py: ignore type error in _handle_connection()

    Build

    • fe7d78c uv.lock: update judas_protocol to 0.5.0
    • cee3025 uv.lock: update judas_protocol to 0.4.3
    • 721ab87 uv.lock: update judas_protocol to 0.3.0
    • 1211ca2 uv.lock: update judas_protocol to 0.2.0
    Downloads
  • 0.3.0 6ef3f58d73

    gitea-actions released this 2025-09-19 13:29:29 +00:00 | 135 commits to main since this release

    [0.3.0] - 2025-09-19

    Bug Fixes

    • b68c755 backend_server.py: send ack on connect
    • 2922123 backend/init.py: fix backend_server import
    • c0cacfa backend_server.py: fix server waiting for closed socket to dissapear by reusing it in __init__()

    Documentation

    • b9a7c2b backend_server.py: add TODO in _handle_connection()

    Features

    • df0b19d routes/api.py: support mulitple clients correctly
    • f2b4811 backend_server.py: add BackendServer._send_ack() helper method
    • d5985cf main.py: display ascii judas splash screen on launch
    • b9fd84d gaga.py: add Lady Gaga's Born This Way album art ASCII
    • c0ad91b backend_server.py: re-add the get_client_data() method
    • 2ecd32d client.py: add Client class
    • 1c96390 backend_server.py: add error handling for HELLO message handler in _accept_connection()
    • 639e1f7 server.py: add socket-based communication

    Miscellaneous Tasks

    • 54512d8 routes/api.py: adapt emit_polled_data() for Client class
    • ac66ce1 backend_server.py: set Client.last_seen on message receive

    Refactor

    • 0d074ad backend_server.py: use _send_ack() in _handle_connection()
    • ac77992 main.py: provide host and port args to BackendServer explicitly
    • b5670e5 server.py: rename server.py to backend_server.py for clarity

    Styling

    Build

    • 66db11c add ruff lint depedency
    • d96fec0 web_server.py: order imports
    • a1b28fa add isort as lint depedency
    • 4e16a70 uv.lock: add depedency on judas_protocol
    • 4aa2ca4 pyproject.toml: add depedency on judas_protocol
    Downloads
  • 0.2.0 813407057e

    gitea-actions released this 2025-08-26 18:01:32 +00:00 | 169 commits to main since this release

    [0.2.0] - 2025-08-26

    Bug Fixes

    • 1fa3550 panel.py: fix panel route to be at /panel instead of /panel/
    • d8405fa server.py: fix placeholder naming to be consistent
    • 8ad55ee main.py: fix wrong import path
    • 23a53f7 web_server.py: fix server error when using /stream

    Features

    • 9f74246 web_server.py: use socketio
    • 84ce509 routes/api.py: add API route
    • dbb464e main.py: call BackendServer.run()
    • b8f5fdc server.py: create a thread for _poll_loop
    • a494b60 web_server.py: add WEB_SERVER and BACKEND app.configs
    • 4285da4 web_server.py: add BackendServer reference to webserver
    • 14450ba main.py: init BackendServer in main
    • 2964ac7 backend/server.py: add placeholder backend
    • 38da1f4 templates/login.html: autofocus password field
    • d91f135 user.py: add user management
    • c1e20e5 routes/init.py: add init.py
    • d56256f routes/panel.py: add panel.py route blueprint
    • bbaffb3 routes/auth.py: add auth.py route blueprint
    • 50be48d routes/index.py: add index.py route blueprint
    • 44df495 palette.css: add catppuccin color palette
    • 8dbbea3 main.py: add main.py

    Miscellaneous Tasks

    • 89b6c1e release.yaml: update with latest pufereq/python-template release.yaml
    • 860ce5c panel.py: remove unnecesarry imports
    • c628498 main.py: change log format
    • 90094e9 web_server.py: remove LoginManager from self.app.config
    • 5a4b5dd backend/init.py: add BackendServer to all
    • 1d00d5f routes/auth.py: make login fail message more ambigiuous
    • a3e9aed web_server.py: add web server to initial loggin to avoid confusion
    • a32df2f templates/stream.html: remove stream.html template
    • 1901441 py.typed: add py.typed
    • f8f74cc routes/init.py: add init.py
    • 89dd67b backend/init.py: add init.py
    • dbc61ac web/init.py: add web/init.py

    Refactor

    • e6cc1d9 panel.html: rewrite panel.html template
    • 9e71270 panel.py: remove unnecesarry args to render_template
    • 1140052 server.py: fix method naming and add logging
    • 77b6bd0 web_server.py: rewrite to use OOP
    • 8b418a7 templates/panel.html: adapt urls for blueprints
    • 3e1fe9f templates/login.html: adapt urls for blueprints
    • bd9d95b templates/index.html: adapt urls for blueprints
    • 4baf29e templates/details.html: adapt urls for blueprints
    • fc5dc23 style.css: use new palette
    • e575e8a .vscode/launch.json: use main.py for running web server

    Styling

    • 3bcffaa style.css: format w/ prettier
    • 055ab10 main.py: add typing
    • 9949179 login.html: format
    • 6a07272 index.html: format
    • b79f3f3 details.html: format with prettier
    • 5fb6920 .vscode/settings.json: fix indentation
    • c2e1984 web_server.py: fix typing errors

    Build

    • 786c43a uv.lock: add flask-socketio depedency
    • 309efe0 pyproject.toml: add flask-socketio depedency
    • 6bed7da pyproject.toml: use basic type checking to kinda supress flask_login's nonexistent typing
    Downloads
  • 0.1.1 ed91c8d8cb

    gitea-actions released this 2025-08-09 15:20:51 +00:00 | 225 commits to main since this release

    [0.1.1] - 2025-08-09

    Miscellaneous Tasks

    • 8b6bf1e .vscode/launch.json: use shell instead of debugpy for running flask
    Downloads