Skip to content

v4.16.2: Startup Groups Module & Improved Startup Performance and Resource Usage

Latest

Choose a tag to compare

@xpf0000 xpf0000 released this 12 Jul 08:54

FlyEnv v4.16.2 Update Release Notes

🚀 New Features

1. Added Startup Groups

FlyEnv now includes a dedicated Startup Groups module for organizing exact service versions and language projects into reusable development environments. Instead of starting every visible service or switching services one by one, you can create groups for specific projects and control only the runtimes, databases, and project services each workflow needs.

This integration provides:

  • Custom Environment Groups: Create named, color-coded groups with descriptions for different projects or development scenarios
  • Service and Project Selection: Add installed service versions and independently runnable language projects to the same group
  • Controlled Startup Order: Arrange members in the required startup sequence; FlyEnv starts them in order and stops them in reverse order
  • Group and Member Controls: Start or stop a complete group with one switch, or control an individual member without changing the rest of the group
  • Default Group Integration: Choose a default startup group for the top-left one-click control and automatic service startup when FlyEnv launches
  • Live Status and Safety Feedback: See stopped, running, partially running, executing, and invalid states, with warnings for potential module or port conflicts

The same service can be reused across multiple groups, making it easy to share common infrastructure such as MySQL or Redis while keeping project-specific environments separate.

Thanks to @branll, @freenessfish, and @SevenJoker for the feature requests! Discussion #706 Issue #742 Issue #757

image

🛠️ Improvements & Bug Fixes

2. Fixed .NET Version Detection for Long Preview Versions

Resolved an issue where long .NET preview version strings such as 11.0.100-preview.5.26302.115 could leave the available-version view stuck on loading or crash the UI during version comparison. FlyEnv now normalizes these values safely for semantic version sorting, keeps download progress state reactive, and batches version-list updates to reduce unnecessary rendering work.

Long version names are also truncated cleanly in the table and can be viewed in full by hovering over them.

Thanks to @TanNhatCMS for the contribution! Pull Request #770


3. Improved Startup Performance and Resource Usage

FlyEnv now performs less repeated work while detecting runtimes, synchronizing environment variables, and stopping services. These internal optimizations improve application startup and service-management responsiveness while reducing duplicate filesystem scans, process enumeration, and cross-process environment loading.

This improvement includes:

  • Persistent Version Probe Cache: Reuses runtime version results instead of repeatedly launching binaries or reading the same version files
  • Shared Environment Snapshots: Coordinates environment loading across forked workers so they can reuse a current snapshot instead of rebuilding identical environment data
  • Shared Stop Process Lists: Reuses process enumeration results while stopping multiple services, avoiding repeated full process scans during the same operation
  • Automatic Cache Invalidation: Refreshes cached data after relevant environment or path changes so performance gains do not leave stale runtime information behind

📦 Build & Transparency

All FlyEnv installation packages are built using GitHub Actions. You can verify the build process and download the artifacts directly from the following links:


We welcome your continued feedback and bug reports via GitHub Issues

Enjoy the update!