Skip to content

Releases: 636f7374/durian.cr

2021.03.27

27 Mar 05:35
Compare
Choose a tag to compare

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).
  • 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.
  • 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.
  • 2020.12.17

    • Breaking changes: Improve Durian.getaddrinfo.
      • FetchList will replace Tuple.
    • Update shard.yml.
  • 2020.12.16

    • New feature: DNS over TLS (DoT) has been supported.

2020.12.16

16 Dec 05:36
Compare
Choose a tag to compare

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.
  • 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).
  • 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.
  • 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.
  • 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

21 May 22:56
Compare
Choose a tag to compare

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).

2020.05.01

01 May 15:36
Compare
Choose a tag to compare

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

14 Apr 01:23
Compare
Choose a tag to compare

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

09 Mar 19:58
Compare
Choose a tag to compare

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.
  • 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.