Skip to content

Commit 80011d3

Browse files
committed
Prepare for 0.14.0 release
1 parent d2b23c7 commit 80011d3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+705
-255
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ jobs:
3232
uses: actions/setup-java@v1
3333
with:
3434
java-version: 11
35+
- name: Install sbt
36+
uses: sbt/setup-sbt@v1
3537
- name: Run tests
3638
run: sbt +test
3739
- name: Check Scala formatting
@@ -52,6 +54,8 @@ jobs:
5254
uses: actions/setup-java@v1
5355
with:
5456
java-version: 11
57+
- name: Install sbt
58+
uses: sbt/setup-sbt@v1
5559
- name: Get current version
5660
id: ver
5761
run: echo "::set-output name=tag::${GITHUB_REF#refs/tags/}"
@@ -80,6 +84,8 @@ jobs:
8084
uses: actions/setup-java@v1
8185
with:
8286
java-version: 11
87+
- name: Install sbt
88+
uses: sbt/setup-sbt@v1
8389
- name: Docker login
8490
run: docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
8591
env:

CHANGELOG

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
Version 0.14.0 (2024-12-20)
2+
---------------------------
3+
Install sbt in GitHub workflows
4+
Check if JSON entity exceeds max depth during conversion from String to Circe JSON
5+
Add max JSON depth check to /keygen endpoint
6+
Do not allow requests with too large payload
7+
Fix graceful shutdown to be more selective about when it sleeps
8+
Make maxJsonDepth in SelfSyntaxChecker.validateSchema configurable
9+
Add auth to validation endpoint
10+
Bump sbt-snowplow-release to 0.3.2
11+
Bump jackson to 2.15.0
12+
Change SLULA license from 1.0 to 1.1
13+
114
Version 0.12.1 (2024-03-29)
215
---------------------------
316
Bump postgresql to 42.5.5 (#154)

LICENSE.md

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
# Snowplow Limited Use License Agreement
22

3-
_Version 1.0, January 2024_
3+
_Version 1.1, November, 2024_
44

5-
This Snowplow Limited Use License Agreement, Version 1.0 (the “Agreement”) sets forth the terms on which Snowplow Analytics, Ltd. (“Snowplow”) makes available certain software (the “Software”). BY INSTALLING, DOWNLOADING, ACCESSING, OR USING ANY OF THE SOFTWARE, YOU AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO SUCH TERMS AND CONDITIONS, YOU MUST NOT USE THE SOFTWARE. IF YOU ARE RECEIVING THE SOFTWARE ON BEHALF OF A LEGAL ENTITY, YOU REPRESENT AND WARRANT THAT YOU HAVE THE ACTUAL AUTHORITY TO AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT ON BEHALF OF SUCH ENTITY. “Licensee” means you, an individual, or the entity on whose behalf you are receiving the Software.
5+
This Snowplow Limited Use License Agreement, Version 1.1 (the “Agreement”) sets forth the terms on which Snowplow Analytics, Ltd. (“Snowplow”) makes available certain software (the “Software”). BY INSTALLING, DOWNLOADING, ACCESSING, OR USING ANY OF THE SOFTWARE, YOU AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO SUCH TERMS AND CONDITIONS, YOU MUST NOT USE THE SOFTWARE. IF YOU ARE RECEIVING THE SOFTWARE ON BEHALF OF A LEGAL ENTITY, YOU REPRESENT AND WARRANT THAT YOU HAVE THE ACTUAL AUTHORITY TO AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT ON BEHALF OF SUCH ENTITY. “Licensee” means you, an individual, or the entity on whose behalf you are receiving the Software.
66

7-
## LICENSE GRANT AND CONDITIONS
7+
## 1. LICENSE GRANT AND CONDITIONS
88

9-
**1.1 License.** Subject to the terms and conditions of this Agreement, Snowplow hereby grants to Licensee a non-exclusive, royalty-free, worldwide, non-transferable, non-sublicensable license during the term of this Agreement to: (a) use the Software; (b) prepare modifications and derivative works of the Software; and (c) reproduce copies of the Software (the “License”). No right to distribute or make available the Software is granted under this License. Licensee is not granted the right to, and Licensee shall not, exercise the License for any Excluded Purpose.
9+
**1.1 License.** Subject to the terms and conditions of this Agreement, Snowplow hereby grants to Licensee a non-exclusive, royalty-free, worldwide, non-transferable, non-sublicensable license during the term of this Agreement to: (a) use the Software; (b) prepare modifications and derivative works of the Software; and (c) reproduce copies of the Software (the “License”). No right to distribute or make available the Software is granted under this License. Licensee is not granted the right to, and Licensee shall not, exercise the License for any Competing Use, and Licensee may exercise the License only for Non-Production Use or Non-Commercial Use.
1010

11-
**1.2** For purposes of this Agreement, an “Excluded Purpose” is any use that is either a Competing Use or a Highly-Available Production Use, or both of them.
11+
**1.2 Definitions.** For purposes of this Agreement:
1212

13-
* **1.2.1** A “Competing Use” is making available any on-premises or distributed software product, or any software-as-a-service, platform-as-a-service, infrastructure-as-a-service, or other similar online service, that competes with any products or services that Snowplow or any of its affiliates provides using the Software.
13+
* **1.2.1** “Competing Use” is making available any on-premises or distributed software product, or any software-as-a-service, platform-as-a-service, infrastructure-as-a-service, or other similar online service, that competes with any products or services that Snowplow or any of its affiliates provides using the Software.
1414

15-
* **1.2.2** Highly-Available Production Use is any highly-available use, including without limitation any use where multiple instances of any Software component run concurrently to avoid a single point of failure, in a production environment, where production means use on live data.
15+
* **1.2.2** “Non-Production Use” means any use of the Software to process test or synthetic data to evaluate the sufficiency of the Software for use by Licensee.
16+
17+
* **1.2.3** “Non-Commercial Use” is only: (a) personal use for research, experiment, personal study, or hobby projects, without any anticipated commercial application, or (b) use for teaching purposes by lecturers of a school or university.
1618

1719
**1.3 Conditions.** In consideration of the License, Licensee’s use of the Software is subject to the following conditions:
1820

@@ -22,8 +24,8 @@ This Snowplow Limited Use License Agreement, Version 1.0 (the “Agreement”) s
2224

2325
```
2426
This software is made available by Snowplow Analytics, Ltd.,
25-
under the terms of the Snowplow Limited Use License Agreement, Version 1.0
26-
located at https://docs.snowplow.io/limited-use-license-1.0
27+
under the terms of the Snowplow Limited Use License Agreement, Version 1.1
28+
located at https://docs.snowplow.io/limited-use-license-1.1
2729
BY INSTALLING, DOWNLOADING, ACCESSING, USING OR DISTRIBUTING ANY PORTION
2830
OF THE SOFTWARE, YOU AGREE TO THE TERMS OF SUCH LICENSE AGREEMENT.
2931
```
@@ -32,23 +34,23 @@ This Snowplow Limited Use License Agreement, Version 1.0 (the “Agreement”) s
3234

3335
**1.5 No Sublicensing.** The License does not include the right to sublicense the Software, however, each recipient to which Licensee provides the Software may exercise the Licenses so long as such recipient agrees to the terms and conditions of this Agreement.
3436

35-
## TERM AND TERMINATION
37+
## 2. TERM AND TERMINATION
3638

3739
This Agreement will continue unless and until earlier terminated as set forth herein. If Licensee breaches any of its conditions or obligations under this Agreement, this Agreement will terminate automatically and the License will terminate automatically and permanently.
3840

39-
## INTELLECTUAL PROPERTY
41+
## 3. INTELLECTUAL PROPERTY
4042

4143
As between the parties, Snowplow will retain all right, title, and interest in the Software, and all intellectual property rights therein. Snowplow hereby reserves all rights not expressly granted to Licensee in this Agreement. Snowplow hereby reserves all rights in its trademarks and service marks, and no licenses therein are granted in this Agreement.
4244

43-
## DISCLAIMER
45+
## 4. DISCLAIMER
4446

4547
SNOWPLOW HEREBY DISCLAIMS ANY AND ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, AND SPECIFICALLY DISCLAIMS ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE SOFTWARE.
4648

47-
## LIMITATION OF LIABILITY
49+
## 5. LIMITATION OF LIABILITY
4850

4951
SNOWPLOW WILL NOT BE LIABLE FOR ANY DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO LOST PROFITS OR ANY CONSEQUENTIAL, SPECIAL, INCIDENTAL, INDIRECT, OR DIRECT DAMAGES, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ARISING OUT OF THIS AGREEMENT. THE FOREGOING SHALL APPLY TO THE EXTENT PERMITTED BY APPLICABLE LAW.
5052

51-
## GENERAL
53+
## 6. GENERAL
5254

5355
**6.1 Governing Law.** This Agreement will be governed by and interpreted in accordance with the laws of the state of Delaware, without reference to its conflict of laws principles. If Licensee is located within the United States, all disputes arising out of this Agreement are subject to the exclusive jurisdiction of courts located in Delaware, USA. If Licensee is located outside of the United States, any dispute, controversy or claim arising out of or relating to this Agreement will be referred to and finally determined by arbitration in accordance with the JAMS International Arbitration Rules. The tribunal will consist of one arbitrator. The place of arbitration will be in the State of Delaware, USA. The language to be used in the arbitral proceedings will be English. Judgment upon the award rendered by the arbitrator may be entered in any court having jurisdiction thereof.
5456

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,6 @@ Licensed under the [Snowplow Limited Use License Agreement][license]. _(If you a
2727
[roadmap]: https://github.com/snowplow/snowplow/projects/7
2828
[contributing]: https://docs.snowplow.io/docs/contributing/
2929

30-
[license]: https://docs.snowplow.io/limited-use-license-1.0
30+
[license]: https://docs.snowplow.io/limited-use-license-1.1
3131
[license-image]: https://img.shields.io/badge/license-Snowplow--Limited--Use-blue.svg?style=flat
3232
[faq]: https://docs.snowplow.io/docs/contributing/limited-use-license-faq/

docker/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ services:
2020
POSTGRES_PASSWORD: ${IGLU_DB_PASSWORD:-iglusecret}
2121
iglu-server:
2222
container_name: iglu-server
23-
image: snowplow/iglu-server:${IGLU_VERSION:-0.11.0}
23+
image: snowplow/iglu-server:${IGLU_VERSION:-0.14.0}
2424
command: --config /snowplow/config/config.hocon
2525
environment:
2626
IGLU_SUPER_API_KEY: ${IGLU_SUPER_API_KEY:-5fb4713d-73ad-4163-93a9-2b82f0177c5b}

project/BuildSettings.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,13 @@ object BuildSettings {
3737
)
3838

3939
lazy val licenseSettings = Seq(
40-
licenses += ("Snowplow Limited Use License Agreement", url("https://docs.snowplow.io/limited-use-license-1.0")),
40+
licenses += ("Snowplow Limited Use License Agreement", url("https://docs.snowplow.io/limited-use-license-1.1")),
4141
headerLicense := Some(HeaderLicense.Custom(
4242
"""|Copyright (c) 2014-present Snowplow Analytics Ltd. All rights reserved.
4343
|
4444
|This software is made available by Snowplow Analytics, Ltd.,
45-
|under the terms of the Snowplow Limited Use License Agreement, Version 1.0
46-
|located at https://docs.snowplow.io/limited-use-license-1.0
45+
|under the terms of the Snowplow Limited Use License Agreement, Version 1.1
46+
|located at https://docs.snowplow.io/limited-use-license-1.1
4747
|BY INSTALLING, DOWNLOADING, ACCESSING, USING OR DISTRIBUTING ANY PORTION
4848
|OF THE SOFTWARE, YOU AGREE TO THE TERMS OF SUCH LICENSE AGREEMENT.
4949
|""".stripMargin

project/Dependencies.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ object Dependencies {
1818

1919
object V {
2020
val IgluCore = "1.1.2"
21-
val SchemaDdl = "0.18.0"
21+
val SchemaDdl = "0.24.0"
2222
val IgluClient = "1.1.1"
2323

2424
val Http4s = "0.21.34"
@@ -34,7 +34,7 @@ object Dependencies {
3434
val Slf4j = "1.7.36"
3535
val ScalaCache = "0.28.0"
3636
val Postgresql = "42.5.5"
37-
val Jackson = "2.14.1"
37+
val Jackson = "2.15.0"
3838
val Snakeyaml = "2.0"
3939
val Guava = "32.0.0-jre"
4040

project/plugins.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.7.3")
55
addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.9.0")
66
addSbtPlugin("com.dwijnand" % "sbt-dynver" % "4.1.1")
77
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.2")
8-
addSbtPlugin("com.snowplowanalytics" % "sbt-snowplow-release" % "0.3.1")
8+
addSbtPlugin("com.snowplowanalytics" % "sbt-snowplow-release" % "0.3.2")
99
addSbtPlugin("de.heikoseeberger" % "sbt-header" % "5.10.0")

src/main/resources/application.conf

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Copyright (c) 2014-present Snowplow Analytics Ltd. All rights reserved.
22
#
33
# This software is made available by Snowplow Analytics, Ltd.,
4-
# under the terms of the Snowplow Limited Use License Agreement, Version 1.0
5-
# located at https://docs.snowplow.io/limited-use-license-1.0
4+
# under the terms of the Snowplow Limited Use License Agreement, Version 1.1
5+
# located at https://docs.snowplow.io/limited-use-license-1.1
66
# BY INSTALLING, DOWNLOADING, ACCESSING, USING OR DISTRIBUTING ANY PORTION
77
# OF THE SOFTWARE, YOU AGREE TO THE TERMS OF SUCH LICENSE AGREEMENT.
88

@@ -24,6 +24,7 @@
2424
"enable": false
2525
"maxAge": "365 days"
2626
}
27+
"maxPayloadSize": 100000
2728
}
2829

2930
"database" {
@@ -59,6 +60,8 @@
5960
"schemaPublished": []
6061
}
6162

63+
"maxJsonDepth": 40
64+
6265
preTerminationPeriod: "1 seconds"
6366
preTerminationUnhealthy: false
6467

src/main/scala/com/snowplowanalytics/iglu/server/Config.scala

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
* Copyright (c) 2014-present Snowplow Analytics Ltd. All rights reserved.
33
*
44
* This software is made available by Snowplow Analytics, Ltd.,
5-
* under the terms of the Snowplow Limited Use License Agreement, Version 1.0
6-
* located at https://docs.snowplow.io/limited-use-license-1.0
5+
* under the terms of the Snowplow Limited Use License Agreement, Version 1.1
6+
* located at https://docs.snowplow.io/limited-use-license-1.1
77
* BY INSTALLING, DOWNLOADING, ACCESSING, USING OR DISTRIBUTING ANY PORTION
88
* OF THE SOFTWARE, YOU AGREE TO THE TERMS OF SUCH LICENSE AGREEMENT.
99
*/
@@ -51,7 +51,8 @@ case class Config(
5151
superApiKey: Option[UUID],
5252
preTerminationPeriod: FiniteDuration,
5353
preTerminationUnhealthy: Boolean,
54-
license: Config.License
54+
license: Config.License,
55+
maxJsonDepth: Int
5556
)
5657

5758
object Config {
@@ -220,7 +221,8 @@ object Config {
220221
idleTimeout: Option[FiniteDuration],
221222
maxConnections: Option[Int],
222223
threadPool: ThreadPool,
223-
hsts: Config.Hsts
224+
hsts: Config.Hsts,
225+
maxPayloadSize: Long
224226
)
225227

226228
implicit val httpConfigCirceEncoder: Encoder[Http] =

0 commit comments

Comments
 (0)