Skip to content

Commit ca944aa

Browse files
committed
Merge tag 'v0.15.0' into release
Release v0.15.0
2 parents 6369729 + 357ca3a commit ca944aa

35 files changed

Lines changed: 2875 additions & 12658 deletions

.github/act/Dockerfile

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
FROM ubuntu:latest
2+
3+
# Install necessary dependencies
4+
RUN apt-get update && apt-get install -y \
5+
sudo \
6+
git \
7+
curl \
8+
make \
9+
wget \
10+
&& rm -rf /var/lib/apt/lists/*
11+
12+
# Get correct version of nodejs
13+
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - \
14+
&& sudo apt install -y nodejs
15+
16+
RUN sudo npm install -g yarn
17+
18+
# Create a non-root user (same as GitHub Actions)
19+
RUN useradd -m runner && \
20+
echo "runner ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
21+
22+
# Set user to 'runner'
23+
USER runner
24+
25+
# Set working directory (GitHub Actions uses this location)
26+
WORKDIR /home/runner
27+
28+
CMD ["/bin/bash"]

.github/workflows/ci.yml

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,54 @@ name: Shaarli CI
22
on: [push, pull_request]
33
jobs:
44
php:
5-
runs-on: ubuntu-latest
5+
runs-on: ubuntu-24.04
66
strategy:
77
fail-fast: false
88
matrix:
9-
php-versions: ['7.4', '8.0', '8.1', '8.2']
9+
php-versions: ['8.1', '8.2', '8.3', '8.4']
1010
name: PHP ${{ matrix.php-versions }}
1111
steps:
12-
- name: Set locales
13-
run: |
14-
sudo locale-gen de_DE.utf8 && \
15-
sudo locale-gen en_US.utf8 && \
16-
sudo locale-gen fr_FR.utf8 && \
17-
sudo dpkg-reconfigure --frontend=noninteractive locales
18-
19-
- name: Install Gettext
20-
run: sudo apt-get install gettext
21-
2212
- name: Checkout
2313
uses: actions/checkout@v4
2414

15+
- name: Install Gettext
16+
run: |
17+
sudo apt-get update && \
18+
sudo apt-get install -y gettext
19+
2520
- name: Setup PHP
2621
uses: shivammathur/setup-php@v2
2722
with:
2823
php-version: ${{ matrix.php-versions }}
29-
extensions: gd, xml, curl, mbstring, intl, gettext
24+
extensions: gd, xml, curl, mbstring, intl, gettext, ldap
3025
tools: composer:v2
3126

27+
- name: Allow APT Release label changes # workaround for https://github.com/oerdnj/deb.sury.org/issues/2295
28+
run: echo 'Acquire::AllowReleaseInfoChange::Label "true";' | sudo tee /etc/apt/apt.conf.d/label_change
29+
3230
- name: Check PHP version
3331
run: php -v
3432

3533
- name: Setup Composer from PHP version + update
3634
run: composer config --unset platform && composer config platform.php ${{ matrix.php-versions }}
3735

3836
- name: Update dependencies for PHP 8.x
39-
if: ${{ matrix.php-versions == '8.0' || matrix.php-versions == '8.1' }}
4037
run: |
41-
composer update && \
42-
composer remove --dev phpunit/phpunit && \
43-
composer require --dev phpunit/php-text-template ^2.0 && \
44-
composer require --dev phpunit/phpunit ^9.0
38+
composer update
39+
40+
- name: Install locales
41+
run: |
42+
sudo apt-get update && \
43+
sudo apt-get install -y locales
44+
45+
- name: Set locales
46+
run: |
47+
sudo locale-gen de_DE.utf8 && \
48+
sudo locale-gen en_US.utf8 && \
49+
sudo locale-gen fr_FR.utf8
4550
46-
- name: Update dependencies for PHP 7.x
47-
if: ${{ matrix.php-versions != '8.0' && matrix.php-versions != '8.1' }}
48-
run: composer update
51+
- name: Check locales
52+
run: locale -a
4953

5054
- name: Clean up
5155
run: make clean
@@ -60,7 +64,7 @@ jobs:
6064
run: make all_tests
6165

6266
node:
63-
runs-on: ubuntu-latest
67+
runs-on: ubuntu-24.04
6468
steps:
6569
- name: Checkout
6670
uses: actions/checkout@v4
@@ -83,7 +87,7 @@ jobs:
8387
run: make sasslint
8488

8589
python:
86-
runs-on: ubuntu-latest
90+
runs-on: ubuntu-24.04
8791
steps:
8892
- name: Checkout
8993
uses: actions/checkout@v4
@@ -97,7 +101,7 @@ jobs:
97101
run: make htmldoc
98102

99103
trivy-repo:
100-
runs-on: ubuntu-latest
104+
runs-on: ubuntu-24.04
101105
steps:
102106
- name: Checkout
103107
uses: actions/checkout@v4

.github/workflows/docker-latest.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
branches: [ master ]
55
jobs:
66
docker-build:
7-
runs-on: ubuntu-latest
7+
runs-on: ubuntu-24.04
88
steps:
99
- name: Set up QEMU
1010
uses: docker/setup-qemu-action@v3

.github/workflows/docker-pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55

66
jobs:
77
docker-build:
8-
runs-on: ubuntu-latest
8+
runs-on: ubuntu-24.04
99
steps:
1010
- name: Set up QEMU
1111
uses: docker/setup-qemu-action@v3

.github/workflows/docker-tags.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
- release
99
jobs:
1010
docker-build:
11-
runs-on: ubuntu-latest
11+
runs-on: ubuntu-24.04
1212
steps:
1313
- name: Get the tag name
1414
run: echo "REF=${GITHUB_REF##*/}" >> $GITHUB_ENV

.github/workflows/trivy-release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66

77
jobs:
88
trivy-repo:
9-
runs-on: ubuntu-latest
9+
runs-on: ubuntu-24.04
1010
name: trivy scan (release composer/yarn dependencies)
1111
steps:
1212
- name: Checkout
@@ -16,7 +16,7 @@ jobs:
1616
- name: Run trivy scanner on repository
1717
run: make test_trivy_repo TRIVY_TARGET_BRANCH=origin/release TRIVY_EXIT_CODE=1
1818
trivy-docker:
19-
runs-on: ubuntu-latest
19+
runs-on: ubuntu-24.04
2020
name: trivy scan (release docker image)
2121
steps:
2222
- name: Checkout

AUTHORS

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
1221 ArthurHoaro <arthur@hoa.ro>
2-
518 nodiscc <nodiscc@gmail.com>
2+
544 nodiscc <nodiscc@gmail.com>
33
405 VirtualTam <virtualtam@flibidi.net>
44
56 Sébastien Sauvage <sebsauvage@sebsauvage.net>
5-
31 Keith Carangelo <mail@kcaran.com>
6-
28 dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5+
33 Keith Carangelo <mail@kcaran.com>
6+
29 dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
77
16 Luce Carević <lcarevic@access42.net>
88
15 Florian Eula <eula.florian@gmail.com>
99
14 Emilien Klein <emilien@klein.st>
@@ -25,10 +25,13 @@
2525
3 Andreas Waschinski <25221082+waschinski@users.noreply.github.com>
2626
3 Christoph Stoettner <christoph.stoettner@stoeps.de>
2727
3 Olivier <bourreauolivier@gmail.com>
28+
3 Robert Riebisch <15858666+bttrx@users.noreply.github.com>
2829
3 Teromene <teromene@teromene.fr>
2930
3 yudete <yu@yude.moe>
31+
2 7Ds7 <7Ds7@users.noreply.github.com>
3032
2 Alexander Railean <alexandr.railean@arculus.de>
3133
2 Alexandre G.-Raymond <alex@ndre.gr>
34+
2 BinaryUnit <admin@binaryunit.com>
3235
2 Chris Kuethe <chris.kuethe@gmail.com>
3336
2 Doug Breaux <25640850+dougbreaux@users.noreply.github.com>
3437
2 Felix Bartels <felix@host-consultants.de>
@@ -40,17 +43,16 @@
4043
2 Miloš Jovanović <mjovanovic@gmail.com>
4144
2 Neros <contact@neros.fr>
4245
2 Qwerty <champlywood@free.fr>
43-
2 Robert Riebisch <15858666+bttrx@users.noreply.github.com>
4446
2 Sebastien Wains <sebw@users.noreply.github.com>
4547
2 Stephen Muth <smuth4@gmail.com>
48+
2 Thibaud CANALE <thican@thican.net>
4649
2 Timo Van Neerden <fire@lehollandaisvolant.net>
4750
2 flow.gunso <flow.gunso@gmail.com>
4851
2 julienCXX <software@chmodplusx.eu>
4952
2 philipp-r <philipp-r@users.noreply.github.com>
5053
2 pips <pips@e5150.fr>
5154
2 prog-it <pash.vld@gmail.com>
5255
2 trailjeep <trailjeep@gmail.com>
53-
1 7Ds7 <7Ds7@users.noreply.github.com>
5456
1 Adrien Oliva <adrien.oliva@yapbreak.fr>
5557
1 Adrien le Maire <adrien@alemaire.be>
5658
1 Ajabep <ajabep@users.noreply.github.com>
@@ -70,6 +72,7 @@
7072
1 Denis Renning <denis@devtty.de>
7173
1 Dennis Verspuij <dennisverspuij@users.noreply.github.com>
7274
1 Dimtion <zizou.xena@gmail.com>
75+
1 Eric Masson <emss.ads@gmail.com>
7376
1 Fanch <fanch-github@qth.fr>
7477
1 Felix Kästner <github.qkg1.top-fpunktk@fpunktk.de>
7578
1 Florian Voigt <flvoigt@me.com>
@@ -96,7 +99,7 @@
9699
1 Paul van den Burg <github@paulvandenburg.nl>
97100
1 Rajat Hans <rajathans9@gmail.com>
98101
1 Sbgodin <Sbgodin@users.noreply.github.com>
99-
1 Thibaud CANALE <thican@thican.net>
102+
1 Tai Lam <47955724+taivlam@users.noreply.github.com>
100103
1 ToM <tom@leloop.org>
101104
1 TsT <tst2005@gmail.com>
102105
1 agentcobra <agentcobra@free.fr>
@@ -106,6 +109,7 @@
106109
1 clach04 <clach04@gmail.com>
107110
1 dimtion <zizou.xena@gmail.com>
108111
1 durcheinandr <jochen@durcheinandr.de>
112+
1 emss-github <54211944+emss-github@users.noreply.github.com>
109113
1 heimpogo <hypertexthome@googlemail.com>
110114
1 jalr <mail@jalr.de>
111115
1 lapineige <lapineige@users.noreply.github.com>

CHANGELOG.md

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,48 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
66

77
------------------------
88

9-
## [v0.14.0](https://github.com/shaarli/Shaarli/releases/tag/v0.14.0) - UNRELEASED
9+
## [v0.15.0](https://github.com/shaarli/Shaarli/releases/tag/v0.15.0) - 2025-08-16
10+
11+
### Added
12+
13+
* doc: add SECURITY.md
14+
* doc: Added colorscheme and youtube plugins, and shirley-template
15+
16+
### Changed
17+
18+
* refactor video plugin
19+
* github actions: update/pin all base images to ubuntu-24.04
20+
* github actions: workaround for ondrej/php apt repository update error
21+
* github actions: re-enable currently supported PHP versions in the test matrix
22+
* docker: udpate base alpine image to v3.19.7
23+
24+
### Fixed
25+
26+
* Fix `PHP message: TypeError: get_headers(): Argument #2 ($associative) must be of type bool, int given`
27+
* doc: fix typos and inconsistencies
28+
29+
### Security
30+
31+
* fix insufficient filename sanitization in bookmarks import form
32+
* fix reflected XSS via searchtags parameter*
33+
* keep private links number private
34+
35+
**Full Changelog**: https://github.com/shaarli/Shaarli/compare/v0.14.0...v0.15.0
36+
37+
38+
------------------------
39+
40+
## [v0.14.0](https://github.com/shaarli/Shaarli/releases/tag/v0.14.0) - 2024-12-08
1041

1142
### Added
1243

1344
* doc: add third party plugins clickcounter and targetblank by @waschinski in https://github.com/shaarli/Shaarli/pull/2063
1445
* doc: add shaarli-offen plugin to Community & related software by @waschinski in https://github.com/shaarli/Shaarli/pull/2064
1546
* doc: add Shaanti browser extension to Community & related software by @7Ds7 in https://github.com/shaarli/Shaarli/pull/2078
1647
* doc: add image-upload plugin to Community & related software by @bttrx in https://github.com/shaarli/Shaarli/pull/2097
17-
* doc: add shaarli2bluesky plugin to Community & related software by @bttrx in https://github.com/shaarli/Shaarli/pull/2097
48+
* doc: add shaarli2bluesky plugin to Community & related software by @kalvn in https://github.com/shaarli/Shaarli/pull/2111
1849
* doc: server configuration: allow accessing and caching SVG assets by @nodiscc in https://github.com/shaarli/Shaarli/pull/2074
19-
* doc: usage: document "Sticky" mode by @kalvn in https://github.com/shaarli/Shaarli/pull/2111
50+
* doc: usage: document "Sticky" mode by @nodiscc in https://github.com/shaarli/Shaarli/pull/2055
2051
* doc: troubleshooting: add solution for `Allowed memory size of xxx bytes exhausted` by @nodiscc in https://github.com/shaarli/Shaarli/pull/2083
2152
* doc: usage: add opensearch/browser search engine integration instructions by @nodiscc in https://github.com/shaarli/Shaarli/pull/2096
2253
* doc: troubleshooting: list more cases in which title retrieval fails by @nodiscc in https://github.com/shaarli/Shaarli/pull/2060

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ RUN cd shaarli \
2525

2626
# Stage 4:
2727
# - Shaarli image
28-
FROM docker.io/alpine:3.19.4
28+
FROM docker.io/alpine:3.19.7
2929
LABEL maintainer="Shaarli Community"
3030

3131
RUN apk --no-cache del icu-data-en \

Makefile

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,17 +76,13 @@ test: translate
7676
@$(BIN)/phpunit --coverage-php coverage/main.cov --bootstrap tests/bootstrap.php --testsuite unit-tests
7777

7878
locale_test_%:
79-
@UT_LOCALE=$*.utf8 \
79+
@LANG=$*.utf8 \
8080
$(BIN)/phpunit \
8181
--coverage-php coverage/$(firstword $(subst _, ,$*)).cov \
8282
--bootstrap tests/languages/bootstrap.php \
8383
--testsuite language-$(firstword $(subst _, ,$*))
8484

8585
all_tests: test locale_test_de_DE locale_test_en_US locale_test_fr_FR
86-
@# --The current version is not compatible with PHP 7.2
87-
@#$(BIN)/phpcov merge --html coverage coverage
88-
@# --text doesn't work with phpunit 4.* (v5 requires PHP 5.6)
89-
@#$(BIN)/phpcov merge --text coverage/txt coverage
9086

9187
### download 3rd-party PHP libraries, including dev dependencies
9288
composer_dependencies_dev: clean

0 commit comments

Comments
 (0)