Releases: 636f7374/durian.cr
Releases · 636f7374/durian.cr
2021.03.27
Changes
-
2021.03.27
- Update shards to crystal 1.0.0.
-
2021.02.11
- Update Resolver.get_udp_socket!.
-
2021.02.02
- Improve ambiguous Exception messages.
-
2021.02.01
- FetchList adds first?, last? methods.
- Update contributor list.
-
2021.01.26
- Initial support for Crystal 0.36 version.
-
2021.01.21
- Re-implementation of DNS resource pointer resolver.
- No longer use recursive parse of resource pointers, improve performance.
- Fix the problem that sometimes the DNS response packet is nil.
- Modify the exception prompt to ensure more reasonable.
- Remove useless variables.
- Fixed #4 the problem that sometimes resource pointer parse failed.
- Adjust the default Offset to 14bits (pointer 6bits + offset 8bits).
- Re-implementation of DNS resource pointer resolver.
-
2021.01.20
- Fix #5 the problem that PnedingList will never be deleted when fetch from the IP cache.
- Fix possible Data race problems.
-
2020.12.29
- Change ResourceRecord (RR) & Field (QAAA) from class to struct.
- This may reduce memory usage.
- Change ResourceRecord (RR) & Field (QAAA) from class to struct.
-
2020.12.18
- Improve Durian::Resolver.get_tcp_socket.
- If the fetch type is Coffee, Durian::Resolver.get_tcp_socket will forcibly clear the cache when all IP addresses in the list cannot be connected.
- Improve Durian::Resolver.get_tcp_socket.
-
2020.12.17
- Breaking changes: Improve Durian.getaddrinfo.
- FetchList will replace Tuple.
- Update shard.yml.
- Breaking changes: Improve Durian.getaddrinfo.
-
2020.12.16
- New feature: DNS over TLS (DoT) has been supported.
2020.12.16
Changes
-
2020.12.16
- Fix a serious problem: sometimes unable to decode TCP DNS packets.
- When the protocol is TCP, an offset of 2 bytes needs to be added when decoding by pointer, which is the length of the data packet.
- Fix a serious problem: sometimes unable to decode TCP DNS packets.
-
2020.12.02
- Fix the crash of getaddrinfoPending.
-
2020.12.01
- Fix the problem of high CPU usage caused by getaddrinfo Pending.
-
2020.11.28
- Fix the crash of getaddrinfoPending.
- Fix Examples and Rename: Durian::Cache -> Durian::Cache::Record.
- Fix possible Data race in Cache.
-
2020.11.27
- Fix Query Record Mutex.
-
2020.11.15
- Fixed the priority of getaddrinfo & Add getaddrinfo pending feature.
- Fix priority and solve local record parsing problem & Now, when the getaddrinfo query of the same host is initiated at the same time, only one query will be sent, and the rest of the requests will wait for it to complete the query (using Mutex).
- Fixed the priority of getaddrinfo & Add getaddrinfo pending feature.
-
2020.11.10
- Durian.getaddrinfo try_connect is now optional.
-
2020.10.31
- Improved the query record method.
- Improved the query record method, now it can perform better concurrent query, At the same time, ResolveResponse will now return the array Packet.
- Improved the query record method.
-
2020.10.30
- Durian can now query multiple DNS at the same time (using fiber).
- This can greatly improve performance, the side effect is: more file descriptors will be used, it should be noted that: macOS only has 256 by default.
- Fixed Issue #3 HTTP::Client TCPSoctet problem.
- Durian can now query multiple DNS at the same time (using fiber).
-
2020.06.26
- Packet.from_io no longer requires qrFlag.
- Move Random out of Durian::Resolver initialize.
- Rename: (Question, Answer, Authority, Additional) Section -> Field.
- Code cleanup.
-
2020.06.10
- Cache tapCount Int32 -> Atomic(Int64).
- Fix all Examples.
- IP address decoding performance greatly improved.
-
2020.06.07
- Replace Travis-CI with Github Action.
- Enable Github Action Continuous Integration.
-
2020.06.02
- Rename: through -> throughs.
- Minor adjustments.
-
2020.05.24
- Deprecated dependency Immutable::Map, changed to Mutex Hash.
2020.05.22
Changes
-
2020.05.22
- Rename: collects -> storage, kind -> entry.
-
2020.05.11
- Major & Performance improvements.
- Rename: Cache::RecordKind -> Cache::Entry.
- Rename: RecordType -> AvailableRecordFlag.
- Merge Packet class.
- Completely rewrite the Packet parser (Use bit manipulation).
- Major & Performance improvements.
2020.05.01
Changes
-
2020.05.01
- Useless Enum Cleanup.
- Package parsing performance has been greatly improved.
-
2020.04.30
- Deprecated Durian::Network TCPClient, UDPClient.
- Adjust NameSpace.
-
2020.04.26
- Circular Dependency Fixed.
-
2020.04.23
- Oops! Require Fixed.
- Adjust NameSpace.
-
2020.04.22
- Syntax Cleanup.
-
2020.04.19
- Circular Dependency Fixed.
- Support: Cloudflare & Coffee.cr.
2020.04.14
Changes
-
2020.04.14
- Rename Cache Item -> Entry.
-
2020.03.31
- Support: Mapping Local.
- Improve & Mapping Bug Fixed.
-
2020.03.22
- Improve: mapping_host -> mapping_address.
-
2020.03.16
- Supports: Alias & Mapping & Specify DNS Server Features.
-
2020.03.11
- Improve: Resolver Task thread safety.
-
2020.03.10
- Add all Cls Enum & Cls No longer use abbreviations.
- Durian::Resolver::{Cache|Network} -> Durian::{Cache|Network} & Cleanup.
2020.03.10
Changes
-
2020.03.10
- Support for CH class.
-
2020.03.05
- Resolver.get_udp_socket! Useless optional Fixed.
-
2020.03.03
- Cache.full? Improvements.
-
2020.02.28
- Durian::Resolver Improvements.
-
2020.02.27
- Change license to
GPLv3
.
- Change license to
-
2020.02.23
- Added Resolver.get_udp_socket!
- TCPSocket.choice_ip_address -> TCPSocket.choose_ip_address.
-
2020.02.22
- RecordFlag UInt32 -> UInt16.
- Cls UInt32 -> UInt16.
- Durian.decode_ipv6_address loopback Fixed.
-
2020.02.13
- Build failure Fixed.
-
2020.02.04
- Resolver Cleanup.
- TCPSocket Cleanup, Rename Resolver.getaddrinfo -> Resolver.getaddrinfo_all.
-
2020.02.03
- Added Option::Retry, Immutable Fixed.
- Hash -> Immutable, Data race temporary Fixed.
- SOA illegal, Protocol, Require Fixed.