Files
judas_server/CHANGELOG.md
github-actions[bot] 5dd208a100 chore(release): 0.4.0
2025-11-30 17:39:03 +00:00

24 KiB

Changelog

All notable changes to this project will be documented in this file.

[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

[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

[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

[0.1.1] - 2025-08-09

Miscellaneous Tasks

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

[0.1.0] - 2025-08-09

Bug Fixes

  • 947adda style.css: fix text color on hover

Documentation

  • c6e9df1 CODE_OF_CONDUCT.md: add CoC

Features

  • f3c8449 web_server.py: remove redirect when logged in and trying to access /
  • c41f954 index.html: add go to panel button if logged in
  • 8243ce2 style.css: add button container class
  • 9847979 style.css: add link class
  • c0eb4e0 style.css: style details table
  • ec6ed47 login.html: display error if provided
  • 95e40a4 style.css: add error container class
  • d998b85 style.css: make all links pretty
  • c0f51cb style.css: add nord colors as variables for easy use
  • 6872348 panel.html: change bg color based on status
  • 7c98d16 panel.html: add description and classes to table
  • 3709a42 style.css: style panel table
  • 7b09a72 style.css: replace colors with var values
  • 5031799 login.html: add basic login page
  • 6ec1af2 index.html: add pretty typewriter effect to header on main
  • ff911bc index.html: add welcome text and a disclaimer
  • 446e5fb index.html: add link to homepage to app name in header
  • 368769e stream.html: add stream page template
  • 6ba91e5 panel.html: add panel page template
  • b125a30 index.html: add index page template
  • e4620c8 details.html: add details page template
  • 1b39dce style.css: add stylesheet
  • 9edae70 web_server.py: add web_server.py

Miscellaneous Tasks

  • b4b0e91 release.yaml: add release workflow
  • a5c1490 .gitignore: expand gitignore
  • 816582f .vscode/launch.json: fix formatting errors
  • 8459eb8 .vscode/settings.json: set type checking mode to standard
  • 2fc702a index.html: add class link to login element
  • 8c99a28 .vscode/launch.json: run flask on 0.0.0.0
  • 06ea024 web_server.py: add more pc placeholders
  • 2786f39 .vscode/launch.json: add launch task for flask app
  • 1ab8bb8 .vscode/settings.json: add auto-import completion settings
  • 324c404 initial commit

Refactor

  • 40d0edd move judas_server/ into src/judas_server/
  • 26352ca index.html: make logout a button
  • ea0f5f9 details.html: shorten heading text
  • 6979fe1 style.css: replace hex with var value
  • fe82dad details.html: change table and layout of buttons
  • 7c7e762 panel.html: remove breaking line
  • e07a379 web_server.py: display pretty error if password incorrect
  • 960a7dd index.html: put elements in main into divs to not screw up layout
  • 1f0fcc7 style.css: make main a flex container
  • cde27d3 web_server.py: make status lowercase
  • feb7a71 web_server.py: redirect from / to /panel if logged in
  • e15f02b web_server.py: render login.html instead of bare form in /login
  • 26fac14 stream.html: make logout button pretty and fix name in header
  • 75694f9 details.html: make logout button pretty and fix name in header
  • 522c147 panel.html: make logout button pretty and fix name in header
  • 04c46f1 style.css: add barebones stylesheet

Styling

  • 5c4441a style.css: remove empty line
  • f3f521e web_server.py: fix type in index()
  • 9a074f1 index.html: add newline at end of file

Build

  • de463b8 pyproject.toml: make pyproject.toml compatible with uv
  • 30d9434 cliff.toml: add git-cliff config
  • 8968d7e pdm.lock: remove pdm lockfile
  • ad479fe pyproject.toml: rename start script to web
  • 04d4e97 pyproject.toml: add flask start script
  • 9acc788 pdm.lock: add pdm lockfile
  • 7de428c pyproject.toml: add flask and flask-login