You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+21-1Lines changed: 21 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,18 @@ All notable changes to this project will be documented in this file.
4
4
5
5
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
7
+
## [3.0.3] - 2021-01-24
8
+
9
+
### Added
10
+
11
+
- Missing breaking change notice in the changelog of version 3.0.0 for those using a wildcard `Access-Control-Allow-Origin` header
12
+
13
+
### Fixed
14
+
15
+
- Unknown sizes id when a size is zero (#217)
16
+
- Prevent unknown id errors like in #217 for other record properties
17
+
- Updated ackee-tracker which re-added `ignoreOwnVisits` for those using a wildcard `Access-Control-Allow-Origin` header
18
+
7
19
## [3.0.2] - 2021-01-21
8
20
9
21
### Fixed
@@ -43,6 +55,14 @@ Oh, and we also reduced the JS file size of the UI by ~60%.
43
55
44
56
### Breaking changes
45
57
58
+
#### `Access-Control-Allow-Origin: "*"` not recommended
59
+
60
+
> This change is relevant for you when using a wildcard as the Access-Control-Allow-Origin.
61
+
62
+
Using a wildcard (`*`) for the `Access-Control-Allow-Origin` header was never recommended as it's neither a secure solution nor does it allow Ackee to ignore your own visits. Please disable the `ignoreOwnVisits` option in ackee-tracker if you're currently using a wildcard. The [SSL and HTTPS](docs/SSL%20and%20HTTPS.md) guide contains better alternatives.
63
+
64
+
`ignoreOwnVisits` is now enabled by default and won't work when using a wildcard.
65
+
46
66
#### New `Access-Control-Allow-Credentials` header
47
67
48
68
> This change is relevant for everyone.
@@ -273,7 +293,7 @@ The first major back-end and front-end rewrite of Ackee with new API, dashboard,
273
293
### Added
274
294
275
295
- Simply [deploy to Heroku](docs/Get%20started.md#with-heroku) by clicking one button (#72, thanks @aleccool213)
276
-
-`ACKEE_ALLOW_ORIGIN` option for [Heroku or other Platforms-As-A-Service](docs/CORS%20headers.md) (#73, thanks @aleccool213)
296
+
-`ACKEE_ALLOW_ORIGIN` option for [Platforms-As-A-Service](docs/CORS%20headers.md) (#73, thanks @aleccool213)
Copy file name to clipboardExpand all lines: docs/CORS headers.md
+8-14Lines changed: 8 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
Ackee requires correct [CORS headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS). [ackee-tracker](https://github.com/electerious/ackee-tracker) (the script that sends data from your sites to Ackee) won't be able to contact your server when the CORS headers aren't available or when they are configured incorrectly.
Your server needs to allow requests from your sites (recommended) or from all sites (easier to implement, but insecure).
23
+
The `Access-Control-Allow-Origin` header only allows one domain. A wildcard (`*`) isn't recommended as it's neither a secure solution nor does it allow Ackee to ignore your own visits. Take a look at our [recommended configuration](SSL%20and%20HTTPS.md#recommended-configuration) if you want to allow requests from multiple domains or disable the `ignoreOwnVisits` option in ackee-tracker if using a wildcard is the only option for you.
24
24
25
25
```
26
26
Access-Control-Allow-Origin: https://example.com
27
27
```
28
28
29
-
```
30
-
Access-Control-Allow-Origin: *
31
-
```
32
-
33
-
The `Access-Control-Allow-Origin` header only allows one domain or a wildcard (`*`). Take a look at our [advanced configuration](SSL%20and%20HTTPS.md#advanced-configuration) if you want to allow requests from multiple domains without using the insecure wildcard.
34
-
35
29
### Methods
36
30
37
31
[ackee-tracker](https://github.com/electerious/ackee-tracker) needs the permission to send GET, POST, PATCH and OPTIONS requests to the server.
@@ -58,7 +52,7 @@ The `Access-Control-Allow-Credentials` header tells the browser to include the `
58
52
Access-Control-Allow-Credentials: true
59
53
```
60
54
61
-
## Heroku or Platforms-As-A-Service configuration
55
+
## Platforms-As-A-Service configuration
62
56
63
57
If you are running Ackee on a platform which handles SSL for you, you may want a quick solution for setting CORS headers instead of using a [reverse proxy](SSL%20and%20HTTPS.md).
64
58
@@ -68,14 +62,14 @@ As an environment variable, you will need to set:
68
62
ACKEE_ALLOW_ORIGIN="https://example.com"
69
63
```
70
64
71
-
The proper header value for `Access-Control-Allow-Origin` will be set with the other headers being the recommended values.
72
-
73
-
It's also possible to allow requests from all domains (not recommended) or from multiple domains:
Setting a wildcard (`*`) is also supported, but not recommended. It's neither a secure solution nor does it allow Ackee to ignore your own visits. Please disable the `ignoreOwnVisits` option in ackee-tracker if using a wildcard is the only option for you.
Copy file name to clipboardExpand all lines: docs/Get started.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -179,7 +179,7 @@ Ackee now runs on port `3000` and is only accessible from you local network. It'
179
179
180
180
- You need to have a MongoDB instance running (e.g. [MongoDB Atlas](https://www.mongodb.com/cloud/atlas))
181
181
- Set a username and password to protect your interface
182
-
- Ensure that you're using the correct CORS headers by setting [`ACKEE_ALLOW_ORIGIN`](CORS%20headers.md#heroku-or-platforms-as-a-service-configuration).
182
+
- Ensure that you're using the correct CORS headers by setting [`ACKEE_ALLOW_ORIGIN`](CORS%20headers.md#platforms-as-a-service-configuration).
183
183
184
184
### 3. Updating Ackee
185
185
@@ -214,7 +214,7 @@ Deploy to Heroku by clicking this button:
214
214
### 2. Configure Ackee
215
215
216
216
- You need to have a MongoDB instance running, either hosting it yourself, using [MongoDB Atlas](https://www.mongodb.com/cloud/atlas) or by using a (paid) add-on like [ObjectRocket MongoDB](https://elements.heroku.com/addons/ormongo). This is as simple as typing `heroku addons:create ormongo:2-wt --app <YOUR_APP_NAME>` using the CLI, or using the web dashboard; more details at the [official documentation](https://devcenter.heroku.com/articles/managing-add-ons). You'll need to provide connection details to Ackee dyno, either from the web dashboard or via command line, e.g. `heroku config:add "ACKEE_MONGODB=mongodb://<host>:<port>/<db>"`
217
-
- Ensure that you're using the correct CORS headers by setting [`ACKEE_ALLOW_ORIGIN`](CORS%20headers.md#heroku-or-platforms-as-a-service-configuration).
217
+
- Ensure that you're using the correct CORS headers by setting [`ACKEE_ALLOW_ORIGIN`](CORS%20headers.md#platforms-as-a-service-configuration).
Copy file name to clipboardExpand all lines: docs/Options.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,20 +74,20 @@ NODE_ENV=development
74
74
75
75
## CORS headers
76
76
77
-
Quick solution for setting [CORS headers](CORS%20headers.md) instead of using a [reverse proxy](SSL%20and%20HTTPS.md). This is helpful if you are running Ackee on a platform which handles SSL for you.
77
+
Quick solution for setting [CORS headers](CORS%20headers.md) instead of using a [reverse proxy](SSL%20and%20HTTPS.md). This is helpful if you are running Ackee on a platform that handles SSL for you.
Setting a wildcard (`*`) is also supported, but not recommended. It's neither a secure solution nor does it allow Ackee to ignore your own visits. Please disable the `ignoreOwnVisits` option in ackee-tracker if using a wildcard is the only option for you.
This configuration secures all connections using TSL/SSL and gives any domain permission to access Ackee.
21
+
#### Recommended configuration
20
22
21
-
> 👉 The CORS headers are required so all your sites can send data to Ackee, even when their domain is different to the one Ackee uses. Take a look at the next example to tighten the CORS headers.
23
+
This configuration redirects all requests to the non-www domain `example.com`, secures connections using TSL/SSL and allows CORS requests from a list of known domains.
This configuration redirects all requests to the non-www domain `example.com` and adds the CORS headers only for known domains. It also secures connections using TSL/SSL.
25
+
> 👉 The CORS headers are required so your sites can send data to Ackee, even when their domain is different to the one Ackee uses.
56
26
57
27
```conf
58
28
#
@@ -122,3 +92,72 @@ server {
122
92
}
123
93
}
124
94
```
95
+
96
+
#### Single domain configuration
97
+
98
+
This configuration secures all connections using TSL/SSL and allows `https://example.com` to send data to `https://ackee.example.com`.
99
+
100
+
> ℹ️ This configuration only allows requests from a single domain. Take a look at our [recommended configuration](#recommended-configuration) if you want to allow requests from multiple domains or use the [insecure wildcard configuration](#insecure-wildcard-configuration).
A wildcard (`*`) isn't recommended as it's neither a secure solution nor does it allow Ackee to ignore your own visits. Please disable the `ignoreOwnVisits` option in ackee-tracker if using a wildcard is the only option for you.
0 commit comments