Skip to content

Releases: kdroidFilter/ComposeNativeTray

1.0.5

03 Feb 06:51
d7ddcd0

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.0.4...v1.0.5

1.0.4

08 Oct 19:41

Choose a tag to compare

TrayApp : Adjust outside click detection for DPI scaling onj Windows

Full Changelog: v1.0.3...v1.0.4

1.0.3

08 Oct 18:45

Choose a tag to compare

Improve tray position detection on Windows Hdpi
Full Changelog: v1.0.2...v1.0.3

1.0.2

05 Oct 20:10
de7ffc4

Choose a tag to compare

What's Changed

Full Changelog: v1.0.1...v1.0.2

1.0.1

05 Oct 05:26
596a8dc

Choose a tag to compare

What's Changed

  • Refactor and enhance tray window dismissal behavior in TrayApp by @kdroidFilter in #319
  • Refactor and improve TrayApp implementation and dialog management by @kdroidFilter in #320
  • Update TrayApp with new parameters and enhanced documentation by @kdroidFilter in #321
  • Refactor dialog positioning and transition animations in TrayApp by @kdroidFilter in #322

Full Changelog: v1.0.0...v1.0.1

1.0.0

03 Oct 14:28
379204b

Choose a tag to compare

🎉 ComposeNativeTray 1.0.0

ComposeNativeTray has reached its first stable release!
The library is now considered production-ready across Windows, macOS, and Linux.

👉 Note: TrayApp remains marked as experimental, but continues to evolve rapidly.


🏆 Stability Milestone

  • Core APIs are now stable and production-safe
  • Public API surface is frozen (non-experimental parts)
  • Numerous fixes contributed by production users

✨ New: TrayWindowDismissMode

The TrayApp popup window can now be configured with different dismiss behaviors:

  • AUTO (default)
    The popup automatically hides when focus is lost or the user clicks outside (previous behavior).

  • MANUAL
    The popup stays visible until you explicitly call trayAppState.hide().
    Perfect for dashboards, overlays, or scenarios where the user should decide when to close.

val trayAppState = rememberTrayAppState(
    initialDismissMode = TrayWindowDismissMode.MANUAL
)

Switch at runtime:

trayAppState.setDismissMode(TrayWindowDismissMode.AUTO)

Full Changelog: v0.9.8...v1.0.0


0.9.8

30 Sep 11:55
9c71e50

Choose a tag to compare

What's Changed

Full Changelog: v0.9.7...v0.9.8

0.9.7

30 Sep 08:38
f877070

Choose a tag to compare

What's Changed

Full Changelog: v0.9.6...v0.9.7

0.9.6

30 Sep 03:57
df54fe5

Choose a tag to compare

What's Changed

Full Changelog: v0.9.5...v0.9.6

0.9.5

30 Sep 03:26
e523ee3

Choose a tag to compare

📦 ComposeNativeTray 0.9.5

This release fixes a critical state preservation issue in TrayApp - component states are now properly maintained when toggling the popup window visibility.


🐛 Critical Fix: State Preservation

Problem: Hiding the popup window destroyed all internal states (text inputs, selections, scroll positions)
Solution: The window now remains in the composition tree with controlled visibility

// Before: States were lost
if (shouldShowWindow) {
    DialogWindow(...) { content() }
}

// After: States are preserved
DialogWindow(
    visible = shouldShowWindow,  // Control visibility without unmounting
    ...
) { content() }

✨ What's Fixed

  • Text fields, checkboxes, and forms retain their values
  • Scroll positions are maintained
  • Running animations continue smoothly
  • No more content resets when reopening the popup

📝 Notes

  • Fully backwards compatible - no code changes required
  • Performance improvement - no component recreation overhead
  • Works across all platforms (Windows, macOS, Linux)

Full Changelog: v0.9.4...v0.9.5