12737 Commits

Author SHA1 Message Date
kolaente
e5cfe3aa13 fix(button): fix button text color to #ffffff
Fixes regression introduced in cac2690fd6
2026-01-10 18:47:50 +01:00
kolaente
61b4c1b87e fix(attachment): make sure long attachment names break the title 2026-01-10 18:46:55 +01:00
kolaente
b9ccc81ec0 fix(button): white color text for is-danger variant 2026-01-10 18:36:33 +01:00
kolaente
5ab58e6bda fix(webhooks): make sure validation is re-triggered after selecting events when it was invalid the first time 2026-01-10 18:35:12 +01:00
kolaente
cac2690fd6 fix(button): make sure button text color is always white 2026-01-10 18:31:18 +01:00
kolaente
84b733ec0c fix(webhooks): make sure events are initialized with false 2026-01-10 18:31:18 +01:00
kolaente
9a3e79af8e feat(frontend): add danger prop to XButton component (#2078)
The is-danger class no longer worked on XButton because the component uses scoped CSS. This adds a proper danger boolean prop that applies danger styling (red background) as a color modifier that works alongside any variant (primary, secondary, tertiary).
2026-01-10 17:22:19 +00:00
kolaente
534483f237 fix(filter): ensure year is always within mysql allowed range
Fixes https://github.com/go-vikunja/vikunja/issues/2077
2026-01-09 23:11:22 +01:00
renovate[bot]
0ff6a348e4 fix(deps): update module golang.org/x/text to v0.33.0 (#2076)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [golang.org/x/text](https://pkg.go.dev/golang.org/x/text) | [`v0.32.0`
→
`v0.33.0`](https://cs.opensource.google/go/x/text/+/refs/tags/v0.32.0...refs/tags/v0.33.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftext/v0.33.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftext/v0.32.0/v0.33.0?slim=true)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/go-vikunja/vikunja).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi43NC41IiwidXBkYXRlZEluVmVyIjoiNDIuNzQuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-09 22:00:45 +00:00
kolaente
e085fcaef2 feat(migration/todoist): migrate from Sync API v9 to API v1 (#2072)
Migrates the Todoist migration module from the deprecated Sync API v9 to the new unified Todoist API v1.
2026-01-09 22:50:27 +01:00
renovate[bot]
ff5befcda4 fix(deps): update module golang.org/x/term to v0.39.0 (#2075)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [golang.org/x/term](https://pkg.go.dev/golang.org/x/term) | [`v0.38.0`
→
`v0.39.0`](https://cs.opensource.google/go/x/term/+/refs/tags/v0.38.0...refs/tags/v0.39.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fterm/v0.39.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fterm/v0.38.0/v0.39.0?slim=true)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/go-vikunja/vikunja).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi43NC41IiwidXBkYXRlZEluVmVyIjoiNDIuNzQuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-09 22:17:55 +01:00
renovate[bot]
6bcdfc50e2 fix(deps): update dependency ufo to v1.6.2 (#2074)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [ufo](https://redirect.github.com/unjs/ufo) | [`1.6.1` →
`1.6.2`](https://renovatebot.com/diffs/npm/ufo/1.6.1/1.6.2) |
![age](https://developer.mend.io/api/mc/badges/age/npm/ufo/1.6.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ufo/1.6.1/1.6.2?slim=true)
|

---

### Release Notes

<details>
<summary>unjs/ufo (ufo)</summary>

###
[`v1.6.2`](https://redirect.github.com/unjs/ufo/blob/HEAD/CHANGELOG.md#v162)

[Compare
Source](https://redirect.github.com/unjs/ufo/compare/v1.6.1...v1.6.2)

[compare
changes](https://redirect.github.com/unjs/ufo/compare/v1.6.1...v1.6.2)

##### 🩹 Fixes

- Fix `parsePath` return type
([#&#8203;293](https://redirect.github.com/unjs/ufo/pull/293))

##### 📖 Documentation

- Add more examples in jsdoc
([#&#8203;291](https://redirect.github.com/unjs/ufo/pull/291))

##### 📦 Build

- Fix exports condition order to prefer esm with default fallback
([8457581](https://redirect.github.com/unjs/ufo/commit/8457581))

##### 🏡 Chore

- **release:** V1.6.1
([b83cbea](https://redirect.github.com/unjs/ufo/commit/b83cbea))
- Update deps
([9d1833b](https://redirect.github.com/unjs/ufo/commit/9d1833b))
- Lint ([0181677](https://redirect.github.com/unjs/ufo/commit/0181677))

##### ❤️ Contributors

- Daedalus
([@&#8203;ComfortablyCoding](https://redirect.github.com/ComfortablyCoding))
- Pooya Parsa ([@&#8203;pi0](https://redirect.github.com/pi0))
- Alex Liu
([@&#8203;Mini-ghost](https://redirect.github.com/Mini-ghost))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/go-vikunja/vikunja).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi43NC41IiwidXBkYXRlZEluVmVyIjoiNDIuNzQuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-09 14:54:44 +01:00
renovate[bot]
419c791e0c chore(deps): update dev-dependencies (#2073)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin))
| [`8.51.0` →
`8.52.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.51.0/8.52.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/8.52.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/8.51.0/8.52.0?slim=true)
|
|
[@typescript-eslint/parser](https://typescript-eslint.io/packages/parser)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser))
| [`8.51.0` →
`8.52.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.51.0/8.52.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.52.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.51.0/8.52.0?slim=true)
|
| [rollup](https://rollupjs.org/)
([source](https://redirect.github.com/rollup/rollup)) | [`4.54.0` →
`4.55.1`](https://renovatebot.com/diffs/npm/rollup/4.54.0/4.55.1) |
![age](https://developer.mend.io/api/mc/badges/age/npm/rollup/4.55.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rollup/4.54.0/4.55.1?slim=true)
|
| [sass-embedded](https://redirect.github.com/sass/embedded-host-node) |
[`1.97.1` →
`1.97.2`](https://renovatebot.com/diffs/npm/sass-embedded/1.97.1/1.97.2)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/sass-embedded/1.97.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sass-embedded/1.97.1/1.97.2?slim=true)
|
| [vue-tsc](https://redirect.github.com/vuejs/language-tools)
([source](https://redirect.github.com/vuejs/language-tools/tree/HEAD/packages/tsc))
| [`3.2.1` →
`3.2.2`](https://renovatebot.com/diffs/npm/vue-tsc/3.2.1/3.2.2) |
![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/3.2.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/3.2.1/3.2.2?slim=true)
|

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/eslint-plugin)</summary>

###
[`v8.52.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8520-2026-01-05)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.51.0...v8.52.0)

##### 🚀 Features

- **eslint-plugin-internal:** \[no-multiple-lines-of-errors] add rule
([#&#8203;11899](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11899))

##### 🩹 Fixes

- **eslint-plugin:** \[no-base-to-string] detect
@&#8203;[@&#8203;toPrimitive](https://redirect.github.com/toPrimitive)
and valueOf
([#&#8203;11901](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11901))
- **eslint-plugin:** \[no-useless-default-assignment] handle conditional
initializer
([#&#8203;11908](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11908))

##### ❤️ Thank You

- Josh Goldberg 
- Ulrich Stark

You can read about our [versioning
strategy](https://typescript-eslint.io/users/versioning) and
[releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/parser)</summary>

###
[`v8.52.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8520-2026-01-05)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.51.0...v8.52.0)

This was a version bump only for parser to align it with other projects,
there were no code changes.

You can read about our [versioning
strategy](https://typescript-eslint.io/users/versioning) and
[releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>rollup/rollup (rollup)</summary>

###
[`v4.55.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4551)

[Compare
Source](https://redirect.github.com/rollup/rollup/compare/v4.54.0...v4.55.1)

*2026-01-05*

##### Bug Fixes

- Fix artifact reference for OpenBSD
([#&#8203;6231](https://redirect.github.com/rollup/rollup/issues/6231))

##### Pull Requests

- [#&#8203;6231](https://redirect.github.com/rollup/rollup/pull/6231):
Fix OpenBSD artifacts and ensure OIDC is working
([@&#8203;lukastaegert](https://redirect.github.com/lukastaegert))

</details>

<details>
<summary>sass/embedded-host-node (sass-embedded)</summary>

###
[`v1.97.2`](https://redirect.github.com/sass/embedded-host-node/blob/HEAD/CHANGELOG.md#1972)

[Compare
Source](https://redirect.github.com/sass/embedded-host-node/compare/1.97.1...1.97.2)

- Additional fixes for implicit configuration when nested imports are
involved.

</details>

<details>
<summary>vuejs/language-tools (vue-tsc)</summary>

###
[`v3.2.2`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#322-2026-01-06)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v3.2.1...v3.2.2)

##### language-core

- **fix:** correct code features on v-bind shorthands of special
attributes - Thanks to
[@&#8203;KazariEX](https://redirect.github.com/KazariEX)!

##### language-plugin-pug

- **feat:** accurate Pug shorthand mapping
([#&#8203;5906](https://redirect.github.com/vuejs/language-tools/issues/5906))
- **fix:** pre-map HTML to Pug offset attribute
([#&#8203;5905](https://redirect.github.com/vuejs/language-tools/issues/5905))

##### language-service

- **feat:** strip `=""` for boolean props completion edits
([#&#8203;5888](https://redirect.github.com/vuejs/language-tools/issues/5888))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **fix:** avoid duplicate directive modifiers in completion
([#&#8203;5920](https://redirect.github.com/vuejs/language-tools/issues/5920))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!

##### typescript-plugin

- **fix:** only forward quick info and suggestion diagnostics for setup
bindings
([#&#8203;5892](https://redirect.github.com/vuejs/language-tools/issues/5892))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM ( * 0-3
* * * ) (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/go-vikunja/vikunja).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi43NC41IiwidXBkYXRlZEluVmVyIjoiNDIuNzQuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-09 09:05:16 +01:00
kolaente
0f9a04d5d5 fix(frontend): prevent parent project field from jumping back when cleared (#2071)
Fixes the parent project field in project settings "jumping back" to the previous value after clearing the value from the input.

Fixes #2046
2026-01-08 17:25:00 +01:00
kolaente
8987f0890a fix(mail): disable queue when mailer disabled (#2069)
- Don't create the mail queue when the mailer is disabled to prevent
`SendMail()` from blocking indefinitely
- Add guard clause in `SendMail()` to return early when mailer is
disabled or queue is nil
- Add test to verify notifications don't block when mailer is disabled

This implements the changes from #1080 with the review feedback
addressed (using `package notifications` instead of `package
notifications_test`).


Closes #1080
2026-01-08 15:51:31 +01:00
kolaente
745fde41ca fix: prevent timezone field from overflowing container on smaller viewports (#2066)
Closes #2044
2026-01-08 14:30:04 +00:00
kolaente
909b35ea76 fix: multiselect clear button now properly clears the value (#2067)
Fixes #2045
2026-01-08 14:16:03 +00:00
kolaente
6c7a800bf4 fix: set log path before creating log handler (#2064)
Resolves #2020
2026-01-08 13:53:08 +00:00
renovate[bot]
3957a43d74 fix(deps): update module golang.org/x/sys to v0.40.0 (#2068)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [golang.org/x/sys](https://pkg.go.dev/golang.org/x/sys) | [`v0.39.0` →
`v0.40.0`](https://cs.opensource.google/go/x/sys/+/refs/tags/v0.39.0...refs/tags/v0.40.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsys/v0.40.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsys/v0.39.0/v0.40.0?slim=true)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/go-vikunja/vikunja).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-08 13:28:42 +00:00
kolaente
1bb44b70bf fix: prevent saved filter error when viewing Favorites (#2065)
Fixes the "The saved filter does not exist" error when clicking on Favorites in the sidebar. The issue occurred because the code assumed any negative projectId was a saved filter, but Favorites has ID -1 while saved filters start at ID -2

Fixes #2058
2026-01-08 13:17:23 +00:00
kolaente
ed0c9a8006 fix: invisible spinner 2026-01-08 13:23:38 +01:00
kolaente
65980423c9 fix: remove usage of .buttons 2026-01-08 13:23:38 +01:00
kolaente
40287a1570 refactor: move bulma button styles to button component 2026-01-08 13:23:38 +01:00
kolaente
672d92a3e4 fix: remove redundant button class 2026-01-08 13:23:38 +01:00
kolaente
39b4568bc5 refactor: centralize HTTP error handling (#2062)
This changes the error handling to a centralized HTTP error handler in `pkg/routes/error_handler.go` that converts all error types to proper HTTP responses. This simplifies the overall error handling because http handler now only need to return the error instead of calling HandleHTTPError as previously.
It also removes the duplication between handling errors with and without Sentry.

🐰 Hop along, dear errors, no more wrapping today!
We've centralized handlers in a shiny new way,
From scattered to unified, the code flows so clean,
ValidationHTTPError marshals JSON supreme!
Direct propagation hops forward with glee,
A refactor so grand—what a sight to see! 🎉
2026-01-08 10:02:59 +00:00
kolaente
4f31300915 fix(export): use os-level temp file to create user data export 2026-01-08 10:37:51 +01:00
kolaente
155e651eff fix(project): do not access find on current project views when none are provided
Resolves https://github.com/go-vikunja/vikunja/issues/2057
2026-01-07 18:06:53 +01:00
kolaente
49af08d3f6 feat(filters): add UI for marking saved filters as favorites (#2055)
This PR adds UI support for marking saved filters as favorites. The backend already supports the `is_favorite` field for saved filters, but the frontend didn't expose this functionality. Users can now favorite/unfavorite saved filters just like regular projects.
2026-01-07 16:21:41 +00:00
renovate[bot]
59f203298f chore(deps): update dependency electron-builder to v26.4.0 (#2059)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[electron-builder](https://redirect.github.com/electron-userland/electron-builder)
([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder))
| [`26.0.12` →
`26.4.0`](https://renovatebot.com/diffs/npm/electron-builder/26.0.12/26.4.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/electron-builder/26.4.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-builder/26.0.12/26.4.0?slim=true)
|

---

### Release Notes

<details>
<summary>electron-userland/electron-builder (electron-builder)</summary>

###
[`v26.4.0`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#2640)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-builder@26.3.6...electron-builder@26.4.0)

##### Patch Changes

<details><summary>Updated 2 dependencies</summary>

<small>


[`e70da99`](e70da99e34)
[`b66832d`](b66832d6fc)
[`9110cb4`](9110cb432e)
[`39ae6a7`](39ae6a7fb7)
[`78910a9`](78910a913b)
[`5f962f9`](5f962f9cae)

</small>

- `app-builder-lib@26.4.0`
- `dmg-builder@26.4.0`

</details>

###
[`v26.3.6`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#2636)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-builder@26.3.5...electron-builder@26.3.6)

##### Patch Changes

<details><summary>Updated 2 dependencies</summary>

<small>


[`bdfc76b`](bdfc76bf18)
[`693629c`](693629c799)

</small>

- `app-builder-lib@26.3.6`
- `dmg-builder@26.3.6`

</details>

###
[`v26.3.5`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#2635)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-builder@26.3.4...electron-builder@26.3.5)

##### Patch Changes

<details><summary>Updated 2 dependencies</summary>

<small>


[`e3f3592`](e3f3592cfa)
[`05e0bc7`](05e0bc7bec)
[`e043df5`](e043df5760)

</small>

- `app-builder-lib@26.3.5`
- `dmg-builder@26.3.5`

</details>

###
[`v26.3.4`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#2634)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-builder@26.3.3...electron-builder@26.3.4)

##### Patch Changes

<details><summary>Updated 3 dependencies</summary>

<small>


[`e34be3b`](e34be3b3e8)
[`2faee4d`](2faee4d941)
[`ada111e`](ada111ebe8)
[`da1d768`](da1d7687c6)
[`4d24ebd`](4d24ebd79e)
[`b81c253`](b81c2539c4)

</small>

- `app-builder-lib@26.3.4`
- `builder-util@26.3.4`
- `dmg-builder@26.3.4`

</details>

###
[`v26.3.3`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#2633)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-builder@26.3.2...electron-builder@26.3.3)

##### Patch Changes

<details><summary>Updated 2 dependencies</summary>

<small>


[`241c53a`](241c53a598)

</small>

- `app-builder-lib@26.3.3`
- `dmg-builder@26.3.3`

</details>

###
[`v26.3.2`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#2632)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-builder@26.3.1...electron-builder@26.3.2)

##### Patch Changes

<details><summary>Updated 2 dependencies</summary>

<small>


[`0cd0831`](0cd0831ec1)
[`7f7113d`](7f7113dc43)
[`65eecac`](65eecac1be)

</small>

- `app-builder-lib@26.3.2`
- `dmg-builder@26.3.2`

</details>

###
[`v26.3.1`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#2631)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-builder@26.3.0...electron-builder@26.3.1)

##### Patch Changes

- Fix: `install-app-deps` missing `workspaceRoot` for passing
`projectRootPath` into electron/rebuild
*[`#9376`](https://redirect.github.com/electron-userland/electron-builder/pull/9376)
[`45a1683`](45a1683400)
[@&#8203;mmaietta](https://redirect.github.com/mmaietta)*

<details><summary>Updated 3 dependencies</summary>

<small>


[`ec0a851`](ec0a85179b)
[`2f3e7e1`](2f3e7e1e67)
[`82c07af`](82c07af19f)
[`6171472`](617147281c)
[`ef364d3`](ef364d32c4)
[`45a1683`](45a1683400)
[`1607820`](160782067f)
[`ed8ea12`](ed8ea12f7c)

</small>

- `app-builder-lib@26.3.1`
- `builder-util@26.3.1`
- `dmg-builder@26.3.1`

</details>

###
[`v26.3.0`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#2630)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-builder@26.2.0...electron-builder@26.3.0)

##### Minor Changes

- Feat: support `corepack` and `packageManager` field and add related
unit tests
*[`#9309`](https://redirect.github.com/electron-userland/electron-builder/pull/9309)
[`b741b72`](b741b726da)
[@&#8203;mmaietta](https://redirect.github.com/mmaietta)*

##### Patch Changes

- Chore: bumping version packages of all packages to trigger Trusted
Signing provedance release
*[`#9362`](https://redirect.github.com/electron-userland/electron-builder/pull/9362)
[`030269b`](030269bca9)
[@&#8203;mmaietta](https://redirect.github.com/mmaietta)*

<details><summary>Updated 4 dependencies</summary>

<small>


[`030269b`](030269bca9)
[`b741b72`](b741b726da)
[`d8ad468`](d8ad468cbf)
[`811d13d`](811d13d730)
[`16c8fa1`](16c8fa19b2)
[`2e0837b`](2e0837b279)

</small>

- `app-builder-lib@26.3.0`
- `builder-util@26.3.0`
- `builder-util-runtime@9.5.1`
- `dmg-builder@26.3.0`

</details>

###
[`v26.2.0`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#2620)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-builder@26.1.0...electron-builder@26.2.0)

##### Patch Changes

- Updated dependencies
\[[`836a15c6c70abf8582aaa63603e14f77d5fa3f89`](836a15c6c7),
[`21623e1b037e4509af04e767ca1c1458682b0eba`](21623e1b03),
[`6a49f85c69a22844729033f023249975f47a28f1`](6a49f85c69),
[`0835fbcac0a0cfb0f34355699812cc85db035ad4`](0835fbcac0),
[`d19387174365c85968034149be43d80a39e7335f`](d193871743),
[`b6a34c00c35e42dc279a55d672558ea7badc7fcd`](b6a34c00c3),
[`f4d7924a082fbb9113d52782430f82b1f0ffcb52`](f4d7924a08)]:
  - app-builder-lib\@&#8203;26.2.0
  - dmg-builder\@&#8203;26.2.0

###
[`v26.1.0`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#2610)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.20...electron-builder@26.1.0)

##### Patch Changes

- Updated dependencies
\[[`9f06a859f9c82b305d0a43c5b6e8c47d1c7451f1`](9f06a859f9),
[`08773afadfe10911ed1dff084fefe1024c5a74d8`](08773afadf),
[`85cb4d031a060976b2519665b98294bb3c735aa0`](85cb4d031a),
[`e5f5799fbb193a7a8700fcaaf1ab9e79c9c694ce`](e5f5799fbb),
[`38c2085e9a344812d32611d197d1df66d6644b45`](38c2085e9a),
[`c51f96272517c08a09504445fb31e61326e0c381`](c51f962725),
[`193abcf78691b145dd1f406ac5521e88beec0a5c`](193abcf786),
[`6fd391d9e8390c00c8b0674d8ac3a5b7b6f0f19f`](6fd391d9e8)]:
  - app-builder-lib\@&#8203;26.1.0
  - builder-util-runtime\@&#8203;9.5.0
  - dmg-builder\@&#8203;26.1.0
  - builder-util\@&#8203;26.1.0

###
[`v26.0.20`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#26020)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.19...v26.0.20)

##### Patch Changes

-
[#&#8203;9228](https://redirect.github.com/electron-userland/electron-builder/pull/9228)
[`d031eeaa`](d031eeaa7e)
Thanks [@&#8203;choegyumin](https://redirect.github.com/choegyumin)! -
fix: support option to override `PublishPolicy` in publish command

-
[#&#8203;9227](https://redirect.github.com/electron-userland/electron-builder/pull/9227)
[`8f0ad06e`](8f0ad06eae)
Thanks [@&#8203;choegyumin](https://redirect.github.com/choegyumin)! -
fix: fix argument names mismatch in publish command to make it work

- Updated dependencies
\[[`f262a735`](f262a7358d),
[`44b28997`](44b28997f1),
[`7c7fd6ca`](7c7fd6ca24),
[`3735881f`](3735881f32),
[`49c782cb`](49c782cb83),
[`cf0ac45d`](cf0ac45db7),
[`e9251f47`](e9251f4725),
[`c54a0609`](c54a060975),
[`b778686f`](b778686fb7)]:
  - app-builder-lib\@&#8203;26.0.20
  - builder-util-runtime\@&#8203;9.4.0
  - builder-util\@&#8203;26.0.20
  - dmg-builder\@&#8203;26.0.20

###
[`v26.0.19`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#26019)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.18...v26.0.19)

##### Patch Changes

- Updated dependencies
\[[`6cc5d2ee`](6cc5d2ee45),
[`21e4ea23`](21e4ea2381),
[`c9480bc0`](c9480bc0a1),
[`1a6ea016`](1a6ea016b7),
[`35f5f6e5`](35f5f6e557)]:
  - app-builder-lib\@&#8203;26.0.19
  - builder-util-runtime\@&#8203;9.3.3
  - builder-util\@&#8203;26.0.19
  - dmg-builder\@&#8203;26.0.19

###
[`v26.0.18`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#26018)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.17...v26.0.18)

##### Patch Changes

- Updated dependencies
\[[`fc7c5a0d`](fc7c5a0d4c),
[`a2fbc8b6`](a2fbc8b666),
[`e02b939b`](e02b939bc6),
[`61aa8557`](61aa8557dc),
[`309f1dca`](309f1dcacb)]:
  - app-builder-lib\@&#8203;26.0.18
  - dmg-builder\@&#8203;26.0.18

###
[`v26.0.17`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#26017)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.16...v26.0.17)

##### Patch Changes

- Updated dependencies
\[[`0b17b351`](0b17b351ca),
[`a6be444c`](a6be444c90),
[`e56977b5`](e56977b5c6),
[`b960d2fa`](b960d2fa30),
[`3128991a`](3128991a1b),
[`2d014a86`](2d014a8605),
[`092d398a`](092d398a66),
[`2c361819`](2c3618195e),
[`73696c6d`](73696c6da6)]:
  - app-builder-lib\@&#8203;26.0.17
  - builder-util\@&#8203;26.0.17
  - dmg-builder\@&#8203;26.0.17

###
[`v26.0.16`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#26016)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.15...v26.0.16)

##### Patch Changes

-
[#&#8203;9117](https://redirect.github.com/electron-userland/electron-builder/pull/9117)
[`b62737d8`](b62737d8c4)
Thanks
[@&#8203;talentlessguy](https://redirect.github.com/talentlessguy)! -
chore(deps): replace `is-ci` with `ci-info`

- Updated dependencies
\[[`65de8564`](65de8564f2),
[`b62737d8`](b62737d8c4),
[`9272cf33`](9272cf33a8),
[`bacc6b44`](bacc6b44cc),
[`59fdaa9f`](59fdaa9f34),
[`9358b00b`](9358b00b39)]:
  - app-builder-lib\@&#8203;26.0.16
  - builder-util\@&#8203;26.0.16
  - dmg-builder\@&#8203;26.0.16

###
[`v26.0.15`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#26015)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.14...v26.0.15)

##### Patch Changes

- Updated dependencies
\[[`312938d8`](312938d851),
[`6f3aec81`](6f3aec8106),
[`d97e7eb2`](d97e7eb20d),
[`0ce7b90e`](0ce7b90e5e)]:
  - app-builder-lib\@&#8203;26.0.15
  - dmg-builder\@&#8203;26.0.15

###
[`v26.0.14`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#26014)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.13...v26.0.14)

##### Patch Changes

- Updated dependencies
\[[`3d65267a`](3d65267a6c),
[`5545e132`](5545e13254),
[`80fbf5a6`](80fbf5a6d8),
[`524fb6e0`](524fb6e042)]:
  - app-builder-lib\@&#8203;26.0.14
  - dmg-builder\@&#8203;26.0.14

###
[`v26.0.13`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#26013)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.12...v26.0.13)

##### Patch Changes

-
[#&#8203;9013](https://redirect.github.com/electron-userland/electron-builder/pull/9013)
[`c223866e`](c223866e36)
Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! -
fix: dependency path is undefined

- Updated dependencies
\[[`33bd6706`](33bd670612),
[`1397775c`](1397775c3b),
[`8bd1a10a`](8bd1a10a2d),
[`106640dd`](106640dd42),
[`9fb2895c`](9fb2895cd0),
[`c223866e`](c223866e36),
[`bff46ec4`](bff46ec41c),
[`a2f7f735`](a2f7f7350b)]:
  - app-builder-lib\@&#8203;26.0.13
  - builder-util\@&#8203;26.0.13
  - dmg-builder\@&#8203;26.0.13
  - builder-util-runtime\@&#8203;9.3.2

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM ( * 0-3
* * * ) (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/go-vikunja/vikunja).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-07 08:23:36 +01:00
kolaente
0ebecb99ba feat: merge duplicate notifications (#2056)
Use the `ignoreDuplicates` prop from vue3-notification to ignore duplicate notifications, show a count (×N) instead when notifications are merged.

Superseeds and closes https://github.com/go-vikunja/vikunja/pull/971

---------

Co-authored-by: Dominik Pschenitschni <6173598+dpschen@users.noreply.github.com>
2026-01-06 17:36:29 +00:00
kolaente
29b5f7b95e chore(agents): clarify dev server port [skip ci] 2026-01-06 16:40:12 +01:00
renovate[bot]
66e7ccc29b fix(deps): update module github.com/yuin/goldmark to v1.7.16 (#2054)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [github.com/yuin/goldmark](https://redirect.github.com/yuin/goldmark)
| `v1.7.15` → `v1.7.16` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fyuin%2fgoldmark/v1.7.16?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fyuin%2fgoldmark/v1.7.15/v1.7.16?slim=true)
|

---

### Release Notes

<details>
<summary>yuin/goldmark (github.com/yuin/goldmark)</summary>

###
[`v1.7.16`](https://redirect.github.com/yuin/goldmark/releases/tag/v1.7.16):
release

[Compare
Source](https://redirect.github.com/yuin/goldmark/compare/v1.7.15...v1.7.16)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/go-vikunja/vikunja).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-06 16:30:12 +01:00
kolaente
7365de257d feat(files): validate file storage is writable on startup (#2053)
Adds startup validation that checks if the configured file storage is writable. To do this, Vikunja now tries to create a temporary file and clean it up afterwards.
2026-01-06 16:29:56 +01:00
kolaente
1f15fa000e chore(agents): clarify playwright for e2e tests 2026-01-06 16:26:59 +01:00
Samuel Rodda
3a47c062da fix(filters): preserve IsFavorite for saved filters in ReadOne (#2031)
- Saved filters' `IsFavorite` field was not being properly returned when
fetched as pseudo-projects via `/projects/{id}`
- This caused favorited filters to appear in both the Favorites and
Filters sections initially, but then disappear from Favorites after
clicking on them (navigating to the filter)

Fixes #1989

Co-authored-by: iamsamuelrodda <iamsamuelrodda@users.noreply.github.com>
2026-01-06 15:17:17 +00:00
kolaente
51d76ea2e2 fix(kanban): done label spacing 2026-01-06 15:24:36 +01:00
kolaente
a523f3ab12 fix(kanban): make sure only one task input field can be visible at the same time 2026-01-06 14:28:29 +01:00
kolaente
6f0b685e38 fix: handle mixed-format bucket configurations in migration (#2033)
This change modifies the migration `20251001113831` to flexibly parse bucket configuration filters. 

This fixes this migration issue:

```
json: cannot unmarshal object into Go struct field bucketConfigurationCatchup.filter of type string
```

This occurred when a single `bucket_configuration` JSON array contained
mixed formats - some buckets with old string filters and some with
already-converted object filters.
2026-01-05 22:30:10 +01:00
kolaente
02cd648a96 chore(deps): update qs to 6.14.1 2026-01-05 22:24:41 +01:00
kolaente
c6fe4c1a6e fix(auth): retry up to three times when an auth provider cannot be reached
Resolves https://github.com/go-vikunja/vikunja/issues/2050
2026-01-05 21:50:40 +01:00
renovate[bot]
fde0944cda fix(deps): update module github.com/yuin/goldmark to v1.7.15 2026-01-05 21:05:25 +01:00
renovate[bot]
e41eb2848c fix(deps): update dependency vue-i18n to v11.2.8 2026-01-04 15:38:09 +01:00
renovate[bot]
6cec897e71 fix(deps): update module github.com/yuin/goldmark to v1.7.14 2026-01-04 15:37:50 +01:00
Frederick [Bot]
9443d628d6 chore(i18n): update translations via Crowdin 2026-01-04 01:07:11 +00:00
renovate[bot]
dbb66bd704 chore(deps): update postgres:18 docker digest to bfe50b2 2026-01-03 09:27:01 +01:00
renovate[bot]
d0f8fde74d chore(deps): update dev-dependencies 2026-01-03 09:26:47 +01:00
renovate[bot]
69603da84c fix(deps): update module github.com/labstack/echo/v4 to v4.15.0 2026-01-03 09:26:31 +01:00
renovate[bot]
2dc775c8fe fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.33 2026-01-03 09:26:20 +01:00
renovate[bot]
67a07e2d7b chore(deps): update pnpm to v10.27.0 2026-01-03 09:25:48 +01:00
Frederick [Bot]
018e4afae1 chore(i18n): update translations via Crowdin 2026-01-01 01:06:24 +00:00