PackageTrack
Sign in Get early access

mdns_dart

A comprehensive mDNS (Multicast DNS) service discovery and advertisement library for Dart, ported from HashiCorp Go implementation.

2.2.2 4.6K downloads/mo #3966 most downloaded on pub.dev animeshxd/mdns_dart

What this package is like to depend on

Last release 10 days ago

14 Aug 2026

Release timing varies

gaps range from 1 weeks to 6 months

Nearly every release is documented

notes for 14 of 14 stable releases

Nothing withdrawn

no release was ever pulled

1 years old

14 releases · first in 2025

6 releases in the last 12 months

see the full history below

Release timeline

14 releases · Jun 2025 to Aug 2026
2026
Release Pre-release

Releases

latest 14
  1. 2.2.2 14 Aug 2026
    Release notes
    • Cast iface.addresses to InternetAddress for Dart 3.13+ compatibility. (#18)
    Open source →
  2. 2.2.1 25 Feb 2026
    Release notes
    • Refactored MDNSService.create to avoid filtering out explicitly provided IP addresses.
    Open source →
  3. 2.2.0 24 Feb 2026
    Release notes
    • Refactored MDNSService.create to use usable InternetAddress from NetworkInterface by default. (#13)
    • Fixed IPv6 serialization for AAAARecord to ensure correct formatting in mDNS responses. (#11)
    • Added simple integration tests to verify full client-to-server discovery workflows.
    • Added unit tests for DNS message parsing.
    • Added unit tests for QuerySession, MDNSService, MDNSService.create and MDNSService.records.
    • Added unit tests for trimDot and isValidFQDN utility functions.
    • Extracted mDNS query record assembly and state management logic into a new QuerySession class.
    • Refactored trimDot and isValidFQDN helpers to src/utils.dart and made them public.
    • Updated ServiceEntry.addrV4 and ServiceEntry.addrV6 to use firstOrNull for Bad State: No element error.
    • Removed print as default logging for MDNSServer and relied on user-provided logger instead.
    Open source →
  4. 2.1.0 30 Oct 2025
    Release notes
    • Added note on client_docker0.dart example about unicast responses in Docker environments.
    • Added missing logic to bind the IPv6 unicast socket to the interface's specific IP address.
    • Bound unicast sockets to the specific IP address of the selected network interface on initialization.
    • Refactored _initialize from _Client and split into _bindUnicastSocket and _bindMulticastSocket for better maintainability.
    Open source →
  5. 2.0.1 25 Sep 2025
    Release notes
    • Refactored _createResponse from MDNSServer to use DNSFlags constants for clarity.
    • Improved documentation for QueryParams.service parameter to clarify expected format.
    • Reformatted all code for improved consistency and readability.
    Open source →
  6. 2.0.0 25 Sep 2025
    Release notes
    • Changed the default value of reusePort to false. Implementations that require port reuse must now explicitly set reusePort: true. (#6)
    • Lowered minimum Dart SDK constraint to ^3.0.0 for wider compatibility. (#5)
    • Significantly simplified the discover method by removing redundant timeout, result, and error handling logic.
    • Removed the unused entriesController property from QueryParams.
    • Cleaned up the QueryParams.defaultFor factory to remove redundant default values.
    • Fixed incorrect placement of the documentation for the setMulticastInterface extension method.
    • Added a note to QueryParams.reusePort regarding potential socket binding issues on Android.
    Open source →
  7. 1.1.1 05 Jul 2025
    Release notes
    • Reformatted all code for improved consistency and readability.
    • Enhanced error handling and logging for mDNS query sending over IPv4 and IPv6
    • _sendQuery now throws a StateError if mDNS query sending fails for both IPv4 and IPv6.
    Open source →
  8. 1.1.0 15 Jun 2025
    Release notes
    • Added support for multiple addresses in a ServiceEntry
    • Added filtering to ignore non-service related mDNS packets
    • Added NSEC record support with proper type 47 handling per RFC 4034
    • Improved unknown record type handling with explicit logging
    Open source →
  9. 1.0.5 11 Jun 2025
    Release notes
    • Updated package description to specify support for both mDNS service discovery and advertisement.
    Open source →
  10. 1.0.4 05 Jun 2025
    Release notes
    • Added configurable socket options: reusePort, reuseAddress, and multicastHops
    • Added comprehensive logging support for debugging network issues
    • Minimized example files for cleaner demonstration
    • Formatted for improved readability
    Open source →
  11. 1.0.3 02 Jun 2025
    Release notes
    • Updated README.md with improved feature comparison table and refined examples.
    • Improved example/example.md
    Open source →
  12. 1.0.2 01 Jun 2025
    Release notes
    • Exported src/server.dart in the public API (lib/mdns_dart.dart) for direct access to mDNS server functionality.
    Open source →
  13. 1.0.1 01 Jun 2025
    Release notes
    • Fixed deprecated multicastInterface usage with modern setRawOption implementation
    Open source →
  14. 1.0.0 01 Jun 2025
    Release notes
    • Initial release: Port of HashiCorp's mDNS to Dart
    • Comprehensive mDNS service discovery with full protocol support
    • Interface binding for cross-network discovery
    • Support for both IPv4 and IPv6
    • Docker/bridge network compatibility
    • Full mDNS server for service advertising
    • Pure Dart implementation with no native dependencies
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive