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
Releases
latest 14-
2.2.214 Aug 2026Release notes
Open source →- Cast
iface.addressestoInternetAddressfor Dart 3.13+ compatibility. (#18)
- Cast
-
2.2.125 Feb 2026Release notes
Open source →- Refactored
MDNSService.createto avoid filtering out explicitly provided IP addresses.
- Refactored
-
2.2.024 Feb 2026Release notes
Open source →- Refactored
MDNSService.createto use usableInternetAddressfromNetworkInterfaceby default. (#13) - Fixed IPv6 serialization for
AAAARecordto 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.createandMDNSService.records. - Added unit tests for
trimDotandisValidFQDNutility functions. - Extracted mDNS query record assembly and state management logic into a new
QuerySessionclass. - Refactored
trimDotandisValidFQDNhelpers tosrc/utils.dartand made them public. - Updated
ServiceEntry.addrV4andServiceEntry.addrV6to usefirstOrNullforBad State: No elementerror. - Removed print as default logging for
MDNSServerand relied on user-provided logger instead.
- Refactored
-
2.1.030 Oct 2025Release notes
Open source →- 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
_initializefrom_Clientand split into_bindUnicastSocketand_bindMulticastSocketfor better maintainability.
-
2.0.125 Sep 2025Release notes
Open source →- Refactored
_createResponsefromMDNSServerto useDNSFlagsconstants for clarity. - Improved documentation for
QueryParams.serviceparameter to clarify expected format. - Reformatted all code for improved consistency and readability.
- Refactored
-
2.0.025 Sep 2025Release notes
Open source →- Changed the default value of
reusePorttofalse. Implementations that require port reuse must now explicitly setreusePort: true. (#6) - Lowered minimum Dart SDK constraint to
^3.0.0for wider compatibility. (#5) - Significantly simplified the
discovermethod by removing redundant timeout, result, and error handling logic. - Removed the unused
entriesControllerproperty fromQueryParams. - Cleaned up the
QueryParams.defaultForfactory to remove redundant default values. - Fixed incorrect placement of the documentation for the
setMulticastInterfaceextension method. - Added a note to
QueryParams.reusePortregarding potential socket binding issues on Android.
- Changed the default value of
-
1.1.105 Jul 2025Release notes
Open source →- Reformatted all code for improved consistency and readability.
- Enhanced error handling and logging for mDNS query sending over IPv4 and IPv6
_sendQuerynow throws aStateErrorif mDNS query sending fails for both IPv4 and IPv6.
-
1.1.015 Jun 2025Release notes
Open source →- 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
- Added support for multiple addresses in a
-
1.0.511 Jun 2025Release notes
Open source →- Updated package description to specify support for both mDNS service discovery and advertisement.
-
1.0.405 Jun 2025Release notes
Open source →- Added configurable socket options:
reusePort,reuseAddress, andmulticastHops - Added comprehensive logging support for debugging network issues
- Minimized example files for cleaner demonstration
- Formatted for improved readability
- Added configurable socket options:
-
1.0.302 Jun 2025Release notes
Open source →- Updated
README.mdwith improved feature comparison table and refined examples. - Improved example/example.md
- Updated
-
1.0.201 Jun 2025Release notes
Open source →- Exported
src/server.dartin the public API (lib/mdns_dart.dart) for direct access to mDNS server functionality.
- Exported
-
1.0.101 Jun 2025Release notes
Open source →- Fixed deprecated
multicastInterfaceusage with modernsetRawOptionimplementation
- Fixed deprecated
-
1.0.001 Jun 2025Release notes
Open source →- 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