Skip to content

Commit a999e1a

Browse files
authored
Merge branch 'develop' into feature/parental-controls
2 parents 9e25bc5 + c23117e commit a999e1a

File tree

68 files changed

+3572
-4271
lines changed

Some content is hidden

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

68 files changed

+3572
-4271
lines changed

.github/workflows/create-tag.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ jobs:
7878
- name: Commit updated files
7979
run: |
8080
git add package.json
81-
git commit -m 'chore(release): prepare ${TAG_VERSION}'
81+
git commit -m "chore(release): prepare ${TAG_VERSION}"
8282
git push
8383
8484
- name: Create git tag

CONTRIBUTING.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ Please be respectful to maintainers and disclose AI assistance.
7575
3. Create a new branch:
7676

7777
```bash
78-
git checkout -b BRANCH_NAME develop
78+
git switch -c BRANCH_NAME develop
7979
```
8080

8181
- It is recommended to give your branch a meaningful name, relevant to the feature or fix you are working on.
@@ -127,11 +127,10 @@ Steps:
127127
### Contributing Code
128128
129129
- If you are taking on an existing bug or feature ticket, please comment on the [issue](/../../issues) to avoid multiple people working on the same thing.
130-
- All commits **must** follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
131-
- Pull requests with titles or commits not following this standard will **not** be merged. PR titles are automatically checked for compliance.
130+
- Pull requests with titles not following [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) will **not** be merged. PR titles are automatically checked for compliance.
132131
- Please make meaningful commits, or squash them prior to opening a pull request.
133132
- Do not squash commits once people have begun reviewing your changes.
134-
- Always rebase your commit to the latest `develop` branch. Do **not** merge `develop` into your branch.
133+
- Always rebase your branch to the latest `develop` branch.
135134
- It is your responsibility to keep your branch up-to-date. Your work will **not** be merged unless it is rebased off the latest `develop` branch.
136135
- You can create a "draft" pull request early to get feedback on your work.
137136
- Your code **must** be formatted correctly, or the tests will fail.
@@ -180,10 +179,10 @@ PGPASSWORD=postgres sudo docker exec -it postgres-seerr /usr/bin/psql -h 127.0.0
180179
PGPASSWORD=postgres sudo docker exec -it postgres-seerr /usr/bin/psql -h 127.0.0.1 -U postgres -c "CREATE DATABASE seerr;"
181180
```
182181
183-
3. Checkout the `develop` branch and create the original database for SQLite and PostgreSQL so that TypeORM can automatically generate the migrations:
182+
3. Switch to the `develop` branch and create the original database for SQLite and PostgreSQL so that TypeORM can automatically generate the migrations:
184183
185184
```bash
186-
git checkout develop
185+
git switch develop
187186
pnpm i
188187
rm -r .next dist; pnpm build
189188
pnpm start
@@ -195,7 +194,7 @@ DB_TYPE="postgres" DB_USER=postgres DB_PASS=postgres pnpm start
195194
4. Let TypeORM generate the migrations:
196195
197196
```bash
198-
git checkout -b your-feature-branch
197+
git switch -c your-feature-branch
199198
pnpm i
200199
pnpm migration:generate server/migration/sqlite/YourMigrationName
201200
DB_TYPE="postgres" DB_USER=postgres DB_PASS=postgres pnpm migration:generate server/migration/postgres/YourMigrationName

SECURITY.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,51 @@ To report a security issue, please use the GitHub Security Advisory ["Report a V
88

99
**Please do not report security vulnerabilities through public GitHub issues, discussions, or Discord.**
1010

11+
## AI Assistance Notice
12+
13+
> [!IMPORTANT]
14+
>
15+
> Automated AI-generated contributions without human review are not allowed and will be rejected.
16+
> This is an open-source project maintained by volunteers.
17+
> We do not have the resources to review pull requests that could have been avoided with proper human oversight.
18+
> While we have no issue with contributors using AI tools as an aid, it is your responsibility as a contributor to ensure that all submissions are carefully reviewed and meet our quality standards.
19+
> Submissions that appear to be unreviewed AI output will be considered low-effort and may result in a ban.
20+
>
21+
> If you are using **any kind of AI assistance** to contribute to Seerr,
22+
> it must be disclosed in the pull request.
23+
24+
If you are using any kind of AI assistance while contributing to Seerr,
25+
**this must be disclosed in the pull request**, along with the extent to
26+
which AI assistance was used (e.g. docs only vs. code generation).
27+
If security advisory responses are being generated by an AI, disclose that as well.
28+
As a small exception, trivial tab-completion doesn't need to be disclosed,
29+
so long as it is limited to single keywords or short phrases.
30+
31+
An example disclosure:
32+
33+
> This security advisory was written primarily by Claude Code.
34+
35+
Or a more detailed disclosure:
36+
37+
> I consulted ChatGPT to understand the codebase but the solution
38+
> was fully authored manually by myself.
39+
40+
Failure to disclose this is first and foremost rude to the human operators
41+
on the other end of the pull request, but it also makes it difficult to
42+
determine how much scrutiny to apply to the contribution.
43+
44+
In a perfect world, AI assistance would produce equal or higher quality
45+
work than any human. That isn't the world we live in today, and in most cases
46+
it's generating slop. I say this despite being a fan of and using them
47+
successfully myself (with heavy supervision)!
48+
49+
When using AI assistance, we expect contributors to understand the code
50+
that is produced and be able to answer critical questions about it. It
51+
isn't a maintainers job to review a PR so broken that it requires
52+
significant rework to be acceptable.
53+
54+
Please be respectful to maintainers and disclose AI assistance.
55+
1156
## What to Include in Your Report
1257

1358
To help us better understand and resolve the issue, please include as much of the following information as possible:

charts/seerr-chart/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ kubeVersion: '>=1.23.0-0'
33
name: seerr-chart
44
description: Seerr helm chart for Kubernetes
55
type: application
6-
version: 3.2.0
6+
version: 3.3.0
77
# renovate: image=ghcr.io/seerr-team/seerr
8-
appVersion: 'v3.0.1'
8+
appVersion: 'v3.1.0'
99
maintainers:
1010
- name: Seerr Team
1111
url: https://github.com/orgs/seerr-team/people

charts/seerr-chart/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# seerr-chart
22

3-
![Version: 3.2.0](https://img.shields.io/badge/Version-3.2.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v3.0.1](https://img.shields.io/badge/AppVersion-v3.0.1-informational?style=flat-square)
3+
![Version: 3.3.0](https://img.shields.io/badge/Version-3.3.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v3.1.0](https://img.shields.io/badge/AppVersion-v3.1.0-informational?style=flat-square)
44

55
Seerr helm chart for Kubernetes
66

docs/using-seerr/notifications/ntfy.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ Set this to the username and password for your ntfy.sh server.
2424

2525
Set this to the token for your ntfy.sh server.
2626

27+
### Priority (optional)
28+
29+
Set the priority level for notifications. Options range from Minimum (1) to Urgent (5), with Default (3) being the standard level. Higher priority notifications may bypass Do Not Disturb settings on some devices.
30+
2731
:::info
2832
Please refer to the [ntfy.sh API documentation](https://docs.ntfy.sh/) for more details on configuring these notifications.
2933
:::
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
title: "Seerr v3.1.0: Critical Security Release"
3+
description: "Seerr v3.1.0 addresses three CVEs, including a high-priority vulnerability affecting Plex-configured instances. Upgrade immediately."
4+
slug: seerr-3-1-0-security-release
5+
authors: [seerr-team]
6+
image: https://raw.githubusercontent.com/seerr-team/seerr/refs/heads/develop/gen-docs/static/img/logo_full.svg
7+
hide_table_of_contents: false
8+
---
9+
10+
We are releasing **Seerr v3.1.0**, a security-focused update that addresses three CVEs, including a high-priority vulnerability affecting instances configured with Plex Media Server. **We strongly recommend upgrading as soon as possible.**
11+
12+
This release also includes a number of bug fixes and marks the end of our post-merger feature freeze. New features will be resuming in future updates.
13+
14+
<!--truncate-->
15+
16+
## Security Vulnerabilities
17+
18+
This release patches three newly identified CVEs. If you are running a Plex-configured instance of Seerr, **one of these vulnerabilities is high priority and poses a significant risk**, please upgrade immediately.
19+
20+
### [CVE-2026-27707](https://github.com/seerr-team/seerr/security/advisories/GHSA-rc4w-7m3r-c2f7) — Unauthenticated Account Registration via Jellyfin Endpoint (High)
21+
22+
On instances configured to use Plex as the media server, an unauthenticated attacker could register an account by abusing the Jellyfin authentication endpoint. This could allow unauthorized users to gain access to your Seerr instance without valid Plex credentials.
23+
24+
### [CVE-2026-27793](https://github.com/seerr-team/seerr/security/advisories/GHSA-f7xw-jcqr-57hp) — Broken Object-Level Authorization in User Profile Endpoint (Medium)
25+
26+
A broken object-level authorization vulnerability in the user profile endpoint could allow an authenticated user to access another user's profile data, including third-party notification credentials such as webhook URLs, Telegram tokens, and similar sensitive configuration.
27+
28+
### [CVE-2026-27792](https://github.com/seerr-team/seerr/security/advisories/GHSA-gx3h-3jg5-q65f) — Missing Authentication on Push Subscription Endpoints (Medium)
29+
30+
The push subscription endpoints lacked proper authentication checks, allowing unauthenticated requests to interact with subscription management functionality.
31+
32+
---
33+
34+
Please review the full security advisories linked above for technical details, impact assessment, and mitigation steps.
35+
36+
## Bug Fixes
37+
38+
Alongside the security patches, this release ships a number of bug fixes:
39+
40+
- ***(helm)*** Add `"v"` as prefix for `appVersion` tag
41+
- ***(jellyfin-scanner)*** Include unmatched seasons in processable seasons
42+
- ***(link-account)*** Fix error-message override
43+
- ***(plex-scanner)*** Add TVDb to TMDB fallback in Plex scanner
44+
- ***(radarr)*** Trigger search for existing monitored movies without files
45+
- ***(servarr)*** Increase default API timeout from 5000ms to 10000ms
46+
- ***(sonarr)*** Use configured metadata provider for season filtering
47+
- ***(watch-data)*** Use sentinel values to avoid invalid SQL syntax
48+
- ***(watchlist-sync)*** Correct permission typo for TV auto requests
49+
- Preserve blocklist on media deletion & optimise watchlist-sync
50+
51+
## New Contributors
52+
53+
Many thanks to those making their first contribution to Seerr in this release:
54+
55+
* [@caillou](https://github.com/caillou)
56+
* [@Kenshin9977](https://github.com/Kenshin9977)
57+
* [@MagicLegend](https://github.com/MagicLegend)
58+
* [@wiiaam](https://github.com/wiiaam)
59+
* [@mjonkus](https://github.com/mjonkus)
60+
* [@nova-api](https://github.com/nova-api)
61+
* [@mreid-tt](https://github.com/mreid-tt)
62+
* [@DataBitz](https://github.com/DataBitz)
63+
* [@Hyperion2220](https://github.com/Hyperion2220)
64+
* [@blassley](https://github.com/blassley)
65+
* [@JanKleine](https://github.com/JanKleine)
66+
* [@koiralasandesh](https://github.com/koiralasandesh)
67+
68+
## What's Next
69+
70+
Now that the post-merger feature freeze has ended, the team is resuming active feature development. Stay tuned to our blog for upcoming releases and in-depth looks at what we're building next.
71+
72+
In the meantime, please upgrade to **v3.1.0** right away, especially if you are using a Plex Media Server configuration. See our [migration guide](https://docs.seerr.dev/migration-guide) if you need help upgrading from Overseerr/Jellyseerr.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"license": "MIT",
3535
"dependencies": {
3636
"@dr.pogodin/csurf": "^1.16.6",
37+
"@fontsource-variable/inter": "^5.2.8",
3738
"@formatjs/intl-displaynames": "6.8.13",
3839
"@formatjs/intl-locale": "3.1.1",
3940
"@formatjs/intl-pluralrules": "5.4.6",

pnpm-lock.yaml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

server/api/servarr/sonarr.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export interface SonarrSeries {
4949
languageProfileId: number;
5050
seasonFolder: boolean;
5151
monitored: boolean;
52+
monitorNewItems: 'all' | 'none';
5253
useSceneNumbering: boolean;
5354
runtime: number;
5455
tvdbId: number;
@@ -98,6 +99,7 @@ export interface AddSeriesOptions {
9899
tags?: number[];
99100
seriesType: SonarrSeries['seriesType'];
100101
monitored?: boolean;
102+
monitorNewItems?: SonarrSeries['monitorNewItems'];
101103
searchNow?: boolean;
102104
}
103105

@@ -269,6 +271,7 @@ class SonarrAPI extends ServarrBase<{
269271
tags: options.tags,
270272
seasonFolder: options.seasonFolder,
271273
monitored: options.monitored,
274+
monitorNewItems: options.monitorNewItems,
272275
rootFolderPath: options.rootFolderPath,
273276
seriesType: options.seriesType,
274277
addOptions: {

0 commit comments

Comments
 (0)