Skip to content

Commit 003881b

Browse files
committed
Release version 8.0.0
Signed-off-by: Ivan Kanakarakis <[email protected]>
1 parent 027a421 commit 003881b

File tree

3 files changed

+97
-2
lines changed

3 files changed

+97
-2
lines changed

.bumpversion.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 7.0.3
2+
current_version = 8.0.0
33
commit = True
44
tag = True
55

CHANGELOG.md

+95
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,100 @@
11
# Changelog
22

3+
## 8.0.0 (2021-08-08)
4+
5+
This is a breaking release, if you were using the openid_connect frontend. To
6+
keep compatibility:
7+
8+
1. Install the proxy with `pip install satosa[pyop_mongo]` in order to fetch
9+
the right dependencies.
10+
2. If you were not using the `client_db_path` option then set the new option
11+
`client_db_uri` to the value of `db_uri`.
12+
13+
- The internal data now hold the authenticating authority as part of the
14+
AuthenticationInformation object
15+
(`satosa.internal::AuthenticationInformation::authority`).
16+
- The Context object now holds a dictionary of query string params
17+
(`context.qs_params`).
18+
- The Context object now holds a dictionary of http headers
19+
(`context.http_headers`).
20+
- The Context object now holds a dictionary of server headers
21+
(`context.server_headers`).
22+
- The Context object now holds the request method (`context.request_method`).
23+
- The Context object now holds the request uri (`context.request_uri`).
24+
- The Context object now holds a dictionary of http headers.
25+
- frontends: the openid_connect frontend has a new configuration option
26+
`signing_key_id` to set the `kid` field on the jwks endpoint.
27+
- frontends: the openid_connect frontend dependency `pyop` has been updated
28+
to work with both Redis and MongoDB. This changed how its dependencies are
29+
set. This is reflected in this package's new extras that can be set to
30+
`pyop_mongo` (to preserve the previous behaviour), or `pyop_redis`.
31+
- frontends: the openid_connect frontend filters out unset claims.
32+
- frontends: the openid_connect frontend has a new option
33+
`extra_id_token_claims` to define in the config per client which extra claims
34+
should be added to the ID Token to also work with those clients.
35+
- frontends: the openid_connect frontend has a new option `client_db_uri` to
36+
specify a database connection string for the client database. If unset,
37+
`client_db_path` will be used to load the clients from a file.
38+
Previously, the option `db_uri` was used to set the client database string.
39+
If you were relying on this behaviour, add the `client_db_uri` option with
40+
the same value as `db_uri`.
41+
- frontends: document the `client_db_path` option for openid_connect
42+
- frontends: the openid_connect frontend has a new configuration option
43+
`id_token_lifetime` to set the lifetime of the ID token in seconds.
44+
- frontends: the saml2 frontend has a new option `enable_metadata_reload` to
45+
expose an endpoint (`/<module_name>/reload-metadata`) that allows external
46+
triggers to reload the frontend's metadata. This setting is disabled by
47+
default. It is up to the user to protect the endpoint if enabled. This
48+
feature requires pysaml2 > 7.0.1
49+
- backends: the saml2 backend derives the encryption keys based on the
50+
`encryption_keypairs` configuration option, otherwise falling back to
51+
the `key_file` and `cert_file` pair. This is now reflected in the internal
52+
pysaml2 configuration.
53+
- backends: the saml2 backend `sp` property is now of type
54+
`saml2.client::Saml2Client` instead of `saml2.client_base::Base`. This allows
55+
us to call the higer level method
56+
`saml2.client::Saml2Client::prepare_for_negotiated_authenticate` instead of
57+
`saml2.client_base::Base::create_authn_request` to properly behave when
58+
needing to sign the AuthnRequest using the Redirect binding.
59+
- backends: the saml2 backend has a new option `enable_metadata_reload` to
60+
expose an endpoint (`/<module_name>/reload-metadata`) that allows external
61+
triggers to reload the backend's metadata. This setting is disabled by
62+
default. It is up to the user to protect the endpoint if enabled. This
63+
feature requires pysaml2 > 7.0.1
64+
- backends: new ReflectorBackend to help with frontend debugging easier and
65+
developing quicker.
66+
- backends: the saml2 backend has a new configuration option
67+
`send_requester_id` to specify whether Scoping/RequesterID element should be
68+
part of the AuthnRequest.
69+
- micro-services: new DecideBackendByTargetIssuer micro-service, to select
70+
a target backend based on the target issuer.
71+
- micro-services: new DiscoToTargetIssuer micro-service, to set the discovery
72+
protocol response to be the target issuer.
73+
- micro-services: new IdpHinting micro-service, to detect if an idp-hinting
74+
feature has been requested and set the target entityID. Enabling this
75+
micro-service will result in skipping the discovery service and using the
76+
specified entityID as the IdP to be used. The IdP entityID is expected to be
77+
specified as a query-param value on the authentication request.
78+
- micro-services: new AttributePolicy micro-service, which is able to force
79+
attribute policies for requester by limiting results to a predefined set of
80+
allowed attributes.
81+
- micro-services: the PrimaryIdentifier micro-service has a new option
82+
`replace_subject_id` to specify whether to replace the `subject_id` with the
83+
constructed primary identifier.
84+
- micro-services: PrimaryIdentifier is set only if there is a value.
85+
- micro-services: AddSyntheticAttributes has various small fixes.
86+
- micro-services: ScopeExtractorProcessor can handle string values.
87+
- dependencies: the `pystache` package has been replaced by `chevron`, as
88+
`pystache` seems to be abandoned and will not work with python v3.10 and
89+
`setuptools` v58 or newer. This package is a dependency of the
90+
`satosa.micro_services.attribute_generation.AddSyntheticAttributes`
91+
micro-service.
92+
- tests: MongoDB flags have been updated to cater for deprecated flags.
93+
- docs: updated with information about the newly added micro-services.
94+
- docs: various typo fixes.
95+
- docs: various example configuration fixes.
96+
97+
398
## 7.0.3 (2021-01-21)
499

5100
- dependencies: Set minimum pysaml2 version to v6.5.1 to fix internal XML

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
setup(
88
name='SATOSA',
9-
version='7.0.3',
9+
version='8.0.0',
1010
description='Protocol proxy (SAML/OIDC).',
1111
author='DIRG',
1212
author_email='[email protected]',

0 commit comments

Comments
 (0)