Releases: iFargle/headscale-webui
v0.6.2
What's Changed
- Fix environment validators by @MarekPikula in #89
- Fix build date to string by @MarekPikula in #90
- Update README.md by @iFargle in #92
- Revert "Update README.md" by @iFargle in #95
- Revert "Revert "Update README.md"" by @iFargle in #96
- fix add_machine reload bug by @itbencn in #98
- Allow changing data directory by @atb00ker in #102
New Contributors
Full Changelog: v0.7.0...v0.6.2
v0.7.0
What's Changed
-
Improve code style by @MarekPikula in #86
-
TONS of work by @MarekPikula - Lots of improvements to the code. Thank you!!
Create a separate library (headscale-api), which is used as a convenient abstraction layer providing a Pythonic interface with Pydantic. Headscale API is a fully asynchronous library, benefitting from improved concurrency for backend requests, thus increasing page load speed, e.g., on the "Machines" page.
Create a common, validated (with flask-pydantic) API passthrough layer from GUI to the backend.
Move authentication to a separate module (auth.py), consolidating the functionality in a single place (with a better place for expansion in the future).
Move configuration management to a separate module (config.py). Use Pydantic's BaseSettings for reading values from the environment, with extensive validation and error reporting.
Reduce the number/frequency of health checks increasing the overall performance/decreasing load latency:
Now, most checks (e.g., filesystem checks) are performed during server initialization. If any test fails, the server is started in tainted mode, with only the error page exposed (thus reducing the surface of the attack in an invalid state).
Key checks are implicit in the requests to the backend and guarded by @headscale.key_check_guard decorator.
Key renewal is moved to the server-side scheduler.
Introduce type hints to the level satisfactory for mypy static analysis. Also, enable some other linters in CI and add optional pre-commit hooks.
Properly handle some error states. Instead of returning success and handling different responses, if something fails, there is an HTTP error code and standard response for it.
General formatting, minor rewrites for clarity and more idiomatic Python constructs.
Add basic devcontainer setup (if somebody wants to develop this in VS Code).
New Contributors
Full Changelog: v0.6.1...v0.7.0
v0.6.1
What's Changed
- Redo routes index by @iFargle in #71
- Remove introspection_endpoint from required secrets by @MarekPikula in #70
New Contributors
- @MarekPikula made their first contribution in #70
Full Changelog: v0.6.0...v0.6.1
v0.6.0
What's Changed
- Tidy Dockerfile and add linter to project by @mattcen in #49
- Update SETUP.md by @nicko170 in #50
- Update SETUP.md by @ankitgyawali in #62
- v0.6.0 by @iFargle in #64
- #63 - Fixed a redirect loop when not hosting in anything other than /
- #54 Added a routes page to manage subnet failovers
- #53 - Using the headscale config.yaml to get the external Headscale URL for display purposes (rather than the HS_SERVER variable, which can be a docker-internal network in many cases)
- Upgraded to the latest version of MaterializeCSS
- Fixed adding tags
- Merge exit routes "0.0.0.0/0" and "::/0" into a single "Exit Route" button
What's New
- A routes page to manage exit routes, regular routes, and failover routes
- In-page search for Machines and Users pages
New Contributors
- @mattcen made their first contribution in #49
- @nicko170 made their first contribution in #50
- @ankitgyawali made their first contribution in #62
Full Changelog: v0.5.6...v0.6.0
v0.5.6
v0.5.5
v0.5.4
What's Changed
This release adds support for ARM64, ARMv7, ARMv6, and x86_64 architectures.
This release also adds more debug information. When debug is enabled, processing speeds greatly reduce (threading is disabled)
New Contributors
Full Changelog: v0.5.3...v0.5.4