tunnelkit/CHANGELOG.md

5.2 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.4.3 (2019-03-18)

Fixed

  • Several reconnection issues.
  • Missing EKU flag evaluation.

1.4.2 (2019-03-05)

Added

  • Shut down if server pushes a compressed data packet.

Fixed

  • Custom DNS servers were not applied.
  • Reject <connection> blocks as unsupported.

1.4.1 (2019-02-25)

Added

  • Override DNS servers client side. #56
  • Shut down if server pushes a compression directive. #65

Changed

  • Enable or disable EKU according to remote-cert-tls server in .ovpn file. #64

Fixed

  • Compiling errors in demo target.
  • Linking errors with OpenSSL.
  • A few potential vulnerabilities.

1.4.0 (2018-11-12)

Added

  • Parser for .ovpn configuration files. #47

Changed

  • Due to #47, SocketType and EndpointProtocol were moved to Core subspec.

1.3.1 (2018-11-07)

Fixed

  • IPv4/UInt32 conversions are not endianness-agnostic. #46

1.3.0 (2018-10-28)

Changed

  • Refactored tunnel configuration API for increased code reuse. #44

Deprecated

  • Use high-level accessories instead of debugLogKey and lastErrorKey. #45

Fixed

  • IPv4/UInt32 calculations were wrong.

1.2.2 (2018-10-25)

Changed

  • Debug log is saved to group container rather than UserDefaults. #43

Fixed

  • Handle server-initiated renegotiation. #41
  • Potentially private data (e.g. Internet addresses) is now masked in debug log. #42

1.2.1 (2018-10-24)

Added

  • Configuration key lastErrorKey for reporting errors to host app. #40
  • Server extended key usage validation (EKU). #27

Fixed

  • CA file was not closed after MD5 calculation when using PIA patches.
  • Mitigated an issue with MTU in TCP mode during negotiation. #39

1.2.0 (2018-10-20)

Added

  • Support for --tls-auth wrapping. #34
  • Support for --tls-crypt wrapping. #35
  • Parser for static OpenVPN keys from file. #36

Fixed

  • Handling of mixed DATA_V1/DATA_V2 packets. #30

1.1.2 (2018-10-18)

Added

  • Restored support for PIA patches. #32

1.1.1 (2018-10-10)

Fixed

  • Make CA non-optional. #28

1.1.0 (2018-09-26)

Added

  • Client certificate verification. #3
  • Support for both --comp-lzo and --compress compression framing. #2, #5, #10
  • Routes setup from PUSH_REPLY. #7
  • Support for IPv6. #8
  • Support for server-side NCP. #11
  • Property to mark ciphers not requiring digest auth (e.g. GCM). #13
  • Codable implementations for native Swift serialization. #15
  • More cipher and digest algorithms. #16
  • Negotiated compression framing from PUSH_REPLY. #19
  • Customizable keep-alive. #20
  • Negotiated keep-alive from PUSH_REPLY. #22
  • Peer-info metadata.

Changed

  • Raised iOS target to 11 (drops 32-bit support).
  • Upgraded OpenSSL from 1.1.0h to 1.1.0i.
  • Minor adjustments for Xcode 10 / Swift 4.2.
  • Deep refactoring of control channel for future extensibility.
  • App group moved out of tunnel configuration, to make it more platform-agnostic and coherent to serialize.
  • Keep-alive is disabled by default.
  • Several internal renamings.

Fixed

  • Sensitive data logged in PUSH_REPLY. #12
  • Bad interpretation of 0 seconds between renegotiations. #18
  • Incorrect behavior on data-related failures. #21

1.0.0 (2018-08-23)

Added

Removed

  • Non-standard PIA patches.