A generic proxy server for applying access-control policies for a FHIR-store.

Overview

FHIR Access Proxy

Build Status

This is a simple access-control proxy that sits in front of a FHIR store (e.g., a HAPI FHIR server, GCP FHIR store, etc.) and controls access to FHIR resources.

The authorization and access-control have three components; one of them is this access proxy. The other two are an Identity Provider (IDP) and an Authorization server (AuthZ). The responsibility of this pair is to authenticate the user and issue access tokens (in JWT format and using authorization flow of OAuth 2.0). The requests to the access proxy should have the access token as a Bearer Authorization header. Based on that, the proxy decides whether to grant access for a FHIR query.

Modules involved in FHIR authorization/access-control

The initial design doc for this work is available here.

Modules

The proxy consists of a core, which is in the server module, and a set of access-checker plugins, which can be implemented by third parties and added to the proxy server. Two sample plugins are implemented in the plugins module. To build both modules, from the root run:

mvn package

This creates an executable server and a plugin jar which can be run together:

java -Dloader.path="plugins/target/plugins-0.1.0.jar" \
  -jar server/target/server-0.1.0-exec.jar --server.port=8081

The plugin library can be swapped with any third party access-checker as described in the plugins directory. If you prefer to combine everything into a single standalone jar, you can do:

mvn package -Pstandalone-app

and then run:

java -jar plugins/target/plugins-0.0.1-exec.jar --server.port=8081

Proxy setup

The proxy configuration parameters are currently provided through environment variables:

  • FHIR store location: This is set by PROXY_TO environment variable, using the base url of the FHIR store e.g.:

    export PROXY_TO=https://example.com/fhir
  • Access token issuer: This is set by TOKEN_ISSUER variable, e.g.:

    export TOKEN_ISSUER=http://localhost:9080/auth/realms/test

    The above example is based on the default config of a test IDP+AuthZ Keycloak server. To see how this server is configured, check the docker/keycloak directory. If you want to use a SMART-on-FHIR app use this realm instead:

    export TOKEN_ISSUER=http://localhost:9080/auth/realms/test-smart
  • AccessChecker: As mentioned above, access-checkers can be provided as plugins and easily swapped. Each access-checker has a name (see plugins for details) and ACCESS_CHECKER variable should be set to this name. For example, the two plugins that are provided in this repository, can be selected by either of:

    export ACCESS_CHECKER=list
    export ACCESS_CHECKER=patient
  • AllowedQueriesChecker: There are URL requests that the server can allow without going through an access checker. AllowedQueriesChecker is a special AccessChecker that compares the incoming request with a configured set of allowed-queries. The intended use of this checker is to override all other access-checkers for certain user-defined criteria. The user defines their criteria in a config file and if the URL query matches an entry in the config file, access is granted. An example of this is: hapi_page_url_allowed_queries.json. To use the file, set the ALLOWED_QUERIES_FILE variable:

    export ALLOWED_QUERIES_FILE="resources/hapi_page_url_allowed_queries.json"
  • The proxy makes no assumptions about what the FHIR server is, but the proxy should be able to send any FHIR queries to the server. For example, if you use a GCP FHIR store you have the following options:

    • If you have access to the FHIR store, you can use your own credentials by doing application-default login. This is useful when testing the proxy on your local machine, and you have access to the FHIR server through your credentials.
    • Use a service account with required access (e.g., "Healthcare FHIR Resource Reader", "Healthcare Dataset Viewer", "Healthcare FHIR Store Viewer"). You can then run the proxy in the same GCP project on a VM with this service account.
    • [not-recommended] You can create and download a key file for the above service account, then use it with
    export GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_THE_JSON_KEY_FILE"

Once you have set all the above, you can run the proxy server. By default, the server uses Apache Tomcat through Spring Boot and the usual configuration parameters apply, e.g., to run on port 8081:

java -jar plugins/target/plugins-0.1.0-exec.jar --server.port=8081

Docker

The proxy is also available as a docker image:

$ docker run -p 8081:8080 -e TOKEN_ISSUER=[token_issuer_url] \
  -e PROXY_TO=[fhir_server_url] -e ACCESS_CHECKER=list \
  us-docker.pkg.dev/fhir-proxy-build/stable/fhir-access-proxy:latest

Note if the TOKEN_ISSUER is on the localhost you need to bypass proxy's token issuer check by setting RUN_MODE=DEV environment variable.

GCP note: if this is not on a VM with proper service account (e.g., on a local host), you need to pass GCP credentials to it, for example by mapping the .config/gcloud volume (i.e., add -v ~/.config/gcloud:/root/.config/gcloud to the above command).

How to use this proxy

Once the proxy is running, we first need to fetch an access token from the TOKEN_ISSUER; you need the test username and password plus the client_id:

$ curl -X POST -d 'client_id=CLIENT_ID' -d 'username=testuser' \
  -d 'password=testpass' -d 'grant_type=password' \
"http://localhost:9080/auth/realms/test/protocol/openid-connect/token"

We need the access_token of the returned JSON to be able to convince the proxy to authorize our FHIR requests (there is also a refresh_token in the above response). Assuming this is stored in the ACCESS_TOKEN environment variable, we can access the FHIR store:

$ curl -X GET -H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "Content-Type: application/json; charset=utf-8" \
'http://localhost:8081/Patient/f16b5191-af47-4c5a-b9ca-71e0a4365824'
$ curl -X PUT -H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "Content-Type: application/json; charset=utf-8" \
'http://localhost:8081/Patient/f16b5191-af47-4c5a-b9ca-71e0a4365824' \
-d @Patient_f16b5191-af47-4c5a-b9ca-71e0a4365824_modified.json

Of course, whether a query is accepted or denied, depends on the access-checker used and the ACCESS_TOKEN claims. For example, for ACCESS_CHECKER=list there should be a patient_list claim which is the ID of a List FHIR resource with all the patients that this user has access to. For ACCESS_CHECKER=patient, there should be a patient_id claim with a valid Patient resource ID.

Acknowledgement

This proxy is implemented as a HAPI FHIR Plain Server, starting from this hapi-fhirstarters-simple-server example.

Comments
  • Bump logback.version from 1.2.11 to 1.4.5

    Bump logback.version from 1.2.11 to 1.4.5

    Bumps logback.version from 1.2.11 to 1.4.5. Updates logback-classic from 1.2.11 to 1.4.5

    Commits
    • 34a6efc preparfe release 1.4.5
    • 0d3ac63 fix LOGBACK-1698, [Nested appenders are not allowed] warning using SiftingApp...
    • a64b8d4 make jakarta.servlet-api as both provided and optional
    • 114b3de bump slf4j version
    • 1df6662 fix LOGBACK-1706
    • ea165fb fix LOGBACK-1703
    • 9e07bd0 fix LOGBACK-1703
    • a871e9f minor edits in README.md
    • 7dc0ce5 Merge pull request #605 from Zardoz89/patch-1
    • 7130dfe README.md MUST inform about Java & Jackarta EE support
    • Additional commits viewable in compare view

    Updates logback-core from 1.2.11 to 1.4.5

    Commits
    • 34a6efc preparfe release 1.4.5
    • 0d3ac63 fix LOGBACK-1698, [Nested appenders are not allowed] warning using SiftingApp...
    • a64b8d4 make jakarta.servlet-api as both provided and optional
    • 114b3de bump slf4j version
    • 1df6662 fix LOGBACK-1706
    • ea165fb fix LOGBACK-1703
    • 9e07bd0 fix LOGBACK-1703
    • a871e9f minor edits in README.md
    • 7dc0ce5 Merge pull request #605 from Zardoz89/patch-1
    • 7130dfe README.md MUST inform about Java & Jackarta EE support
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • Bump spring-boot.version from 2.7.5 to 3.0.0

    Bump spring-boot.version from 2.7.5 to 3.0.0

    Bumps spring-boot.version from 2.7.5 to 3.0.0. Updates spring-boot-dependencies from 2.7.5 to 3.0.0

    Release notes

    Sourced from spring-boot-dependencies's releases.

    v3.0.0

    See the Release notes for 3.0 for upgrade instructions and details of new features.

    :star: New Features

    • Provide a configuration property for the observation patterns of Spring Integration components #33099

    :lady_beetle: Bug Fixes

    • io.micrometer.tracing.Tracer on the classpath breaks AOT processing for tests #33298
    • Tracer library HTTP instrumentation is auto-configured unnecessarily #33287
    • Auto-configuration ignores user-provided ObservationConventions #33285
    • ScheduledBeanLazyInitializationExcludeFilter is auto-configured even when annotation-based scheduled has not been enabled #33284
    • SpringBootContextLoader prints banner twice when using a @ContextHierarchy #33263
    • Properties migrator causes an application to fail to start if it tries to map a property whose metadata data entry contains an invalid configuration property name #33250
    • Wavefront MeterRegistryCustomizer is not applying application tags from application.properties #33244
    • Actuator responses no longer format timestamps as ISO-8601 #33236
    • Configuration property is not bound in a native image when property has get, set, and is methods #33232
    • Configuration property binding does not deal with bridge methods #33212
    • Contribute missing resource hints for GraphQL schema files and GraphiQL HTML page #33208
    • Hints for ClientHttpRequestFactory should only be generated for matching methods #33203
    • Native profile should configure execution in pluginManagement #33184
    • Configuring management.server.port via a config tree results in a ConverterNotFoundException when the management context is refreshed #33169
    • JBoss logging does not route directly to SLF4J when using Logback #33155
    • Test with UseMainMethod.Always do not work with Kotlin main functions #33114
    • Maven process-aot does not specify source and target release when compiling generated sources #33112
    • Some Actuator beans are ineligible for post-processing #33110
    • AOT-generated source fails to compile when Actuator is enabled on a WebFlux project #33106
    • @ContextHierarchy should never be used with main method #33078
    • Maven process-aot fails when compiler plugin has been configured with --enable-preview #33012
    • Wavefront application tags differ from those used in a Spring Boot 2.x application #32844
    • Maven goal spring-boot:build-image runs package phase twice #26455

    :notebook_with_decorative_cover: Documentation

    • Document observation for R2DBC #33335
    • Align Tomcat multiple connectors example with recommendation to configure SSL declaratively #33333
    • Actuator document is misleading about k8s startup probe #33327
    • Update documented for @Timed to reflect narrower support #33282
    • Update reference documentation to replace mentions of tags providers and contributors with their Observation-based equivalents #33281
    • Link to Micrometer's @Timed documentation #33266
    • Clarify use of the spring.cache.type property with Hazelcast #33258
    • Example git.commit.time in the Actuator API documentation is thousands of years in the future #33256
    • Update Spring Security filter dispatcher types docs to reflect change in default value #33252
    • Documentation for nested configuration properties in a native image uses @NestedConfigurationProperty too widely #33239
    • Document that the jar task should not be disabled when building a native image #33238
    • Document nesting configuration properties using records or Kotlin data classes and how and when to use @NestedConfigurationProperty #33235
    • Links to Features describes sections that have moved elsewhere #33214
    • Fix broken links in docs #33209
    • Document the need for compilation with -parameters when targeting a native image #33182

    ... (truncated)

    Commits
    • c9c359f Release v3.0.0
    • fb2cc73 Work around Thymeleaf's dependency on spring-security-bom:6.0.0-RC2
    • 355b428 Merge branch '2.7.x'
    • 7ea5881 Update LATEST_GA to false to prepare for 3.0.0's release
    • 1de09f4 Merge branch '2.6.x' into 2.7.x
    • e922650 Upgrade to Spring Framework 6.0.2
    • 4b8a28a Next development version (v2.7.7-SNAPSHOT)
    • 14ba9b1 Start building against Spring Framework 6.0.2 snapshots
    • d4a9100 Next development version (v2.6.15-SNAPSHOT)
    • 28cb225 Merge branch '2.7.x'
    • Additional commits viewable in compare view

    Updates spring-boot-maven-plugin from 2.7.5 to 3.0.0

    Release notes

    Sourced from spring-boot-maven-plugin's releases.

    v3.0.0

    See the Release notes for 3.0 for upgrade instructions and details of new features.

    :star: New Features

    • Provide a configuration property for the observation patterns of Spring Integration components #33099

    :lady_beetle: Bug Fixes

    • io.micrometer.tracing.Tracer on the classpath breaks AOT processing for tests #33298
    • Tracer library HTTP instrumentation is auto-configured unnecessarily #33287
    • Auto-configuration ignores user-provided ObservationConventions #33285
    • ScheduledBeanLazyInitializationExcludeFilter is auto-configured even when annotation-based scheduled has not been enabled #33284
    • SpringBootContextLoader prints banner twice when using a @ContextHierarchy #33263
    • Properties migrator causes an application to fail to start if it tries to map a property whose metadata data entry contains an invalid configuration property name #33250
    • Wavefront MeterRegistryCustomizer is not applying application tags from application.properties #33244
    • Actuator responses no longer format timestamps as ISO-8601 #33236
    • Configuration property is not bound in a native image when property has get, set, and is methods #33232
    • Configuration property binding does not deal with bridge methods #33212
    • Contribute missing resource hints for GraphQL schema files and GraphiQL HTML page #33208
    • Hints for ClientHttpRequestFactory should only be generated for matching methods #33203
    • Native profile should configure execution in pluginManagement #33184
    • Configuring management.server.port via a config tree results in a ConverterNotFoundException when the management context is refreshed #33169
    • JBoss logging does not route directly to SLF4J when using Logback #33155
    • Test with UseMainMethod.Always do not work with Kotlin main functions #33114
    • Maven process-aot does not specify source and target release when compiling generated sources #33112
    • Some Actuator beans are ineligible for post-processing #33110
    • AOT-generated source fails to compile when Actuator is enabled on a WebFlux project #33106
    • @ContextHierarchy should never be used with main method #33078
    • Maven process-aot fails when compiler plugin has been configured with --enable-preview #33012
    • Wavefront application tags differ from those used in a Spring Boot 2.x application #32844
    • Maven goal spring-boot:build-image runs package phase twice #26455

    :notebook_with_decorative_cover: Documentation

    • Document observation for R2DBC #33335
    • Align Tomcat multiple connectors example with recommendation to configure SSL declaratively #33333
    • Actuator document is misleading about k8s startup probe #33327
    • Update documented for @Timed to reflect narrower support #33282
    • Update reference documentation to replace mentions of tags providers and contributors with their Observation-based equivalents #33281
    • Link to Micrometer's @Timed documentation #33266
    • Clarify use of the spring.cache.type property with Hazelcast #33258
    • Example git.commit.time in the Actuator API documentation is thousands of years in the future #33256
    • Update Spring Security filter dispatcher types docs to reflect change in default value #33252
    • Documentation for nested configuration properties in a native image uses @NestedConfigurationProperty too widely #33239
    • Document that the jar task should not be disabled when building a native image #33238
    • Document nesting configuration properties using records or Kotlin data classes and how and when to use @NestedConfigurationProperty #33235
    • Links to Features describes sections that have moved elsewhere #33214
    • Fix broken links in docs #33209
    • Document the need for compilation with -parameters when targeting a native image #33182

    ... (truncated)

    Commits
    • c9c359f Release v3.0.0
    • fb2cc73 Work around Thymeleaf's dependency on spring-security-bom:6.0.0-RC2
    • 355b428 Merge branch '2.7.x'
    • 7ea5881 Update LATEST_GA to false to prepare for 3.0.0's release
    • 1de09f4 Merge branch '2.6.x' into 2.7.x
    • e922650 Upgrade to Spring Framework 6.0.2
    • 4b8a28a Next development version (v2.7.7-SNAPSHOT)
    • 14ba9b1 Start building against Spring Framework 6.0.2 snapshots
    • d4a9100 Next development version (v2.6.15-SNAPSHOT)
    • 28cb225 Merge branch '2.7.x'
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • Bump mockito-core from 4.1.0 to 4.9.0

    Bump mockito-core from 4.1.0 to 4.9.0

    Bumps mockito-core from 4.1.0 to 4.9.0.

    Release notes

    Sourced from mockito-core's releases.

    v4.9.0

    Changelog generated by Shipkit Changelog Gradle Plugin

    4.9.0

    v4.8.1

    Changelog generated by Shipkit Changelog Gradle Plugin

    4.8.1

    v4.8.0

    Changelog generated by Shipkit Changelog Gradle Plugin

    4.8.0

    v4.7.0

    Changelog generated by Shipkit Changelog Gradle Plugin

    4.7.0

    • 2022-08-13 - 33 commit(s) by 198812345678, Andy Coates, Chen Ni, Marius Lichtblau, Nikita Koselev. Developer Advocate, Open Source Ally, Rafael Winterhalter, dependabot[bot], dstango, fishautumn, heqiang
    • Bump com.diffplug.spotless from 6.9.0 to 6.9.1 [(#2725)](mockito/mockito#2725)
    • Bump versions.bytebuddy from 1.12.12 to 1.12.13 [(#2719)](mockito/mockito#2719)

    ... (truncated)

    Commits
    • 0052e2f Avoid clearing stale weak entries from critical code segments (#2780)
    • 47045cb Upgrade objenesis 3.2 -> 3.3 (#2784)
    • eb85518 Update gradle to 7.5.1 (#2776)
    • fcb4cf7 Bump gradle/wrapper-validation-action from 1.0.4 to 1.0.5 (#2775)
    • f512a76 Bump gradle-errorprone-plugin from 2.0.2 to 3.0.1 (#2770)
    • fe7dca2 Bump junit-platform-launcher from 1.9.0 to 1.9.1 (#2768)
    • 4d14d97 Bump versions.junitJupiter from 5.9.0 to 5.9.1 (#2758)
    • 3507ce3 Use downloaded package-list file from Oracle for JavaDoc generation (#2766)
    • 0a9aa26 Bump groovy from 3.0.12 to 3.0.13 (#2756)
    • ee3679b Bump com.diffplug.spotless from 6.10.0 to 6.11.0 (#2753)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • Bump mockito-core from 4.9.0 to 4.10.0

    Bump mockito-core from 4.9.0 to 4.10.0

    Bumps mockito-core from 4.9.0 to 4.10.0.

    Release notes

    Sourced from mockito-core's releases.

    v4.10.0

    Changelog generated by Shipkit Changelog Gradle Plugin

    4.10.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump spring-boot-dependencies from 2.6.6 to 3.0.0

    Bump spring-boot-dependencies from 2.6.6 to 3.0.0

    Bumps spring-boot-dependencies from 2.6.6 to 3.0.0.

    Release notes

    Sourced from spring-boot-dependencies's releases.

    v3.0.0

    See the Release notes for 3.0 for upgrade instructions and details of new features.

    :star: New Features

    • Provide a configuration property for the observation patterns of Spring Integration components #33099

    :lady_beetle: Bug Fixes

    • io.micrometer.tracing.Tracer on the classpath breaks AOT processing for tests #33298
    • Tracer library HTTP instrumentation is auto-configured unnecessarily #33287
    • Auto-configuration ignores user-provided ObservationConventions #33285
    • ScheduledBeanLazyInitializationExcludeFilter is auto-configured even when annotation-based scheduled has not been enabled #33284
    • SpringBootContextLoader prints banner twice when using a @ContextHierarchy #33263
    • Properties migrator causes an application to fail to start if it tries to map a property whose metadata data entry contains an invalid configuration property name #33250
    • Wavefront MeterRegistryCustomizer is not applying application tags from application.properties #33244
    • Actuator responses no longer format timestamps as ISO-8601 #33236
    • Configuration property is not bound in a native image when property has get, set, and is methods #33232
    • Configuration property binding does not deal with bridge methods #33212
    • Contribute missing resource hints for GraphQL schema files and GraphiQL HTML page #33208
    • Hints for ClientHttpRequestFactory should only be generated for matching methods #33203
    • Native profile should configure execution in pluginManagement #33184
    • Configuring management.server.port via a config tree results in a ConverterNotFoundException when the management context is refreshed #33169
    • JBoss logging does not route directly to SLF4J when using Logback #33155
    • Test with UseMainMethod.Always do not work with Kotlin main functions #33114
    • Maven process-aot does not specify source and target release when compiling generated sources #33112
    • Some Actuator beans are ineligible for post-processing #33110
    • AOT-generated source fails to compile when Actuator is enabled on a WebFlux project #33106
    • @ContextHierarchy should never be used with main method #33078
    • Maven process-aot fails when compiler plugin has been configured with --enable-preview #33012
    • Wavefront application tags differ from those used in a Spring Boot 2.x application #32844
    • Maven goal spring-boot:build-image runs package phase twice #26455

    :notebook_with_decorative_cover: Documentation

    • Document observation for R2DBC #33335
    • Align Tomcat multiple connectors example with recommendation to configure SSL declaratively #33333
    • Actuator document is misleading about k8s startup probe #33327
    • Update documented for @Timed to reflect narrower support #33282
    • Update reference documentation to replace mentions of tags providers and contributors with their Observation-based equivalents #33281
    • Link to Micrometer's @Timed documentation #33266
    • Clarify use of the spring.cache.type property with Hazelcast #33258
    • Example git.commit.time in the Actuator API documentation is thousands of years in the future #33256
    • Update Spring Security filter dispatcher types docs to reflect change in default value #33252
    • Documentation for nested configuration properties in a native image uses @NestedConfigurationProperty too widely #33239
    • Document that the jar task should not be disabled when building a native image #33238
    • Document nesting configuration properties using records or Kotlin data classes and how and when to use @NestedConfigurationProperty #33235
    • Links to Features describes sections that have moved elsewhere #33214
    • Fix broken links in docs #33209
    • Document the need for compilation with -parameters when targeting a native image #33182

    ... (truncated)

    Commits
    • c9c359f Release v3.0.0
    • fb2cc73 Work around Thymeleaf's dependency on spring-security-bom:6.0.0-RC2
    • 355b428 Merge branch '2.7.x'
    • 7ea5881 Update LATEST_GA to false to prepare for 3.0.0's release
    • 1de09f4 Merge branch '2.6.x' into 2.7.x
    • e922650 Upgrade to Spring Framework 6.0.2
    • 4b8a28a Next development version (v2.7.7-SNAPSHOT)
    • 14ba9b1 Start building against Spring Framework 6.0.2 snapshots
    • d4a9100 Next development version (v2.6.15-SNAPSHOT)
    • 28cb225 Merge branch '2.7.x'
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump logback-classic from 1.2.0 to 1.4.5

    Bump logback-classic from 1.2.0 to 1.4.5

    Bumps logback-classic from 1.2.0 to 1.4.5.

    Commits
    • 34a6efc preparfe release 1.4.5
    • 0d3ac63 fix LOGBACK-1698, [Nested appenders are not allowed] warning using SiftingApp...
    • a64b8d4 make jakarta.servlet-api as both provided and optional
    • 114b3de bump slf4j version
    • 1df6662 fix LOGBACK-1706
    • ea165fb fix LOGBACK-1703
    • 9e07bd0 fix LOGBACK-1703
    • a871e9f minor edits in README.md
    • 7dc0ce5 Merge pull request #605 from Zardoz89/patch-1
    • 7130dfe README.md MUST inform about Java & Jackarta EE support
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump google-auth-library-oauth2-http from 1.0.0 to 1.13.0

    Bump google-auth-library-oauth2-http from 1.0.0 to 1.13.0

    Bumps google-auth-library-oauth2-http from 1.0.0 to 1.13.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump gson from 2.8.9 to 2.10

    Bump gson from 2.8.9 to 2.10

    Bumps gson from 2.8.9 to 2.10.

    Release notes

    Sourced from gson's releases.

    Gson 2.10

    Most important changes

    • Support for serializing and deserializing Java records, on Java ≥ 16. (#2201)

    • Add JsonArray.asList and JsonObject.asMap view methods (#2225)

    • Fix TypeAdapterRuntimeTypeWrapper not detecting reflective TreeTypeAdapter and FutureTypeAdapter (#1787)

    • Improve JsonReader.skipValue() (#2062)

    • Perform numeric conversion for primitive numeric type adapters (#2158)

    • Add Gson.fromJson(..., TypeToken) overloads (#1700)

    • Fix changes to GsonBuilder affecting existing Gson instances (#1815)

    • Make JsonElement conversion methods more consistent and fix javadoc (#2178)

    • Throw UnsupportedOperationException when JsonWriter.jsonValue is not supported (#1651)

    • Disallow JsonObject Entry.setValue(null) (#2167)

    • Fix TypeAdapter.toJson throwing AssertionError for custom IOException (#2172)

    • Convert null to JsonNull for JsonArray.set (#2170)

    • Fixed nullSafe usage. (#1555)

    • Validate TypeToken.getParameterized arguments (#2166)

    • Fix #1702: Gson.toJson creates CharSequence which does not implement toString (#1703)

    • Prefer existing adapter for concurrent Gson.getAdapter calls (#2153)

    • Improve ArrayTypeAdapter for Object[] (#1716)

    • Improve AppendableWriter performance (#1706)

    List of all changes

    ... (truncated)

    Changelog

    Sourced from gson's changelog.

    Version 2.10

    Version 2.9.1

    Also many small improvements to javadoc.

    Version 2.9.0

    The minimum supported Java version changes from 6 to 7.

    ... (truncated)

    Commits
    • dd92e49 [maven-release-plugin] prepare release gson-parent-2.10
    • 7ca36c5 Add a \<developers> section to the main pom.xml.
    • 79c27dd [maven-release-plugin] prepare for next development iteration
    • 87e9ee5 [maven-release-plugin] prepare release gson-parent-2.10
    • 4705518 Revise the version regex in GsonVersionDiagnosticsTest. (#2228)
    • 7bca5c4 [maven-release-plugin] rollback the release of gson-parent-2.10
    • c7544a0 [maven-release-plugin] prepare for next development iteration
    • 9efdfad [maven-release-plugin] prepare release gson-parent-2.10
    • 4f948dd Automatically replace version references on release:prepare (#2212)
    • 9578583 Small tweaks to fix Error Prone warnings. (#2227)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump maven-compiler-plugin from 3.3 to 3.10.1

    Bump maven-compiler-plugin from 3.3 to 3.10.1

    Bumps maven-compiler-plugin from 3.3 to 3.10.1.

    Release notes

    Sourced from maven-compiler-plugin's releases.

    3.10.1

    🚀 New features and improvements

    🐛 Bug Fixes

    📦 Dependency updates

    Other contributions

    3.10.0

    🚨 Removed

    🚀 New features and improvements

    🐛 Bug Fixes

    📦 Dependency updates

    📝 Documentation updates

    🔧 Build

    ... (truncated)

    Commits
    • 4e08e2b [maven-release-plugin] prepare release maven-compiler-plugin-3.10.1
    • 6795b0f [MCOMPILER-426] add flag to enable-preview java compiler feature (#98)
    • 1de8c91 MCOMPILER 346 workaround to jdk bug: assertion error from javaxcompiler javax...
    • 96ed94f use shared release drafter
    • fa80028 [MCOMPILER-485] Fixes internal string format in generated package-info.class ...
    • f605c0f Merge pull request #94 from apache/dependabot/maven/org.apache.maven.plugins-...
    • 4a54a9a Bump maven-javadoc-plugin from 3.3.1 to 3.3.2
    • 87b5a7f [maven-release-plugin] prepare for next development iteration
    • f4239a4 [maven-release-plugin] prepare release maven-compiler-plugin-3.10.0
    • fda9729 fix typo gtrhhhrhr
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump caffeine from 3.0.5 to 3.1.2

    Bump caffeine from 3.0.5 to 3.1.2

    Bumps caffeine from 3.0.5 to 3.1.2.

    Release notes

    Sourced from caffeine's releases.

    v3.1.2

    Cache

    • Added detection for when a key's equality has changed and corrupted the underlying map (SOLR-16489)
    • Improved the frequency sketch by better utilizing the cpu cache line to reduce memory accesses
    • Fixed computeIfAbsent when replacing a collected weak/soft value and the custom expiry fails
    • Improved refresh conflict detection to avoid unnecessarily discarding after a reload
    • Improved eviction when the weight is oversized (#745)

    Guava

    • Added an adapter from Guava's CacheLoader to Caffeine's (#766)

    JCache

    • Fixed Cache.getConfiguration() to return an immutable instance

    3.1.1

    • Fixed refreshAfterWrite when racing with a removed entry (#715)
    • Fixed gradle module metadata variant selection (#716)

    3.1.0

    • Fixed the publication of a removal notification when computing a null value on top of an expired entry
    • Fixed the publication of a removal notification for a conditional replacement on an unbounded cache
    • Fixed Map.equals when the traversal triggers an eviction and the subset of live entries matches
    • Improved refreshAfterWrite to return the new value if computed by the caller (#688, #699)
    • Added Interner for weak keyed equality caching (#344)

    3.0.6

    • Fixed AsyncCache.getAll when storing additional mappings (#655)
    • Added the ability to specify the expiration time with the computation
    • Added a warning if writes stall due to blocked eviction (#672)
    • Added advanced query support for obtaining entry metadata
    Commits
    • 0fb69f0 bump dependencies
    • 89defcf Bump andymckay/cancel-action from 0.2 to 0.3 (#821)
    • 1a780e5 fix the simulator's GD-Wheel policy if the entry exceeds the max size
    • 9536f65 fix object trace reader
    • 24da0f8 Bump step-security/harden-runner from 1.5.0 to 2.0.0 (#815)
    • 06e078a bump arm64 base image
    • 87e7463 fix circleci arm64 setup due to apt-get timeouts
    • a29ac99 filter invalid event in object store trace (#814)
    • 75e9f52 further trim ci matrix for network stability
    • 6800aa6 replace deprecated action; reduce test matrix for network stability
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump google-http-client from 1.40.0 to 1.42.3

    Bump google-http-client from 1.40.0 to 1.42.3

    Bumps google-http-client from 1.40.0 to 1.42.3.

    Release notes

    Sourced from google-http-client's releases.

    v1.42.3

    1.42.3 (2022-10-27)

    Bug Fixes

    Dependencies

    • Update actions/checkout action to v3 (#1719) (6b9585b)
    • Update dependency cachetools to v5 (#1732) (7d153d3)
    • Update dependency certifi to v2022.9.24 (#1734) (3b345df)
    • Update dependency charset-normalizer to v2.1.1 (#1738) (a3cbf66)
    • Update dependency click to v8.1.3 (#1739) (0b2c204)
    • Update dependency com.fasterxml.jackson.core:jackson-core to v2.13.4 (#1718) (394aa98)
    • Update dependency com.google.code.gson:gson to v2.10 (#1761) (7d15ad6)
    • Update dependency com.google.code.gson:gson to v2.9.1 (#1700) (5c17e2b)
    • Update dependency com.google.errorprone:error_prone_annotations to v2.15.0 (#1701) (0a2e437)
    • Update dependency com.google.errorprone:error_prone_annotations to v2.16 (#1755) (1126e53)
    • Update dependency com.google.protobuf:protobuf-java to v3.21.3 (#1694) (f86112d)
    • Update dependency com.google.protobuf:protobuf-java to v3.21.4 (#1698) (fdabd56)
    • Update dependency com.google.protobuf:protobuf-java to v3.21.5 (#1703) (bdb8cbd)
    • Update dependency com.google.protobuf:protobuf-java to v3.21.6 (#1722) (28ee333)
    • Update dependency com.google.protobuf:protobuf-java to v3.21.7 (#1751) (af16206)
    • Update dependency com.google.protobuf:protobuf-java to v3.21.8 (#1756) (9119d85)
    • Update dependency com.google.protobuf:protobuf-java to v3.21.9 (#1762) (02581b8)
    • Update dependency gcp-releasetool to v1.8.8 (#1735) (f24c984)
    • Update dependency google-api-core to v2.10.1 (#1740) (eacf983)
    • Update dependency google-auth to v2.12.0 (#1741) (bfea196)
    • Update dependency google-cloud-core to v2.3.2 (#1736) (a333e1f)
    • Update dependency google-cloud-storage to v2.5.0 (#1742) (8335e66)
    • Update dependency google-crc32c to v1.5.0 (#1743) (3fd3292)
    • Update dependency importlib-metadata to v4.12.0 (#1746) (4658601)
    • Update dependency jeepney to v0.8.0 (#1747) (0866e4d)
    • Update dependency jinja2 to v3.1.2 (#1748) (1507e04)
    • Update dependency keyring to v23.9.3 (#1749) (55bcbd7)
    • Update dependency markupsafe to v2.1.1 (#1744) (a62cace)
    • Update dependency org.apache.felix:maven-bundle-plugin to v5.1.7 (#1688) (8bea209)
    • Update dependency org.apache.felix:maven-bundle-plugin to v5.1.8 (#1699) (fa578e0)
    • Update dependency protobuf to v3.20.2 (#1745) (3b0fc85)
    • Update dependency protobuf to v4 (#1733) (99457dd)
    • Update dependency pyjwt to v2.5.0 (#1728) (c285b9a)
    • Update dependency requests to v2.28.1 (#1729) (ee9fc81)
    • Update dependency typing-extensions to v4.3.0 (#1730) (f8980a4)
    • Update dependency zipp to v3.8.1 (#1731) (49477d4)
    • Update project.appengine.version to v2.0.6 (#1704) (b33a9c1)
    • Update project.appengine.version to v2.0.7 (#1711) (523a260)
    • Update project.appengine.version to v2.0.8 (#1723) (12a455c)

    ... (truncated)

    Changelog

    Sourced from google-http-client's changelog.

    1.42.3 (2022-10-27)

    Bug Fixes

    Dependencies

    • Update actions/checkout action to v3 (#1719) (6b9585b)
    • Update dependency cachetools to v5 (#1732) (7d153d3)
    • Update dependency certifi to v2022.9.24 (#1734) (3b345df)
    • Update dependency charset-normalizer to v2.1.1 (#1738) (a3cbf66)
    • Update dependency click to v8.1.3 (#1739) (0b2c204)
    • Update dependency com.fasterxml.jackson.core:jackson-core to v2.13.4 (#1718) (394aa98)
    • Update dependency com.google.code.gson:gson to v2.10 (#1761) (7d15ad6)
    • Update dependency com.google.code.gson:gson to v2.9.1 (#1700) (5c17e2b)
    • Update dependency com.google.errorprone:error_prone_annotations to v2.15.0 (#1701) (0a2e437)
    • Update dependency com.google.errorprone:error_prone_annotations to v2.16 (#1755) (1126e53)
    • Update dependency com.google.protobuf:protobuf-java to v3.21.3 (#1694) (f86112d)
    • Update dependency com.google.protobuf:protobuf-java to v3.21.4 (#1698) (fdabd56)
    • Update dependency com.google.protobuf:protobuf-java to v3.21.5 (#1703) (bdb8cbd)
    • Update dependency com.google.protobuf:protobuf-java to v3.21.6 (#1722) (28ee333)
    • Update dependency com.google.protobuf:protobuf-java to v3.21.7 (#1751) (af16206)
    • Update dependency com.google.protobuf:protobuf-java to v3.21.8 (#1756) (9119d85)
    • Update dependency com.google.protobuf:protobuf-java to v3.21.9 (#1762) (02581b8)
    • Update dependency gcp-releasetool to v1.8.8 (#1735) (f24c984)
    • Update dependency google-api-core to v2.10.1 (#1740) (eacf983)
    • Update dependency google-auth to v2.12.0 (#1741) (bfea196)
    • Update dependency google-cloud-core to v2.3.2 (#1736) (a333e1f)
    • Update dependency google-cloud-storage to v2.5.0 (#1742) (8335e66)
    • Update dependency google-crc32c to v1.5.0 (#1743) (3fd3292)
    • Update dependency importlib-metadata to v4.12.0 (#1746) (4658601)
    • Update dependency jeepney to v0.8.0 (#1747) (0866e4d)
    • Update dependency jinja2 to v3.1.2 (#1748) (1507e04)
    • Update dependency keyring to v23.9.3 (#1749) (55bcbd7)
    • Update dependency markupsafe to v2.1.1 (#1744) (a62cace)
    • Update dependency org.apache.felix:maven-bundle-plugin to v5.1.7 (#1688) (8bea209)
    • Update dependency org.apache.felix:maven-bundle-plugin to v5.1.8 (#1699) (fa578e0)
    • Update dependency protobuf to v3.20.2 (#1745) (3b0fc85)
    • Update dependency protobuf to v4 (#1733) (99457dd)
    • Update dependency pyjwt to v2.5.0 (#1728) (c285b9a)
    • Update dependency requests to v2.28.1 (#1729) (ee9fc81)
    • Update dependency typing-extensions to v4.3.0 (#1730) (f8980a4)
    • Update dependency zipp to v3.8.1 (#1731) (49477d4)
    • Update project.appengine.version to v2.0.6 (#1704) (b33a9c1)
    • Update project.appengine.version to v2.0.7 (#1711) (523a260)
    • Update project.appengine.version to v2.0.8 (#1723) (12a455c)
    • Update project.appengine.version to v2.0.9 (#1753) (d047334)

    ... (truncated)

    Commits
    • 5801d1e chore(main): release 1.42.3 (#1691)
    • 02581b8 deps: update dependency com.google.protobuf:protobuf-java to v3.21.9 (#1762)
    • 7d15ad6 deps: update dependency com.google.code.gson:gson to v2.10 (#1761)
    • c5ad57e chore: [java] remove flatten plugin dependency check (#1663) (#1759)
    • 9119d85 deps: update dependency com.google.protobuf:protobuf-java to v3.21.8 (#1756)
    • 1126e53 deps: update dependency com.google.errorprone:error_prone_annotations to v2.1...
    • 19c9091 chore(deps): update dependency com.google.cloud:libraries-bom to v26.1.3 (#1754)
    • 6b9585b deps: update actions/checkout action to v3 (#1719)
    • d047334 deps: update project.appengine.version to v2.0.9 (#1753)
    • af16206 deps: update dependency com.google.protobuf:protobuf-java to v3.21.7 (#1751)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump mockito-core from 4.9.0 to 4.11.0

    Bump mockito-core from 4.9.0 to 4.11.0

    Bumps mockito-core from 4.9.0 to 4.11.0.

    Release notes

    Sourced from mockito-core's releases.

    v4.11.0

    Changelog generated by Shipkit Changelog Gradle Plugin

    4.11.0

    v4.10.0

    Changelog generated by Shipkit Changelog Gradle Plugin

    4.10.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump spotless-maven-plugin from 2.28.0 to 2.29.0

    Bump spotless-maven-plugin from 2.28.0 to 2.29.0

    Bumps spotless-maven-plugin from 2.28.0 to 2.29.0.

    Changelog

    Sourced from spotless-maven-plugin's changelog.

    [2.29.0] - 2022-08-23

    Added

    • scalafmt integration now has a configuration option majorScalaVersion that allows you to configure the Scala version that gets resolved from the maven artifact (#1283)
      • Converted scalafmt integration to use a compile-only source set (fixes #524)

    Changes

    • Add the ktlint rule in error messages when ktlint fails to apply a fix (#1279)
    • Bump default scalafmt to latest 3.0.8 -> 3.5.9 (removed support for pre-3.0.0) (#1283)

    [2.28.1] - 2022-08-10

    Fixed

    • Fix Clang not knowing the filename and changing the format (#1268 fixes #1267).

    Changes

    • Bump default diktat version to latest 1.2.1 -> 1.2.3 (#1266)
    Commits
    • 1dfd0ee Published lib/2.29.0
    • cec88e2 Bump slf4j-api from 1.7.36 to 2.0.0 (#1285)
    • a5332a6 Bump slf4j-api from 1.7.36 to 2.0.0
    • 24b8d3a Add support for setting scala version for scalafmt, and also convert to compi...
    • e9d3150 Fix test.
    • a75877c Massive speedup. FormatterFunc is instantiated lazily and is not involved in ...
    • 735c7b5 Update the tool-specific changelogs.
    • 24ca9ec Add info about changes to scalafmt default version.
    • 872424a Update scalafmt versions in documentation
    • 30d72d8 Add documentation for majorScalaVersion
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump spring-boot.version from 2.7.5 to 3.0.1

    Bump spring-boot.version from 2.7.5 to 3.0.1

    Bumps spring-boot.version from 2.7.5 to 3.0.1. Updates spring-boot-dependencies from 2.7.5 to 3.0.1

    Release notes

    Sourced from spring-boot-dependencies's releases.

    v3.0.1

    :lady_beetle: Bug Fixes

    • Fix typo in LocalDevToolsAutoConfiguration logging #33615
    • No warning is given when <springProfile> is used in a Logback <root> block #33610
    • Auto-configure PropagationWebGraphQlInterceptor for tracing propagation #33542
    • WebClient instrumentation fails with IllegalArgumentException when adapting to WebClientExchangeTagsProvider #33483
    • Reactive observation auto-configuration does not declare order for WebFilter #33444
    • Web server fails to start due to "Resource location must not be null" when attempting to use a PKCS 11 KeyStore #33433
    • Actuator health endpoint for neo4j throws NoSuchElementException and always returns Status.DOWN #33428
    • Anchors in YAML configuration files throw UnsupportedOperationException #33404
    • ZipkinRestTemplateSender is not customizable #33399
    • AOT doesn't work with Logstash Logback Encoder #33387
    • Maven process-aot goal fails when release version is set in Maven compiler plugin #33382
    • DependsOnDatabaseInitializationPostProcessor re-declares bean dependencies at native image runtime #33374
    • @SpringBootTest now throws a NullPointerException rather than a helpful IllegalStateException when @SpringBootConfiguration is not found #33371
    • bootBuildImage always trys to create a native image due to bootJar always adding a META-INF/native-image/argfile to the jar #33363

    :notebook_with_decorative_cover: Documentation

    • Improve gradle plugin tags documentation #33617
    • Improve maven plugin tags documentation #33616
    • Fix typo in tomcat accesslog checkExists doc #33512
    • Documented Java compiler level is wrong #33505
    • Fix typo in documentation #33453
    • Update instead of replace environment in bootBuildImage documentation #33424
    • Update the reference docs to document the need to declare the native-maven-plugin when using buildpacks to create a native image #33422
    • Document that the shutdown endpoint is not intended for use when deploying a war to a servlet container #33410
    • Reinstate GraphQL testing documentaion #33407
    • Description of NEVER in Sanitize Sensitive Values isn't formatted correctly #33398

    :hammer: Dependency Upgrades

    • Upgrade to AspectJ 1.9.19 #33586
    • Upgrade to Byte Buddy 1.12.20 #33587
    • Upgrade to Couchbase Client 3.4.1 #33588
    • Upgrade to Dropwizard Metrics 4.2.14 #33589
    • Upgrade to Elasticsearch Client 8.5.3 #33590
    • Upgrade to Hibernate 6.1.6.Final #33591
    • Upgrade to HttpClient 4.5.14 #33592
    • Upgrade to HttpCore 4.4.16 #33593
    • Upgrade to Infinispan 14.0.4.Final #33594
    • Upgrade to Jaybird 4.0.8.java11 #33595
    • Upgrade to Jetty 11.0.13 #33596
    • Upgrade to jOOQ 3.17.6 #33597
    • Upgrade to Kotlin 1.7.22 #33598
    • Upgrade to Lettuce 6.2.2.RELEASE #33599
    • Upgrade to MongoDB 4.8.1 #33600
    • Upgrade to MSSQL JDBC 11.2.2.jre17 #33601
    • Upgrade to Native Build Tools Plugin 0.9.19 #33602

    ... (truncated)

    Commits
    • 837947c Release v3.0.1
    • 5929d95 Merge branch '2.7.x'
    • b10b788 Next development version (v2.7.8-SNAPSHOT)
    • f588793 Update copyright year of changed files
    • 0254619 Merge branch '2.7.x'
    • e4772cf Update copyright year of changed files
    • 2e7ca6f Warning if <springProfile> is used in phase 2 model elements
    • 2ed512d Use model.deepMarkAsSkipped in SpringProfileModelHandler
    • 532fed3 Increase couchbase connection timeout for tests
    • 9562a2c Merge branch '2.7.x'
    • Additional commits viewable in compare view

    Updates spring-boot-maven-plugin from 2.7.5 to 3.0.1

    Release notes

    Sourced from spring-boot-maven-plugin's releases.

    v3.0.1

    :lady_beetle: Bug Fixes

    • Fix typo in LocalDevToolsAutoConfiguration logging #33615
    • No warning is given when <springProfile> is used in a Logback <root> block #33610
    • Auto-configure PropagationWebGraphQlInterceptor for tracing propagation #33542
    • WebClient instrumentation fails with IllegalArgumentException when adapting to WebClientExchangeTagsProvider #33483
    • Reactive observation auto-configuration does not declare order for WebFilter #33444
    • Web server fails to start due to "Resource location must not be null" when attempting to use a PKCS 11 KeyStore #33433
    • Actuator health endpoint for neo4j throws NoSuchElementException and always returns Status.DOWN #33428
    • Anchors in YAML configuration files throw UnsupportedOperationException #33404
    • ZipkinRestTemplateSender is not customizable #33399
    • AOT doesn't work with Logstash Logback Encoder #33387
    • Maven process-aot goal fails when release version is set in Maven compiler plugin #33382
    • DependsOnDatabaseInitializationPostProcessor re-declares bean dependencies at native image runtime #33374
    • @SpringBootTest now throws a NullPointerException rather than a helpful IllegalStateException when @SpringBootConfiguration is not found #33371
    • bootBuildImage always trys to create a native image due to bootJar always adding a META-INF/native-image/argfile to the jar #33363

    :notebook_with_decorative_cover: Documentation

    • Improve gradle plugin tags documentation #33617
    • Improve maven plugin tags documentation #33616
    • Fix typo in tomcat accesslog checkExists doc #33512
    • Documented Java compiler level is wrong #33505
    • Fix typo in documentation #33453
    • Update instead of replace environment in bootBuildImage documentation #33424
    • Update the reference docs to document the need to declare the native-maven-plugin when using buildpacks to create a native image #33422
    • Document that the shutdown endpoint is not intended for use when deploying a war to a servlet container #33410
    • Reinstate GraphQL testing documentaion #33407
    • Description of NEVER in Sanitize Sensitive Values isn't formatted correctly #33398

    :hammer: Dependency Upgrades

    • Upgrade to AspectJ 1.9.19 #33586
    • Upgrade to Byte Buddy 1.12.20 #33587
    • Upgrade to Couchbase Client 3.4.1 #33588
    • Upgrade to Dropwizard Metrics 4.2.14 #33589
    • Upgrade to Elasticsearch Client 8.5.3 #33590
    • Upgrade to Hibernate 6.1.6.Final #33591
    • Upgrade to HttpClient 4.5.14 #33592
    • Upgrade to HttpCore 4.4.16 #33593
    • Upgrade to Infinispan 14.0.4.Final #33594
    • Upgrade to Jaybird 4.0.8.java11 #33595
    • Upgrade to Jetty 11.0.13 #33596
    • Upgrade to jOOQ 3.17.6 #33597
    • Upgrade to Kotlin 1.7.22 #33598
    • Upgrade to Lettuce 6.2.2.RELEASE #33599
    • Upgrade to MongoDB 4.8.1 #33600
    • Upgrade to MSSQL JDBC 11.2.2.jre17 #33601
    • Upgrade to Native Build Tools Plugin 0.9.19 #33602

    ... (truncated)

    Commits
    • 837947c Release v3.0.1
    • 5929d95 Merge branch '2.7.x'
    • b10b788 Next development version (v2.7.8-SNAPSHOT)
    • f588793 Update copyright year of changed files
    • 0254619 Merge branch '2.7.x'
    • e4772cf Update copyright year of changed files
    • 2e7ca6f Warning if <springProfile> is used in phase 2 model elements
    • 2ed512d Use model.deepMarkAsSkipped in SpringProfileModelHandler
    • 532fed3 Increase couchbase connection timeout for tests
    • 9562a2c Merge branch '2.7.x'
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump slf4j-api from 1.7.36 to 2.0.6

    Bump slf4j-api from 1.7.36 to 2.0.6

    Bumps slf4j-api from 1.7.36 to 2.0.6.

    Commits
    • 5ff6f2c prepare for release 2.0.6
    • 2f4aa75 fix SLF4J-575
    • 363f0a5 remove unused parts
    • 171679b SLF4J-574: Add full OSGi headers, especially "uses" clauses
    • 921b5b3 fix FUNDING file
    • e02244c fix FUNDING file
    • 441d458 fix FUNDING file
    • f5e741b add FUNDING file
    • 2e71327 remove unused log4j dependency in the version definition section of pom.xml
    • 3ff2a30 start work on 2.0.6-SNAPSHOT
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Set the Prefer header properly when updating a resource

    Set the Prefer header properly when updating a resource

    For post-processing and updating the list of patients, we rely on full resources to be returned from the server. We should not rely on the FHIR store default config and instead set the "Prefer" header as described in the spec.

    bug P2:should 
    opened by bashir2 1
  • Support extracting all patient IDs when URL contains ORs

    Support extracting all patient IDs when URL contains ORs

    Reported by @omarismail94

    The proxy does not support having ORs in search parameters.

    If I do a direct request to GCP FHIR Store, it works:

    curl -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
      "https://healthcare.googleapis.com/v1alpha2/projects/[PROJECT]/locations/us/datasets/[DATASET]/fhirStores/gcs-data/fhir/Observation?_id=3f6cb1cf-2c0d-739d-0790-5ab8a26daf2e&subject=Patient/92a950eb-6aae-0e82-c297-d91585b22edf,performer=Patient/123"
    

    If I send the same to proxy, I get an error saying that the patient id cannot be found.

    Also we should turn any request that has searches that contain OR, e.g. subject=P1,P2 into an access check for both P1 AND P2, i.e. client should have access to P1 and P2.

    bug P2:should 
    opened by bashir2 0
Owner
Google
Google ❤️ Open Source
Google
Winfoom is an HTTP(s) proxy server facade that allows applications to authenticate through the proxy without having to deal with the actual handshake.

winfoom Basic Proxy Facade for NTLM, Kerberos, SOCKS and Proxy Auto Config file proxies To help this project please give it a star ⭐ Overview Winfoom

Eugen Covaci 56 Dec 8, 2022
An open source Minecraft plugin that allows operators to control who has access to the nether.

Nether Access Controller Description Nether Access Controller is a Minecraft plugin that allows operators to control access to the nether. It is essen

Daniel Stephenson 2 Feb 12, 2022
An API Library that provides the functionality to access, manage and store device topologies found in JSON files using Java and Maven Framework

Topology API ?? About An API library which provides the functionality to access, manage and store device topologies. ?? Description Read a topology fr

Abdelrahman Hamdy 2 Aug 4, 2022
Simple but useful generic reload library for Java projects.

SimpleReloadLib Simple Java generic reload library. Introduce SimpleReloadLib used to be a part of QuickShop-Reremake. But it really easy to use and p

Ghost_chu 12 Oct 25, 2022
Just-In-Time Access is an AppEngine application that lets you manage just-in-time privileged access to Google Cloud projects.

Just-In-Time Access Just-In-Time Access is an AppEngine application that lets you manage just-in-time privileged access to Google Cloud projects. Syno

Google Cloud Platform 36 Jan 3, 2023
Pandora - allowing to control different agents (Windows & Linux machine) from server(s) and master

Pandora Pandora is now an open-source project allowing to control different agents (Windows & Linux machine) from server(s) and master. Features Auto-

nz 75 Dec 22, 2022
Discord Server Management with Online Control panel included 🖥️

In this repository we keep the current state of development of the Discord Bot management system written in Java, Vue 3 and Express.js. We have a heap

Nico Kempe Einzelunternehmen 16 Oct 7, 2022
LimboAuth - Minecraft Auth System for Velocity proxy built in virtual server (Limbo).

LimboAuth Auth System built in virtual server (Limbo). MC-Market SpigotMC.org Описание и обсуждение на русском языке (spigotmc.ru) Описание и обсужден

Elytrium 89 Jan 4, 2023
This is a Velocity plugin that makes it possible to host a modern forge server behind a Velocity proxy!

Ambassador This is a Velocity plugin that makes it possible to host a modern forge server behind a Velocity proxy! Unlike other solutions, this plugin

Adrian Bergqvist 31 Dec 28, 2022
💡极致性能的企业级Java服务器框架,RPC,游戏服务器框架,web应用服务器框架。(Extreme fast enterprise Java server framework, can be RPC, game server framework, web server framework.)

?? 为性能而生的万能服务器框架 ?? Ⅰ. zfoo简介 ?? 性能炸裂,天生异步,Actor设计思想,无锁化设计,基于Spring的MVC式用法的万能RPC框架 极致序列化,原生集成的目前二进制序列化和反序列化速度最快的 zfoo protocol 作为网络通讯协议 高可拓展性,单台服务器部署,

null 1k Jan 1, 2023
The utility is designed to implement version control of APEX application pages.

Oracle APEX version control tool The utility is designed to implement version control of APEX application pages. How it works The developer exports th

Oleksii Vykhristiyk 6 Aug 25, 2022
Components to control your app status and navigation bars.

➖ react-native-bars Components to control your app status and navigation bars. Heavily inspired by the built-in StatusBar module and react-native-tran

Mathieu Acthernoene 161 Jan 3, 2023
PortalController - A rudimentary TeamViewer-like remote control app for Android, using ws.

PortalController A TeamViewer-like app for Android-to-Android remote control, using node.js and websockets (ws). Some insight The reason I call it rud

Mike Anderson 10 Dec 15, 2022
Gitlet - A version control system for managing file versions, mirroring the features of Git

Gitlet - A version control system for managing file versions, mirroring the features of Git. Emphasized the serialization and manipulation of files to compress, access, and manage file content efficiently. Stressed the employment of appropriate data structures and file persistance.

null 1 Jan 4, 2022
Swerve control, simulation, and trajectory generation / following. Everything you need for swerve.

BearSwerve BearSwerve is intended to be an all in one swerve solution including: teleop driving, simulation, trajectory following and more. It combine

null 7 Dec 28, 2022
Sistema de control de computadoras con base de datos

Sistema sobre control de computadoras con base de datos en PostgreSQL donde se puede registrar una computadora, en procesos podemos buscar una computadora según su numero de serie y registrar el estado actual de una computadora.

Aarón Rojas 1 Jan 23, 2022
Team 5468's 2022 FRC robot code. This code is written in Java and is based off of WPILib's Java control system and utilizes a command based system

FRC 2022 Team 5468's 2022 FRC robot code. This code is written in Java and is based off of WPILib's Java control system and utilizes a command based s

null 4 Oct 4, 2022
Generate a dynamic PAC script that will route traffic to your Burp proxy only if it matches the scope defined in your Burp target.

Burp PAC Server This Burp Extension generates a dynamic Proxy Auto-Configuration (PAC) script that will route traffic to your Burp proxy only if it ma

null 30 Jun 13, 2022
a proxy for http & https ,write by java,no dependences for other tech

申明 本项目只是作者记录和分享Java网络编程学习心得,请勿用于非法用途,否则后果自负! 原理介绍博客: https://blog.csdn.net/wang382758656/article/details/123098032 https://juejin.cn/post/706921880022

Sand 58 May 3, 2022