Skip to content

Commit 25adad5

Browse files
authored
Merge branch 'release.24.10' into ar2rsawseen/24.10
2 parents 6b7689b + 6e08c92 commit 25adad5

File tree

53 files changed

+3192
-5181
lines changed

Some content is hidden

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

53 files changed

+3192
-5181
lines changed

.github/workflows/main.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ name: CI
66
on:
77
# Triggers the workflow on push or pull request events but only for the master branch
88
pull_request:
9-
branches: [ master, next, release.24.10 ]
9+
branches: [ master, next, release.*, flex ]
1010

1111
# Allows you to run this workflow manually from the Actions tab
1212
workflow_dispatch:

CHANGELOG.md

+61-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,68 @@
1-
## Version 24.10.x
1+
## Version 24.10.X
2+
Fixes:
3+
- [data-manager] Modifying existing values when segment values want to be updated in the Data Manager
4+
5+
## Version 24.10.6
6+
7+
Fixes:
8+
- [push] Using apns-id header as message result in debug mode
9+
- [server-stats] Fix data point calculation in job
10+
- [TopEventsJob] preserver previous state if overwriting fails
11+
- [ui] scroll top on step changes in drawers
212

13+
Enterprise fixes:
14+
- [drill] Encoding url component before changing history state
15+
- [drill] Fixed drill meta regeneration
16+
- [drill] [license] Update license loader to enable supplying db client
17+
- [users] Format data points displayed in user sidebar
18+
- [cohorts] Unescape drill texts in cohort component
19+
320
Dependencies:
4-
- Bump puppeteer from 23.8.0 to 23.9.0
5-
- Bump nodemailer from 6.9.15 to 6.9.16
21+
- Bump fs-extra from 11.2.0 to 11.3.0
22+
- Bump nodemailer from 6.9.16 to 6.10.0
23+
24+
Enterprise Dependencies:
25+
- Bump nanoid in /plugins/cognito from 2.1.11 to 3.3.8
26+
- Bump shortid in /plugins/cognito from 2.2.16 to 2.2.17
27+
28+
## Version 24.10.5
29+
Fixes:
30+
- [core] Fixed a bug causing events to not being loaded when there's an escaped character in the event name
31+
- [core] Fixed a bug that was causing drill to crash when there's a percentage symbol in the event name
32+
- [gridfs] fixes for moving to Promises
33+
- [reports] Fixes report generation failure due to SSL error
34+
- [surveys] "Select one" text in the widget can be edited now
35+
- [system-utility] Fixed: Mongo error (code: 26) in some Countly instances when the profiler gets run for the first time
36+
37+
Dependencies:
38+
- Bump countly-sdk-nodejs from 24.10.0 to 24.10.1
39+
- Bump countly-sdk-web from 24.11.2 to 24.11.4
40+
- Bump express-rate-limit from 7.4.1 to 7.5.0
41+
- Bump puppeteer from 23.10.4 to 23.11.1
42+
- Bump sass from 1.81.0 to 1.83.4
43+
44+
## Version 24.10.4
45+
Fixes:
46+
- [push] Fixed bug where IOS credentials get mixed up while sending messages from different apps at the same time
47+
- [push] Fixed bug where it crashes in connection pool growth because of a type mismatch in an if condition
48+
49+
Security:
50+
- [cohorts] Prevent query injection on cohort creation
51+
52+
Dependencies:
53+
- Bump countly-sdk-nodejs from 22.6.0 to 24.10.0
654
- Bump countly-sdk-web from 24.4.1 to 24.11.0
7-
- Bump tslib from 2.7.0 to 2.8.1
55+
- Bump express from 4.21.1 to 4.21.2
856
- Bump form-data from 4.0.0 to 4.0.1
57+
- Bump jimp from 0.22.12 to 1.6.0
58+
- Bump jsdoc from 4.0.3 to 4.0.4
59+
- Bump mocha from 10.2.0 to 10.8.2
60+
- Bump mongodb from 4.9.1 to 4.17.2
61+
- Bump nodemailer from 6.9.15 to 6.9.16
62+
- Bump puppeteer from 23.8.0 to 23.9.0
63+
- Bump tslib from 2.7.0 to 2.8.1
64+
- Bump express from 4.21.1 to 4.21.2
65+
- Bump mocha from 10.2.0 to 10.8.2
966

1067
## Version 24.10.3
1168
Fixes:

Dockerfile-api

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:hydrogen-bullseye-slim
1+
FROM node:iron-bookworm-slim
22

33
ARG COUNTLY_PLUGINS=mobile,web,desktop,plugins,density,locale,browser,sources,views,logger,systemlogs,populator,reports,crashes,push,star-rating,slipping-away-users,compare,server-stats,dbviewer,times-of-day,compliance-hub,alerts,onboarding,consolidate,remote-config,hooks,dashboards,sdk,data-manager,guides
44
# Countly Enterprise:
@@ -25,15 +25,14 @@ COPY . .
2525

2626
# install required dependencies which slim image doesn't have
2727
RUN apt-get update && \
28-
apt-get install -y iputils-ping procps net-tools telnet apt-transport-https curl wget git python2 make gcc g++ unzip && \
29-
ln -s /usr/bin/python2.7 /usr/bin/python
28+
apt-get install -y iputils-ping procps net-tools telnet apt-transport-https curl wget git make gcc g++ unzip xz-utils
3029

3130
RUN apt-get update && \
3231
apt-get upgrade -y && \
3332
cd /usr/src && \
3433
wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tar.xz && \
3534
tar -xf Python-3.8.12.tar.xz && \
36-
apt-get install -y build-essential sudo zlib1g-dev libssl1.1 libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev && \
35+
apt-get install -y build-essential sudo zlib1g-dev libssl3 libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev && \
3736
cd Python-3.8.12 && \
3837
./configure --enable-optimizations --enable-shared && \
3938
make && \
@@ -51,14 +50,15 @@ RUN curl -s -L -o /tmp/tini.deb "https://github.com/krallin/tini/releases/downlo
5150
# preinstall
5251
cp -n ./api/config.sample.js ./api/config.js && \
5352
cp -n ./frontend/express/config.sample.js ./frontend/express/config.js && \
53+
HOME=/tmp npm install -g npm@latest && \
5454
HOME=/tmp npm install --unsafe-perm=true --allow-root && \
5555
HOME=/tmp npm install argon2 --build-from-source --unsafe-perm=true --allow-root && \
5656
./bin/docker/preinstall.sh && \
5757
bash /opt/countly/bin/scripts/detect.init.sh && \
5858
\
5959
# cleanup & chown
6060
npm remove -y --no-save mocha nyc should supertest && \
61-
apt-get remove -y git gcc g++ make automake autoconf libtool pkg-config unzip sqlite3 && \
61+
apt-get remove -y git gcc g++ make automake autoconf libtool pkg-config unzip sqlite3 wget && \
6262
apt-get install -y libgbm-dev libgbm1 gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils && \
6363
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
6464
rm -rf test /tmp/* /tmp/.??* /var/tmp/* /var/tmp/.??* /var/log/* /root/.npm && \

Dockerfile-centos-api

+2-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ RUN yum update -y
3434
RUN curl -s -L -o /tmp/tini.rpm "https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini_${TINI_VERSION}.rpm" && \
3535
rpm -i /tmp/tini.rpm && \
3636
\
37-
curl -sL https://rpm.nodesource.com/setup_18.x | bash - && \
37+
curl -sL https://rpm.nodesource.com/setup_20.x | bash - && \
3838
yum install -y nodejs python3.8 python2 python38-libs python38-devel python38-pip nss libdrm libgbm cyrus-sasl* && \
3939
ln -s /usr/bin/node /usr/bin/nodejs && \
4040
unlink /usr/bin/python3 && \
@@ -53,6 +53,7 @@ RUN curl -s -L -o /tmp/tini.rpm "https://github.com/krallin/tini/releases/downlo
5353
# preinstall
5454
cp -n ./api/config.sample.js ./api/config.js && \
5555
cp -n ./frontend/express/config.sample.js ./frontend/express/config.js && \
56+
HOME=/tmp npm install -g npm@latest && \
5657
HOME=/tmp npm install --unsafe-perm=true --allow-root && \
5758
HOME=/tmp npm install argon2 --build-from-source --unsafe-perm=true --allow-root && \
5859
./bin/docker/preinstall.sh && \

Dockerfile-centos-frontend

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ RUN yum update -y
3232
RUN curl -s -L -o /tmp/tini.rpm "https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini_${TINI_VERSION}.rpm" && \
3333
rpm -i /tmp/tini.rpm && \
3434
\
35-
curl -sL https://rpm.nodesource.com/setup_18.x | bash - && \
35+
curl -sL https://rpm.nodesource.com/setup_20.x | bash - && \
3636
yum install -y nodejs python3.8 python2 python38-libs python38-devel python38-pip nss libdrm libgbm cyrus-sasl* && \
3737
ln -s /usr/bin/node /usr/bin/nodejs && \
3838
unlink /usr/bin/python3 && \
@@ -52,6 +52,7 @@ RUN curl -s -L -o /tmp/tini.rpm "https://github.com/krallin/tini/releases/downlo
5252
cp -n ./frontend/express/public/javascripts/countly/countly.config.sample.js ./frontend/express/public/javascripts/countly/countly.config.js && \
5353
cp -n ./frontend/express/config.sample.js ./frontend/express/config.js && \
5454
cp -n ./api/config.sample.js ./api/config.js && \
55+
HOME=/tmp npm install -g npm@latest && \
5556
HOME=/tmp npm install --unsafe-perm=true --allow-root && \
5657
HOME=/tmp npm install argon2 --build-from-source --unsafe-perm=true --allow-root && \
5758
./bin/docker/preinstall.sh && \

Dockerfile-core

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ RUN useradd -r -M -U -d /opt/countly -s /bin/false countly && \
4040
gcc g++ make binutils autoconf automake autotools-dev libtool pkg-config zlib1g-dev libcunit1-dev libssl-dev libxml2-dev libev-dev \
4141
libevent-dev libjansson-dev libjemalloc-dev cython python3-dev python-setuptools && \
4242
# node
43-
wget -qO- https://deb.nodesource.com/setup_18.x | bash - && \
43+
wget -qO- https://deb.nodesource.com/setup_20.x | bash - && \
4444
# data_migration (mongo clients)
4545
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add - && \
4646
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list && \

Dockerfile-frontend

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:hydrogen-bullseye-slim
1+
FROM node:iron-bookworm-slim
22

33
ARG COUNTLY_PLUGINS=mobile,web,desktop,plugins,density,locale,browser,sources,views,logger,systemlogs,populator,reports,crashes,push,star-rating,slipping-away-users,compare,server-stats,dbviewer,times-of-day,compliance-hub,alerts,onboarding,consolidate,remote-config,hooks,dashboards,sdk,data-manager,guides
44
# Countly Enterprise:
@@ -21,15 +21,14 @@ WORKDIR /opt/countly
2121
COPY . .
2222
# install required dependencies which slim image doesn't have
2323
RUN apt-get update && \
24-
apt-get install -y iputils-ping net-tools telnet apt-transport-https procps curl wget git python2 make gcc g++ unzip && \
25-
ln -s /usr/bin/python2.7 /usr/bin/python
24+
apt-get install -y iputils-ping net-tools telnet apt-transport-https procps curl wget git make gcc g++ unzip xz-utils
2625

2726
RUN apt-get update && \
2827
apt-get upgrade -y && \
2928
cd /usr/src && \
3029
wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tar.xz && \
3130
tar -xf Python-3.8.12.tar.xz && \
32-
apt-get install -y build-essential sudo zlib1g-dev libssl1.1 libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev && \
31+
apt-get install -y build-essential sudo zlib1g-dev libssl3 libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev && \
3332
cd Python-3.8.12 && \
3433
./configure --enable-optimizations --enable-shared && \
3534
make && \
@@ -48,6 +47,7 @@ RUN curl -s -L -o /tmp/tini.deb "https://github.com/krallin/tini/releases/downlo
4847
cp -n ./api/config.sample.js ./api/config.js && \
4948
cp -n ./frontend/express/config.sample.js ./frontend/express/config.js && \
5049
cp -n ./frontend/express/public/javascripts/countly/countly.config.sample.js ./frontend/express/public/javascripts/countly/countly.config.js && \
50+
HOME=/tmp npm install -g npm@latest && \
5151
HOME=/tmp npm install --unsafe-perm=true --allow-root && \
5252
HOME=/tmp npm install argon2 --build-from-source --unsafe-perm=true --allow-root && \
5353
./bin/docker/preinstall.sh && \
@@ -56,7 +56,7 @@ RUN curl -s -L -o /tmp/tini.deb "https://github.com/krallin/tini/releases/downlo
5656
\
5757
# cleanup & chown
5858
npm remove -y --no-save mocha nyc should supertest puppeteer && \
59-
apt-get remove -y git gcc g++ make automake autoconf libtool pkg-config unzip sqlite3 && \
59+
apt-get remove -y git gcc g++ make automake autoconf libtool pkg-config unzip sqlite3 wget && \
6060
apt-get autoremove -y && \
6161
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
6262
rm -rf test /tmp/* /tmp/.??* /var/tmp/* /var/tmp/.??* /var/log/* /root/.npm && \

README.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
## 🔗 Quick links
99

1010
* [Countly Website](https://countly.com)
11-
* [Countly Server installation guide](https://support.count.ly/hc/en-us/articles/360036862332-Installing-the-Countly-Server)
12-
* [Countly SDKs, download and documentation links](https://support.count.ly/hc/en-us/articles/360037236571-Downloading-and-Installing-SDKs)
11+
* [Countly Server installation guide](https://support.countly.com/hc/en-us/articles/360036862332-Installing-the-Countly-Server)
12+
* [Countly SDKs, download and documentation links](https://support.countly.com/hc/en-us/articles/360037236571-Downloading-and-Installing-SDKs)
1313
* [Countly Community on Discord](https://discord.gg/countly)
14-
* [User Guides for Countly features](https://support.count.ly/hc/en-us/sections/7039354168729-User-Guides-Countly-22-x)
14+
* [User Guides for Countly features](https://support.countly.com/hc/en-us/sections/360007405211-User-Guides)
1515

1616
## 🌟 What is Countly?
1717

@@ -53,8 +53,8 @@ This repository includes server-side part of Countly, with the following feature
5353

5454
Countly can collect and visualize data from mobile, web and desktop applications. Using the write-API you can send data into Countly from any source. For more information please check the below resources:
5555

56-
* [List of Countly SDKs, documentation and download information](https://support.count.ly/hc/en-us/articles/360037236571-Downloading-and-Installing-SDKs)
57-
* [SDK development guide to build your own SDK](https://support.count.ly/hc/en-us/articles/360037753291-SDK-development-guide)
56+
* [List of Countly SDKs, documentation and download information](https://support.countly.com/hc/en-us/articles/360037236571-Downloading-and-Installing-SDKs)
57+
* [SDK development guide to build your own SDK](https://support.countly.com/hc/en-us/articles/360037753291-SDK-development-guide)
5858
* [Countly Server Write API to send data into Countly from any source](https://api.count.ly/reference/i)
5959

6060
## 🛠️ Installing and upgrading Countly server
@@ -69,15 +69,15 @@ There are several ways to install Countly:
6969

7070
2. For bash lovers, we provide a beautiful installation script (`bin/countly.install.sh`) in countly-server package which installs everything required to run Countly Server. For this, you need a stable release of this repository [available here](https://github.com/Countly/countly-server/releases).
7171

72-
3. Countly Lite also has Docker support - [see our official Docker repository](https://registry.hub.docker.com/r/countly/countly-server/) and [installation instructions for Docker](https://support.count.ly/hc/en-us/articles/360036862332-Installing-the-Countly-Server).
72+
3. Countly Lite also has Docker support - [see our official Docker repository](https://registry.hub.docker.com/r/countly/countly-server/) and [installation instructions for Docker](https://support.countly.com/hc/en-us/articles/360036862332-Installing-the-Countly-Server).
7373

74-
If you want to upgrade Countly from a previous version, please take a look at [upgrading documentation](https://support.count.ly/hc/en-us/articles/360037443652-Upgrading-the-Countly-Server).
74+
If you want to upgrade Countly from a previous version, please take a look at [upgrading documentation](https://support.countly.com/hc/en-us/articles/360037443652-Upgrading-the-Countly-Server).
7575

7676
## 🧩 API, extensibility and plugins
7777

7878
Countly has a [well-defined API](https://api.count.ly), that reads and writes data from/to the Countly backend. Countly dashboard is built using the read API, so it's possible to fetch any information you see on the dashboard using the API.
7979

80-
Countly is extensible using the plugin architecture. If you would like to modify any exiting feature by extending it or changing it, or if you would like to add completely new capabilities to Countly you can modify existing plugins or create new ones. We suggest [you read this document](https://support.count.ly/hc/en-us/articles/360036862392-Introduction) if you would like to start with plugin development.
80+
Countly is extensible using the plugin architecture. If you would like to modify any exiting feature by extending it or changing it, or if you would like to add completely new capabilities to Countly you can modify existing plugins or create new ones. We suggest [you read this document](https://support.countly.com/hc/en-us/articles/360036862392-Introduction) if you would like to start with plugin development.
8181

8282
## 💚 Community
8383

@@ -93,7 +93,7 @@ Security is very important to us. If you discover any issue regarding security,
9393
* **NodeJS** — An open-source, cross-platform JavaScript runtime environment
9494
* **Linux** — What we all love using ;-)
9595

96-
Plus lots of [open source libraries](https://support.count.ly/hc/en-us/articles/360037092232-Open-source-components)!
96+
Plus lots of [open source libraries](https://support.countly.com/hc/en-us/articles/360037092232-Open-source-components)!
9797

9898
## 🤝 How can I help you with your efforts?
9999

api/api.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,8 @@ plugins.connectToAllDatabases().then(function() {
109109
password_rotation: 3,
110110
password_autocomplete: true,
111111
robotstxt: "User-agent: *\nDisallow: /",
112-
dashboard_additional_headers: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nStrict-Transport-Security:max-age=31536000 ; includeSubDomains\nX-Content-Type-Options: nosniff",
113-
api_additional_headers: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nAccess-Control-Allow-Origin:*",
112+
dashboard_additional_headers: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nStrict-Transport-Security:max-age=31536000; includeSubDomains; preload\nX-Content-Type-Options: nosniff",
113+
api_additional_headers: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nStrict-Transport-Security:max-age=31536000; includeSubDomains; preload\nAccess-Control-Allow-Origin:*",
114114
dashboard_rate_limit_window: 60,
115115
dashboard_rate_limit_requests: 500,
116116
proxy_hostname: "",

0 commit comments

Comments
 (0)