Skip to content
This repository has been archived by the owner on Nov 29, 2024. It is now read-only.

Releases: eduvpn/eduvpn-common

2.1.0

30 Jul 07:38
Compare
Choose a tag to compare

These releases are signed with keys/[email protected] and keys/minisign-CA9409316AC93C07.pub
Changelog:

  • Discovery:
    • Fetch on startup in the background with a function "DiscoveryStartup"
    • Remove organization 4 hour expiry, fetch organization list when the client needs to authorize again
    • Fix missing JSON fields not having empty values but having values for previous entries due to a memory re-use bug (#55). This can be noticed in e.g. the keyword list
    • Implement conditional requests using If-Modified-Since request header and Last-Modified response header and checking on HTTP 304
  • FSM:
    • Allow AskProfile selection after authorizing
    • Go to previous state on renew error
  • Proxyguard integration:
    • Fix race condition warning
  • User agent:
    • Override ProxyGuard user agent
    • Override eduoauth-go user agent
  • Deps:
    • Update to latest versions

2.0.2

25 Jun 12:43
Compare
Choose a tag to compare

These releases are signed with keys/[email protected] and keys/minisign-CA9409316AC93C07.pub
Changelog:

  • Client: More frequent state file saving which helps forceful closes of a client
  • Config: Implement atomic file writes

2.0.1

06 Jun 12:34
Compare
Choose a tag to compare

These releases are signed with keys/[email protected] and keys/minisign-CA9409316AC93C07.pub
Changelog:

  • Discovery: Updates regarding the internal handling of the discovery organization list cache
  • Translations: Update from weblate

2.0.0

04 Jun 14:41
Compare
Choose a tag to compare

These releases are signed with keys/[email protected] and keys/minisign-CA9409316AC93C07.pub
Changelog since 1.99.2:

  • Minimise exposed discovery to the client and add search by giving a second argument to DiscoServers or DiscoOrganizations with the search query:
    • organization list globally changes:
      • remove v field
      • remove go_timestamp field
    • each organization changes:
      • remove authentication_url_template field
      • remove keyword_list field
      • remove public_key_list field
      • remove support_contact field
    • server list globally changes:
      • remove v field
      • remove go_timestamp field
    • each server changes:
      • remove secure_internet_home field
      • remove keyword_list field
  • Python wrapper:
    • Add setup.py & setup.cfg for backwards compatibility instead of completely relying on pyproject.toml
  • API:
    • Add a ton of tests by mocking the server API
  • Makefile:
    • Add a coverage target
  • Server:
    • Replace the non-interactive AddServer flag with an oauth start time flag,
      if non-nil the server is added non-interactively and the OAuth start time is stored
  • Client FSM:
    • Remove graph image generation using Mermaid as that is too much code in core, this will be implemented using an external script
  • Example CLI:
    • Fix profile/location selection
  • Translations:
    • Update from Weblate
  • Deps:
    • Update to eduoauth-go 1.0.0

to view the complete changelog since latest stable read from https://github.com/eduvpn/eduvpn-common/blob/main/CHANGES.md#1990-2024-03-07

1.2.1

24 May 15:19
Compare
Choose a tag to compare

These releases are signed with keys/[email protected] and keys/minisign-CA9409316AC93C07.pub
Changelog:

  • Python wrapper:
    • Do not add type annotation for global object
    • Do not use * in docstring to avoid SyntaxWarning for Python 3.12

1.99.2

26 Apr 14:29
Compare
Choose a tag to compare
1.99.2 Pre-release
Pre-release

These pre-releases are signed with keys/[email protected] and keys/minisign-CA9409316AC93C07.pub
Changelog:

  • Expose default gateway in profile settings too. For clients, use the default gateway set on the config object, this is maybe only useful for suggesting some profiles in the client profile chooser UI
  • Add a server internally before authorizing and remove it again if authorization has failed. This makes sure the internal state is always up-to-date with what is happening. This also allows us to move to the main state when authorization is done as previously it could be the case where authorization was done but the server was not added yet
  • Fix previous state not being set correctly when getting a config and an error happens
  • Make WireGuard support mandatory
  • Cache secure internet profile choice per location
  • Update go dependencies: eduoauth-go logging changes
  • Cancel ProxyGuard in Cleanup function if it was started using the common functionality
  • FSM Changes: Allow to go to disconnected from OAuthStarted and GettingConfig
  • Refactor makefile & building for Go and Python code

1.99.1

11 Mar 10:53
3e5437b
Compare
Choose a tag to compare
1.99.1 Pre-release
Pre-release

These pre-releases are signed with keys/[email protected] and keys/minisign-CA9409316AC93C07.pub
Changelog:

1.99.0

07 Mar 14:20
Compare
Choose a tag to compare
1.99.0 Pre-release
Pre-release

These pre-releases are signed with keys/[email protected] and keys/minisign-CA9409316AC93C07.pub
Changelog:

  • OAuth:
    • Move to github.com/jwijenbergh/eduoauth-go
  • WireGuard:
  • Dependencies:
    • Remove github.com/go-errors/errors
  • State:
    • Create a new state file (v2), but automatically convert from version 1 to 2
    • Remove a ton of caching in the version 2 state file
  • Data transmission:
    • Move from Go->C types->language X types to using: Go struct -> JSON as a c string -> Language unmarshalls JSON. This eliminates a lot of code and makes it easier for clients to Go and the clients to convert data.
    • The data that clients receive is handled in the types folder
    • Rewrite the Python wrapper to use this new API but only return the JSON string. The Linux client further handles the processing of the data. This makes the wrapper nice and small
  • Client package:
    • Remove server.go file and merge into the main implementation file (client.go)
  • Internal server package:
    • Split into subpackages
  • Failover:
    • Support Windows by using an ip4:icmp ping instead of udp4
  • Errors:
    • Translate errors that are returned to clients using golang.org/x/text and use Weblate
    • Split into "internal" errors and actual errors. Internal errors are errors that should not happen and will thus also not be translated. These internal errors are mostly due to a client fault, e.g. trying to get discovery servers when the client is Let's Connect!
  • Cancellation:
    • Support contexts in the Go API such that almost any action can be cancelled, e.g. HTTP requests.
    • Support these contexts in the exported API by creating so-called "cookies". The way it works is that clients create a cookie and then pass it to a function. When the client was to cancel any function that uses this cookie it calls "CookieCancel". These same cookies are also used as identifiers to reply to state transitions, e.g. "here is the profile I have chosen" or "here is the secure internet location I want to choose".
  • FSM:
    • Properly restore the previous state when an error occurs instead of almost always going back to NoServer
    • Simplified to use less states
  • CI + Docker:
  • Docs:
    • Autogenerate exports docs using genexportsdoc.py
    • Rewrite a large portion of the API section
    • Support mermaid graphs using mdbook-mermaid
  • API:
    • add support for DNS search domains
    • add support for VPN proto transport list
  • Server List:
    • Implement delisted servers

1.2.0

08 Dec 18:27
Compare
Choose a tag to compare

These releases are signed with keys/[email protected] and keys/minisign-CA9409316AC93C07.pub
Changelog:

  • OAuth:
    • Disable all ISS checks
  • API:
    • Only validate that the scheme is HTTPS in well-known. Hostname checking should be handled by ISS properly in the future
  • Renew:
    • Base showing renew button time on 30 minutes since authorization start time correctly
    • Add docker files for building pip packages

1.1.99.0

25 Oct 14:35
b2915ce
Compare
Choose a tag to compare
1.1.99.0 Pre-release
Pre-release

These pre-releases are signed with keys/[email protected] and keys/minisign-CA9409316AC93C07.pub
Changelog:

  • Version:
    • Make it easier to update
  • Makefile:
    • Remove unused packaging targets
  • CI/Docker (cherry-picked from main branch):
  • go.mod/go.sum:
    • Update dependencies
  • Release scripts:
    • Add prepare_release.sh script that formats the code and changes version numbers automatically
    • Change make_release.sh to automatically add artifacts
    • Support development GPG key for pre-releases