- Added panel printing functions (print_panel, print_subheader) to install-server.sh and install.sh,
for improved interface display.
- Introduced the ensure_command_access function to automatically link the drip command to system paths (e.g., /usr/local/bin),
improving command availability.
- Added complete uninstallation logic: Added uninstall.sh script, supporting client-side, server-side, or both uninstallation.
- install.sh supports triggering the uninstallation process with the --uninstall parameter and enhanced PATH cleanup mechanism.
- Unified multilingual prompts and optimized user experience.
The original method of storing multilingual messages using associative arrays was replaced with the functions `msg_en` and `msg_zh`,
to provide better shell compatibility. The `prompt_input` function was also introduced to unify user input logic,
improving stability and maintainability across different shell environments.
Adds a `lastActivityAt` field to the `streamingResponseEntry` structure to record the last active time of the streaming response.
Updates this timestamp when creating the streaming response, sending headers, and sending data blocks.
Modifies the logic for cleaning up timeout channels, using the last activity time instead of the creation time to determine if a timeout has occurred, improving accuracy in long-connection scenarios.
Redundant comments have been removed from the `WriteFrame` and heartbeat control methods, and logic for releasing unprocessed frames in the queue has been added to the `Close` method to ensure proper resource reclamation. Some unnecessary channel signal comments have also been removed, making the code more concise and clear.
Added the `--short` flag to the `version` command for printing version information without styles.
In this mode, only the version, Git commit hash, and build time in plain text format will be output, facilitating script parsing.
Optimized Windows process detection logic to improve runtime accuracy.
Removed redundant comments and simplified signal checking methods, making the code clearer and easier to maintain.
refactor(protocol): Replaced string matching of data frame types with enumeration types.
Unified the representation of data frame types in the protocol, using the `DataType` enumeration to improve performance and readability.
Introduced a pooled buffer mechanism to improve memory efficiency in high-load scenarios.
refactor(ui): Adjusted style definitions, removing hard-coded color values.
Removed fixed color settings from some lipgloss styles, providing flexibility for future theme customization.
``` docs(install): Improved the version extraction function in the installation script.
Added the `get_version_from_binary` function to enhance version identification capabilities, prioritizing plain mode output, ensuring accurate version number acquisition for the drip client or server across different terminal environments.
perf(tcp): Improved TCP processing performance and connection management capabilities.
Adjusted HTTP client transmission parameter configuration, increasing the maximum number of idle connections to accommodate higher concurrent requests.
Improved error handling logic, adding special checks for common cases such as closing network connections to avoid log pollution.
chore(writer): Expanded the FrameWriter queue length to improve batch write stability.
Increased the FrameWriter queue size from 1024 to 2048, and released pooled resources after flushing, better handling sudden traffic spikes and reducing memory usage fluctuations.
- Unified logo size and optimized layout using HTML tags
- Replaced headings with semantic tags `<h1>` and `<h3>`
- Reorganized the document structure to enhance readability and visual appeal
- Optimized Chinese descriptions for a more natural and fluent style
- Adjusted the installation, usage instructions, and architecture diagram descriptions
- Standardized the display of command-line options and parameters
Added a heartbeatControl channel to support dynamic start/stop of the heartbeat function and optimized related resource management logic,
ensuring that the heartbeat ticker can be correctly stopped and rebuilt. Also adjusted the field initialization order to ensure concurrency safety.
fix(ui): Improved the tunnel connection status display style
Updated the URL line display content, added the "(forwarded link)" prompt text; adjusted the style layout of the local forwarding address and prompt information,
making the interface clearer and easier to read.
- Optimized terminal output style and configuration management using libraries such as `lipgloss` and `go-json`
- Introduced the `ui` package to unify the display logic of colors, tables, and prompts
- Updated the README document structure and installation script links to improve readability and internationalization support
- Improved the interaction flow and log display effects of the daemon startup and attach commands
- Fixed some command parameter parsing issues, improving program robustness and user onboarding experience
The previous method of obtaining commit hashes via `git rev-parse` has been changed to directly using the `github.sha` variable provided by GitHub Actions,
and the first 10 characters are truncated as the short version commit hash.
Unnecessary `fetch-depth` configuration has also been removed.
In GitHub Actions' release workflow, the `ldflags` parameter has been added to the build command for each platform,
to inject the application version number, Git commit hash, and build time. This facilitates subsequent debugging and release tracking.
Updated client and server installation scripts to automatically fetch the latest release via the GitHub API and corrected binary download addresses. Removed the old "latest" version logic to ensure explicit version tags are always used for downloads.
fix(readme): Fixed installation commands and license information in the README.
Corrected the installation script link pointing to an incorrect URL in the README to the correct path raw.githubusercontent.com, and updated the open-source license information used by the project from MIT to BSD 3-Clause.
ci(release): Added an automated GitHub Actions release workflow.
Added a new CI workflow configuration file to trigger the build process when a tag is pushed. This workflow compiles binaries for multiple platforms, generates checksums, and creates a GitHub Release with attachments. Supports different architectures including Linux, macOS, and Windows.