Skip to content

Releases: fictive-kin/wireguard

v1.0.2

Choose a tag to compare

@jnhmcknight jnhmcknight released this 23 Jun 18:17
97b273a

What's Changed

  • Type hints and test linting by @jnhmcknight in #19
  • Make support for Python 3.12, 3.13 official
  • Code formatting applied

Full Changelog: v1.0.0...v1.0.2

v1.0.0

Choose a tag to compare

@jnhmcknight jnhmcknight released this 06 Nov 21:40
c6530b0

What's Changed

NOTE: This release contains a breaking change as all references to .config() need to be updated to be .config and any custom Config class needs to be either passed to the Peer or Server object at instantiation or will need to be set as .config_cls = MyCustomConfigClass at any later point in the Peer or Server objects' lifecycle.

Full Changelog: v0.4.0...v1.0.0

Peer dicts + bug fixes

Choose a tag to compare

@jnhmcknight jnhmcknight released this 07 Oct 15:33
0b0583c
  • Allows passing a list of peer dict info for the peers keyword during Peer/Server instantiation (#10)
  • Fixes a bug with passing a list of Pre/Post Up/Down directives, which was causing undesired nesting (#12). Thanks @UrfinJuice11 for identifying that problem.

IPv4/6 Simultaneously + JSON

Choose a tag to compare

@jnhmcknight jnhmcknight released this 23 Aug 02:15
c4f679a

What's Changed

Previously, IPv4 and IPv6 weren't cleanly handled, and you could arrive at situations where one was overriding the other. This cleans that up, handling each separately, but allowing the instantiation to have them combined, as WireGuard itself has them combined within config files.

Full Changelog: v0.2.5...v0.3.0

Config output cleanup

Choose a tag to compare

@jnhmcknight jnhmcknight released this 07 Jan 18:22
7270aa5

Fixes:

  • Adds a blank line between peer sections in outputted files for better readability: #4. Thanks, @kraysx7

Support for MTU and Table

Choose a tag to compare

@jnhmcknight jnhmcknight released this 16 Dec 21:44
d7eb722

Bug Fixes:

  • Empty config values should not output broken directives to the WireGuard config files. af03a8f
  • Keepalive was affecting the wrong config file. af03a8f
  • Preshared keys were not being put in both ends of a peer configuration. af03a8f
  • Not all appropriate options were being inherited by a peer in a server<->peer configuration. bd0dc73
  • Tuples were not being handled correctly where lists and sets were accepted. 75cf466

Enhancements:

  • Adds support for using the MTU and Table directives in the WireGuard config files. #3 Thanks @marneu!
  • Test suite has been expanded. 5b1561e
  • Better error messages for certain cases. 75cf466

Better line separator handling

Choose a tag to compare

@jnhmcknight jnhmcknight released this 30 Nov 22:00
a705043

Bug fixes:

  • Under certain conditions, generated config files might be missing some newlines which result in WireGuard syntax errors. Thanks @marneu

Enhancements:

  • Be explicit about which encoding to use when writing config files
  • Use None as default value for a method's argument and handle inside the method

Adds QR Code

Choose a tag to compare

@jnhmcknight jnhmcknight released this 31 Mar 17:48
93cf715

When configuring a peer, for certain types of peers, it is beneficial to have a QR code to scan during the setup process. This enables that in the core library. However, it is an optional dependency, and as such must be installed via pip install wireguard[qr]. Alternately, installing the qrcode[pil] library will allow the functionality to be used.

Major Refactor

Choose a tag to compare

@jnhmcknight jnhmcknight released this 31 Mar 02:25
fa7bccc

The object structure has been refactored to better represent the WireGuard config structure, which doesn't really have a server vs peer differentiation. Both are peers of each other.

Additionally, a Config class has been created to simplify the Peer and Server classes.

Better Routing Control

Choose a tag to compare

@jnhmcknight jnhmcknight released this 16 Mar 17:50
d6f41a3

Replaces use of upstream-only (ie: peer -> server) subnet routing to two values, to allow for distinct subnet routing in either direction.