- d406cf6 chore: Release
v5.0.2 - 884e93e fix: Add missing
requestparam forTemplateResponserequired bystarlette==1.0.0 - 02287d1 perf: Reuse auth timeout to stop streaming and gracefully close the server session
- 5e67c7a chore: Update release notes for v5.0.1
- 22b8e25 chore: Release
v5.0.1 - 9c98509 feat: Make
git_urlconfigurable via environment variable [OR] kwargs - 766fba8 perf: Add request timeout for GitHub and server version checks
- 0baa537 fix: Resolve inconsistent per core sparklines exceeding the window
- c318388 chore: Update release notes for v5.0.0
- e534b22 chore: Release
v5.0.0 - a29da8a refactor: Upgrade
FastAPI-UI-Authand update API routing logic for authentication - e6c2d14 docs: Update README.md
- e3b74a1 chore: Update project metadata in
pyproject.toml - 745e07a feat: Include an option to switch between legacy and modern UI
- f9bdad6 style: Switch UI to look like grafana dashboard with real-time metrics
- fc6d77b chore: Update release notes for v4.0.0
- 0c7e67f chore: Release
v4.0.0 - 01aea2f docs: Update README.md
- dd386d0 chore: Add a log statement when prometheus is enabled, update
.gitignoreand include a samplesecrets.jsonfile - 0924fa8 fix: Secrets passed through
json/kwargsshould override conflicting env vars - cac7f5d perf: Replace all hard-coded prometheus metric keys with a fetcher
- 5850cbe refactor: Filter docker health check logs in
uvicorn - 45f92f5 fix: Restore
prometheus.ymlfile to avoid connectivity issues withgrafana - 6cdab9b refactor: Remove
yamlandyqdependency to improve stability - e04f1c4 fix: Avoid missing metrics through UI when prometheus in not enabled
- 9a07144 perf: Remove
prometheus.ymlfile usage and improve stability for container launches - 1a7e904 perf: Stream metrics to endpoint only when prometheus is enabled
- 3569204 build: Add a launch script along with samples for grafana dashboard with prometheus data source
- 9925f38 chore: Update gitignore and remove legacy compose files
- 8a2cd41 perf: Add docker compose files for
grafanaandprometheus - 3a5c630 feat: Make
/metricsendpoint secure throughHTTPBasicCredentials - 33aba57 feat: Add a new
/metricsendpoint to supportprometheusplugin forgrafanadashboard - 58f65d8 chore: Update release notes for v3.2.2
- 2cf9448 chore: Release
v3.2.2 - 6dff9cf perf: Include a helper function to join url and add query params
- 9e5e4e5 feat: Include host version information in the UI
- c24dd32 chore: Update release notes for v3.2.1
- d494df5 chore: Release
v3.2.1 - f1a0740 style: Set hove-button logic to nearest node
- 9c6f368 style: Group all the nodes' metrics in the hover-balloon logic
- 9e066f9 style: Improve hover-balloon logic for aggregated metrics
- 4c29840 fix: Handle connection error for kuma server endpoint
- 07d6961 perf: Include a
wait_timeoutfor socketio connection in kuma tab - cf4417a chore: Update release notes for v3.2.0
- 13189df chore: Release
v3.2.0 - 2e091ce fix: Handle errors from GitHub API to avoid crashing
- 65c614f perf: Remove exception handlers from kuma endpoint
- 78afe22 fix: Ensure tabs aren't left disabled from older sessions
- 898d0e3 perf: Extend default interval for both kuma and runners interval
- 954f467 perf: Disable
GitHub Runnerstab when nodes are loading - f567073 fix: Avoid freezing on a particular view when refreshed
- b9e1193 perf: Increase interval option for kuma and runners' metrics
- df3093c chore: Update release notes for v3.1.0
- bf3335e chore: Release
v3.1.0 - 7fb1ac3 feat: Interval option, static page refresh, logout ability in tabs and no title if only nodes tab is rendered
- 1269b84 feat: Add more alias options for env vars
- a82e164 perf: Avoid collecting all runners immediately after parsing results from GH API
- d88f5d9 refactor: Remove
self-hostedlabel for GitHub runners and sort the labels before response - 3f3bf80 chore: Update release notes for v3.0.0
- 6416ad5 chore: Release
v3.0.0 - b908038 docs: Update README.md
- af93ed0 feat: Render tabs individually without dependencies
- d551fa0 feat: Add UI and backend API endpoint for GHA runners
- a7dc3d3 docs: Add missing docstrings
- 2b5c190 refactor: Remove dead code
- 0f099ec feat: Update backend code to include GitHub actions runners' status
- 55b6496 chore: Update release notes for v2.2.1
- 4fa507d chore: Release
v2.2.1 - bfa68c2 perf: Use a fallback func if kuma IP is also localhost
- 57b4fe7 perf: Replace all local hostnames with an internal IP host
- e937af8 style: Change color code for hyperlinks
- ff379a0 style: Add hyperlink is description is a URL in kuma table
- 031fbd0 chore: Update release notes for v2.2.0
- 1f50d35 chore: Release
v2.2.0 - 22d918b feat: Add a new column
descriptionfor kuma UI - ef7fca0 fix: Update sorting logic to work for IP addresses
- 89af7b4 refactor: Rename
NodetoHostin kuma data - 413902e chore: Update release notes for v2.1.1
- 22300f3 chore: Release
v2.1.1 - 520e6b6 fix: Disable
kumatab only when available - 67f365b refactor: Log the number of monitors received
- 1f5a277 perf: Disable navigation to
Uptime Kumatab whilst node(s) information is being retrieved - 8ff9e0c chore: Update release notes for v2.1.0
- 39df955 chore: Release
v2.1.0 - 0ac5906 lint: Remove unused import
- 6781dcc fix: Update GHA to avoid intermittent failures on missing path
- b0fee86 fix: Resolve fastapi-ui-auth dependency conflict
- d1a1aaa refactor: Change
tag_namestotagsin kuma response payload - d954684 fix: Change dry run
kuma_datafromdicttolist - 8c27375 perf: Remove grouping logic for kuma data on the server side
- 89441ac chore: Update release notes for v2.0.0
- 66722ca chore: Release
v2.0.0 - 74c8b81 docs: Update README.md
- e547417 feat: Include kuma timeout option and objectify kuma rest API client
- 9292ffc docs: Update docstrings and run linter
- f720fb5 refactor: Rename all services' references kuma
- fe652a6 style: Display
nodesandservicestab only when kuma is enabled - db90cb8 perf: Reduce kuma specific JS and CSS customizations to avoid redundancy
- 91a7f31 perf: Remove dead code related to legacy endpoints table
- 510cf26 fix: Restructure the JSON data from /kuma to a proper table
- 8c1fe62 refactor: Use a split screen for node vs kuma view
- 1bff957 refactor: Integrate kuma information in existing index page instead of a new endpoint
- f8e3d95 feat: Integrate UpTime Kuma on a new endpoint
- 16c06e2 style: Add more color codes for CPU line graph
- 7ae5050 chore: Update release notes for v1.4.1
- 5b6e83f chore: Release v1.4.1
- 86e0f26 style: Avoid adding table vertical padding for first page
- 6ff4400 style: Avoid shrinkage in table vertical size to keep pagination consistent
- 83dfa40 fix: Avoid node being overridden for PyUdisk metrics
- 67abaad style: Add page controls and fix container issues in aggregated view
- 79f1b23 feat: Include all individual metrics in aggregated view
- a622da3 refactor: Remove code redundancy in JavaScript for unified updates
- 06c0854 chore: Update release notes for v1.4.0
- 99492cf chore: Release v1.4.0
- 30af3bf style: Align header and sub-header text to center in aggregated metrics view
- d094719 fix: Remove duplicate logging for uvicorn.default handler
- c8b3683 lint: Make linter happy
- 4dc1407 perf: Ensure one node's failed response doesn't freeze up the unified metrics view
- 5c19c5a refactor: Create a re-usable func to aggregate disk metrics in JS
- 24a72df feat: Aggregate disk information to display total, used, free, and percentage metrics in the UI
- 81f8e54 fix: Remove invalid references in exception handlers
- ae489fd style: Show memory, cpu, and disk metrics in dedicated containers - unified metrics
- 292ebdf feat: Include an option to view all the metrics in one view
- f27da8a chore: Update release notes for v1.3.0
- c942f33 chore: Release
v1.3.0 - a4ebd19 docs: Remove stale labels from README.md
- ffd8db6 feat: Rebuild all the table headers instead of soft reset when sorting is ended
- cabfbdf feat: Reset and prevent sort with a tiny reset button
- da56291 style: Maintain sorted columns as sorted
- bdcb812 feat: Make table headers sortable
- 43a4370 fix: Fix failing healthchecks for dockerizer runs
- a061b2b chore: Update release notes for v1.2.0
- a90557d chore: Release v1.2.0
- 1aec808 ci: Add a dependency for pre-commit before pypi-publish
- 02ac6d9 refactor: Move docker related files into a dedicated directory
- 846c4a1 docs: Update README.md
- 25c0ef2 feat: Include an option to set timeout for UI auth
- bc977a3 feat: Include a /logout endpoint in the UI
- ddb6d87 style: Add meta tags for favicon and apple touch icons
- 66331e6 lint: Make linter happy
- 4a2689a ci: Run linter through GHA on every push
- 71c2dd8 chore: Update release notes for v1.1.0
- 2e061e4 chore: Release v1.1.0
- d35f7ec feat: Allow custom logs directory
- 34e1aa7 docs: Update documentation
- 947fb77 fix: Setup a fallback for YQ_VERSION
- 7139a56 fix: Reset environment variables in docker GHA
- b2f8783 fix: Make docker repo name lowercase in GHA
- 3e1774e ci: Add a GHA workflow for docker publish
- 17d793f feat: Automatically install compatible YQ version during docker build
- da46ec2 feat: Include docker setup for PyObservability
- 384e299 fix: Hide inputs in pydantic errors
- 62f48ea fix: Reduce arg limit for CLI instantiation
- 047eaa7 feat: Include a health check endpoint
- b27f0b5 docs: Update documentation
- a271249 chore: Update project metadata
- c329b56 refactor: Reset priority order for env vars
- ce84667 chore: Update release notes for v1.0.1
- 11b3dad chore: Release
v1.0.1 - 17a7d73 refactor: Use custom logger for uiauth module
- 81404ab feat: Include a lazy logger setup
- 9aa2926 chore: Update release notes for v1.0.0
- 433e918 chore: Release
v1.0.0 - 5004110 style: Include project link and version for footer
- 2bd5d1a style: Set
show-corescheckbox to true during startup - 71555ea feat: Add a checkbox to get all services
- 130b7ac style: Condense CPU and Memory metrics for each service to specific fields
- 488256e perf: Store targets by
base_urlto avoid looping to identify target for each socket connection - 0849c43 fix: Get missing PID for service status on Linux machines
- 32bbd33 perf: Include an option to allow custom logging config
- de21b16 refactor: Re-format code for CSS
- 0f9cc83 perf: Cleanup spinner references for per-core CPU utilization container
- cbc572f style: Extend spinners for meta tags
- 89655d1 fix: Add missing spinners for tables
- 659e381 feat: Add paginator for tables in the UI
- 3ed8b32 perf: Drop oldest message in queue when full
- 6b3e7e6 perf: Stop connection for unreachable host after N attempts and show an error in the UI
- f6a5400 perf: Handle invalid websocket payload at transport layer
- 7785e1b refactor: Move transport layer to its own module
- 75265b5 perf: Gather metrics ONLY for the selected target
- 75a5b53 chore: Update release notes for v0.1.0
- a6c08cb chore: Release
v0.1.0 - 5b90baf chore: Log payload generated time
- 4ea1e0a style: Improve service level metrics' display
- 9fa9c7f feat: Include a reconnect loop around fetch metrics
- 85e5456 perf: Handle streaming response from the server without making redundant API calls
- e0f4a46 perf: Auto-generate table headers for disks, pyduisk, and certificates
- e30d3c5 lint: Make linter happy
- ea7e4cf style: Display certificates' information in a table
- 6551091 perf: Create all coroutines in a list and run them concurrently
- 43d0a86 style: Group individual elements for system, ip, and processor info to one meta tag
- f49f7ed style: Make all meta cards consistent
- 82bdaf5 style: Add pretext for CPU and GPU names
- b715a75 style: Avoid cluttering at the top row of the UI
- 062f19d refactor: Remove unnecessary
||in disk metrics - 4651ac5 feat: Update UI to include all information sent by the API
- f8f8aea refactor: Simplify individual API calls with a single entrypoint to get system resources as a
StreamingResponse - 045fb48 chore: Update release notes for v0.0.3
- 24a15bf chore: Release
v0.0.3 - 546be8d refactor: Move "NO DATA" propagation to the UI instead of rendering it from the API
- 7448b3d chore: Update release notes for v0.0.2
- 8a98ac1 chore: Release
v0.0.2 - f1c43c9 fix: Avoid potential attribute errors
- 9f8120c perf: Improve alias choices
- f40d302 chore: Update release notes for v0.0.1
- 8b0f494 chore: Release
v0.0.1 - 15d2720 docs: Update README.md
- 217aa5a feat: Make env vars accept alias choices
- bf831db revert: Default factory for pydantic env config
- fd43528 feat: Make env vars case in-sensitive along with multiple options
- 3208d29 feat: Improve security for observability hosting with UI auth
- 5786768 chore: Update release notes for v0.0.0a2
- 8d12f2e chore: Release
v0.0.0a2 - dac0fdf fix: Avoid attribute error for env_file open
- bbc3d26 fix: Fix CLI entrypoint function
- f2e3c8c feat: Enable CLI through pip commands
- 87d328f feat: Create an env loader to support different file types like
yaml,jsonand plaintext - 735bc7e feat: Include CLI functionality
- 2126e24 refactor: Allow env vars to be sent during instantiation
- c7fcea5 lint: Run linter
- f394ed8 feat: Onboard
pydanticto load and parse env vars - d84e788 chore: Update release notes for v0.0.0a1
- ed65493 chore: Release
v0.0.0a1 - c06f9eb lint: Add a linter
- cb303b4 style: Remove quoted strings and round off floating values to 2 decimal points
- 7bc6c73 refactor: Log error messages in the backend instead of rendering it to the UI
- 2467744 style: Display docker stats as a table
- b47dc3b style: Fix docker and certificate stacks being squeezed to the right
- 765fe62 ci: Add GitHub workflows to automatically upload to pypi, release, and update release notes
- e44b2a8 ci: Add basic
pypisetup - ca248c6 style: Update UI to start with empty data points and update gradually
- 8d1be7f perf: Stabilize CPU avg chart and improve memory safety in per-core CPU spikelines
- f4aef70 perf: Avoid overloading browser memory
- aa45065 style: Avoid vertical overflow for CPU sparklines
- 7f7eb2f feat: Add a base observability page for PyNinja
- f2aa527 Initial commit