Files
vikunja/CHANGELOG.md
2025-09-12 00:15:30 +02:00

318 KiB
Raw Permalink Blame History

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

All releases can be found on https://code.vikunja.io/vikunja/releases.

[1.0.0-rc2] - 2025-09-12

Bug Fixes

  • (auth) Do not panic with invalid openid provider configuration (#1354)
  • (avatar) Recover gracefully from broken avatar cache (#1379)
  • (editor) Do not apply filter input styles to all editor instances
  • (filter) Don't crash when filtering for labels in (#1333)
  • (filter) Add close button for filter popup on mobile with accurate spacing (#1466)
  • (filter) Ensure filter query param is added to the page correctly (#1471)
  • (filters) Initialize task positions for saved filters (#1477)
  • (filters) Persist url filter query across views (#1482)
  • (frontend) Add missing permission translation keys (#1320)
  • (frontend) Hide drag handle for fixed project lists (#1421)
  • (kanban) Update task on board when changing details
  • (kanban) Guard task modal race conditions (#1472)
  • (link share) Add better error handling, ensure projects are shown (#1481)
  • (multiselect) Do not try getting label when value is undefined
  • (task) Set project after loading task details
  • (task) Priority label task link spacing (#1322)
  • (task) Default to medium priority when none is configured
  • (task) Only load first comments page when loading comments with task
  • (task) Update task comment when switching between related tasks
  • (task) Autosave description when closing task modal
  • (task) Ensure done_at can never be set by user (#1461)
  • (task) Only save description when clicking away if it actually changed
  • (task) Preserve done timestamp when moving tasks between projects (#1470)
  • (task) Provide back button when opening task detail (#1475)
  • (user) Do not reject 2fa for local users
  • Set test fixture in e2e test (c1ce330)
  • Use correct filepath (fd8a36c)
  • Require publicurl when cors enabled (#1351) (e29561e)
  • Stop event propagation for clicks inside the DeferTask popup (#1338) (07d6630)
  • Prevent null history.state errors in modal routing and task navigation (#1368) (14e1bd2)
  • Fix(task): do not parse task comment reactions so that they actually appear(3baf6cd)
  • Mobile device minimum width (#1337) (fda440b)
  • Show error when user list filter is empty (#1372) (bd310f5)
  • Bypass Typesense in user export (#1385) (15ea381)
  • Remove leftover console.log (12842a5)
  • Show pagination controls for task comments (#1413) (bd74733)
  • Reload list view when marking recurring task done (#1457) (6914bad)
  • Guard saved filter requests (#1462) (4353b1e)

Dependencies

  • (deps) Bump github.com/go-viper/mapstructure/v2 from 2.3.0 to 2.4.0 (#1331)
  • (deps) Update actions/github-script action to v8 (#1417)
  • (deps) Update actions/setup-go action to v6 (#1407)
  • (deps) Update actions/setup-node action to v5 (#1408)
  • (deps) Update crowdin/github-action digest to 0749939 (#1396)
  • (deps) Update crowdin/github-action digest to 9787f4f (#1347)
  • (deps) Update cypress/browsers:latest docker digest to 34cbe59 (#1454)
  • (deps) Update cypress/browsers:latest docker digest to 4e0a347 (#1297)
  • (deps) Update cypress/browsers:latest docker digest to eeb9b35 (#1352)
  • (deps) Update dependency @floating-ui/dom to v1.7.4 (#1332)
  • (deps) Update dependency @fortawesome/vue-fontawesome to v3.1.2 (#1474)
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v11 (#1418)
  • (deps) Update dependency @sentry/vue to v10.10.0 (#1416)
  • (deps) Update dependency @sentry/vue to v10.8.0 (#1361)
  • (deps) Update dependency @sentry/vue to v10.9.0 (#1400)
  • (deps) Update dependency dayjs to v1.11.15 (#1349)
  • (deps) Update dependency dayjs to v1.11.17 (#1355)
  • (deps) Update dependency dayjs to v1.11.18 (#1360)
  • (deps) Update dependency electron to v37.3.1 [security] (#1404)
  • (deps) Update dependency marked to v16.2.0 (#1304)
  • (deps) Update dependency marked to v16.2.1 (#1350)
  • (deps) Update dependency vite to v7.1.5 [security] (#1451)
  • (deps) Update dependency vue to v3.5.20 (#1327)
  • (deps) Update dependency vue to v3.5.21 (#1382)
  • (deps) Update dependency vue-i18n to v11.1.12 (#1420)
  • (deps) Update dev-dependencies (#1298)
  • (deps) Update dev-dependencies (#1310)
  • (deps) Update devenv
  • (deps) Update docker/dockerfile:1 docker digest to dabfc09 (#1479)
  • (deps) Update font awesome to v7.0.1 (#1394)
  • (deps) Update ghcr.io/go-vikunja/dex-testing:main docker digest to 10cc6d5 (#1377)
  • (deps) Update ghcr.io/go-vikunja/dex-testing:main docker digest to 3877bee (#1348)
  • (deps) Update ghcr.io/go-vikunja/dex-testing:main docker digest to 408e999 (#1444)
  • (deps) Update ghcr.io/go-vikunja/dex-testing:main docker digest to 4abbc4f (#1312)
  • (deps) Update mariadb:12 docker digest to a5af517 (#1376)
  • (deps) Update module github.com/gabriel-vasile/mimetype to v1.4.10 (#1353)
  • (deps) Update module github.com/getsentry/sentry-go to v0.35.2 (#1480)
  • (deps) Update module github.com/go-testfixtures/testfixtures/v3 to v3.18.0 (#1362)
  • (deps) Update module github.com/prometheus/client_golang to v1.23.1 (#1411)
  • (deps) Update module github.com/prometheus/client_golang to v1.23.2 (#1426)
  • (deps) Update module github.com/redis/go-redis/v9 to v9.13.0 (#1401)
  • (deps) Update module github.com/spf13/afero to v1.15.0 (#1441)
  • (deps) Update module github.com/spf13/cobra to v1.10.1 (#1373)
  • (deps) Update module github.com/spf13/viper to v1.21.0 (#1442)
  • (deps) Update module github.com/stretchr/testify to v1.11.1 (#1363)
  • (deps) Update module github.com/threedotslabs/watermill to v1.5.0 (#1365)
  • (deps) Update module github.com/threedotslabs/watermill to v1.5.1 (#1391)
  • (deps) Update module golang.org/x/crypto to v0.42.0 (#1438)
  • (deps) Update module golang.org/x/image to v0.31.0 (#1439)
  • (deps) Update module golang.org/x/oauth2 to v0.31.0 (#1429)
  • (deps) Update module golang.org/x/sync to v0.17.0 (#1430)
  • (deps) Update module golang.org/x/sys to v0.36.0 (#1432)
  • (deps) Update module golang.org/x/term to v0.35.0 (#1434)
  • (deps) Update module golang.org/x/text to v0.29.0 (#1435)
  • (deps) Update node.js to v22.19.0 (#1356)
  • (deps) Update paradedb/paradedb:latest-pg17 docker digest to 12f4078 (#1308)
  • (deps) Update paradedb/paradedb:latest-pg17 docker digest to 5d3cc02 (#1370)
  • (deps) Update paradedb/paradedb:latest-pg17 docker digest to 646cd3f (#1405)
  • (deps) Update paradedb/paradedb:latest-pg17 docker digest to 6c9cd0a (#1309)
  • (deps) Update paradedb/paradedb:latest-pg17 docker digest to 744e637 (#1325)
  • (deps) Update paradedb/paradedb:latest-pg17 docker digest to aaa1861 (#1425)
  • (deps) Update paradedb/paradedb:latest-pg17 docker digest to cdad8f0 (#1473)
  • (deps) Update pnpm to v10.15.0 (#1314)
  • (deps) Update pnpm to v10.15.1 (#1371)
  • (deps) Update postgres:17 docker digest to 5250e61 (#1433)
  • (deps) Update postgres:17 docker digest to ab24d83 (#1443)
  • (deps) Update postgres:17 docker digest to d17be73 (#1427)
  • (deps) Update postgres:17 docker digest to feff5b2 (#1445)
  • (deps) Update softprops/action-gh-release digest to 6cbd405 (#1428)
  • (deps) Update tiptap to v3.3.0 (#1366)
  • (deps) Update tiptap to v3.3.1 (#1386)
  • (deps) Update tiptap to v3.4.0 (#1406)
  • (deps) Update tiptap to v3.4.1 (#1412)
  • (deps) Update tiptap to v3.4.2 (#1446)
  • (deps) Update vueuse to v13.7.0 (#1305)
  • (deps) Update vueuse to v13.8.0 (#1367)
  • (deps) Update vueuse to v13.9.0 (#1374)
  • (deps-dev) Bump electron from 37.3.0 to 37.3.1 in /desktop (#1415)

Documentation

  • Add GitHub actions status badge to readme (5a385ac)
  • Clarify publicurl requirements (ea4f7f2)

Features

  • (auth) Add oauth require availability configuration on startup (#1358)
  • (config) Validate publicurl
  • (gantt) Natural day-boundary rounding in Gantt chart (#1476)
  • (i18n) Add pluralization rules for Russian (#1334)
  • (kanban) Allow folding done column by clicking green checkmarks in Kanban view (#1393)
  • (task) Make default project relation configurable
  • Use variable fonts (f01f2af)
  • Add subsets for all supported languages (eb676ae)
  • Share logic for bulk update (#1456) (db12367)

Miscellaneous Tasks

  • (dev) Update devenv
  • (i18n) Update translations via Crowdin
  • (i18n) Improve wording
  • (i18n) Clarify wording
  • (i18n) Update translations via Crowdin
  • Add feature issue template (523dad5)
  • Update magefile to reference up to date golangci lint (74189b6)

Other

  • (other) [skip ci] Updated swagger docs

Refactor

  • Use helper function to check user local (1b5a9db)

[1.0.0-rc1] - 2025-08-17

Bug Fixes

  • (desktop) Correctly parse release rename flag
  • (desktop) Do not try to publish release artifacts on tag

[1.0.0-rc0] - 2025-08-17

Breaking Changes

  • BREAKING: config: read all env variables into config store explicitly
  • BREAKING: disable 368 releases
  • BREAKING: config for auth providers now use a map instead of an array
  • BREAKING: remove echo log options - unify with general http logging
  • BREAKING: rename right to permission (#1277)
  • BREAKING: store sqlite file relative to rootpath (#934)
  • BREAKING: remove deprecated config settings

Bug Fixes

  • (a11y) Add inline task labels
  • (a11y) Add keyboard shortcuts button label
  • (a11y) Add labels menu items
  • (a11y) Add labels to comment interactions
  • (a11y) Add labels to editor buttons
  • (a11y) Add labels to logo
  • (a11y) Add labels to project description label
  • (a11y) Add labels to reaction button
  • (a11y) Add notification icon label
  • (a11y) Add task input label
  • (a11y) Hide unfocusable buttons
  • (api) Allow api tokens to retrieve the user who created the token
  • (api) Return 404 response when using a token and the route does not exist
  • (attachments) Add .jpeg to previewable image (#2770)
  • (attachments) Always show dropzone
  • (attachments) Check permissions when accessing all attachments
  • (attachments) Left align attachment title
  • (attachments) Return error message when attachment upload is not multipart form request
  • (auth) Check for dot in username during validation
  • (auth) Check for existence of field before casting
  • (auth) Convert to int when failed password value is not int
  • (auth) Do not allow commas in usernames
  • (auth) Do not load login an openid auth components async
  • (auth) Don't try to find openid provider when none are configured
  • (auth) Fail when link share token is not parsable
  • (auth) Fix regex in JWT decoding causing login issues for Chinese/Japanese user names (#809)
  • (auth) Hide two factor authentication when using non-local user
  • (auth) Jwt token decoding
  • (auth) Load oidc provider before trying to use it
  • (auth) Make sure routes from the "other" group work as intended
  • (auth) Make text always white on image
  • (auth) Move read all notifications to notification group
  • (auth) Only use query parameters instead of local storage for password reset token (#770)
  • (auth) Redirect to logout url after logging out
  • (auth) Restrict max password length to 72 bytes
  • (auth) Return correct error when trying to do a user action as a link share
  • (auth) Return ldap as auth provider name when using it
  • (auth) Return proper error when a jwt claim contains wrong data
  • (auth) Set default data to empty when initializing password reset
  • (auth) Size of password reset request button
  • (avatar) Fallback to username when no name is set
  • (avatar) Use keyvalue store to cache gravatar instead of map
  • (avatars) Always return correct mime type for cached avatar
  • (background) Validate unsupported formats and show error message (#1123)
  • (build) Always use git tag for version number
  • (build) Do not use our own goproxy
  • (build) Prepare xgo once during release
  • (build) Set correct frontend version in Docker builds (#1114)
  • (build) Update corepack before using it
  • (caldav) Do not crash with error 400 when fetching the list of all projects
  • (caldav) Fetch saved filter
  • (caldav) Make CalDAV REPORT request properly respond with VTODO objects (#1116)
  • (caldav) Make sure colors are correctly saved and returned
  • (caldav) Reject invalid project id with error 400
  • (caldav) Return other status codes than 500 when projects are not found (#3065)
  • (caldav) Use subpath for caldav url in frontend
  • (checkbox) Use sibling css selector instead of has
  • (ci) Correctly pass build args
  • (ci) Correctly update translations from crowdin
  • (ci) Crowdin download
  • (ci) Do not build linuxx 368 docker images
  • (ci) Do not build mage again in release
  • (ci) Do not use pnpm during node js setup
  • (ci) Embed release version in frontend (#999)
  • (ci) Format desktop build script
  • (ci) Improve cypress parallelization
  • (ci) Login
  • (ci) Move describe output to own job
  • (ci) Move replacing version in desktop release to action
  • (ci) Pin node setup to v4
  • (ci) Push swagger docs changes via ssh
  • (ci) Replace unstable version in filename
  • (ci) Reuse frontend built in test
  • (ci) Setup go when testing so that go compile steps are cached
  • (ci) Smoke test database connection
  • (ci) Sync translations from crowdin
  • (ci) Syntax error
  • (ci) Update before installing dependencies
  • (ci) Update rate limit for unauthenticated routes
  • (ci) Use correct host for migration tests
  • (ci) Use correct version string for golangci-lint
  • (ci) Use correct xgo cache path
  • (ci) Use deploy key to push crowdin changes
  • (ci) Use latest version for docker buildx setup
  • (ci) Wait for database (#604)
  • (cmd) Report error when the connection to the mail server failed
  • (colors) Truncate longer hex color values
  • (comment) Add validation check for the max comment length
  • (config) Do not attempt to parse config values from env when they contain an invalid data type
  • (config) Log fatal when timezone parse fails (#1077)
  • (config) Set value when env variable contains string value
  • (cypress) Assert visibility to make the test less flakey (#1138)
  • (date) Do not format time values using dayjs for use in date pickers
  • (datepicker) Set correct date ranges (#1021)
  • (datepickr) Reset styles
  • (db) Refactor filtering with subqueries (#701)
  • (desktop) Use app.use to serve frontend files
  • (desktop) Use pnpm in ci
  • (dev) Enable go hardening workaround
  • (dev) Ensure frontend assets before compile in magefile (#992)
  • (dev) Ignore utils lint case
  • (dev) Zed frontend task
  • (docker) Use pnpm install directly
  • (docs) Clarify team member username instead of id
  • (docs) Improve swagger output by setting swaggertype and enums (#705)
  • (docs) Remove invalid comma
  • (editor) Add rounded edges to code highlight
  • (editor) Make bubbling changes from outside work
  • (editor) Make pasting a file work again
  • (editor) Pasted link capturing trailing text (#912)
  • (editor) Prevent links from extending after space (#1059)
  • (editor) Restore the current value, not the one from a previous task
  • (editor) Upload image via toolbar button
  • (events) Do not crash filter event handler when triggered by a link share user
  • (events) Report async errors via Sentry
  • (export) Update only current user export file id
  • (favorites) Do not return subtasks on favorites page
  • (files) Configure the files path in files init instead of globally
  • (files) Only use service rootpath for files when the files path is not absolute
  • (files) Use absolute path everywhere
  • (filter) Correctly create task positions during filter creation
  • (filter) Correctly replace quoted values
  • (filter) Correctly use user time zone when filtering for date fields
  • (filter) Do not override filter include nulls query
  • (filter) Do not replace labels keyword when the value is 'label'
  • (filter) Do not show tasks in filter results when they are filtered out by labels
  • (filter) Do not try to set timezone when doer does not exist
  • (filter) Don't treat ' ' as label value
  • (filter) Don't treat word value in filter value as operator
  • (filter) Highlight multiple labels multiple times
  • (filter) Make sure tasks are in a correct bucket and position when they are part of a date filter
  • (filter) Use correct syntax for not in query in typesense
  • (filter) Validate fields before using them
  • (filters) Change assertion based on the environment
  • (filters) Clarify usage of reminders in filters
  • (filters) Correctly replace the same filter input part when it occurs multiple times
  • (filters) Correctly transform and populate saved filter when creating and editing
  • (filters) Do not crash when a filter is invalid
  • (filters) Do not crash when paginating bucket with empty filter
  • (filters) Do not replace filter or project values when the id value resolves to undefined
  • (filters) Explicitly search in json when using postgres
  • (filters) Ignore invalid task fields when recomputing task positions
  • (filters) Immediately propagate changes
  • (filters) Increase year value when using mysql and year < 1
  • (filters) Make sure year is always at least 1
  • (filters) Prevent position and bucket ID overriding position of existing tasks
  • (filters) Return more details when the provided filter time zone is invalid
  • (filters) Use correct filter string instead of object
  • (filters) Validate filter expression when creating or updating filter
  • (frontend) Mark only clicked task item (#891)
  • (gantt) Reload the gantt chart when switching between projects
  • (home) Explicitly use filter for tasks on home page when one is set
  • (i18n) Add hr-HR to dayjs import languages
  • (i18n) Add missing translations
  • (i18n) Add translation for favorite project description
  • (i18n) Adjust task strings
  • (i18n) Capitalize Bulgarian label (#2784)
  • (i18n) Change casing of Ukrainian language in selector
  • (i18n) Make notification settings link translatable
  • (i18n) Pass language to notification mail function
  • (i18n) Remove duplicate api strings
  • (i18n) Return proper error when language is empty
  • (i18n) Translate all parts of reminder notifications
  • (i18n) Translations json
  • (i18n) Use actually set language for dates
  • (i18n) Use correct Norwegian dialect for dayjs locales
  • (i18n) Use only one function to get translations
  • (i18n) Use same casing for all dayjs languages
  • (kanban) Always make cover image full width
  • (kanban) Correctly check bucket limit for saved filters or view filters
  • (kanban) Correctly paginate filtered kanban buckets
  • (kanban) Correctly set default bucket id when duplicating project
  • (kanban) Disable create button when bucket limit is reached
  • (kanban) Do not allow creating tasks in full bucket
  • (kanban) Do not allow creating tasks in full bucket in frontend
  • (kanban) Do not close task input after creating tasks
  • (kanban) Do not mark first bucked as done bucket in filter bucket mode
  • (kanban) Do not set bucket when it is null
  • (kanban) Do not set filter by default
  • (kanban) Increase dates when moving a task into the done bucket
  • (kanban) Load full task when moving task between buckets
  • (kanban) Make bucket query fixed per-view (#1007)
  • (kanban) Make kanban full width on mobile
  • (kanban) Make loading tasks for a bucket work
  • (kanban) Make task creation loading spinner actually visible
  • (kanban) Mark tasks done when creating them in the done bucket
  • (kanban) Only stop adding tasks when a limit is set
  • (kanban) Save updated position to store
  • (kanban) Set new bucket id on task after moving it
  • (kanban) Use full updated kanban bucket when moving task
  • (label) Ignore existing ID during creation
  • (labels) Correctly fall back to variable colors when no label color is set (#1124)
  • (labels) Only show each label once
  • (labels) Remove input interactivity when label edit is disabled
  • (labels) Test error assertion
  • (labels) Trigger task updated for bulk label task update
  • (labels) Trigger task.updated event when removing a label from a task
  • (ldap) Crop avatar when syncing
  • (ldap) Return meaningful error when providing wrong credentials
  • (ldap) Update user name and email during login
  • (link share) Use selected view when opening link share
  • (mage) Actually pass the cli parameter to the function
  • (mage) Do not check files in hidden directories
  • (mail) Do not fail testmail command when the connection could not be closed.
  • (migration) Add more debug logging
  • (migration) Cast to text
  • (migration) Check if the provided file is a valid csv before importing
  • (migration) Check if uploaded csv is empty
  • (migration) Detect header lines in csv file when importing from TickTick (#937)
  • (migration) Do not crash when relating a task to itself
  • (migration) Do not fail when an attachment is too large
  • (migration) Ensure project background gets exported and imported
  • (migration) Fetch members when they do not exist
  • (migration) Handle file errors in frontend
  • (migration) Make sure tasks are associated to the correct view and bucket for data imported from Vikunja dump
  • (migration) Reset buckets before creating related tasks so that they are actually created (#1015)
  • (migration) Return proper error when uploaded file is not a zip file
  • (modal) Do not prevent scrolling on mobile
  • (modal) Make scrolling on iOS Safari work
  • (modal) Make sure modal and its content scrolls properly on mobile
  • (modal) Make sure multiple modals are stacked on top of each other
  • (multiselect) Make selectPlaceholder optional
  • (notifications) Handle user mentioned notification
  • (notifications) Only add project subscription as task subscription when the user is not already subscribed to the task
  • (notifications) Test assertion
  • (openid) Check different provider types
  • (openid) Lint
  • (openid) Log error when config is still using array value
  • (openid) Manually fetch providers
  • (password) Validate password before sending request to api
  • (positions) Directly look in the database to fetch tasks when recalculating their position
  • (project) Add position in test fixtures
  • (project) Correctly handle invalid project id error
  • (project) Correctly migrate old project view filters
  • (project) Correctly set done bucket after duplicating project
  • (project) Make order stable in duplicate test
  • (project) Only show create task cta when the user has permission to write to the project
  • (project) Permission query on mysql
  • (project) Reset id before creating
  • (project) Restructure project drag handle
  • (project) Set correct right after duplicating
  • (project) Show description in title attribute without html
  • (project) Transfer ownership after deleting a user
  • (projects) (un-)archive child projects when archiving parent (#775)
  • (projects) Adjust test assumptions
  • (projects) Check with the current user if they have access to the project
  • (projects) Correctly calculate the number of tasks and projects to delete
  • (projects) Correctly check inherited permissions
  • (projects) Description not visible on mobile
  • (projects) Do not hide 6th project on project overview
  • (projects) Do not try to fetch project permissions when no projects exist
  • (projects) Only add conditions to query when they are non-empty
  • (projects) Remove unnecessary join
  • (projects) Return 0 if no parent project exists
  • (projects) Return list of projects when accessing as link share
  • (projects) Trigger only single mutation
  • (quick actions) Add close button on mobile
  • (quick actions) Always allow creating a new project or task, regardless of context
  • (quick actions) Do not space between elements on mobile
  • (quick actions) Quote label when it contains spaces (#1013)
  • (quick actions) Show saved filters in search results
  • (quick actions) Use default project when creating a new task via quick add magic without specifying a project
  • (release) Use openrc for alpine (#1016)
  • (reminders) Notify subscribed users as well
  • (restore) Make sure all json columns are properly restored
  • (restore) Restore encoded float values properly
  • (rtl) Content list spacing
  • (rtl) Don't convert logical properties to absolute
  • (rtl) Icon button
  • (rtl) Keyboard shortcuts trigger position
  • (rtl) Make header work
  • (rtl) Modal positioning
  • (rtl) Task add input layout
  • (rtl) User dropdown spacing
  • (saved filters) Check permissions when accessing tasks of a filter
  • (service worker) Use correct workbox version
  • (settings) Move time zone selection to dropdown
  • (settings) Properly align checkboxes
  • (settings) Space input and label evenly
  • (settings) Use correct test assertion (#1217)
  • (subscription) Always return task subscription when subscribed to task and project
  • (subscriptions) Cleanup and simplify fetching subscribers for tasks and projects logic
  • (subscriptions) Correctly inherit subscriptions
  • (subscriptions) Do not panic when a task does not have a subscription
  • (subscriptions) Ignore task subscription when the user is subscribed to the project
  • (table) Make sorting for two-word properties work
  • (task) Add task to filter view after it was updated
  • (task) Add tasks table prefix for sort order (#1003)
  • (task) Align task title on mobile popup
  • (task) Ambiguous description search (#1032)
  • (task) Cleanup old task positions and task buckets when adding an updated or created task to filter
  • (task) Correctly validate all task fields
  • (task) Cyclomatic complexity
  • (task) Do not allow moving a task to the project the task already belongs to
  • (task) Do not allow saving an empty description
  • (task) Do not show close button when the task was not opened via modal
  • (task) Do not update all project_view ids
  • (task) Dragging and dropping on mobile
  • (task) Improve task delete modal on mobile
  • (task) Make print styles work when printing task detail view from kanban
  • (task) Make sure task comment url only contains one slash
  • (task) Mark related task as done from the task detail view
  • (task) Move task into new kanban bucket when moving between projects
  • (task) Multiple overlapping defer due date popups
  • (task) Open focused task when pressing enter
  • (task) Open related task in popup when the other task was opened in a popup
  • (task) Paginate task comments
  • (task) Set current project after moving a task
  • (task) Set done at date when moving a task to the done bucket
  • (task) Show new due date immediately after deferring in list view
  • (task) Specify task index when creating multiple tasks at once
  • (tasks) Add new task only once to list when added
  • (tasks) Also delete corresponding task positions (#2840)
  • (tasks) Ambiguous done column in task sorting (#1011)
  • (tasks) Creating subtasks with quick add magic should show up once
  • (tasks) Default reminder to current date
  • (tasks) Do not show import hint when using a filter as home tasks and already imported
  • (tasks) Hide add button text on tablet
  • (tasks) Prefix created and updated columns when sorting by them
  • (tasks) Subtasks missing in list view (#1000)
  • (team) Do not allow leaving exernal teams
  • (test) Cypress test selector
  • (test) Formatting
  • (test) Set language in test
  • (test) Use a date different from today as due date
  • (test) Use correct assertion
  • (test) Use correct selector for modal header
  • (test) Use fixed date in due date test
  • (test) Wait for project to be loaded
  • (test) Wait for redirect
  • (tests) Faker usage
  • (types) Readd DOM.Iterable types
  • (typesense) Add new tasks to typesense properly
  • (typesense) Fetch task comments without permission check
  • (typesense) Force position to always be float instead of auto-inferring
  • (typesense) Index tasks one by one
  • (typesense) Make sure task positions are recreated properly when updating them
  • (typesense) Only fail silently when a project was not found during indexing
  • (typesense) Use emplace instead of upsert to update documents
  • (typesense) Use typesense bulk insert, log all errors
  • (typesense) Use upsert instead of emplace when updating tasks in typesense
  • (typing) Ensure HTMLElement refs (#918)
  • (typo) Simpl -> Simple -> GetProjectsMapSimpleByTaskIDs (#2906)
  • (user) Do not allow changing name in settings when the user originates from an external auth provider
  • (user) Do not create user with existing id
  • (user) Ensure deletion tokens can only be used by the user who created them
  • (user) Persist status on email updates (#1084)
  • (user) Show medium priority by default
  • (user) Use correct link for user deletion
  • (users) Refresh initials avatar refresh after name change (#1047)
  • (view) Add unique index for task buckets (#1005)
  • (view) Correctly get paginated task results
  • (view) Correctly resolve bucket filter when paginating
  • (view) Correctly resolve label for filtered views or buckets
  • (view) Do not crash when saving a view
  • (views) Add migration for filtered kanban buckets
  • (views) Delete task buckets and task positions as well when deleting a view
  • (views) Do not create task bucket and task position entries when duplicating a project
  • (views) Enable search in bucket filters
  • (views) Make searching in view filters work
  • (webhook) Do not fail to send webhook when loading the project fails
  • config: read all env variables into config store explicitly
  • Add \n between scoped and unscoped commits in git cliff config (9b85f3b)
  • Add canRemove prop (9d985f7)
  • Add close button to keyboard shortcut button (adaafaf)
  • Add greater unicode range to font subset (aea2f70)
  • Add migration for non-unique task buckets (159961b)
  • Add missing error messages to translations (398d0c7)
  • Add newline at end of line (#827) (bb9dc03)
  • Add test:e2e-nix command to make running cypress in devenv work (2395c22)
  • Adjust benchmark so that it only checks the task fetching (e7f5142)
  • Adjust test for project view (3ada7b6)
  • Allow setting task/project color to black (12eb913)
  • Always add public url to allowed cors origins (842e7f5)
  • Ambiguous title column in task search (#1012) (f9b31ab)
  • Check if all required keys are available when parsing openid configuration (4512045)
  • Close modals by pressing escape (#932) (5823688)
  • Comment typo and misspellings (d48d88d)
  • Convert all css properties to logical (16f7fa0)
  • Correct Team.createdBy type (#965) (a2ac4bd)
  • Correct comments (342bbd6)
  • Correct license header references (#882) (296577a)
  • Correct trailing comma in tsconfig (#970) (06d5791)
  • Correct unknown subscription entity typo (#883) (62f0487)
  • Correctly cache unsplash background (a5591c1)
  • Correctly return cached intitals avatar (c3fd659)
  • Correctly return cached provider (566657c)
  • Correctly set default props in UserTeam (3f4bf59)
  • Create missing indexes on postgres (a70c472)
  • Cypress selector (#753) (4937127)
  • Demo banner positioning (63732a3)
  • Deprecated import in useTitle (c7e708c)
  • Disable 368 releases (6fe22ab)
  • Do not fail to load projects without views via link share (9eb5c62)
  • Do not prefix tasks all the time (3ad5797)
  • Do not try to reindex tasks into typesense when it is not set up (8ab3873)
  • Don't panic when using api token when not correctly put into context (#1119) (42534cd)
  • Download badge in readme (4238a5f)
  • Emit for DatepickerWithValues (fb91e73)
  • Error message check on mysql (29107e9)
  • Error reporting (9219f70)
  • Fix "null" in project views (#1158)
  • Fix(tasks): do not return subtasks multiple times when they are related to multiple tasks
  • Gantt reset button (4532cdf)
  • Generate config in ci (8776465)
  • Git ignore all dist folders (8bada3e)
  • Global component types (b5cb984)
  • Guard invalid user lookups (#1034) (a8025a9)
  • Guard null access in composables (#951) (78fa574)
  • Hide empty sidebar navs (7736440)
  • Hide icon if description is missing (abb4126)
  • I18n missing translation key (cbbc4c0)
  • Improve ldap sanitization (#1155) (ad0cf7a)
  • Improve markdown paste detection (#939) (a9714f6)
  • Include diacritics characters in generated font files (3b8258d)
  • LinkSharing race condition (#2932) (6a2a8c1)
  • Lint (16c9d2f)
  • Lint (2394d1f)
  • Lint (302424b)
  • Lint (32bdef8)
  • Lint (61333c9)
  • Lint (703a88e)
  • Lint (acdb45a)
  • Lint (bf5cafc)
  • Lint issues (703c641)
  • Log correct response status (388af80)
  • Lowlight imports for v3 (a61e2d0)
  • Make search in saved filter work (624907a)
  • Make sure task text items are flex (0c5c385)
  • Make user data export download return 404 for nonexistent files (#1227) (7762d77)
  • Markdown spelling (d79a601)
  • Method name (47538ca)
  • MySQL constraint violations returning HTTP 500 instead of 400 for task bucket duplicates (#1154) (9712dbe)
  • Normalize frontend version string (#1289) (7371f77)
  • Only pass filter string from view to popup (85823b3)
  • Open keyboard shortcuts by pressing ? (#928) (3e7c009)
  • Panic on restoring with numeric position fields (#1089) (ecc95e9)
  • Param type (#895) (508cdf0)
  • Partial fix to allow list tasks in ios reminders app (#2717) (84dbc5f)
  • Pass pointer when fetching provider (2b497e6)
  • Pin xgo to 1.22.x (de1eac5)
  • Postcss-easing-gradient types (6d3a30c)
  • Prevent login screen flash when already authenticated (#933) (eac6c98)
  • Reactive ancestor projects (90951d4)
  • Release bucket name (af11a65)
  • Remove @types/lodash.clonedeep (98c10ac)
  • Remove babel vscode extension (e3793bc)
  • Remove console log (413798b)
  • Remove date-fns (#3039) (021d71b)
  • Remove defineProps (f3e77eb)
  • Remove dompurify stub types (13d52c7)
  • Remove fmt output in token check (efff695)
  • Remove postcss-easings type (c52b7ef)
  • Remove second notification on undo task update (#1060) (4090b13)
  • Remove unused import (3e46457)
  • Reset id before creating (c252c8f)
  • ResetEmptyTitleError (#2889) (07df606)
  • Return correct mimetype for openapi docs.json (44b3e46)
  • Return meaningful error message when selecting an invalid timezone (65df9e5)
  • Show 404 on task detail page when the task does not exist (#1014) (0f3da11)
  • Show close button on mobile popups (ce57d85)
  • Specify cols when upgrading (942c2e4)
  • Start server when listening on socket (b85befb)
  • Strip label syntax with parentheses from task title (#1300) (fc55563)
  • Style issues (63319e1)
  • Subscription should only be visible for the user who subscribed (#1183) (e108374)
  • Swagger docs (9aa197b)
  • Switch to wine electron builder (2693419)
  • TOTP account lock notification typo (#858) (8632bd2)
  • Task overdue at the same time as the notification (8d8406d)
  • TaskCollection types (#754) (a62ac80)
  • Test selector (c5b82fc)
  • Textarea autosize for LanguageTool (7ef1e0a)
  • TipTap reactive prop destructuring (30daf08)
  • Typing reactive in ProjectSearch (9814ff9)
  • Upgrade xgo (f826fb9)
  • Upgrade xgo docker image everywhere (d6194b8)
  • Upload avatar caching (45e7f6e)
  • Use @tsconfig/node22 (64ffba2)
  • Use assertions which are more specific (7985a65)
  • Use modern-compiler for sass files as well (452cc66)
  • Vite config linting (a24c64d)
  • Vue/no-boolean-default NoAuthWrapper (460d6ac)
  • Workbox outDir for build:test (c118e78)

Dependencies

  • (deps) Update module github.com/coreos/go-oidc/v3 to v3.11.0
  • (deps) Update flake
  • (deps) Update go toolchain to 1.22.5
  • (deps) Update dependency node to v20.16.0
  • (deps) Update golangci
  • (deps) Update tiptap to 2.6.6
  • (deps) Update github.com/wneessen/go-mail to v0.4.4
  • (deps) Update dependency dayjs to v1.11.13
  • (deps) Update module github.com/typesense/typesense-go to v2
  • (deps) Update module golang.org/x/term to v0.24.0
  • (deps) Update module golang.org/x/text to v0.18.0
  • (deps) Update dependency vue-i18n to v9.14.0
  • (deps) Update dependency pinia to v2.2.2
  • (deps) Update dependency @sentry/vue to v8.28.0
  • (deps) Update dependency @kyvg/vue3-notification to v3.3.0
  • (deps) Update module github.com/threedotslabs/watermill to v1.3.7
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.23
  • (deps) Update module github.com/gabriel-vasile/mimetype to v1.4.5
  • (deps) Update dependency sortablejs to v1.15.3
  • (deps) Update dependency axios to v1.7.7
  • (deps) Update dependency tailwindcss to v3.4.10
  • (deps) Update vueuse to v11
  • (deps) Update module golang.org/x/oauth2 to v0.23.0
  • (deps) Update module golang.org/x/crypto to v0.27.0
  • (deps) Update module github.com/redis/go-redis/v9 to v9.6.1
  • (deps) Update module dario.cat/mergo to v1.0.1
  • (deps) Update dependency vue to v3.5.3
  • (deps) Update module github.com/prometheus/client_golang to v1.20.3
  • (deps) Update module golang.org/x/image to v0.20.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency go to v1.23.1
  • (deps) Update dependency vue-router to v4.4.3
  • (deps) Update dev-dependencies
  • (deps) Update pnpm to v9.10.0
  • (deps) Update dependency @sentry/vue to v8.29.0
  • (deps) Update dependency vue to v3.5.4
  • (deps) Update dependency express to v4.20.0
  • (deps) Update module github.com/getsentry/sentry-go to v0.29.0
  • (deps) Update dependency @sentry/vue to v8.30.0
  • (deps) Update dependency vue-i18n to v10
  • (deps) Update dependency tailwindcss to v3.4.11
  • (deps) Update dependency vue-i18n to v10.0.1
  • (deps) Update dependency vue-router to v4.4.4
  • (deps) Update dependency express to v4.21.0
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v5
  • (deps) Update dependency vue to v3.5.5
  • (deps) Update dependency vue-router to v4.4.5
  • (deps) Update dev-dependencies
  • (deps) Update dependency date-fns to v4
  • (deps) Update dev-dependencies
  • (deps) Update vueuse to v11.1.0
  • (deps) Update module github.com/prometheus/client_golang to v1.20.4
  • (deps) Update tiptap to v2.7.0
  • (deps) Update dev-dependencies
  • (deps) Update tiptap to v2.7.1
  • (deps) Update dependency tailwindcss to v3.4.12
  • (deps) Update dependency vue to v3.5.6
  • (deps) Update tiptap to v2.7.2
  • (deps) Update module github.com/typesense/typesense-go to v2
  • (deps) Update dev-dependencies
  • (deps) Update dependency vuemoji-picker to v0.3.1
  • (deps) Update pnpm to v9.11.0
  • (deps) Update desktop lockfile
  • (deps) Update dependency vue to v3.5.7
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue-i18n to v10.0.2
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue to v3.5.8
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v5.1.0
  • (deps) Update dependency vue-i18n to v10.0.3
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v5.2.0
  • (deps) Update dependency @sentry/vue to v8.31.0
  • (deps) Update dependency tailwindcss to v3.4.13
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dependency @sentry/vue to v8.32.0
  • (deps) Update tiptap to v2.7.3
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue to v3.5.9
  • (deps) Update dependency dompurify to v3.1.7
  • (deps) Update tiptap to v2.7.4
  • (deps) Update dependency vue to v3.5.10
  • (deps) Update dev-dependencies
  • (deps) Update dependency pinia to v2.2.3
  • (deps) Update tiptap to v2.8.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency pinia to v2.2.4
  • (deps) Update dependency go to v1.23.2
  • (deps) Update pnpm to v9.12.0
  • (deps) Update dependency @sentry/vue to v8.33.0
  • (deps) Update dependency rollup to v4.24.0
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.24
  • (deps) Update module golang.org/x/text to v0.19.0
  • (deps) Update module golang.org/x/image to v0.21.0
  • (deps) Update module golang.org/x/sys to v0.26.0
  • (deps) Update dependency vue to v3.5.11
  • (deps) Update dependency @sentry/vue to v8.33.1
  • (deps) Update module golang.org/x/term to v0.25.0
  • (deps) Update dependency vue-i18n to v10.0.4
  • (deps) Update module golang.org/x/crypto to v0.28.0
  • (deps) Update dependency caniuse-lite to v1.0.30001667
  • (deps) Update pnpm to v9.12.1
  • (deps) Update dependency @kyvg/vue3-notification to v3.4.0
  • (deps) Update dependency @types/node to v20.16.11
  • (deps) Update dependency express to v4.21.1
  • (deps) Update dependency typescript to v5.6.3
  • (deps) Update dependency @sentry/vue to v8.34.0
  • (deps) Update dependency vue to v3.5.12
  • (deps) Update module github.com/yuin/goldmark to v1.7.5
  • (deps) Update module github.com/yuin/goldmark to v1.7.6
  • (deps) Update module github.com/getsentry/sentry-go to v0.29.1
  • (deps) Update module github.com/redis/go-redis/v9 to v9.6.2
  • (deps) Update module github.com/prometheus/client_golang to v1.20.5
  • (deps) Update dependency tailwindcss to v3.4.14
  • (deps) Update module github.com/gabriel-vasile/mimetype to v1.4.6
  • (deps) Update module github.com/yuin/goldmark to v1.7.7
  • (deps) Update module github.com/yuin/goldmark to v1.7.8
  • (deps) Update pnpm to v9.12.2
  • (deps) Update module github.com/wneessen/go-mail to v0.5.1
  • (deps) Update module github.com/redis/go-redis/v9 to v9.7.0
  • (deps) Update dependency @sentry/vue to v8.35.0
  • (deps) Update tiptap to v2.9.0
  • (deps) Update tiptap to v2.9.1
  • (deps) Update dependency caniuse-lite to v1.0.30001672
  • (deps) Update dev-dependencies
  • (deps) Update pnpm to v9.12.3
  • (deps) Update dependency @kyvg/vue3-notification to v3.4.1
  • (deps) Update dev-dependencies
  • (deps) Update module github.com/swaggo/swag to v1.16.4
  • (deps) Update dev-dependencies
  • (deps) Update devenv
  • (deps) Update module github.com/threedotslabs/watermill to v1.4.0
  • (deps) Update dependency workbox-precaching to v7.3.0
  • (deps) Update dependency node to v22
  • (deps) Update dependency pinia to v2.2.5
  • (deps) Update dev-dependencies
  • (deps) Set workbox version to 7.3.0
  • (deps) Update node.js to v22.11.0
  • (deps) Update vueuse to v11.2.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency @sentry/vue to v8.36.0
  • (deps) Update dev-dependencies
  • (deps) Update module github.com/threedotslabs/watermill to v1.4.1
  • (deps) Update dev-dependencies
  • (deps) Update dependency pinia to v2.2.6
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dependency @sentry/vue to v8.37.1
  • (deps) Update dependency go to v1.23.3
  • (deps) Update dev-dependencies
  • (deps) Update module github.com/wneessen/go-mail to v0.5.2
  • (deps) Update module golang.org/x/sync to v0.9.0
  • (deps) Update dev-dependencies
  • (deps) Update module golang.org/x/image to v0.22.0
  • (deps) Update module golang.org/x/sys to v0.27.0
  • (deps) Update module golang.org/x/crypto to v0.29.0
  • (deps) Update module golang.org/x/oauth2 to v0.24.0
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v5.3.0
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v5.3.1
  • (deps) Update dependency rollup to v4.25.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency dompurify to v3.2.0
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dependency @sentry/vue to v8.38.0
  • (deps) Update pnpm to v9.13.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency tailwindcss to v3.4.15
  • (deps) Update pnpm to v9.13.1
  • (deps) Update pnpm to v9.13.2
  • (deps) Update dependency sass-embedded to v1.81.0
  • (deps) Update dependency vue to v3.5.13
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v6
  • (deps) Update vulnerable dependencies of dependencies
  • (deps) Update font awesome to v6.7.0
  • (deps) Update pnpm to v9.14.1
  • (deps) Update dependency @sentry/vue to v8.39.0
  • (deps) Update module github.com/gabriel-vasile/mimetype to v1.4.7
  • (deps) Update tiptap to v2.10.0
  • (deps) Update dependency dompurify to v3.2.1
  • (deps) Update pnpm to v9.14.2
  • (deps) Update font awesome to v6.7.1
  • (deps) Update vueuse to v11.3.0
  • (deps) Update tiptap to v2.10.2
  • (deps) Update dependency @sentry/vue to v8.40.0
  • (deps) Update module github.com/stretchr/testify to v1.10.0
  • (deps) Update dependency sortablejs to v1.15.4
  • (deps) Update dependency vue-router to v4.5.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency @types/node to v22.9.4
  • (deps) Update dependency axios to v1.7.8
  • (deps) Update tiptap to v2.10.3
  • (deps) Update dev-dependencies to v6
  • (deps) Update dev-dependencies
  • (deps) Update vueuse to v12
  • (deps) Update dependency pinia to v2.2.7
  • (deps) Update dependency vue-i18n to v10.0.5
  • (deps) Update dependency sortablejs to v1.15.5
  • (deps) Update dependency sortablejs to v1.15.6
  • (deps) Update pnpm to v9.14.3
  • (deps) Update dependency pinia to v2.2.8
  • (deps) Update dev-dependencies
  • (deps) Update dependency @sentry/vue to v8.41.0
  • (deps) Update dependency dompurify to v3.2.2
  • (deps) Update pnpm to v9.14.4
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dependency @sentry/vue to v8.42.0
  • (deps) Update dependency tailwindcss to v3.4.16
  • (deps) Update dependency axios to v1.7.9
  • (deps) Update dependency pinia to v2.3.0
  • (deps) Update module golang.org/x/sync to v0.10.0
  • (deps) Update dependency sass-embedded to v1.82.0
  • (deps) Update dependency go to v1.23.4
  • (deps) Update module github.com/getsentry/sentry-go to v0.30.0
  • (deps) Update module golang.org/x/sys to v0.28.0
  • (deps) Update module golang.org/x/text to v0.21.0
  • (deps) Update module golang.org/x/image to v0.23.0
  • (deps) Update module github.com/labstack/echo-jwt/v4 to v4.2.1
  • (deps) Update dependency cypress to v13.16.1
  • (deps) Update module github.com/labstack/echo-jwt/v4 to v4.3.0
  • (deps) Update dependency vuemoji-picker to v0.3.2
  • (deps) Update dependency express to v4.21.2
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v6.0.1
  • (deps) Update dev-dependencies
  • (deps) Update pnpm to v9.15.0
  • (deps) Update dependency rollup to v4.28.1
  • (deps) Update dependency dompurify to v3.2.3
  • (deps) Update dev-dependencies to v8.18.0
  • (deps) Update dependency @sentry/vue to v8.43.0
  • (deps) Update module github.com/labstack/echo/v4 to v4.13.1
  • (deps) Update dev-dependencies
  • (deps) Update module github.com/labstack/echo/v4 to v4.13.2
  • (deps) Update dependency sass-embedded to v1.83.0
  • (deps) Update dependency @sentry/vue to v8.45.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency @sentry/vue to v8.45.1
  • (deps) Update font awesome to v6.7.2
  • (deps) Update dev-dependencies
  • (deps) Update dependency @sentry/vue to v8.46.0
  • (deps) Update dependency tailwindcss to v3.4.17
  • (deps) Update dependency cypress to v13.17.0
  • (deps) Update dependency @sentry/vue to v8.47.0
  • (deps) Update module github.com/labstack/echo/v4 to v4.13.3
  • (deps) Update tiptap to v2.10.4
  • (deps) Update pnpm to v9.15.1
  • (deps) Update dev-dependencies
  • (deps) Update dependency node to v22.12.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v6.0.2
  • (deps) Update vueuse to v12.1.0
  • (deps) Update vueuse to v12.2.0
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dependency happy-dom to v16
  • (deps) Update dependency vue-i18n to v11
  • (deps) Update dev-dependencies
  • (deps) Update pnpm to v9.15.2
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v6.0.3
  • (deps) Update vueuse to v12.3.0
  • (deps) Update tiptap to v2.11.0
  • (deps) Update dev-dependencies
  • (deps) Update module golang.org/x/sys to v0.29.0
  • (deps) Update module github.com/coreos/go-oidc/v3 to v3.12.0
  • (deps) Update module golang.org/x/oauth2 to v0.25.0
  • (deps) Update module github.com/gabriel-vasile/mimetype to v1.4.8
  • (deps) Update pnpm to v9.15.3
  • (deps) Update dev-dependencies
  • (deps) Update module golang.org/x/crypto to v0.32.0
  • (deps) Update dependency @sentry/vue to v8.48.0
  • (deps) Update dependency node to v22.13.0
  • (deps) Update dev-dependencies
  • (deps) Update node.js to v22.13.0
  • (deps) Update module github.com/getsentry/sentry-go to v0.31.1
  • (deps) Update module mvdan.cc/xurls/v2 to v2.6.0
  • (deps) Update module github.com/threedotslabs/watermill to v1.4.2
  • (deps) Update dependency @cypress/vite-dev-server to v6
  • (deps) Update dev-dependencies
  • (deps) Update module github.com/spf13/afero to v1.12.0
  • (deps) Update dependency @sentry/tracing to v7.120.3
  • (deps) Update vueuse to v12.4.0
  • (deps) Update dependency wait-on to v8.0.2
  • (deps) Update module github.com/wneessen/go-mail to v0.6.0
  • (deps) Update tiptap to v2.11.1
  • (deps) Update tiptap to v2.11.2
  • (deps) Update dependency eslint to v9.18.0
  • (deps) Update pnpm to v9.15.4
  • (deps) Update dev-dependencies
  • (deps) Update module github.com/threedotslabs/watermill to v1.4.3
  • (deps) Update goreleaser/nfpm docker tag to v2.41.2
  • (deps) Pin dependency @tiptap/starter-kit to 2.11.2
  • (deps) Update dependency electron to v34
  • (deps) Update dev-dependencies
  • (deps) Update dependency @sentry/vue to v8.49.0
  • (deps) Update dependency @sentry/vue to v8.50.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency lowlight to v3
  • (deps) Update module github.com/threedotslabs/watermill to v1.4.4
  • (deps) Update dependency go to v1.23.5
  • (deps) Update dev-dependencies
  • (deps) Update dependency vitest to v3.0.2
  • (deps) Update dependency caniuse-lite to v1.0.30001695
  • (deps) Update module github.com/wneessen/go-mail to v0.6.1
  • (deps) Update dependency rollup to v4.31.0
  • (deps) Update dependency pinia to v2.3.1
  • (deps) Update dev-dependencies
  • (deps) Update ws, vulnerable dependencies of dependencies
  • (deps) Update dependency node to v22.13.1
  • (deps) Update dev-dependencies
  • (deps) Update vueuse to v12.5.0
  • (deps) Update tiptap to v2.11.3
  • (deps) Update dev-dependencies
  • (deps) Update dependency @sentry/vue to v8.51.0
  • (deps) Update node.js to v22.13.1
  • (deps) Update dev-dependencies
  • (deps) Upgrade cypress docker image in ci
  • (deps) Upgrade vitest to 3.0.5
  • (deps) Bump esbuild from 0.24.2 to 0.25.0
  • (deps) Update dompurify to 3.2.4
  • (deps) Update oauth2 and go-jose
  • (deps) Update devenv
  • (deps) Update golangci-lint
  • (deps) Bump vue-i18n from 11.0.1 to 11.1.2
  • (deps) Bump @babel/helpers to 7.26.10
  • (deps) Bump axios to 1.8.2
  • (deps) Bump github.com/redis/go-redis/v9 from 9.7.0 to 9.7.3
  • (deps) Bump github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2
  • (deps) Update go.sum
  • (deps) Update golang.org/x/net to 0.38.0
  • (deps) Update pnpm to v9.15.9 (#436)
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v6.0.5 (#439)
  • (deps) Update dependency axios to v1.8.4 (#440)
  • (deps) Update module github.com/labstack/echo-jwt/v4 to v4.3.1 (#441)
  • (deps) Update module github.com/wneessen/go-mail to v0.6.2 (#443)
  • (deps) Update dev-dependencies (#447)
  • (deps) Update node.js to v22.14.0 (#449)
  • (deps) Update module github.com/go-sql-driver/mysql to v1.9.1 (#452)
  • (deps) Update module github.com/spf13/afero to v1.14.0 (#454)
  • (deps) Update module golang.org/x/image to v0.25.0 (#457)
  • (deps) Update vueuse to v12.8.2 (#459)
  • (deps) Update module github.com/spf13/cobra to v1.9.1 (#455)
  • (deps) Update module github.com/coreos/go-oidc/v3 to v3.13.0 (#451)
  • (deps) Update module github.com/spf13/viper to v1.20.1 (#456)
  • (deps) Update module github.com/threedotslabs/watermill to v1.4.6 (#442)
  • (deps) Update tiptap to v2.11.7 (#444)
  • (deps) Update dev-dependencies (#460)
  • (deps) Pin dependencies (#435)
  • (deps) Update dependency go to v1.24.1 (#446)
  • (deps) Update module github.com/prometheus/client_golang to v1.21.1 (#453)
  • (deps) Update dependency marked to v15.0.7 (#464)
  • (deps) Update vueuse to v13 (major) (#463)
  • (deps) Update dependency express to v5 (#466)
  • (deps) Update dependency pinia to v3 (#467)
  • (deps) Update dependency vite to v6.2.4 [security] (#469)
  • (deps) Update dev-dependencies (#472)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.25 (#598)
  • (deps) Update module github.com/typesense/typesense-go/v2 to v3 (#599)
  • (deps) Update ghcr.io/techknowlogick/xgo:go-1.23.x docker digest to 770db5a (#602)
  • (deps) Update golangci/golangci-lint-action action to v7 (#462)
  • (deps) Update module github.com/arran4/golang-ical to v0.3.2 (#605)
  • (deps) Update postgres docker tag to v17 (#607)
  • (deps) Update dependency go to v1.24.2 (#603)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.26 (#611)
  • (deps) Update module github.com/ganigeorgiev/fexpr to v0.5.0 (#615)
  • (deps) Pin useblacksmith/setup-go action to 647ac64
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.27
  • (deps) Update dev-dependencies
  • (deps) Update dependency dompurify to v3.2.5
  • (deps) Update module github.com/coreos/go-oidc/v3 to v3.14.1
  • (deps) Update dev-dependencies
  • (deps) Pin actions/setup-node action to cdca736
  • (deps) Update dev-dependencies
  • (deps) Pin kolaente/s3-action action to f154255
  • (deps) Update module golang.org/x/sync to v0.13.0
  • (deps) Update module golang.org/x/oauth2 to v0.29.0
  • (deps) Update module golang.org/x/sys to v0.32.0
  • (deps) Update kolaente/s3-action action to v1.2.1
  • (deps) Update dependency vue-i18n to v11.1.3
  • (deps) Update histoire to 1.0.0-alpha-2
  • (deps) Update dev-dependencies
  • (deps) Update module golang.org/x/text to v0.24.0
  • (deps) Update module golang.org/x/image to v0.26.0
  • (deps) Update postgres:17 docker digest to fe3f571
  • (deps) Update module golang.org/x/term to v0.31.0
  • (deps) Update module golang.org/x/crypto to v0.37.0
  • (deps) Update dependency marked to v15.0.8
  • (deps) Update dependency ufo to v1.6.1
  • (deps) Update module github.com/go-sql-driver/mysql to v1.9.2
  • (deps) Update vueuse to v13.1.0
  • (deps) Update module github.com/prometheus/client_golang to v1.22.0
  • (deps) Update dependency cypress to v14.3.0 (#650)
  • (deps) Update pnpm to v10.8.0 (#649)
  • (deps) Update mariadb:11 docker digest to 81e8930 (#651)
  • (deps) Update dependency pinia to v3.0.2 (#653)
  • (deps) Update dependency electron to v35.1.5 (#654)
  • (deps) Update dependency @sentry/vue to v9 (#461)
  • (deps) Update pnpm to v10 (#636)
  • (deps) Update module github.com/getsentry/sentry-go to v0.32.0 (#658)
  • (deps) Update module github.com/getsentry/sentry-go/echo to v0.32.0 (#657)
  • (deps) Update dev-dependencies (#659)
  • (deps) Update dependency @types/node to v22.14.1 (#665)
  • (deps) Update dependency rollup to v4.40.0 (#666)
  • (deps) Update actions/setup-node digest to 49933ea (#668)
  • (deps) Update dependency @faker-js/faker to v9.7.0 (#667)
  • (deps) Update pnpm to v10.8.1 (#669)
  • (deps) Update dev-dependencies to v8.30.1 (#672)
  • (deps) Update module github.com/yuin/goldmark to v1.7.9 (#671)
  • (deps) Update module github.com/go-ldap/ldap/v3 to v3.4.11 (#670)
  • (deps) Update module github.com/yuin/goldmark to v1.7.10 (#674)
  • (deps) Update dev-dependencies (#676)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.28 (#675)
  • (deps) Update dependency @sentry/vue to v9.13.0 (#450)
  • (deps) Update ghcr.io/techknowlogick/xgo:go-1.23.x docker digest to 46a3479 (#679)
  • (deps) Update dev-dependencies (#680)
  • (deps) Update module github.com/gabriel-vasile/mimetype to v1.4.9 (#681)
  • (deps) Update dev-dependencies (#683)
  • (deps) Update dev-dependencies (#684)
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v6.0.8 (#685)
  • (deps) Update pnpm to v10.9.0 (#686)
  • (deps) Update dependency marked to v15.0.9 (#688)
  • (deps) Update dev-dependencies (#689)
  • (deps) Update dev-dependencies (#690)
  • (deps) Update node.js to v22.15.0 (#692)
  • (deps) Update node.js to v22.15.0 (#693)
  • (deps) Update dependency @sentry/vue to v9.14.0 (#694)
  • (deps) Update dev-dependencies (#695)
  • (deps) Update dependency marked to v15.0.10 (#696)
  • (deps) Update docker/build-push-action digest to 14487ce (#698)
  • (deps) Update dev-dependencies (#703)
  • (deps) Update dependency marked to v15.0.11 (#702)
  • (deps) Update dependency axios to v1.9.0 (#700)
  • (deps) Update actions/download-artifact digest to d3f86a1 (#699)
  • (deps) Update dependency @types/node to v22.15.2 (#707)
  • (deps) Update dependency vue-router to v4.5.1 (#706)
  • (deps) Update pnpm to v10.10.0 (#709)
  • (deps) Update module github.com/yuin/goldmark to v1.7.11 (#708)
  • (deps) Update dev-dependencies (#713)
  • (deps) Update dependency vite to v6.3.4 [security] (#722)
  • (deps) Update dev-dependencies (#723)
  • (deps) Update dependency electron to v36 (#718)
  • (deps) Update dev-dependencies (#725)
  • (deps) Update golangci/golangci-lint-action digest to 9fae48a (#727)
  • (deps) Update module github.com/redis/go-redis/v9 to v9.8.0 (#720)
  • (deps) Update tiptap to v2.12.0 (#717)
  • (deps) Update module github.com/huandu/go-clone/generic to v1.7.3 (#715)
  • (deps) Update mariadb:11 docker digest to 11706a6 (#730)
  • (deps) Update dependency @sentry/vue to v9.15.0 (#716)
  • (deps) Update ghcr.io/techknowlogick/xgo:go-1.23.x docker digest to d45f463 (#729)
  • (deps) Update dependency @sentry/vue to v9.16.0 (#732)
  • (deps) Update dependency go to v1.24.3 (#731)
  • (deps) Update module golang.org/x/crypto to v0.38.0 (#735)
  • (deps) Update dependency @sentry/vue to v9.16.1 (#734)
  • (deps) Update module golang.org/x/oauth2 to v0.30.0 (#737)
  • (deps) Update module golang.org/x/image to v0.27.0 (#736)
  • (deps) Update module dario.cat/mergo to v1.0.2 (#739)
  • (deps) Pin useblacksmith/build-push-action action to 5646913 (#733)
  • (deps) Update dev-dependencies (#741)
  • (deps) Update actions/setup-go digest to d35c59a (#742)
  • (deps) Update docker/dockerfile:1 docker digest to 9857836 (#745)
  • (deps) Update dependency @sentry/vue to v9.17.0 (#746)
  • (deps) Update dependency @types/node to v22.15.17 (#747)
  • (deps) Update dependency @vitejs/plugin-vue to v5.2.4 (#749)
  • (deps) Update dev-dependencies (#751)
  • (deps) Update module github.com/go-testfixtures/testfixtures/v3 to v3.15.0 (#752)
  • (deps) Update dev-dependencies (#759)
  • (deps) Update dependency @sentry/vue to v9.18.0 (#760)
  • (deps) Update postgres:17 docker digest to 8648313 (#712)
  • (deps) Pin useblacksmith/build-push-action action to 5646913 (#762)
  • (deps) Update pnpm to v10.11.0 (#764)
  • (deps) Update vueuse to v13.2.0 (#766)
  • (deps) Update dependency @sentry/vue to v9.19.0 (#767)
  • (deps) Update useblacksmith/build-push-action digest to 5501e3f (#768)
  • (deps) Pin useblacksmith/cache action to c5fe29e (#763)
  • (deps) Update useblacksmith/build-push-action digest to f0d8aee (#769)
  • (deps) Update node.js to v22.15.1 (#771)
  • (deps) Update dev-dependencies (#772)
  • (deps) Update dependency vue to v3.5.14 (#773)
  • (deps) Update module github.com/getsentry/sentry-go/echo to v0.33.0 (#779)
  • (deps) Update node.js to v22.15.1 (#783)
  • (deps) Update dev-dependencies (#785)
  • (deps) Update go-testfixtures/testfixtures to latest main
  • (deps) Pin cypress/browsers docker tag to 05d30b9 (#789)
  • (deps) Update module github.com/pquerna/otp to v1.5.0 (#790)
  • (deps) Update node.js to 152270c (#784)
  • (deps) Update golangci/golangci-lint-action action to v8 (#738)
  • (deps) Update dependency eslint to v9.27.0 (#793)
  • (deps) Update module github.com/yuin/goldmark to v1.7.12 (#795)
  • (deps) Update useblacksmith/build-push-action digest to e09a088 (#792)
  • (deps) Update dev-dependencies (#796)
  • (deps) Update dependency @sentry/vue to v9.20.0 (#798)
  • (deps) Update dependency dompurify to v3.2.6 (#799)
  • (deps) Update dev-dependencies (#800)
  • (deps) Update dependency marked to v15.0.12 (#801)
  • (deps) Update dependency @sentry/vue to v9.21.0 (#802)
  • (deps) Update dependency @sentry/vue to v9.22.0 (#805)
  • (deps) Update cypress/browsers:latest docker digest to 753c6dd (#804)
  • (deps) Update dev-dependencies (#806)
  • (deps) Update node.js to v22.16.0 (#810)
  • (deps) Update node.js to v22.16.0 (#811)
  • (deps) Update postgres:17 docker digest to 2718f68 (#814)
  • (deps) Update node.js to 9f3ae04 (#812)
  • (deps) Update postgres:17 docker digest to bbdcc04 (#815)
  • (deps) Update module github.com/labstack/echo/v4 to v4.13.4 (#820)
  • (deps) Update postgres:17 docker digest to ea51edb (#822)
  • (deps) Update postgres:17 docker digest to 6efd0df (#823)
  • (deps) Update module github.com/olekukonko/tablewriter to v1 (#750)
  • (deps) Update cypress/browsers:latest docker digest to ceabc12 (#824)
  • (deps) Update dev-dependencies (#825)
  • (deps) Update dependency vue-i18n to v11.1.4 (#826)
  • (deps) Update dependency rollup-plugin-visualizer to v6 (#828)
  • (deps) Update dependency vue to v3.5.15 (#829)
  • (deps) Update github.com/go-testfixtures/testfixtures/v3 to v3.16.0
  • (deps) Update module github.com/redis/go-redis/v9 to v9.9.0 (#831)
  • (deps) Update dependency vue-i18n to v11.1.5 (#830)
  • (deps) Update vueuse to v13.3.0 (#832)
  • (deps) Update module github.com/olekukonko/tablewriter to v1.0.7 (#835)
  • (deps) Update dependency @sentry/vue to v9.23.0
  • (deps) Update dependency vue to v3.5.16
  • (deps) Update dev-dependencies
  • (deps) Update node.js to 41e4389
  • (deps) Update ghcr.io/techknowlogick/xgo:go-1.23.x docker digest to 229c595
  • (deps) Update dependency @sentry/vue to v9.24.0
  • (deps) Update cypress/browsers:latest docker digest to d74c0a3
  • (deps) Update pnpm to v10.11.1
  • (deps) Update mariadb:11 docker digest to fcc7fcd
  • (deps) Update dependency @sentry/vue to v9.25.0
  • (deps) Update dependency @sentry/vue to v9.25.1
  • (deps) Update cypress/browsers:latest docker digest to 201bee8
  • (deps) Update dependency @sentry/vue to v9.26.0
  • (deps) Update dependency pinia to v3.0.3
  • (deps) Update tiptap to v2.13.0
  • (deps) Update module golang.org/x/sync to v0.15.0 (#874)
  • (deps) Update module golang.org/x/crypto to v0.39.0 (#890)
  • (deps) Update module github.com/redis/go-redis/v9 to v9.10.0 (#889)
  • (deps) Update dependency go to v1.24.4 (#886)
  • (deps) Update dependency @sentry/vue to v9.27.0 (#888)
  • (deps) Update ghcr.io/techknowlogick/xgo:go-1.23.x docker digest to a56d0c3 (#885)
  • (deps) Update crowdin/github-action digest to f214c87 (#876)
  • (deps) Update postgres:17 docker digest to 30a7233 (#901)
  • (deps) Update pnpm to v10.12.1 (#902)
  • (deps) Update tiptap to v2.14.0 (#906)
  • (deps) Update module golang.org/x/image to v0.28.0 (#905)
  • (deps) Update devenv
  • (deps) Update dev-dependencies (#840)
  • (deps) Update dependency @sentry/vue to v9.28.0 (#910)
  • (deps) Update mariadb:11 docker digest to 1e66902 (#914)
  • (deps) Update postgres:17 docker digest to b562fd5 (#915)
  • (deps) Update dependency @sentry/vue to v9.28.1 (#922)
  • (deps) Update postgres:17 docker digest to cb51e9f (#921)
  • (deps) Do not update services as often
  • (deps) Update useblacksmith/build-push-action digest to 574eb0e (#924)
  • (deps) Update postgres:17 docker digest to 6cf6142 (#923)
  • (deps) Update dev-dependencies (#925)
  • (deps) Update dependency happy-dom to v18 (#926)
  • (deps) Update dependency @sentry/vue to v9.29.0 (#936)
  • (deps) Update module github.com/go-sql-driver/mysql to v1.9.3 (#935)
  • (deps) Update dev-dependencies (#941)
  • (deps) Update dependency axios to v1.10.0 (#942)
  • (deps) Update dependency vite-plugin-vue-devtools to v7.7.7 (#946)
  • (deps) Update docker/setup-buildx-action digest to 18ce135 (#949)
  • (deps) Update brace-expansion to 2.0.2 and 1.1.12
  • (deps) Update brace-expansion to 2.0.2 and 1.1.12
  • (deps) Update dev-dependencies (#967)
  • (deps) Update dependency vue-i18n to v11.1.6 (#968)
  • (deps) Update dependency @sentry/vue to v9.30.0 (#972)
  • (deps) Update cypress/browsers:latest docker digest to b290f97 (#976)
  • (deps) Update dev-dependencies (#977)
  • (deps) Update docker/setup-buildx-action digest to e468171 (#978)
  • (deps) Update dependency vue to v3.5.17 (#979)
  • (deps) Update dependency electron to v36.5.0 (#980)
  • (deps) Update vueuse to v13.4.0 (#982)
  • (deps) Update dependency rollup to v4.44.0 (#986)
  • (deps) Update tiptap to v2.14.1 (#985)
  • (deps) Update tiptap to v2.22.0 (#987)
  • (deps) Update dependency caniuse-lite to v1.0.30001724 (#989)
  • (deps) Update tiptap to v2.22.3 (#990)
  • (deps) Bump github.com/go-chi/chi/v5 from 5.1.0 to 5.2.2 (#988)
  • (deps) Update dependency vue-i18n to v11.1.7 (#991)
  • (deps) Update module github.com/getsentry/sentry-go to v0.34.0 (#996)
  • (deps) Update dependency @sentry/vue to v9.31.0 (#995)
  • (deps) Update pnpm to v10.12.2 (#994)
  • (deps) Update module github.com/getsentry/sentry-go/echo to v0.34.0 (#997)
  • (deps) Update dev-dependencies to v8.35.0 (#998)
  • (deps) Update pnpm to v10.12.3 (#1006)
  • (deps) Update module github.com/redis/go-redis/v9 to v9.11.0 (#1008)
  • (deps) Update dependency @types/node to v22.15.33 (#1017)
  • (deps) Update node.js to v22.17.0 (#1018)
  • (deps) Update crowdin/github-action digest to 297234b (#1020)
  • (deps) Update dependency @sentry/vue to v9.32.0 (#1022)
  • (deps) Update node.js to v22.17.0 (#1027)
  • (deps) Update node.js to 9f3f2c6 (#1028)
  • (deps) Update dev-dependencies (#1030)
  • (deps) Update node.js to 5340cbf (#1029)
  • (deps) Update pnpm to v10.12.4 (#1033)
  • (deps) Update dependency postcss-preset-env to v10.2.4 (#1035)
  • (deps) Update tiptap to v2.23.0 (#1036)
  • (deps) Update dependency marked to v16 (#1037)
  • (deps) Update dependency @sentry/vue to v9.33.0 (#1039)
  • (deps) Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 (#1043)
  • (deps) Update dev-dependencies (major) (#1045)
  • (deps) Update dev-dependencies (#1044)
  • (deps) Update postgres:17 docker digest to 45518b2 (#1052)
  • (deps) Update dev-dependencies (#1050)
  • (deps) Update tiptap to v2.23.1 (#1051)
  • (deps) Update pnpm to v10.12.4 (#1042)
  • (deps) Update dependency @sentry/vue to v9.34.0 (#1062)
  • (deps) Update postgres:17 docker digest to 3962158 (#1061)
  • (deps) Update cypress/browsers:latest docker digest to 95587c1 (#1026)
  • (deps) Update dev-dependencies (#1064)
  • (deps) Update mariadb:11 docker digest to 1e4ec03 (#1066)
  • (deps) Update dependency vue-tsc to v3 (#1065)
  • (deps) Update vueuse to v13.5.0 (#1067)
  • (deps) Update dependency vue-i18n to v11.1.8 (#1070)
  • (deps) Update tiptap to v2.24.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue-i18n to v11.1.9
  • (deps) Update module github.com/threedotslabs/watermill to v1.4.7
  • (deps) Update tiptap to v2.24.1 (#1087)
  • (deps) Update dependency vite to v7.0.2 (#1088)
  • (deps) Update node.js to 10962e8 (#1096)
  • (deps) Update module github.com/getsentry/sentry-go/echo to v0.34.1 (#1095)
  • (deps) Update tiptap to v2.25.0 (#1091)
  • (deps) Update module github.com/olekukonko/tablewriter to v1.0.8 (#1090)
  • (deps) Update dependency @sentry/vue to v9.35.0 (#1092)
  • (deps) Update dev-dependencies (#1093)
  • (deps) Update dependency go to v1.24.5 (#1099)
  • (deps) Update ghcr.io/techknowlogick/xgo:go-1.23.x docker digest to 55a8e62 (#1098)
  • (deps) Update pnpm to v10.13.1 (#1100)
  • (deps) Update dependency @sentry/vue to v9.36.0 (#1101)
  • (deps) Update crowdin/github-action digest to 9fd07c1 (#1108)
  • (deps) Update dependency @sentry/vue to v9.38.0 (#1109)
  • (deps) Update module github.com/jaswdr/faker/v2 to v2.6.0 (#1110)
  • (deps) Update module golang.org/x/text to v0.27.0 (#1107)
  • (deps) Update module golang.org/x/image to v0.29.0 (#1105)
  • (deps) Update module golang.org/x/sync to v0.16.0 (#1103)
  • (deps) Update useblacksmith/cache digest to 71c7c91 (#1102)
  • (deps) Update module golang.org/x/term to v0.33.0 (#1106)
  • (deps) Update module golang.org/x/crypto to v0.40.0 (#1111)
  • (deps) Update tiptap to v2.26.1 (#1112)
  • (deps) Update dev-dependencies (#1115)
  • (deps) Update module github.com/go-testfixtures/testfixtures/v3 to v3.17.0 (#1120)
  • (deps) Update module github.com/golang-jwt/jwt/v5 to v5.2.3 (#1125)
  • (deps) Update dependency @sentry/vue to v9.39.0 (#1126)
  • (deps) Update cypress/browsers:latest docker digest to d5ae1a6 (#1127)
  • (deps) Update node.js to 9db789c (#1129)
  • (deps) Update node.js to fc3e945 (#1130)
  • (deps) Update node.js to v22.17.1 (#1131)
  • (deps) Update mariadb:11 docker digest to acf55e2 (#1128)
  • (deps) Update dependency vue-i18n to v11.1.10 (#1132)
  • (deps) Update dev-dependencies (#1136)
  • (deps) Update module github.com/swaggo/swag to v1.16.5 (#1137)
  • (deps) Update node.js to v22.17.1 (#1135)
  • (deps) Update mariadb:11 docker digest to 2bcbaec (#1134)
  • (deps) Update cypress/browsers:latest docker digest to 30192f4 (#1133)
  • (deps) Update dependency @sentry/vue to v9.40.0 (#1141)
  • (deps) Update dependency marked to v16.1.0 (#1143)
  • (deps) Update dependency vue-tsc to v3.0.2 (#1144)
  • (deps) Update dependency marked to v16.1.1 (#1145)
  • (deps) Pin paradedb/paradedb docker tag to 9627c2a (#1147)
  • (deps) Update dev-dependencies (#1148)
  • (deps) Update dependency esbuild to v0.25.8 (#1151)
  • (deps) Update module xorm.io/xorm to v1.3.10 (#1156)
  • (deps) Update form-data to 4.0.4
  • (deps) Update form-data to 4.0.4 in desktop
  • (deps) Update @eslint/plugin-kit to 0.3.4
  • (deps) Update postgres:17 docker digest to 378ef4a (#1157)
  • (deps) Update postgres:17 docker digest to 4d89c90 (#1159)
  • (deps) Update font awesome to v7 (major) (#1160)
  • (deps) Update dependency vue to v3.5.18 (#1163)
  • (deps) Update dev-dependencies to v8.38.0 (#1164)
  • (deps) Update module github.com/yuin/goldmark to v1.7.13 (#1161)
  • (deps) Update dependency axios to v1.11.0 (#1167)
  • (deps) Update dependency vue-i18n to v11.1.11 (#1166)
  • (deps) Pin actions/github-script action to 60a0d83 (#1168)
  • (deps) Update dev-dependencies (#1169)
  • (deps) Update golangci lint to 2.2.2
  • (deps) Update paradedb/paradedb:latest-pg17 docker digest to c19d4ec (#1171)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.29 (#1172)
  • (deps) Update dependency @fortawesome/vue-fontawesome to v3.1.0 (#1162)
  • (deps) Update dependency @sentry/vue to v9.41.0 (#1173)
  • (deps) Update dev-dependencies (#1174)
  • (deps) Update dependency @sentry/vue to v9.42.0 (#1176)
  • (deps) Update paradedb/paradedb:latest-pg17 docker digest to e641c93 (#1179)
  • (deps) Update dev-dependencies (#1180)
  • (deps) Update dependency rollup to v4.45.3 (#1182)
  • (deps) Update dependency vite-plugin-vue-devtools to v8 (#1185)
  • (deps) Update dev-dependencies (#1184)
  • (deps) Update vueuse to v13.6.0 (#1187)
  • (deps) Update dependency @sentry/vue to v9.42.1 (#1188)
  • (deps) Update module github.com/olekukonko/tablewriter to v1.0.9 (#1189)
  • (deps) Update module github.com/jaswdr/faker/v2 to v2.6.1 (#1191)
  • (deps) Pin ghcr.io/go-vikunja/dex-testing docker tag to 7440cd3 (#1190)
  • (deps) Update module github.com/swaggo/swag to v1.16.6 (#1194)
  • (deps) Update sentry-javascript monorepo (#1195)
  • (deps) Update linkifyjs to 4.3.2
  • (deps) Update dev-dependencies (#1196)
  • (deps) Update module github.com/coreos/go-oidc/v3 to v3.15.0 (#1197)
  • (deps) Update ghcr.io/go-vikunja/dex-testing:main docker digest to 7a582d4 (#1199)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.30 (#1202)
  • (deps) Update module github.com/golang-jwt/jwt/v5 to v5.3.0 (#1203)
  • (deps) Update dev-dependencies to v1.0.0-alpha.3 (#1204)
  • (deps) Update ghcr.io/go-vikunja/dex-testing:main docker digest to cdcb86c (#1205)
  • (deps) Update module github.com/prometheus/client_golang to v1.23.0 (#1206)
  • (deps) Update pnpm to v10.14.0 (#1207)
  • (deps) Update dependency @sentry/vue to v9.44.0 (#1208)
  • (deps) Update node.js to v22.18.0 (#1210)
  • (deps) Update dev-dependencies (#1212)
  • (deps) Update module github.com/getsentry/sentry-go to v0.35.0 (#1211)
  • (deps) Update ghcr.io/go-vikunja/dex-testing:main docker digest to bc9b660 (#1214)
  • (deps) Update module github.com/getsentry/sentry-go/echo to v0.35.0 (#1213)
  • (deps) Update dependency @sentry/vue to v10 (#1209)
  • (deps) Update crowdin/github-action digest to 590c05e (#1215)
  • (deps) Update docker/metadata-action digest to c1e5197 (#1216)
  • (deps) Update ghcr.io/go-vikunja/dex-testing:main docker digest to 9cdd39c (#1219)
  • (deps) Update cypress/browsers:latest docker digest to a0f4875 (#1218)
  • (deps) Update dependency vue-tsc to v3.0.5 (#1220)
  • (deps) Update paradedb/paradedb:latest-pg17 docker digest to 99008f7 (#1228)
  • (deps) Update dependency marked to v16.1.2 (#1229)
  • (deps) Update node.js to v22.18.0 (#1231)
  • (deps) Update dependency @sentry/vue to v10.1.0 (#1232)
  • (deps) Update docker/login-action digest to 184bdaa (#1234)
  • (deps) Update node.js to 1b2479d (#1236)
  • (deps) Update dev-dependencies (#1237)
  • (deps) Update ghcr.io/go-vikunja/dex-testing:main docker digest to 76ba260 (#1238)
  • (deps) Update docker/dockerfile:1 docker digest to 3838752 (#1239)
  • (deps) Update tiptap to v3 (#1241)
  • (deps) Pin dependency @floating-ui/dom to 1.7.3 (#1243)
  • (deps) Pin dependencies (#1242)
  • (deps) Update paradedb/paradedb:latest-pg17 docker digest to df0a755 (#1244)
  • (deps) Update module github.com/jaswdr/faker/v2 to v2.7.0 (#1245)
  • (deps) Update dependency sass-embedded to v1.90.0 (#1246)
  • (deps) Update actions/download-artifact action to v5 (#1247)
  • (deps) Update module github.com/redis/go-redis/v9 to v9.12.0 (#1240)
  • (deps) Update dependency @sentry/vue to v10.2.0 (#1249)
  • (deps) Update ghcr.io/techknowlogick/xgo:go-1.23.x docker digest to 37bfe9d (#1250)
  • (deps) Update dependency go to v1.24.6 (#1251)
  • (deps) Update dev-dependencies (#1252)
  • (deps) Update module github.com/jaswdr/faker/v2 to v2.8.0 (#1253)
  • (deps) Update actions/cache digest to 0400d5f (#1255)
  • (deps) Update module golang.org/x/sys to v0.35.0 (#1256)
  • (deps) Update module golang.org/x/term to v0.34.0 (#1257)
  • (deps) Update module golang.org/x/text to v0.28.0 (#1258)
  • (deps) Update cypress/browsers:latest docker digest to 2c4e104 (#1259)
  • (deps) Update module golang.org/x/crypto to v0.41.0 (#1260)
  • (deps) Update module golang.org/x/image to v0.30.0 (#1262)
  • (deps) Update dev-dependencies (#1261)
  • (deps) Update dependency @sentry/vue to v10.3.0 (#1263)
  • (deps) Update dev-dependencies (#1264)
  • (deps) Update dependency @cypress/vite-dev-server to v7 (#1265)
  • (deps) Update dependency browserslist to v4.25.2 (#1266)
  • (deps) Update tiptap to v3.1.0 (#1267)
  • (deps) Update actions/checkout digest to 08eba0b (#1268)
  • (deps) Update dependency @sentry/vue to v10.4.0 (#1269)
  • (deps) Update actions/checkout action to v5 (#1271)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.31 (#1270)
  • (deps) Update module github.com/redis/go-redis/v9 to v9.12.1 (#1272)
  • (deps) Update ghcr.io/go-vikunja/dex-testing:main docker digest to 7de4780 (#1273)
  • (deps) Update tmp to 0.2.5
  • (deps) Pin softprops/action-gh-release action to 72f2c25 (#1274)
  • (deps) Update mariadb:11 docker digest to 5d71ac3 (#1275)
  • (deps) Update mariadb:11 docker digest to 272084c (#1278)
  • (deps) Update postgres:17 docker digest to 0d5b8e3 (#1279)
  • (deps) Update dependency @sentry/vue to v10.5.0 (#1280)
  • (deps) Update postgres:17 docker digest to aef2e62 (#1283)
  • (deps) Update module github.com/getsentry/sentry-go to v0.35.1 (#1286)
  • (deps) Update postgres:17 docker digest to 0f9d52b (#1288)
  • (deps) Update module github.com/getsentry/sentry-go/echo to v0.35.1 (#1287)
  • (deps) Update dev-dependencies (#1290)
  • (deps) Update golangci-lint to 2.4.0 (#1291)
  • (deps) Update tiptap to v3.2.0 (#1292)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.32 (#1294)
  • (deps) Update postgres:17 docker digest to 19ad070 (#1293)
  • (deps) Update dependency go to v1.25.0 (#1276)
  • (deps) Update mariadb docker tag to v12 (#1281)
  • (deps) Update dev-dependencies (#1295)
  • (deps) Update postgres:17 docker digest to 29e0bb0 (#1301)
  • (deps-dev) Bump vite from 6.0.11 to 6.0.12
  • (dev) Add required deps to run font scripts in devenv
  • (deps): update goreleaser/nfpm docker tag to v2.40.0 (#2647)
  • deps): update dependency flexsearch to v0.7.43 (#2095)
  • (deps): update golangci/golangci-lint docker tag to v1.61.0 (#2678)
  • (deps): update dev-dependencies (#2754)
  • (deps): update node.js to v22 (#2783)
  • (deps): update goreleaser/nfpm docker tag to v2.41.0 (#2776)
  • (deps): update module github.com/go-testfixtures/testfixtures/v3 to v3.14.0 (#2615)
  • (deps): bump golang.org/x/net from 0.33.0 to 0.36.0 (7a9fed4)

Documentation

  • (api) Use correct return type for the /user endpoint
  • (desktop) Adjust dev instructions
  • (desktop) Fix release version instruction
  • (filters) Fix typos with filter query docs
  • (frontend) Fix dialog typo
  • (frontend) Fix env file example name
  • (plugins) Add new config variables to docs
  • (web) Fix typos
  • Add AGENTS.md file with instructions for AI coding agents (3813a3b)
  • Add link for crus coding agent instructions (813bdb5)
  • Adjust frontend readme (77d1616)
  • Clarify Todoist redirect url (bf2d56c)
  • Clarify enabled providers (003db05)
  • Clarify licensing (#894) (bcfe6d2)
  • Clarify migrators (b9cdc9f)
  • Clarify return value of /tasks (debdcd4)
  • Clarify typesense url protocol (d046599)
  • Correctly document providers in config (c5a97ef)
  • Delete caldav token uses DELETE instead of GET (9efdde8)
  • Fix comments in web package (ef80fa7)
  • Fix typo (#1122) (5ee3077)
  • Fix typo in contributing section (07e96e9)
  • Fix typos (cab303f)
  • Fix typos in models services guide (75e43ab)
  • Format config json (dea123d)
  • Intro for migrators (5643027)
  • Mention AGPL-3.0-or-later in CLI help (#893) (4146e91)
  • Update code agent instructions (8864d04)

Features

  • (auth) Add ForceUserInfo option to OpenID provider (#797)
  • (auth) Add ldap config variables to docs
  • (auth) Allow automatic sso login from param (#3071)
  • (auth) Allow passing custom settings links to user account via openid claims
  • (auth) Authenticate users via ldap
  • (auth) Ldap group sync
  • (auth) Make ldap user filter configurable
  • (auth) Make sure local auth and ldap can both work when configured at the same time
  • (auth) Refactor group sync
  • (auth) Rename oidc_id to external_id
  • (auth) Require auth to fetch avatars (#930)
  • (auth) Show login form when only ldap is enabled
  • (auth) Sso fallback mapping (#3068)
  • (auth) Sync avatar from OpenID providers (#821)
  • (auth) Test ldap in ci
  • (auth) Use config variable to check if we should verify tls
  • (auth) Verify ldap config before trying to connect
  • (build) Add RELEASE_VERSION argument to be able to pass release version via env
  • (caldav) Return proper caldav intervals instead of FREQ=SECONDLY (#1230)
  • (ci) Add build docker image gh action
  • (ci) Add desktop release to GitHub actions
  • (ci) Add tests for paradedb
  • (ci) Build desktop app natively
  • (ci) Build frontend before test
  • (ci) Comment on closed issues when closed by commit or PR
  • (ci) Create draft release when tagging
  • (ci) Disable postgres durability features when testing
  • (ci) Migrate some workflows to Blacksmith (#617)
  • (ci) Pass cypress ci build id (#848)
  • (ci) Publish desktop releases with GitHub actions only
  • (ci) Run cypress tests in parallel
  • (ci) Store desktop release files as artifact
  • (ci) Use blacksmith docker action
  • (ci) Use blacksmith docker in favor of github docker build cache
  • (ci) Use docker image when testing with cypress parallel
  • (ci) Use slightly smaller runner to build binaries
  • (ci) Use xgo cache between binary builds
  • (cli) Add cli command to delete orphan task positions
  • (cmd) Allow to specify custom filename for dump command (#2775)
  • (config) Only read file sub-keys from files
  • (dev) Add devcontainers configuration
  • (dev) Add frontend and api to launch config
  • (dev) Add mailpit to devenv services
  • (dev) Adjust devcontainer definition
  • (dev) Allow passing struct name to dev:make-migration mage command (#931)
  • (dev) Use proxy server in dev mode (#3069)
  • (docker) Add opencontainer labels
  • (dump) Add flag to allow specifying dump path
  • (editor) Add message to list of allowed link protocols (#1284)
  • (editor) Support custom protocol for links
  • (event) Simplify dispatching task updated event from only a task id
  • (filter) Allow dragging tasks in saved filter
  • (filter) Automatically focus filter input when opening filter popup
  • (filter) Rebuild filter input component
  • (filter) Use new filter input component in view edit
  • (filters) Add "not in" operator for filters
  • (filters) Allow filtering by created and updated task fields
  • (filters) Show when the current view has a filter as well and both will be used
  • (frontend) Balance heading text (#952)
  • (frontend) Improve generics in multiselect dropdown (#920)
  • (frontend) Improve route filter generics (#953)
  • (gantt) Rebuild the gantt chart (#1001)
  • (home) Correctly check if tasks exist before showing import hint
  • (i18n) Add Bulgarian for language selection
  • (i18n) Add Finnish translation for selection
  • (i18n) Add Hebrew translation for selection
  • (i18n) Add Lithuanian translation for selection
  • (i18n) Add Turkish as language for selection
  • (i18n) Add params replacement to translation functions
  • (i18n) Add pluralization function for translation strings
  • (i18n) Add translations for migration notifications
  • (i18n) Automatically set language during registration
  • (i18n) Make overdue reminder translations more explicit (#761)
  • (i18n) Use plural translations in humanize duration
  • (kanban) Add debug option to show task position on card
  • (kanban) Create To-Do, Doing, Done buckets when creating a new kanban view
  • (kanban) Show project on kanban card if it's not the same as the current one
  • (labels) Show priority labels based on minimum priority setting (#3075)
  • (labels) Sort labels alphabetically
  • (ldap) Add tests
  • (ldap) Also look for username only when checking group membership
  • (ldap) Do not allow changing user avatar when synced from ldap
  • (ldap) Make group sync configurable
  • (ldap) Make member id attribute configurable
  • (ldap) Sync avatar from ldap
  • (link share) Add feature test for link share avatar access (#944)
  • (list) Add j/k keyboard navigation (#1040)
  • (navigation) Use focus-visible for nav items
  • (notifications) Include link to settings in notifications
  • (plugins) Add rudimentary plugin system
  • (plugins) Allow plugins to register routes
  • (positions) Add more debug logs
  • (projects) Add support for ParadeDB when searching for project
  • (projects) Optionally return max right when querying all projects
  • (rtl) Basic rtl layout for rtl languages
  • (rtl) Mirror task description icon
  • (settings) Restructure general settings view
  • (settings) Show extra settings links on user settings page
  • (settings) Show save button only when something was changed
  • (sharing) Add config so that users only find members of their teams
  • (table view) Require ctrl-click to sort by multiple task properties (#950)
  • (task) Always insert new tasks at the top
  • (task) Autosave description on route leave (#1140)
  • (task) Cancel editing task title with escape (#2730)
  • (task) Expand reactions via parameter
  • (task) Use focus-visible for task focus styles
  • (tasks) Add parameter to expand comments on a task
  • (tasks) Add support for ParadeDB when searching tasks
  • (tasks) Fetch comments with the task
  • (test) Add benchmark for task search (#963)
  • (test) Add e2e tests for openid (#1178)
  • (ts) Improve module declarations (#957)
  • (user) Add avatar cache flushing (#1041)
  • (user) Use name for initals avatar, not username
  • (webhooks) Expand buckets in webhooks
  • config: store sqlite file relative to rootpath (#934)
  • Add /token/test route (ca98b7d)
  • Add Korean translation for selection (6ee6b2f)
  • Add display setting for dates (#1192) (b444cf8)
  • Add email filter to user list command (#973) (34a5196)
  • Add expand property to read one task (333e35e)
  • Add generic types to multiselect (#2618) (b7fc293)
  • Add install-e2e-binaries input flag for frontend setup composite action (#878) (7d954cd)
  • Add keyboard shortcut to open project from task detail (#940) (9bab44d)
  • Add keyvalue.Remember function (c7a9838)
  • Add logical utils (d290f2e)
  • Add logo change toggle setting (#1031) (bddba86)
  • Add missing peer dependency (ad28703)
  • Add prefix key support to keyvalue store (#1038) (ae92822)
  • Add tailwind with prefix (#2513) (bbfd527)
  • Add team member with enter (#711) (a21430d)
  • Add tonight as a quick add date option (#2866) (8dfb34c)
  • Add utm tag to powered by link (204dccf)
  • Add vite-plugin-vue-devtools (e8a07fc)
  • Align caching and node version (#608) (a245405)
  • Allow setting schema for connection in postgres (#2777) (28d5cd7)
  • Allow to write date via Quick Add Magic in DMY format with dots (#744) (fbec58a)
  • Always add project to webhook payload (70e1fda)
  • Arm 'vue/no-setup-props-reactivity-loss' rule (522f1cb)
  • Auto tls (daa7ad0)
  • Cache docker (#758) (3e540cf)
  • Check configured default timezone on startup (#903) (f070268)
  • Ci env do not track (#859) (91f8df3)
  • Composite action for frontend setup (1deb674)
  • Config for auth providers now use a map instead of an array (05349dd)
  • Consistent sorting (ed5d983)
  • Convert pasted markdown to html so that it is correctly rendered (#3041) (f52a321)
  • Do not load notifications while in the background (c35c70e)
  • Docker layer cache (#808) (865a764)
  • Don't log all headers when debug log is enabled (ea42fef)
  • Downscaled image previews for task attachments (#2541) (75ce261)
  • Enable cors by default for desktop app (#904) (433b8b9)
  • Expand buckets (7f6cb1e)
  • Explicit pnpm ci args (#755) (ac244d3)
  • Generate yml config from json (3c70bd6)
  • HasAttachments as store computed (1f55e3f)
  • Improve ProjectSettingsDelete (e57f04e)
  • Improve ProjectSettingsViews (e8be657)
  • Improve clean-translations script (#964) (9fcede5)
  • Improve docker layers (#803) (75db483)
  • Improve label store (2a6ba7e)
  • Improve priority visibility (d35454c)
  • Improve project edit form (9c115b7)
  • Improve projects store (1e523a1)
  • Inline dynamic component definitions in routes (#2812) (a899933)
  • Install stylelint (504e201)
  • Introduce shared health check logic (#1073) (4d36771)
  • Load any config value from file (c7914bc)
  • Load project in project view (4c972e1)
  • Log request headers when debug logs are enabled (9fc6cdd)
  • Make time reactive (#2627) (cb8fd09)
  • Make used bcrypt rounds configurable (a88124c)
  • Move loading logic from ready to base store (a6644d9)
  • Move to slog for logging (ca83ad1)
  • Move useProjectBackground to composables (44c659a)
  • Only build sourcemaps for sentry (cf6836f)
  • Permalinks for task comments (#2442) (5f9d0fe)
  • Preferably award admin access to project users with write access on user deletion (#2772) (1f76a8b)
  • Reactive flatpicker language (#2628) (79071a1)
  • Remove 'frontend-dependencies' step (1c2cdf9)
  • Remove @vitejs/plugin-legacy (#2921) (cff602c)
  • Remove cypress install (2aeff57)
  • Remove cypress install v2 (#664) (59e2d7e)
  • Remove dedicated test build and preview script (#661) (43c80a6)
  • Remove echo log options - unify with general http logging (62200f6)
  • Remove flexsearch stub types (#756) (ed3b7e1)
  • Remove postcss-easings (194a323)
  • Rename right to permission (#1277) (a81a3ee)
  • Renovate use best-practices (3e0e981)
  • Replace absolute left position with inset-inline-start (a25a4a0)
  • Replace border-bottom with logical properties (5cd256c)
  • Replace border-bottom with logical properties (cdd4e46)
  • Replace border-left with logical properties (55180b6)
  • Replace border-top with logical properties (21943b6)
  • Replace border-top with logical properties (dd199c4)
  • Replace bottom with logical properties (a992488)
  • Replace right with logical properties (0f5e001)
  • Replace top with logical properties (0159ddc)
  • Show frontend version separately if different (#974) (16e1449)
  • Show user export status in settings (#1200) (4042f66)
  • Simplify ProjectView (144571e)
  • Switch from nix flakes to devenv (ad3c5fc)
  • Translate notifications (e11a302)
  • Unify component name (1f56b36)
  • Update no auth image (a5e71ea)
  • Upgrade to pnpm 10 (#616) (b7c9770)
  • Use GitHub actions for build and release (34d6023)
  • Use TipTap starter-kit (140765a)
  • Use hetzner object storage for releases (0472aca)
  • Use implicit naming for project title (d6772a3)
  • Use keyvalue.Remember where it makes sense (fcdcdcf)
  • Use pnpm dedupe (#757) (80f23c6)
  • Use position sticky for demo bar (49fa32a)
  • Use radio button for configMode change (b0b8262)
  • Use sass-embedded (e8bf5e3)
  • Use withDefaults for AssigneeList (811a933)
  • Use withDefaults for Reminders (6990be7)
  • Use withDefaults in Description (#2453) (e9a932e)
  • Validate expand api parameter (bc0c0b1)
  • WithDefaults for Flatpickr (289bb73)
  • WithDefaults for RelatedTasks (70e027a)

Miscellaneous Tasks

  • (attachments) Refactor building image preview
  • (auth) Refactor creating users in openid and ldap
  • (auth) Refactor registration enabled setting in /info
  • (auth) Rename error
  • (auth) Rename external team id find methods
  • (avatar) Decouple upload from web handler
  • (caldav) Refactor fetching projects
  • (ci) Debug crowdin
  • (ci) Debug crowdin
  • (ci) Debug crowdin
  • (ci) Remove drone config
  • (ci) Rename frontend-build step for better naming consistency
  • (ci) Sign drone config
  • (ci) Update s3-action
  • (ci) Use correct git email for automated commits
  • (ci) Use latest s3 action
  • (ci) Use main of s3 action
  • (config) Append .file to config values when reading
  • (config) Migrate config renovate.json (#437)
  • (db) Simplify MultiFieldSearch
  • (desktop) Remove unused connect-history-api-fallback (#948)
  • (dev) Add sass-embedded patchelf script alias to devenv
  • (dev) Add test:all mage command
  • (dev) Add zed tasks
  • (dev) Insert final newline
  • (dev) Replace old fonts when updating
  • (dev) Update devenv
  • (dev) Update gitignore for AI tools
  • (dev) Use latest devenv docker container for devcontainer
  • (dev) Use unstable devenv image for devcontainer (#993)
  • (devenv) Do not install cypress on darwin
  • (docker) Add more files and folders to dockerignore
  • (docker) Use new env format
  • (docs) Clarify usage of related model creation
  • (errors) Always add internal error to echo error
  • (files) Use absolute file path to retrieve and save files
  • (filter) Move FilterInputDocs component
  • (filter) Remove old filter input component
  • (frontend) Enforce tab indentation
  • (frontend) Migrate vue component options (#917)
  • (i18n) Improve overdue task emails translation
  • (i18n) Update translations via Crowdin
  • (logging) Simplify log template string
  • (magefile) Use tx.Sync instead of Sync2
  • (openid) Add more debug logging when retrieving token
  • (openid) Move openid team struct to openid package
  • (openid) Use general external team sync
  • (plugins) Ignore plugins dev folder
  • (project) Do not use fmt.Sprintf directly
  • (projects) Only pass users to checks
  • (renovate) Update github actions only once a month
  • (subscription) Return subscription entity type using json Marshaler
  • (tasks) Add more details to error message
  • (tasks) Add more details to error message
  • (tasks) Move drag options to direct attributes instead of v-bind
  • (test) Cleanup and improve e2e tests
  • (typesense) Add more debug logging
  • (user) Refactor invalidating upload avatar cache
  • (utils) Remove deprecated MakeRandomString function
  • (web) Always set internal error
  • (web) Directly use new db session
  • (web) Move web handler package to Vikunja
  • (web) Remove redundant use of fmt.Sprintf
  • (web) Remove unused echo context
  • (web) Use config directly
  • (web) Use errors.As instead of type assertion
  • (web) Use logger directly
  • (web) Use web auth factory directly
  • (webhook) Refactor reloading event data
  • 0.24.2 release preperations (b031c97)
  • 0.24.3 release preperation (7329029)
  • 0.24.4 release preperation (ca048d0)
  • 0.24.5 release preperation (3c13d3b)
  • Add Bug type to bug issue template (9cef2c4)
  • Add dateFrom and dateTo props with undefined defaults in ShowTasks component (0a1a67f)
  • Add debug logging around provider failure (bbd3567)
  • Add go and direnv to recommended vscode extensions (89f78cd)
  • Add missing eof newlines (#969) (5b9d4fc)
  • Add more debug logging when returning error (4ea3c01)
  • Adjust comment about bucketless tasks (#1004) (57dfdc5)
  • Allow v-html in FilterInput (1830695)
  • Cleanup (e1893ff)
  • Cleanup unused helper (22579df)
  • Correctly set default for prop in ReminderDetail (1be0c96)
  • Dedupe pnpm packages (#877) (51044a9)
  • Disable eslint rule for v-html in ProjectInfo component (12e1a90)
  • Disable vue/no-boolean-default lint rule (7368f5c)
  • Do not set default for required prop in EditAssignees (cd9e5bd)
  • Do not set default for required prop in EditLabels (7fe17b1)
  • Do not set default for required value in Attachments (80a54ec)
  • Do not set default for required value in DatePickerWithValues (a50fa13)
  • Do not set default for required value in Datepicker (10161c0)
  • Do not set default for required value in DatepickerInline (9d1750f)
  • Do not set default for required value in FancyCheckbox (886ab6b)
  • Do not set default for required value in Multiselect (9edabb8)
  • Do not set default for required value in PriorityLabel (c71084d)
  • Do not set default for required value in ProjectCardGrid (b6435ad)
  • Do not set default for required value in Subscription (4e6a272)
  • Do not set defaults for required props in Heading (93d2021)
  • Do not set defaults for required props in RelatedTasks (a71b6b6)
  • Enable debugging workaround in devenv (92c58ab)
  • Explicit function origin (#2945) (f76970b)
  • Fix comment (1f3eb8f)
  • Fix indentation (454418e)
  • Improve cypress factory types (59aca9f)
  • Improve debug logging (e9d9f04)
  • Improve error message (bc5fd38)
  • Increase healthcheck interval (675985b)
  • Make disabled prop optional in RepeatAfter component (7beec2e)
  • Make prop optional in Comments (60fcc67)
  • Make prop optional in Datepicker (fcaf5ab)
  • Make prop optional in Flatpickr (22c1fa2)
  • Make prop optional in PaginationEmit (359b75f)
  • Make prop with default value optional in KanbanCard (a8d60a4)
  • Migrate eslint config (b601671)
  • Rearrange cron registers (4b2b8e3)
  • Refactor searching for link shares (a571d42)
  • Release preparation (f16cd8d)
  • Remove SelectProject component since it is not used (6c85d12)
  • Remove browserslist:update script (#660) (027240f)
  • Remove bulma spacing utiltities (9e1ae2c)
  • Remove console.log (76f7797)
  • Remove console.log (a110543)
  • Remove default healthcheck in docker (e56a01f)
  • Remove default value for prop in Description (edc60c7)
  • Remove deprecated config settings (3509f1b)
  • Remove lodash.debounce (bcd306b)
  • Remove obsolete prop (866a179)
  • Remove the option modern-compiler (8f5be72)
  • Remove unnecessary type prop from user share components in ProjectSettingsShare (2f671ac)
  • Remove unused component (5539591)
  • Remove unused rushstack eslint patch (d4a5d1e)
  • Rename API test suites (#938) (6671ce3)
  • Rename user_id field to username (2fd3046)
  • Replace all uses of bucket_id with the const (d81f2db)
  • Set default prop value for Filters (15530fc)
  • Set default values for optional props in Multiselect (de26f32)
  • Set default values for optional props in Password (ae0e893)
  • Simplify sentry code (8732837)
  • Use bulma sr-only styles instead of tailwind's (5a406b2)
  • Use nixpkgs unstable for more recent packages (1d62461)
  • Use ref for new comment value (a99518c)

Other

  • (other) "feat: remove cypress install"
  • (other) Add Issuer and Subject to user list command (#3063)
  • (other) Add healthcheck command (#2856)
  • (other) Allow filtering tests from mage (#1072)
  • (other) Fixes typo in config comment: wheter --> whether (#673)
  • (other) Remove concurrency from test workflow (#863)
  • (other) Revert "feat: improve docker layers (#803)"
  • (other) [skip ci] Updated swagger docs

Refactor

  • Use query parameter only when looking for password reset token (3658cde)
  • Move test (510b1f2)
  • Schedule user deletion (9acba7a)

[0.24.6] - 2024-12-22

Bug Fixes

  • (export) Update only current user export file id

[0.24.5] - 2024-11-21

Bug Fixes

  • (attachments) Check permissions when accessing all attachments
  • (saved filters) Check permissions when accessing tasks of a filter
  • Pin xgo to 1.22.x (87b2aac)
  • Upgrade xgo (19b63c8)
  • Upgrade xgo docker image everywhere (04b40f8)
  • (ci) Do not build linux 368 docker images
  • Disable 368 releases (73db10f)
    • BREAKING: disable 368 releases

Miscellaneous Tasks

[0.24.4] - 2024-09-29

Bug Fixes

  • (attachment) Do not use image previews
  • (checkbox) Use sibling css selector instead of has
  • (files) Only use service rootpath for files when the files path is not absolute
  • (filters) Explicitly search in json when using postgres
  • (task) Paginate task comments
  • (task) Do not show close button when the task was not opened via modal
  • (task) Improve task delete modal on mobile
  • (test) Use correct selector for modal header
  • Partial fix to allow list tasks in ios reminders app (#2717)
  • (attachments) Revert "chore(attachments): refactor building image preview"

Dependencies

  • (deps) Update desktop lockfile
  • (deps) Update dependency vue to v3.5.7
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue-i18n to v10.0.2
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue to v3.5.8
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v5.1.0
  • (deps) Update dependency vue-i18n to v10.0.3
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v5.2.0
  • (deps) Update dependency @sentry/vue to v8.31.0
  • (deps) Update dependency tailwindcss to v3.4.13
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dependency @sentry/vue to v8.32.0
  • (deps) Update tiptap to v2.7.3
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue to v3.5.9
  • (deps) Update dependency dompurify to v3.1.7
  • (deps) Update tiptap to v2.7.4
  • (deps) Update dependency vue to v3.5.10
  • (deps) Update dev-dependencies

[0.24.3] - 2024-09-20

Bug Fixes

  • (a11y) Hide unfocusable buttons
  • (api) Return 404 response when using a token and the route does not exist
  • (auth) Restrict max password length to 72 bytes
  • (caldav) Make sure colors are correctly saved and returned
  • (caldav) Reject invalid project id with error 400
  • (editor) Restore the current value, not the one from a previous task
  • (files) Use absolute path everywhere
  • (filter) Do not replace labels keyword when the value is 'label'
  • (filter) Make sure tasks are in a correct bucket and position when they are part of a date filter
  • (filters) Immediately propagate changes
  • (filters) Do not replace filter or project values when the id value resolves to undefined
  • (filters) Correctly transform and populate saved filter when creating and editing
  • (home) Explicitly use filter for tasks on home page when one is set
  • (kanban) Save updated position to store
  • (kanban) Make task creation loading spinner actually visible
  • (kanban) Make kanban full width on mobile
  • (kanban) Do not mark first bucked as done bucket in filter bucket mode
  • (kanban) Correctly paginate filtered kanban buckets
  • (label) Ignore existing ID during creation
  • (labels) Trigger task.updated event when removing a label from a task
  • (labels) Test error assertion
  • (labels) Remove input interactivity when label edit is disabled
  • (labels) Trigger task updated for bulk label task update
  • (modal) Make sure modal and its content scrolls properly on mobile
  • (modal) Do not prevent scrolling on mobile
  • (modal) Make scrolling on iOS Safari work
  • (multiselect) Make selectPlaceholder optional
  • (notifications) Only add project subscription as task subscription when the user is not already subscribed to the task
  • (password) Validate password before sending request to api
  • (project) Show description in title attribute without html
  • (project) Reset id before creating
  • (projects) Do not hide 6th project on project overview
  • (projects) Description not visible on mobile
  • (reminders) Notify subscribed users as well
  • (service worker) Use correct workbox version
  • (subscription) Always return task subscription when subscribed to task and project
  • (subscriptions) Ignore task subscription when the user is subscribed to the project
  • (subscriptions) Correctly inherit subscriptions
  • (subscriptions) Cleanup and simplify fetching subscribers for tasks and projects logic
  • (subscriptions) Do not panic when a task does not have a subscription
  • (table) Make sorting for two-word properties work
  • (task) Set done at date when moving a task to the done bucket
  • (task) Specify task index when creating multiple tasks at once
  • (task) Cyclomatic complexity
  • (task) Make print styles work when printing task detail view from kanban
  • (task) Multiple overlapping defer due date popups
  • (task) Align task title on mobile popup
  • (task) Dragging and dropping on mobile
  • (task) Add task to filter view after it was updated
  • (task) Cleanup old task positions and task buckets when adding an updated or created task to filter
  • (task) Mark related task as done from the task detail view
  • (task) Open focused task when pressing enter
  • (test) Cypress test selector
  • (typesense) Only fail silently when a project was not found during indexing
  • (typesense) Add new tasks to typesense properly
  • (typesense) Make sure task positions are recreated properly when updating them
  • (typesense) Use emplace instead of upsert to update documents
  • (typesense) Index tasks one by one
  • (typesense) Force position to always be float instead of auto-inferring
  • (typesense) Use typesense bulk insert, log all errors
  • (user) Do not create user with existing id
  • (view) Do not crash when saving a view
  • (view) Correctly resolve label for filtered views or buckets
  • (view) Correctly resolve bucket filter when paginating
  • (view) Correctly get paginated task results
  • (views) Add migration for filtered kanban buckets* Lint (53d62d3)
  • Reset id before creating (93f7dd6)
  • Test selector (063aa7a)

Dependencies

  • (deps) Update dependency @intlify/unplugin-vue-i18n to v5
  • (deps) Update dependency @kyvg/vue3-notification to v3.3.0
  • (deps) Update dependency @sentry/vue to v8.28.0
  • (deps) Update dependency @sentry/vue to v8.29.0
  • (deps) Update dependency @sentry/vue to v8.30.0
  • (deps) Update dependency axios to v1.7.7
  • (deps) Update dependency date-fns to v4
  • (deps) Update dependency dayjs to v1.11.13
  • (deps) Update dependency express to v4.20.0
  • (deps) Update dependency express to v4.21.0
  • (deps) Update dependency go to v1.23.1
  • (deps) Update dependency pinia to v2.2.2
  • (deps) Update dependency sortablejs to v1.15.3
  • (deps) Update dependency tailwindcss to v3.4.10
  • (deps) Update dependency tailwindcss to v3.4.11
  • (deps) Update dependency tailwindcss to v3.4.12
  • (deps) Update dependency vue to v3.5.3
  • (deps) Update dependency vue to v3.5.4
  • (deps) Update dependency vue to v3.5.5
  • (deps) Update dependency vue to v3.5.6
  • (deps) Update dependency vue-i18n to v10
  • (deps) Update dependency vue-i18n to v10.0.1
  • (deps) Update dependency vue-i18n to v9.14.0
  • (deps) Update dependency vue-router to v4.4.3
  • (deps) Update dependency vue-router to v4.4.4
  • (deps) Update dependency vue-router to v4.4.5
  • (deps) Update dependency vuemoji-picker to v0.3.1* Chore(deps): update goreleaser/nfpm docker tag to v2.40.0 (#2647)
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update github.com/wneessen/go-mail to v0.4.4
  • (deps) Update golangci
  • (deps) Update module dario.cat/mergo to v1.0.1
  • (deps) Update module github.com/gabriel-vasile/mimetype to v1.4.5
  • (deps) Update module github.com/getsentry/sentry-go to v0.29.0
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.23
  • (deps) Update module github.com/prometheus/client_golang to v1.20.3
  • (deps) Update module github.com/prometheus/client_golang to v1.20.4
  • (deps) Update module github.com/redis/go-redis/v9 to v9.6.1
  • (deps) Update module github.com/threedotslabs/watermill to v1.3.7
  • (deps) Update module github.com/typesense/typesense-go to v2
  • (deps) Update module github.com/typesense/typesense-go to v2
  • (deps) Update module golang.org/x/crypto to v0.27.0
  • (deps) Update module golang.org/x/image to v0.20.0
  • (deps) Update module golang.org/x/oauth2 to v0.23.0
  • (deps) Update module golang.org/x/term to v0.24.0
  • (deps) Update module golang.org/x/text to v0.18.0
  • (deps) Update pnpm to v9.10.0
  • (deps) Update tiptap to 2.6.6
  • (deps) Update tiptap to v2.7.0
  • (deps) Update tiptap to v2.7.1
  • (deps) Update tiptap to v2.7.2
  • (deps) Update vueuse to v11
  • (deps) Update vueuse to v11.1.0
  • (deps): update dependency flexsearch to v0.7.43 (#2095)
  • (deps): update golangci/golangci-lint docker tag to v1.61.0 (#2678)

Documentation

  • (api) Use correct return type for the /user endpoint

Features

  • (event) Simplify dispatching task updated event from only a task id
  • (navigation) Use focus-visible for nav items
  • (task) Use focus-visible for task focus styles

Miscellaneous Tasks

  • (attachments) Refactor building image preview
  • (devenv) Do not install cypress on darwin
  • (docker) Use new env format
  • (docs) Clarify usage of related model creation
  • (errors) Always add internal error to echo error
  • (files) Use absolute file path to retrieve and save files
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (logging) Simplify log template string
  • (magefile) Use tx.Sync instead of Sync2
  • (subscription) Return subscription entity type using json Marshaler
  • (tasks) Move drag options to direct attributes instead of v-bind
  • (typesense) Add more debug logging
  • (web) Move web handler package to Vikunja
  • (web) Remove unused echo context
  • (web) Use errors.As instead of type assertion
  • (web) Remove redundant use of fmt.Sprintf
  • (web) Directly use new db session
  • (web) Use config directly
  • (web) Use web auth factory directly
  • (web) Use logger directly
  • (web) Always set internal error* Remove console.log (40105ee)
  • Fix comment (1df4a4e)
  • Add go and direnv to recommended vscode extensions (6ab12b9)
  • Remove console.log (1e7d9c9)
  • Rearrange cron registers (4857bfb)

Other

  • (other) [skip ci] Updated swagger docs

[0.24.2] - 2024-08-12

Bug Fixes

  • (i18n) Change casing of Ukrainian language in selector
  • (kanban) Always make cover image full width
  • (mail) Do not fail testmail command when the connection could not be closed.
  • (migration) Make sure tasks are associated to the correct view and bucket for data imported from Vikunja dump
  • (migration) Ensure project background gets exported and imported
  • (projects) Trigger only single mutation
  • (task) Do not allow moving a task to the project the task already belongs to
  • (task) Set current project after moving a task
  • (task) Move task into new kanban bucket when moving between projects
  • (views) Do not create task bucket and task position entries when duplicating a project* Emit for DatepickerWithValues (3aaf363)
  • Textarea autosize for LanguageTool (d9f5555)
  • Remove console log (0ca43dc)

Dependencies

  • (deps) Update module github.com/coreos/go-oidc/v3 to v3.11.0
  • (deps) Update flake
  • (deps) Update go toolchain to 1.22.5
  • (deps) Update dependency node to v20.16.0

Documentation

  • Clarify Todoist redirect url (7117303)

Features

  • (editor) Support custom protocol for links* Use withDefaults for Reminders (8729c24)
  • Improve projects store (d707e15)
  • Improve label store (a0e3efe)
  • Improve priority visibility (dddba4d)
  • Add tailwind with prefix (#2513) (d7c5451)
  • Improve ProjectSettingsViews (811ccc1)
  • Add missing peer dependency (d586f69)
  • Switch from nix flakes to devenv (73f923b)

Miscellaneous Tasks

  • (i18n) Update translations via Crowdin
  • Remove lodash.debounce (fc780a9)
  • Improve error message (6e38bcf)
  • Use nixpkgs unstable for more recent packages (f5040ad)

Other

  • (other) [skip ci] Updated swagger docs

[0.24.1] - 2024-07-18

Bug Fixes

  • (api tokens) Show error message when the user tries to create an api token without at least one permission selected
  • (filter) Make sure filter values are properly escaped before executing them
  • (filters) Add task to buckets of saved filters when creating the task
  • (filters) Add tasks to filter buckets when updating the filter
  • (filters) Do not create a default filter for list view when creating a saved filter
  • (filters) Immediately emit filter query when editing saved filter
  • (filters) Make sure filters are replaced case-insensitively before filtering on the server
  • (filters) Only insert task buckets and positions when there are any
  • (filters) Reload tasks silently when marking one done in the list
  • (filters) Show actual error message from api when the filter query is invalid
  • (filters) Trim spaces when parsing filter values
  • (kanban) Dispatch task updated event when task is moved between buckets
  • (kanban) Dispatch task updated event when task position is updated
  • (kanban) Do not allow to create new tasks in saved filter
  • (kanban) Do not move repeating task into a different bucket
  • (kanban) Make sure tasks which changed their done status are moved around in buckets
  • (kanban) Move repeating task back to old bucket when moved to the done bucket
  • (kanban) Move task to done bucket in all views when moved to done bucket in one view
  • (kanban) Move task to done bucket when it was marked done from the task detail view
  • (kanban) Put task into correct bucket when creating via kanban board
  • (kanban) Update task done status after moving it into done bucket
  • (kanban) Use correct assertion in the test
  • (kanban) Use correct text color for deletion button
  • (migration) Correctly set bucket for related tasks
  • (migration) Failed migration typo
  • (migration) Revert to old path for migration routing
  • (project) Do not use project id of nil project in error
  • (projects) Do not create backlog bucket when duplicating views
  • (projects) Do not create buckets in the original project when duplicating a project
  • (quick add magic) Create the task even when it only contains quick add magic keywords
  • (settings) Overflow of select on mobile
  • (task) Use backdropView prop
  • (tasks) Do not use typesense modified options to search with database
  • (tasks) Explicitly add task position to select statement when looking up tasks with Typesense
  • (tasks) Limit to max 250 entries when using typesense
  • (translation) TOTP casing
  • (typesense) Do not crash after creating a project when tasks are not yet indexed
  • (typesense) Do not use modified opts for db fallback search
  • (typesense) Reindex tasks when their position changed
  • (vscode) I18n-ally locales path* ProjectSearch default value (f08039b)
  • Add info log message when starting to run migrations (5e36bf7)
  • Add missing disabled prop (ed0ef38)
  • App bottom padding (51660f7)
  • Disable button if loading (a721d92)
  • Dropdown item disabled prop (3317280)
  • Gitignore dist path (7ef6ddf)
  • Lint (7c42fb5)
  • Missing error handling (744b40e)
  • Muliselect optional props (0a81855)
  • Reorder mail options (#2533) (136ef58)
  • Scss deprecation warning (db81701)
  • Spelling mail (2dc5415)
  • Wrapped button (af639a1)

Dependencies

  • (deps) Update dependency @github/hotkey to v3.1.1 (#2329)
  • (deps) Update dependency @sentry/vue to v8.14.0
  • (deps) Update dependency @sentry/vue to v8.15.0
  • (deps) Update dependency @sentry/vue to v8.17.0
  • (deps) Update dependency @sentry/vue to v8.18.0
  • (deps) Update dependency dayjs to v1.11.12
  • (deps) Update dependency dompurify to v3.1.6
  • (deps) Update dependency ufo to v1.5.4
  • (deps) Update dependency vue to v3.4.32
  • (deps) Update dependency vue-tsc to v2.0.26
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update flake
  • (deps) Update font awesome to v6.6.0
  • (deps) Update goreleaser/nfpm docker tag to v2.38.0
  • (deps) Update module github.com/arran4/golang-ical to v0.3.1 (#2606)
  • (deps) Update module github.com/microcosm-cc/bluemonday to v1.0.27
  • (deps) Update module golang.org/x/crypto to v0.25.0
  • (deps) Update module golang.org/x/term to v0.22.0
  • (deps) Update pnpm to v9.5.0
  • (deps) Update tiptap to v2.5.4

Features

  • (Multiselect) Hide multiselect during loading
  • (project) Add " - duplicate" suffix to duplicated projects title* Move powered by to bottom (f9e0b43)
  • Add withDefaults and emit types to PrioritySelect (aaa2abc)
  • Add withDefaults, defineEmits and defineSlots types for Dropdown (5545b0e)
  • Define prop and emit types DatepickerWithRange (daeefeb)
  • Define prop and emit types for FilterPopup (9d2e79f)
  • DefineModel and withDefaults for PercentDoneSelect (8ac0eb4)
  • Improve BaseButtonEmits type (c37fe49)
  • Improve main nav spacing and open speed (faa797f)
  • Improve settings label casing (20efacf)
  • Remove PropTypes helper from FilePreview (0bc1832)
  • Remove PropTypes helper from ProjectInfo (8ad7e7c)
  • Remove PropTypes helper from ProjectSettingsEdit (85889ff)
  • Remove eslint rule vue/no-required-prop-with-default (df1f805)
  • Remove props destructuring ProjectSettingsViews (20bdb01)
  • Remove props destructuring for DeferTask (46aa2ff)
  • Remove props destructuring for Filters (3ff56d7)
  • Remove props destructuring for ProjectView (553a97f)
  • Remove props destructuring for ProjectWrapper (38744df)
  • Remove props destructuring from Attachments (07130bd)
  • Remove props destructuring from ColorPicker (eb07be1)
  • Remove props destructuring from FilterDelete (825d1ad)
  • Remove props destructuring from FilterEdit (449e9a9)
  • Remove props destructuring from FilterInput (fd6692e)
  • Remove props destructuring from KanbanCard (ddc18aa)
  • Remove props destructuring from NoAuthWrapper (c9591fe)
  • Remove props destructuring from ProjectKanban (5af908b)
  • Remove props destructuring from ProjectList (0c70aed)
  • Remove props destructuring from ProjectTable (99e90c0)
  • Remove props destructuring from ShowTasks (d02c349)
  • Remove props destructuring from SingleTaskInProject (a15831e)
  • Remove props destructuring from TaskDetailView (a10f9ca)
  • Remove props destructuring from ViewEditForm (2f92e40)
  • Remove unnecessary prop from Card (1eb1aa2)
  • Rename TheNavigation to AppHeader (43e38fa)
  • Simplify playPopSound setting check (42c458a)
  • Type defineEmits for ApiConfig (1966cc3)
  • Type defineEmits for Card (043a6dd)
  • Type defineEmits for CreateEdit (098c99f)
  • Type defineEmits for Heading (fd3f1de)
  • Type defineEmits for ProjectSearch (f38a5c9)
  • Use withDefaults for Comments (f19f19b)
  • Use withDefaults for DateTableCell (f586e51)
  • Use withDefaults for Datepicker (78811d9)
  • Use withDefaults for DatepickerInline (df6a9b6)
  • Use withDefaults for DatepickerWithValues (cb70641)
  • Use withDefaults for EditLabels (6e72606)
  • Use withDefaults for FancyCheckbox (b4e9d94)
  • Use withDefaults for Heading (5cf57a5)
  • Use withDefaults for Pagination (1083216)
  • Use withDefaults for Password (577f5ae)
  • Use withDefaults for PriorityLabel (871e0ac)
  • Use withDefaults for ProgressBar (2f63384)
  • Use withDefaults for ProjectCardGrid (479b786)
  • Use withDefaults for Reactions (d6c3b5a)
  • Use withDefaults for ReminderPeriod (4b9b9da)
  • Use withDefaults for RepeatAfter (c8585d1)
  • Use withDefaults for SelectProject (fd12c87)
  • Use withDefaults for SelectUser (b500981)
  • Use withDefaults for Subscription (30769fb)
  • Use withDefaults for UserTeam (f2fdbad)
  • Use withDefaults in ReminderDetail (a56331d)
  • WithDefaults for EditAssignees (f1481d7)
  • WithDefaults for Multiselect (413d1f9)

Miscellaneous Tasks

  • (i18n) Update translations via Crowdin
  • (popup) Trigger close function directly
  • (project) Rename receiver
  • 0.24.0 release preparations (0b14c31)
  • Go mod tidy (e640149)
  • Update golangci lint config (d2602a7)
  • (other) [skip ci] Updated swagger docs

[0.24.0] - 2024-07-02

Bug Fixes

  • (BaseButton) Comment spelling (#2348)
  • (assignees) Spacing of users
  • (attachment) Correct spacing around creation date
  • (auth) Test assertion
  • (auth) Use (issuer, name) to check for uniqueness of oidc teams (#2152)
  • (auth) Log user out when the current account does not exist
  • (backgrounds) Return full project after uploading image
  • (buckets) Return correct task count for tasks in buckets
  • (caldav) Return more than 1000 tasks
  • (caldav) Check if vtodo contains any components
  • (caldav) Do not crash for wrong parameters
  • (ci) Enable cors for api testing
  • (ci) Use correct docker image for frontend testing
  • (ci) Use correct docker image
  • (ci) Use correct docker image for desktop rename
  • (ci) Correctly set shell for rename command
  • (ci) Escape bash script for drone variable substitution
  • (ci) Run test db in memory
  • (ci) Sign drone config
  • (ci) Exclude tasks from cron runs
  • (comments) Order comments by created timestamp instead of id
  • (comments) Do not use whitespace as gap
  • (datepicker) Emit date value changes as soon as they happen
  • (datepicker) Make the date format in the picker consistent with the input field
  • (db migration) Do not try to create a unique index
  • (docker) Don't install cypress in docker image
  • (docs) Openid docs whitespace formatting (#2186)
  • (docs) Typos
  • (docs) Correctly document filter query usage
  • (dump) Do not export files which do not exist in storage
  • (dump) Only allow imports from the same version they were dumped on
  • (editor) Ensure task list clicks are only fired once
  • (editor) Set default id of tasklist items
  • (editor) Revert task list dependence on ids
  • (editor) Don't allow image upload when it's not possible to do it
  • (editor) Do not use Tiptap to open links when clicking on them, use the browser native attributes instead
  • (editor) Do not prevent shift+enter to add a line break in text
  • (editor) Use colors from color scheme to render table cells
  • (export) Make export work with project views and new task positions
  • (extensions) Remove typescript-vue-plugin from recommendations (#2353)
  • (favorites) Make favorites work with configurable views
  • (favorites) Allow marking favorite tasks as done from favorites pseudo project
  • (filter) Make sure single filter condition works
  • (filter) Don't crash on empty filter
  • (filter) Allow filtering on "in" condition
  • (filter) Allow filtering for "project"
  • (filter) Translate all tests
  • (filter) Correctly filter for buckets
  • (filter) Add role=search to filter card
  • (filter) Correctly pass down options
  • (filter) Bubble filter query changes up on blur only
  • (filter) Don't transform anything when input is empty
  • (filter) Correctly replace project title in filter query
  • (filter) Do not match join operator
  • (filter) Do not show filter footer when creating a filter
  • (filter) Add white background to filter input
  • (filter) Make sure highlight works for doneAt attribute
  • (filter) Move spaces out of button to after the matched filter value to prevent removal of spaces
  • (filter) Clarify in filter syntax
  • (filter) Trim search term before searching
  • (filter) Do not add enter in input field
  • (filters) Lint
  • (filters) Use readable colors for dark and light mode
  • (filters) Date filter value not populated
  • (filters) Make the button look less like a button to avoid spacing problems
  • (filters) Color
  • (filters) Make sure spaces before and after are not removed
  • (filters) Pass correct filter query to kanban and gantt loading
  • (filters) Swagger docs for kanban buckets
  • (filters) Correctly use filter in saved filter
  • (filters) Remove footer when editing a saved filter
  • (filters) Layout problems with assignee user avatar
  • (filters) Lint
  • (filters) Close filter popup when clicking on show results
  • (filters) Test fixture
  • (filters) Correctly use date filters in gantt chart
  • (filters) Do not require string for in comparator
  • (filters) Parse labels and projects correctly when using in filter operator
  • (filters) Label highlighting and autocomplete fields now work with in operator
  • (filters) Don't escape valid escaped in queries
  • (filters) Invalid filter range when converting dates to strings
  • (filters) Replace project titles at the match position, not anywhere in the filter string
  • (filters) Set default filter value to only undone tasks
  • (filters) Rework filter popup button
  • (filters) Lint
  • (filters) Persist filters in url
  • (filters) Do not fire filter change immediately
  • (filters) Do not watch debounced
  • (filters) Correctly return project from filter
  • (filters) Correctly replace values when clicking on an autocomplete result
  • (filters) Clear autocomplete results when starting the next character
  • (filters) Make sure the same filter attribute is transformed in all instances
  • (filters) Enclose values with a slash in them as strings so that date math values work
  • (filters) Always show filter values in a readable color
  • (filters) Always persist filter or search in query path and load it correctly into filter query input when loading the page
  • (filters) Explicitly use tasks.id as task id filter column
  • (filters) Do not match partial labels
  • (filters) Allow managing views for saved filters
  • (gantt) Use color variables for gantt header so that it works in dark mode
  • (gantt) Correctly show day in chart
  • (i18n) Use correct title for background settings menu
  • (i18n) Clarify from current date string
  • (i18n) Typo
  • (i18n) Adjust tests from 34780daab0
  • (i18n) Remove duplicate key
  • (kanban) Pass active filters down to task lazy loading
  • (kanban) Reset done and default bucket when the bucket itself is deleted
  • (kanban) Do not use the bucket id saved on the task
  • (kanban) Remove unused function
  • (kanban) Make sure all saved taskBucket positions are saved with their project view id
  • (kanban) Save done and default bucket on the view and not on the project
  • (kanban) Do not focus kanban board
  • (kanban) Do not add bottom spacing to view
  • (kanban) Do not focus on task list in bucket when clicking on a task
  • (kanban) Fetch project and view when checking permissions
  • (kanban) Remove leftovers of kanban_position property
  • (labels) Make sure labels are aligned in the middle
  • (labels) Allow link shares to add existing labels to a task
  • (logo) Use correct month for pride logo change
  • (logo) Add width and height to pride logo svg
  • (metrics) Typo
  • (migration) Make sure to correctly check if a migration was already running
  • (migration) Do not halt the whole migration when copying a background file failed
  • (migration) Show correct help message when a migration was started
  • (migration) Do not expire trello token
  • (migration) Convert trello card descriptions from markdown to html
  • (migration) Trello checklists (#2140)
  • (migration) Updated Trello color map to import all labels (#2178)
  • (migration) Import card covers when migrating from Trello
  • (migration) Only download uploaded attachments
  • (migration) Show correct message after starting a migration
  • (migration) Trello: only fetch attachments when the card actually has attachments
  • (migration) Import card comments from Trello when migrating
  • (migration) Invalid field in organization struct
  • (migration) Import task comments with original timestamps
  • (migration) Remove buckets table name when dropping index
  • (migration) Ensure tasks are put into the correct bucket when migrating from todoist
  • (migration) Put "Import from other services" in settings
  • (modal) Do not set p in modal card as flex
  • (navigation) Do not hide shadows of dropdown menu
  • (navigation) Scrolling when many projects are present
  • (notifications) Only sanitze html content in notifications, do not convert it to markdown
  • (notifications) Rendering of plaintext mails
  • (openid) OIDC teams should not have admins (#2161)
  • (password) Don't validate password min length on login page
  • (pnpm) Remove obsolete settings
  • (project) Don't allow archival or deletion of default projects in UI
  • (project) Check for project nesting cycles with a single recursive cte instead of a loop
  • (project) Typo in table name
  • (project) Correctly show the number of tasks and projects when deleting a project
  • (project) Load full project after creating a project
  • (project) Save the last 6 projects in history, show only 5 on desktop
  • (project) Return the full project when setting a background
  • (project) Remove child projects from state when deleting a project
  • (project) Do not crash when views were not loaded yet
  • (project) Delete all related entities when deleting a project
  • (project) Do not crash when duplicating a project with no tasks
  • (project) Return full project after duplicating it
  • (project) Add more spacing between filter button and view switcher on mobile
  • (project) Bottom spacing in list view
  • (project) Make sure gantt and kanban views shared with link share are full width
  • (project) Do not remove project from navigation after removing background image
  • (project) Show "remove background" button only when the project has a background set
  • (projects) Return correct project pagination count
  • (projects) Load all projects when first opening Vikunja
  • (projects) Load projects only one when fetching subscriptions for a bunch of projects at once
  • (projects) Remove done bucket id field from projects struct
  • (projects) Allow arbitrary nesting of new projects
  • (projects) Do not return parent project id of parents where the user does not have access
  • (projects) Do not return parent project id when authenticating as link share
  • (quick actions) Do not allow creating a task when the current project is a saved filter
  • (quick add magic) Parse full month name as month, do not replace only the abbreviation
  • (quick add magic) Assume today when no date was specified with time
  • (reactions) Do not enable reaction picker when the current user does not have write access
  • (reminder) Do not close the popup directly after changing the value
  • (reminders) Emit reminder changes at the correct time (and make sure they are actually emitted)
  • (reminders) Make debounce logic actually work
  • (reminders) Do not fall back to hours when the reminder interval is minutes
  • (reminders) Do not show relative reminders as minutes when they round to hours
  • (restore) Transform json fields during restore
  • (semver) Fix produced version number (#2378)
  • (sentry) Send unwrapped error to sentry instead of http error
  • (sentry) Do not send api errors to sentry
  • (sharing) Show user display name and avatar when displaying search results
  • (table view) Do not sort table column fields when the field in question is hidden
  • (task) Move done tasks to the done bucket when they are moved between projects and the new project has a done bucket
  • (task) Navigate back to project when the project was the last page in the history the user visited
  • (task) Clear timeout for description save when closing the task detail
  • (task) Do not crash when loading a task if parent projects are not loaded
  • (task) Show repeating indicator in task list for monthly repeating tasks
  • (task) Only count unique tasks in a bucket when checking bucket limit
  • (task) Do not require admin permission to move tasks between buckets
  • (task) Do not try to set bucket for filtered bucket configuration
  • (task) Show correct success message when marking a repeating task as done
  • (task) Do not move task dates when undoing a repeated task
  • (tasklist) Migrate old tasklist format
  • (tasks) Sort done tasks last in relations
  • (tasks) Correctly show different project in related tasks
  • (tasks) Use correct filter query when filtering
  • (tasks) Index and order by task position when using typesense
  • (tasks) Make fetching tasks in buckets via typesense work
  • (tasks) Ambiguous column name error when fetching favorite tasks
  • (tasks) Do not crash when order by id and position
  • (tasks) Tests
  • (tasks) Clarify usage of repeating modes available in quick add magic.
  • (teams) Use the same color for border between teams in list
  • (teams) Do not show leave button for OIDC teams (#2181)
  • (teams) Fix duplicate teams being shown when new public team visibility feature is enabled (#2187)
  • (test) Use correct selector in Cypress test
  • (test) Correctly mock localstorage in unit tests
  • (test) Visit one more project in project history test
  • (test) Add task to bucket in test
  • (test) Cast result before comparing
  • (tests) Make filter tests work again
  • (tests) Do not try to create tasks with bucket_id
  • (ts) Align with create-vue setup
  • (typesense) Fix reindexing views and positions in typesense
  • (typesense) Make fetching task positions per view more efficient
  • (typesense) Correctly incorporate existing filter when it is empty
  • (typesense) Only return distinct tasks once
  • (typesense) Correctly join task position table when sorting by it
  • (typesense) Do not try to sort by position when searching in a saved filter
  • (typesense) Correctly index assignee changes on tasks
  • (views) Correctly fetch project when fetching tasks
  • (views) Do not break filters when combining them with view filters
  • (views) Make gantt view load tasks again
  • (views) Make table view load tasks again
  • (views) Make fetching tasks in kanban buckets through view actually work
  • (views) Fetch buckets through view
  • (views) Return tasks in their buckets
  • (views) Return buckets when fetching tasks via kanban view
  • (views) Return tasks directly or in buckets, no matter if accessing via user or link share
  • (views) Make no initial view work in the frontend
  • (views) Move to new project view when moving tasks
  • (views) Do not load views async
  • (views) Get tasks in saved filter
  • (views) Make setting task position in saved filters work
  • (views) Make bucket creation work again
  • (views) Make bucket edit work
  • (views) Do not return kanban tasks multiple times
  • (views) Make parsing work
  • (views) View deletion
  • (views) Create view
  • (views) Set correct default view
  • (views) Set current project after modifying views
  • (views) Make kanban tests work again
  • (views) Move all tasks to the default bucket when deleting a bucket
  • (views) Duplicate all views and related entities when duplicating a project
  • (views) Update test fixtures for new structure
  • (views) Test assertions
  • (views) Count task buckets
  • (views) Return correct error
  • (views) Integration tests
  • (views) Import
  • (views) Lint
  • (views) Lint
  • (views) Make tests for project history kind of work again
  • (views) Tests for kanban and gantt views
  • (views) Correctly pass project id when loading more tasks in kanban views
  • (views) Return only tasks when the bucket id was already specified
  • (views) Reset bucket when moving tasks between projects
  • (views) Make kanban cypress tests work again
  • (views) Make list cypress tests work again
  • (views) Always redirect to the first view when none was specified
  • (views) Make table view cypress tests work again
  • (views) Correctly save and retrieve last accessed project views
  • (views) Make link share cypress tests work again
  • (views) Make overview cypress tests work again
  • (views) Make task cypress tests work again
  • (views) Kanban test assertions
  • (views) Update done status of recurring tasks
  • (views) Include order by fields in distinct clause when sorting by task position
  • (views) Stable assertion for bucket in tests
  • (views) Redirect to project after authenticating with a link share
  • (views) Intercept request
  • (views) Create bucket in test
  • (views) Create default bucket
  • (views) Do not map bucket id from xorm
  • (views) Add bottom spacing
  • (views) Update all fields when updating a view
  • (views) Use correct assertion in test
  • (views) Correctly pass view id to wrapper when gantt view is active
  • (views) Transform view filter before and after loading it from the api
  • (views) Refactor filter button slot in wrapper
  • (views) Remove default filter from frontend, apply by default to new list views instead (#2240)
  • (views) Check if bucket index already exists before creating new index
  • (views) Make sure the view is saved properly in localStorage
  • (views) Make sure view changes are reflected in switcher
  • (views) Only allow project admins to manage views
  • (views) Transform bucket configurations
  • (views) Edit views with filters
  • (views) Do not allow moving tasks or editing board when bucket mode is filter
  • (views) Move bucket update to extra endpoint
    • BREAKING: The bucket id of the task model is now only used internally and will not trigger a change in buckets when updating the task.
  • (vue) ToValue instead of unref
  • (webhook) Log errors in webhook response
  • (webhooks) Fire webhooks set on parent projects as well* Never return frontend on routes starting with /api (641fec1)
  • Do not send etag when serving the frontend index file (a12c169)
  • Lint (162741e)
  • Lint (cc5f48e)
  • Lint (ff1730e)
  • Clarify preview deployment text and fix typo (1ffb93b)
  • Lint (1275dfc)
  • Usage of limit and order by usage in recursive cte (5b70609)
  • Open external migration service in current tab (178cd8c)
  • Add root ca to final docker image (e42a605)
  • Lint (6fc3d1e)
  • Lint (49ab90f)
  • Lint (5e9edef)
  • Lint (6f51b56)
  • Pick first available view if currently configured view got deleted (#2235) (c4d3d99)
  • Do not try to fetch nonexistent bucket (037022e)
  • Update task in typesense when adding a label or assignee to them (5213006)
  • Lint (1cd5dd2)
  • Drop bucket index before recreating it (ca33c0b)
  • Lint (af3b0bb)
  • Lint (7d755fc)
  • License in cmd help text (9a16f6f)
  • Do not push nil errors to sentry (1460d21)
  • Correctly return error and bubble up when the api could not be reached (84197dd)
  • Do not remove empty openid teams when none are present (66e9632)
  • Use correct project title in project card (d3a7d79)
  • Ignore casing to check if file extensions can be previewed (#2341) (81bdad4)
  • Recommended vitest extension (#2351) (d3d5df5)
  • Remove obsolete vscode plugin settings (#2354) (666eef2)
  • Throw in warnHandler (81bb49f)
  • Use node20 typescript types (abf912f)
  • Remove jsxTemplates (9fa8c54)
  • Remove wrong expression (fe2c390)
  • Remove obsolete types (97a11d2)
  • UseTitle types (#2369) (9fd17ac)
  • Remove obsolete vite reactivityTransform option (#2349) (3718d09)
  • Missing required prop BackgroundColor (47143af)
  • Use button icon prop (18e23bf)
  • Remove uppercase transformation from username (#2445) (ff5ee51)
  • Disable vetur in case it's installed (abdec17)
  • Import PeriodUnit as type (baaf612)
  • Reset drag.value (c90ee01)
  • Import type in EditorToolbar (9f375ec)
  • Remove props prefix from template (b224b33)
  • Move types to dev dependencies (7979884)
  • Typecheck (142443c)
  • Align spelling in config.yml.sample (#2499) (6d79eb0)

Dependencies

  • (deps) Update dependency vue to v3.4.18
  • (deps) Update module golang.org/x/sys to v0.17.0
  • (deps) Update module github.com/getsentry/sentry-go to v0.27.0
  • (deps) Update module xorm.io/xorm to v1.3.8
  • (deps) Pin dependencies
  • (deps) Update module golang.org/x/oauth2 to v0.17.0
  • (deps) Update tiptap to v2.2.2
  • (deps) Update dev-dependencies to v7
  • (deps) Update pnpm to v8.15.2
  • (deps) Update dependency vue to v3.4.19
  • (deps) Update sentry-javascript monorepo to v7.101.0
  • (deps) Update module github.com/arran4/golang-ical to v0.2.5
  • (deps) Update pnpm to v8.15.3
  • (deps) Update module github.com/arran4/golang-ical to v0.2.6
  • (deps) Update dependency vue-flatpickr-component to v11.0.4
  • (deps) Update sentry-javascript monorepo to v7.101.1
  • (deps) Update dependency @kyvg/vue3-notification to v3.2.0
  • (deps) Update module github.com/go-testfixtures/testfixtures/v3 to v3.10.0
  • (deps) Update tiptap to v2.2.3
  • (deps) Update module github.com/redis/go-redis/v9 to v9.5.0
  • (deps) Update vueuse to v10.8.0
  • (deps) Update sentry-javascript monorepo to v7.102.0
  • (deps) Update module github.com/redis/go-redis/v9 to v9.5.1
  • (deps) Update dependency electron to v29
  • (deps) Update dependency dompurify to v3.0.9
  • (deps) Update dependency vue-router to v4.3.0
  • (deps) Update tiptap to v2.2.4
  • (deps) Update pnpm to v8.15.4
  • (deps) Update sentry-javascript monorepo to v7.102.1
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue to v3.4.21
  • (deps) Update module github.com/prometheus/client_golang to v1.19.0
  • (deps) Update module golang.org/x/crypto to v0.20.0
  • (deps) Update sentry-javascript monorepo to v7.103.0
  • (deps) Update vueuse to v10.9.0
  • (deps) Update dependency express to v4.18.3
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue-tsc to v2
  • (deps) Update sentry-javascript monorepo to v7.105.0
  • (deps) Update module github.com/stretchr/testify to v1.9.0
  • (deps) Update dependency vue-i18n to v9.10.1
  • (deps) Update module golang.org/x/sys to v0.18.0
  • (deps) Update module github.com/arran4/golang-ical to v0.2.7
  • (deps) Update module golang.org/x/term to v0.18.0
  • (deps) Update module golang.org/x/crypto to v0.21.0
  • (deps) Update dependency vue-flatpickr-component to v11.0.5
  • (deps) Update module golang.org/x/oauth2 to v0.18.0
  • (deps) Update dev-dependencies
  • (deps) Update src.techknowlogick.com/xgo digest to 770b8ea
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v3
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v3.0.1
  • (deps) Update dependency electron to v29.1.1
  • (deps) Update github.com/go-jose/go-jose to 3.0.3
  • (deps) Update sentry-javascript monorepo to v7.106.0
  • (deps) Update module github.com/golang-jwt/jwt/v5 to v5.2.1
  • (deps) Update dev-dependencies
  • (deps) Update dependency @vue/eslint-config-typescript to v13
  • (deps) Update module github.com/go-sql-driver/mysql to v1.8.0
  • (deps) Update dependency happy-dom to v13.7.1
  • (deps) Go mod tidy
  • (deps) Update dependency node to v20.11.1
  • (deps) Sign drone config
  • (deps) Update golangci/golangci-lint docker tag to v1.56.2 (#2099)
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dependency date-fns to v3.4.0
  • (deps) Update sentry-javascript monorepo to v7.106.1
  • (deps) Pin dependency vuemoji-picker to 0.2.1
  • (deps) Update dependency happy-dom to v13.8.2
  • (deps) Update dev-dependencies
  • (deps) Update google.golang.org/protobuf from 1.32.0 to 1.33.0
  • (deps) Update dev-dependencies
  • (deps) Update sentry-javascript monorepo to v7.107.0
  • (deps) Update dependency axios to v1.6.8
  • (deps) Update dependency ufo to v1.5.0
  • (deps) Update dependency vue-i18n to v9.10.2
  • (deps) Update dev-dependencies
  • (deps) Update dependency ufo to v1.5.1
  • (deps) Update dependency date-fns to v3.5.0
  • (deps) Update module github.com/adlio/trello to v1.11.0
  • (deps) Update dependency date-fns to v3.6.0
  • (deps) Update dev-dependencies
  • (deps) Update pnpm to v8.15.5
  • (deps) Update module xorm.io/xorm to v1.3.9
  • (deps) Update dependency happy-dom to v14
  • (deps) Update dependency ufo to v1.5.2
  • (deps) Update dependency @kyvg/vue3-notification to v3.2.1
  • (deps) Update dev-dependencies
  • (deps) Update dependency dompurify to v3.0.10
  • (deps) Update module github.com/coreos/go-oidc/v3 to v3.10.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency @infectoone/vue-ganttastic to v2.3.1
  • (deps) Update dependency express to v4.19.0
  • (deps) Update dependency ufo to v1.5.3
  • (deps) Update sentry-javascript monorepo to v7.108.0
  • (deps) Update dependency dompurify to v3.0.11
  • (deps) Update dependency express to v4.19.2
  • (deps) Update module github.com/go-sql-driver/mysql to v1.8.1
  • (deps) Sign drone config
  • (deps) Update sentry-javascript monorepo to v7.109.0
  • (deps) Update dev-dependencies (#2229)
  • (deps) Update dev-dependencies
  • (deps) Update src.techknowlogick.com/xgo digest to e01c4fb
  • (deps) Update golangci/golangci-lint docker tag to v1.57.2 (#2225)
  • (deps) Update dev-dependencies
  • (deps) Update pnpm to v8.15.6
  • (deps) Update dependency @infectoone/vue-ganttastic to v2.3.2
  • (deps) Update goreleaser/nfpm docker tag to v2.36.1
  • (deps) Update font awesome to v6.5.2
  • (deps) Update module github.com/yuin/goldmark to v1.7.1
  • (deps) Update tiptap to v2.2.6
  • (deps) Update dependency dompurify to v3.1.0
  • (deps) Update dependency vue-i18n to v9.11.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue-i18n to v9.11.1
  • (deps) Update tiptap to v2.3.0
  • (deps) Update dev-dependencies
  • (deps) Update module github.com/arran4/golang-ical to v0.2.8
  • (deps) Update github.com/adlio/trello to v1.12.0
  • (deps) Update sentry-javascript monorepo to v7.110.1
  • (deps) Update pnpm to v8.15.7
  • (deps) Update dependency vue to v3.4.23
  • (deps) Update dependency @intlify/unplugin-vue-i18n to v4
  • (deps) Update module golang.org/x/sync to v0.7.0 (#2258)
  • (deps) Update dependency vue-router to v4.3.2
  • (deps) Update module github.com/tkuchiki/go-timezone to v0.2.3
  • (deps) Update module golang.org/x/oauth2 to v0.19.0
  • (deps) Update sentry-javascript monorepo to v7.111.0
  • (deps) Update module github.com/labstack/echo/v4 to v4.12.0
  • (deps) Update dependency vue-i18n to v9.13.0
  • (deps) Update pnpm to v9
  • (deps) Update dependency node to v20.12.2 (#2238)
  • (deps) Update dev-dependencies
  • (deps) Update pnpm to v9.0.4
  • (deps) Update dev-dependencies
  • (deps) Update pnpm to v9.0.5
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue to v3.4.24
  • (deps) Update dependency vue-i18n to v9.13.1
  • (deps) Update github.com/dustinkirkland/golang-petname digest to 76c06c4
  • (deps) Update dev-dependencies
  • (deps) Update sentry-javascript monorepo to v7.112.0
  • (deps) Update sentry-javascript monorepo to v7.112.1
  • (deps) Update dependency workbox-precaching to v7.1.0
  • (deps) Update dev-dependencies
  • (deps) Update sentry-javascript monorepo to v7.112.2
  • (deps) Update dependency vue to v3.4.25
  • (deps) Update dependency vitest to v1.5.1
  • (deps) Update pnpm to v9.0.6
  • (deps) Update dependency vitest to v1.5.2
  • (deps) Update dependency dompurify to v3.1.1
  • (deps) Update dev-dependencies
  • (deps) Update dependency dayjs to v1.11.11
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue to v3.4.26
  • (deps) Update tiptap to v2.3.1
  • (deps) Update dependency dompurify to v3.1.2
  • (deps) Update dev-dependencies
  • (deps) Update sentry-javascript monorepo to v7.113.0
  • (deps) Update dependency vite to v5.2.11
  • (deps) Update dev-dependencies
  • (deps) Update module golang.org/x/oauth2 to v0.20.0
  • (deps) Update module golang.org/x/sys to v0.20.0
  • (deps) Update module golang.org/x/text to v0.15.0
  • (deps) Update dev-dependencies
  • (deps) Update module golang.org/x/term to v0.20.0
  • (deps) Update module golang.org/x/image to v0.16.0
  • (deps) Update pnpm to v9.1.0
  • (deps) Update module golang.org/x/crypto to v0.23.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue to v3.4.27
  • (deps) Update dependency node to v20.13.0
  • (deps) Update dependency go to v1.22.3
  • (deps) Update dev-dependencies
  • (deps) Update sentry-javascript monorepo to v7.114.0
  • (deps) Update tiptap to v2.3.2
  • (deps) Update dev-dependencies
  • (deps) Update dependency node to v20.14.0 (#2334)
  • (deps) Update dependency go to v1.22.4
  • (deps) Update dependency @fortawesome/vue-fontawesome to v3.0.8
  • (deps) Update dependency dompurify to v3.1.5
  • (deps) Update dependency vue-advanced-cropper to v2.8.9
  • (deps) Update dependency vue-router to v4.3.3
  • (deps) Update module github.com/gabriel-vasile/mimetype to v1.4.4
  • (deps) Update module github.com/ganigeorgiev/fexpr to v0.4.1
  • (deps) Update module github.com/prometheus/client_golang to v1.19.1
  • (deps) Update module github.com/redis/go-redis/v9 to v9.5.3
  • (deps) Update pnpm to v9.3.0
  • (deps) Update dev-dependencies
  • (deps) Update tiptap to v2.4.0
  • (deps) Update vueuse to v10.10.1
  • (deps) Update dependency @sentry/vue to v7.117.0
  • (deps) Update dependency axios to v1.7.2
  • (deps) Update module github.com/arran4/golang-ical to v0.3.0
  • (deps) Update module github.com/hashicorp/go-version to v1.7.0
  • (deps) Update module github.com/go-testfixtures/testfixtures/v3 to v3.11.0
  • (deps) Update module golang.org/x/oauth2 to v0.21.0
  • (deps) Update module golang.org/x/sys to v0.21.0
  • (deps) Update module github.com/spf13/viper to v1.19.0
  • (deps) Update module golang.org/x/text to v0.16.0
  • (deps) Update module golang.org/x/image to v0.17.0
  • (deps) Update dependency @sentry/vue to v8
  • (deps) Update module github.com/getsentry/sentry-go to v0.28.1
  • (deps) Update dependency snake-case to v4
  • (deps) Update flake
  • (deps) Update dev-dependencies
  • (deps) Update module golang.org/x/term to v0.21.0
  • (deps) Update vueuse to v10.11.0
  • (deps) Update dependency camel-case to v5
  • (deps) Update dependency vue to v3.4.29
  • (deps) Update module golang.org/x/crypto to v0.24.0
  • (deps) Update module github.com/typesense/typesense-go to v1.1.0
  • (deps) Update module github.com/yuin/goldmark to v1.7.2
  • (deps) Update module github.com/spf13/cobra to v1.8.1
  • (deps) Update pnpm to v9.4.0
  • (deps) Update dev-dependencies
  • (deps) Update goreleaser/nfpm docker tag to v2.37.1
  • (deps) Update golangci-lint to 1.59.1
  • (deps) Update module github.com/wneessen/go-mail to v0.4.1
  • (deps) Update dependency @sentry/vue to v8.10.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency @types/node to v20.14.6
  • (deps) Update dependency node to v20.15.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue-router to v4.4.0
  • (deps) Update dependency @sentry/vue to v8.11.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency vue to v3.4.30
  • (deps) Update module github.com/yuin/goldmark to v1.7.3
  • (deps) Update dev-dependencies to v7.14.1
  • (deps) Update dependency @sentry/vue to v8.12.0
  • (deps) Update module github.com/yuin/goldmark to v1.7.4
  • (deps) Update module golang.org/x/image to v0.18.0
  • (deps) Update dev-dependencies
  • (deps) Update dependency caniuse-lite to v1.0.30001638
  • (deps) Update module github.com/wneessen/go-mail to v0.4.2
  • (deps) Update dependency vue to v3.4.31
  • (deps) Update dependency @sentry/vue to v8.13.0
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies
  • (deps) Update dev-dependencies

Documentation

  • (filter) Add filter query explanation* Mention installation of rpm packages (eec53e8)
  • Add missing traefik label (99856b2)
  • Add desktop packages (1255bdc)
  • Add healthcheck to docker compose examples (001268a)
  • Fix healthcheck and mariadb password (18374c2)
  • Fix database healthcheck command (89e349f)
  • Fix postgres example healthcheck (7ae38c5)
  • Remove outdated information (5ab720d)
  • Clarify public url usage in installation (e532979)
  • Mention how to support the project in readme (4d11dd0)
  • Update publiccode.yml [skip ci] (2e5c193)
  • Update config docs (09d4467)
  • Add missing front matter (6db8728)
  • Improve OpenID documentation (#2151) (92d9c31)
  • Clarify what to use for authurl (6e52db7)
  • Add migrations setup doc (#2183) (1d5517b)
  • Fix broken link in migration docs (#2185) (4b4a7f3)
  • Add details about supported and required OIDC claims (#2201) (be54a36)
  • Add Korganizer to supported caldav clients (e0417c8)
  • Fix build-from-sources docs mistake (#2251) (1adaa73)
  • Clarify transitioning from unstable to release (0557d4b)
  • Clarify automatic openid team creation (4e49ec9)
  • Clarify vikunja cli usage in docker (75fd17c)
  • Clarify version checkout when building from source (73bf119)
  • Fix typo in README.md (#2271) (aceaccb)
  • Clarify where to file issues (8d1fc08)
  • Remove superfluous yaml code block (#2342) (8bc23b3)
  • Remove docs files (7a29011)

Features

  • (FilterInput) Use expandable
  • (XButton) Merge script blocks
  • (api) All usable routes behind authentication now have permissions
  • (api) Add bulk endpoints to api tokens
  • (api tokens) Add task attachment to api scopes
  • (auth) Update team name in Vikunja when it was changed in the openid provider
  • (backgrounds) Resize images to a maximum of 4K
  • (ci) Rename unstable desktop packages
  • (ci) Automatically create a gitea release when tagging
  • (components) Align component name casing datemath (#2405)
  • (components) Align component name casing ContentAuth
  • (components) Align component name casing multiselect
  • (components) Align component name casing apiconfig
  • (components) Align component name casing CreateEdit
  • (components) Align component name casing password
  • (components) Align component name casing card
  • (components) Align component name casing color-bubble
  • (components) Align component name casing Error
  • (components) Align component name casing Pagination
  • (components) Align component name casing Dropdown
  • (components) Align component name casing ContentLinkShare
  • (components) Align component name casing Navigation
  • (components) Align component name casing fancycheckbox
  • (components) Align component name casing Legal
  • (components) Align component name casing Loading
  • (components) Align component name casing Message
  • (components) Align component name casing NoAuthWrapper
  • (components) Align component name casing Nothing
  • (components) Align component name casing Button
  • (components) Align component name casing Modal
  • (components) Align component name casing Notification
  • (components) Align component name casing Popup
  • (components) Align component name casing Ready
  • (components) Align component name casing Shortcut
  • (components) Align component name casing Subscription
  • (components) Align component name casing User
  • (components) Align component name casing Notifications
  • (components) Align component name casing FilterPopup
  • (components) Align component name casing Filter
  • (components) Align component name casing ViewEditForm
  • (components) Align component name casing ProjectSettingsDropdown
  • (components) Align component name casing QuickActions
  • (components) Align component name casing LinkSharing
  • (components) Align component name casing UserTeam
  • (components) Align component name casing AssigneeList
  • (components) Align component name casing Attachments
  • (components) Align component name casing ChecklistSummary
  • (components) Align component name casing Comments
  • (components) Align component name casing CreatedUpdated
  • (components) Align component name casing DateTableCell
  • (components) Align component name casing DeferTask
  • (components) Align component name casing Description
  • (components) Align component name casing EditAssignees
  • (components) Align component name casing EditLabels
  • (components) Align component name casing FilePreview
  • (components) Align component name casing Heading
  • (components) Align component name casing KanbanCard
  • (components) Align component name casing Label
  • (components) Align component name casing Labels
  • (components) Align component name casing PercentDoneSelect
  • (components) Align component name casing PriorityLabel
  • (components) Align component name casing PrioritySelect
  • (components) Align component name casing ProjectSearch
  • (components) Align component name casing QuickAddMagic
  • (components) Align component name casing RelatedTasks
  • (components) Align component name casing ReminderDetail
  • (components) Align component name casing ReminderPeriod
  • (components) Align component name casing Reminders
  • (components) Align component name casing RepeatAfter
  • (components) Align component name casing SingleTaskInlineReadonly
  • (components) Align component name casing SingleTaskInProject
  • (components) Align component name casing AddTask
  • (components) Align component name casing ProjectSettings
  • (docker) Use scratch as base image
    • BREAKING: use scratch as base image
  • (editor) Checklist visual improvements (#2264)
  • (editor) Add hotkeys to quickly edit and discard (#2265)
  • (filter) More tests
  • (filter) Nesting
  • (filter) Migrate existing saved filters
  • (filter) Add better error message when passing an invalid filter expression
  • (filter) Add in keyword
  • (filter) Add basic highlighting filter query component
  • (filter) Add auto resize for filter query input
  • (filter) Add autocompletion poc for labels
  • (filter) Make the autocomplete look pretty
  • (filter) Add actual label search when autocompleting
  • (filter) Autocomplete for assignees
  • (filter) Autocomplete for projects
  • (filter) Emit filter query
  • (filter) Remove now unused code
  • (filter) Add button to show filter results
  • (filter) Resolve labels and projects to ids before filtering
  • (filter) Resolve label and project ids back to titles when loading a filter
  • (filter) Fall back to simple search when filter query does not contain any filter inputs
  • (filter) Make filter input label configurable
  • (filter) Add unique id to filter input
  • (filters) Very basic filter parsing
  • (filters) Basic text filter works now
  • (filters) Make new filter syntax work with Typesense
  • (filters) Parse date properties to enable datepicker button
  • (filters) Make date values in filter query editable
  • (filters) Add date values
  • (filters) Show user name and avatar for assignee filters
  • (filters) Add basic autocomplete component
  • (filters) Highlight label colors in filter
  • (filters) Query-based filter logic (#2177)
  • (filters) Pass timezone down when filtering with relative date math
  • (filters) Make clear filters button less obvious
  • (i18n) Add pt-br as selectable language in the frontend
  • (i18n) Add Croatian to selectable languages
  • (i18n) Add Ukrainian for language selection in UI
  • (kanban) Debounce bucket limit setting
  • (kanban) Do not remove focus from the input after creating a new bucket
  • (kanban) Set task position to 0 (top) when it is moved into the done bucket automatically after marking it done
  • (migration) Notify the user when a migration failed
  • (migration) Trello organization based migration (#2211)
  • (migration) Include non upload attachments from Trello (#2261)
  • (navigation) Persist project open state in navigation
  • (registration) Improve username and password validation
  • (subscription) Use a recursive cte to fetch subscriptions of parent projects
  • (task) Show attachment preview for image attachments (#2266)
  • (tasks) Make done at column available for selection in table view
  • (tasks) Expand subtasks (#2345)
  • (tasks) Add tests for moving a task out of the done bucket
  • (teams) Add public flags to teams to allow easier sharing with other teams (#2179)
  • (typesense) Move partial reindex to a flag instead of a separate command
  • (views) Add new model and migration
  • (views) Add crud handlers and routes for views
  • (views) Add new default views for filters
  • (views) Return views with their projects
  • (views) Create default 4 default view for projects
  • (views) Return tasks in a view
  • (views) Create default views when creating a filter
  • (views) Do not override filters in view
  • (views) Use project id when fetching views
  • (views) Add bucket configuration mode
  • (views) (un)marshal custom project view mode types
  • (views) Return tasks in buckets by view
    • BREAKING: tasks in their bucket are now only retrievable via their view. The /project/:id/buckets endpoint now only returns the buckets for that project, which is more in line with the other endpoints
  • (views) Move task position handling to its own crud entity
    • BREAKING: the position of tasks now can't be updated anymore via the task update endpoint. Instead, there is a new endpoint which takes the project view into account as well.
  • (views) Sort tasks by their position relative to the view they're in
  • (views) Decouple buckets from projects
  • (views) Decouple bucket CRUD from projects
    • BREAKING: decouple bucket CRUD from projects
  • (views) Move done and default bucket setting to view
    • BREAKING: move done and default bucket setting to view
  • (views) Decouple bucket <-> task relationship
    • BREAKING: decouple bucket <-> task relationship
  • (views) Make updating a bucket work again
    • BREAKING: make updating a bucket work again
  • (views) Only update the bucket when necessary
  • (views) Recalculate all positions when updating
  • (views) Set default position
  • (views) Save position in Typesense
  • (views) Save view and position in Typesense
  • (views) Sort by position
  • (views) Fetch tasks via view context when accessing them through views
  • (views) Generate swagger docs
  • (views) Save task position
  • (views) Return position when retrieving tasks
  • (views) Save task position in list view
  • (views) Load views when navigating with link share
  • (views) Create task bucket relation when creating a new bucket
  • (views) Show tasks on kanban board in saved filter
  • (views) Crud in frontend
  • (views) Hide view switcher when there is only one view
  • (views) Lint
  • (views) Allow reordering views
  • (views) Add filter syntax docs to filter input in views* Allow using sqlite in memory database (2dab2cc)
  • (other) Enter edit mode when double clicking
  • Run frontend tests with api build from the same branch (#2137) (5d127c2)
  • Fetch all projects with a recursive cte instead of recursive query (6b1e674)
  • Assign users to teams via OIDC claims (#1393) (ed4da96)
  • Nest api token permissions under their parents (67f5551)
  • Emoji reactions for tasks and comments (#2196) (a5c51d4)
  • Decouple views from projects (#2217) (7230db1)
  • New login image (2d084c0)
  • Do not save language on the server when in demo mode (e1dcf2e)
  • Default view setting (#2306) (aac01c7)
  • Add pluralization rules for Russian (#2344) (73780e4)
  • Update pnpm (#2355) (50cf952)
  • Remove polyfills (19a7605)
  • Update packages (#2367) (0523350)
  • Migrate to unplugin-inject-preload (#2357) (50d6987)
  • Improve types (#2368) (bc897a4)
  • Reduce eslint warnings (#2396) (2004d12)
  • Align sort icon color (0061ec0)
  • Improve shortcut types (6c113ea)
  • Improve popup (92f2e0e)
  • Improve user component (fe21a2c)
  • Use withDefaults and defineOptions in Modal (b1a8bbe)
  • Improve subscription (341b8d2)
  • Eslint enforce vue/component-name-in-template-casing (23707fc)
  • Switch to change-case lib (1268145)
  • Use withDefaults in CreateEdit (5e4b9e3)
  • Add default to custom transition (1977a7b)
  • Camelcase global components (f361158)
  • Add root tsconfig (4546bd6)
  • Set add tsconfigRootDir option (9b43c13)
  • Improve message types (4c5bb3f)
  • Improve gantt filter label (66be016)
  • Use withDefaults for BaseCheckbox (94a907b)
  • Remove props destructuring ProjectsNavigationItem (4bd9c79)
  • Use defineOptions for Loadings.vue (ff2644d)
  • Use withDefaults for ProjectSearch (bd32f7a)
  • Remove props destructuring from SingleTaskInlineReadonly (7c9f0b8)
  • Use withDefaults for Card (5b0ce4e)
  • Use defineProps types for ProjectSettingsDropdown (9e266f1)
  • Use defineProps types for ChecklistSummary (1dbd8b6)
  • Use withDefaults for Labels (dea0510)
  • Use defineProps types in CreatedUpdated (c81649c)
  • Use withDefaults for Done (01a4ad9)
  • Add getter support to useProjectBackground (914fe09)
  • Improve ProjectSettingsEdit reactivity (fb449d7)
  • Remove props destructuring EditorToolbar (516f507)
  • Remove props destructuring from ProjectCard (8a2c74a)
  • Use withDefaults for AddTask (7db9e64)

Miscellaneous Tasks

  • (auth) Refactor openid team creation
  • (auth) Add oidc suffix to openid team name in db
  • (auth) Refactor removing empty openid teams to cron job
  • (auth) Show registration disabled message when registration is disabled
  • (desktop) Switch from yarn to pnpm
  • (desktop) Only build zip in ci to speed up smoke test builds
  • (dev) Move nix flake to top level, add api tooling
  • (filter) Cleanup
  • (filters) Cleanup old variables
  • (filters) Add histoire story file
  • (filters) Copy datepicker
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Remove "new" from creation strings
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (i18n) Update translations via Crowdin
  • (magefile) Add aliases for lint
  • (mail) Update logger to new interface
  • (views) Add fixme
  • (views) Remove old view routes
  • (views) Use view id instead of passing whole view object
  • (views) Move actual project views into their own folder* Don't send http errors with a status < 500 to sentry (d4a3892)
  • Add publiccode.yml (837360f)
  • Remove unused docker entrypoint script (f18cde2)
  • Update lockfile (3548709)
  • Format (356399f)
  • Generate swagger docs (32e1a20)
  • Cleanup leftover console.log (cf6b476)
  • Remove old saved views migration (337d289)
  • Do not import message dynamically (6ad83c0)
  • UseDefineOptions for inheritAttrs in Error.vue (2d358a5)

Other

  • (other) Cancel current edits and exit edit mode with escape
  • (other) Add discardShortcutEnabled setting to opt into this feature
  • (other) Use if to conditionally add escape hotkey
  • (other) Merge import
  • (other) Rename discardShortcutEnabled to enableDiscardShortcut
  • (other) Rename discardShortcutEnabled to enableDiscardShortcut
  • (other) Proof of concept for image preview
  • (other) Extract img to FilePreview component
  • (other) Replace table with grid
  • (other) Adjust file preview style
  • (other) Replace px with rem
  • (other) Move object-fit to styles
  • (other) Rename grid-item class to attachment
  • (other) Attempt to fix attachment verification
  • (other) Change attachment div to button
  • (other) Fix test again
  • (other) Add width: 100%
  • (other) File name and cover label styling improvement
  • (other) Add file image as fallback preview
  • (other) Replace cover text links with icons
  • (other) Only allow cover if a preview is available
  • (other) Make fallback icon grey
  • (other) Use file fallback icon
  • (other) Add cover tooltips
  • (other) Improve preview spacing
  • (other) Set attachment width to 100%
  • (other) [skip ci] Updated swagger docs

[0.23.0] - 2024-02-10

Bug Fixes

  • (assignees) Use correct amount of spacing in assignee selection
  • (ci) cd to frontend in frontend pipelines
  • (ci) Deploy packages into the correct directory
  • (ci) Swagger docs generate should use the correct url
  • (ci) Typo
  • (ci) Update shasum
  • (docs) Old install pages redirect
  • (editor) Don't set editor content initially
  • (export) Don't crash when an exported file does not exist
  • (filters) Add explicit check for string slice filter
  • (gantt) Correctly import languages from dayjs
  • (kanban) Assignee spacing
  • (kanban) Bottom spacing of labels
  • (notifications) Mark all notifications as read in ui directly when marking as read on the server
  • (progress) Cleanup unused css
  • (progress) Less rounding
  • (reminders) Set reminder date on datepicker when editing a reminder
  • (task) Make sure the drag handle is shown as intended
  • (task) Move cover image setter to store
  • (task) Remove default task color
  • (tasks) Check for cycles during creation of task relations and prevent them
  • (tasks) Show any errors happening during task load
  • (tests) Adjust gantt rows identifier
  • (webhook) Fetch all event details before sending the webhook

Features

  • Merge API, Frontend and Desktop repos
  • (ci) Combine api and frontend drone configs
  • (ci) Merge desktop ci config
  • (ci) Save .tags file to generate release tags
  • (ci) Run desktop build without waiting on the frontend when not doing release builds
  • (ci) Run desktop pipeline only on PRs
  • (editor) Use primary color for currently selected node
  • (filters) Log type if unknown filter type
  • (progress) Move customizations into progress bar component

Dependencies

  • (deps) Update dependency @4tw/cypress-drag-drop to v1.8.1 (#693)
  • (deps) Update dependency @fortawesome/vue-fontawesome to v3.0.6
  • (deps) Update dependency @kyvg/vue3-notification to v3.1.4
  • (deps) Update dependency @types/node to v20.11.10
  • (deps) Update dependency autoprefixer to v10.3.3 (#684)
  • (deps) Update dependency autoprefixer to v10.3.4 (#697)
  • (deps) Update dependency axios to v0.21.2 (#698)
  • (deps) Update dependency axios to v0.21.3 (#700)
  • (deps) Update dependency cypress to v8.3.1 (#689)
  • (deps) Update dependency electron to v28.2.1 (#186)
  • (deps) Update dependency electron to v28.2.2 (#187)
  • (deps) Update dependency esbuild to v0.12.23 (#683)
  • (deps) Update dependency esbuild to v0.12.24 (#688)
  • (deps) Update dependency esbuild to v0.12.25 (#696)
  • (deps) Update dependency esbuild to v0.14.53 (#2217)
  • (deps) Update dependency eslint-plugin-vue to v7.17.0 (#686)
  • (deps) Update dependency floating-vue to v5.2.1
  • (deps) Update dependency floating-vue to v5.2.2
  • (deps) Update dependency jest to v27.1.0 (#687)
  • (deps) Update dependency marked to v3.0.1 (#677)
  • (deps) Update dependency marked to v3.0.2 (#682)
  • (deps) Update dependency postcss to v8.4.19 (#2673)
  • (deps) Update dependency sass to v1.38.1 (#679)
  • (deps) Update dependency sass to v1.38.2 (#690)
  • (deps) Update dependency sass to v1.39.0 (#695)
  • (deps) Update dependency typescript to v4.4.2 (#685)
  • (deps) Update dependency ufo to v1.4.0
  • (deps) Update dependency vite to v2.5.1 (#680)
  • (deps) Update dependency vite to v2.5.2 (#692)
  • (deps) Update dependency vite to v2.5.3 (#694)
  • (deps) Update dependency vite-plugin-pwa to v0.11.2 (#681)
  • (deps) Update dependency vue to v3.2.45
  • (deps) Update dependency vue-i18n to v9.9.1
  • (deps) Update goreleaser/nfpm docker tag to v2.35.3 (#1692)
  • (deps) Update module github.com/arran4/golang-ical to v0.2.4
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.21
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.22
  • (deps) Update module github.com/swaggo/swag to v1.16.3
  • (deps) Update module github.com/yuin/goldmark to v1.7.0
  • (deps) Update pnpm to v8.15.0
  • (deps) Update pnpm to v8.15.1
  • (deps) Update sentry-javascript monorepo to v7.100.1
  • (deps) Update sentry-javascript monorepo to v7.17.2 (#2587)
  • (deps) Update sentry-javascript monorepo to v7.19.0 (#2670)
  • (deps) Update sentry-javascript monorepo to v7.99.0
  • (deps) Update src.techknowlogick.com/xgo digest to 45b9ea6
  • (deps) Update src.techknowlogick.com/xgo digest to 5aae655
  • (deps) Update tiptap to v2.2.0
  • (deps) Update tiptap to v2.2.1
  • (deps) Update typescript-eslint monorepo to v4.29.3 (#676)
  • (deps) Update typescript-eslint monorepo to v4.30.0 (#691)

Miscellaneous Tasks

  • (Expandable) Spelling ⛈
  • (deps) Move renovate config
  • (deps) Remove redundant renovate config
  • (quick actions) Format

[0.22.1] - 2024-01-28

Bug Fixes

  • (api) Make sure permission to read all tasks work for reading all tasks per project
  • (assignees) Improve wording for assignee emails
  • (assignees) Prevent double notifications for assignees
  • (assignees) Subscribe assigned users directly to the task, not async
  • (assignees) Make sure task assignee created event contains the full task
  • (auth) Don't reset user settings when updating name or email from external auth provider
  • (migration) Ignore tasks with empty titles
  • (openid) Use the calculated redirect url when authenticating with openid providers
  • (projects) Don't remove parent project id if the parent project is available in the same run
  • (relations) Don't allow creating relations which already exist
  • (subscriptions) Don't crash when a project is already deleted
  • (task) Delete the task after all related attributes to prevent task not found errors
  • (typesense) Update tasks in Typesense directly when the change happened
  • (user) Make disable command actually work
  • (webhooks) Make sure all events with tasks have the full task* Create webhooks table for fresh installation (09696ae)
  • Lint (2c84688)
  • Convert everything which looks like an url to a <a href html element (27a5f68)
  • Update function signatures (4d48d81)
  • Tests (1630e4f)
  • Lint (30a2dcd)

Dependencies

  • (deps) Update dessant/repo-lockdown action to v4
  • (deps) Update alpine docker tag to v3.19
  • (deps) Update module github.com/arran4/golang-ical to v0.2.3 (#1669)
  • (deps) Update module github.com/labstack/gommon to v0.4.2
  • (deps) Update module xorm.io/xorm to v1.3.6
  • (deps) Update module golang.org/x/term to v0.16.0
  • (deps) Update module golang.org/x/image to v0.15.0
  • (deps) Update module github.com/prometheus/client_golang to v1.18.0
  • (deps) Update module github.com/typesense/typesense-go to v1
  • (deps) Update module golang.org/x/oauth2 to v0.16.0
  • (deps) Update module github.com/redis/go-redis/v9 to v9.4.0
  • (deps) Update module github.com/getsentry/sentry-go to v0.26.0
  • (deps) Update goreleaser/nfpm docker tag to v2.35.2
  • (deps) Update module github.com/labstack/echo/v4 to v4.11.4
  • (deps) Update module golang.org/x/sync to v0.6.0
  • (deps) Update module xorm.io/xorm to v1.3.7
  • (deps) Update module github.com/google/uuid to v1.6.0
  • (deps) Update src.techknowlogick.com/xgo digest to 77ac23f
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.20

Features

  • (reminders) Persist reminders in the db

Miscellaneous Tasks

  • Check if import zip contains a VERSION file (ec6e3e9)
  • Rename function (0d24ba1)

[0.22.0] - 2023-12-19

Bug Fixes

  • (api tokens) Make sure read one routes show up in routes endpoint
  • (api tokens) Test
  • (api tokens) Lint
  • (api tokens) Make sure task create routes are available to use with the api
    • BREAKING: The api route to create a new task is now /projects/:project/tasks instead of /projects/:project
  • (build) Don't run go mod commands when generating swagger docs
  • (build) Don't generate swagger files when building
  • (build) Don't require swagger to build
  • (build) Don't remove swagger files when running build:clean step
  • (caldav) Check for related tasks synced back from a caldav client
  • (caldav) Do not update dates of tasks when repositioning them (#1605)
  • (ci) Don't generate swagger docs in ci
  • (ci) Use the same go image for everything
  • (ci) Don't try to install when linting
  • (cmd) Do not initialize async operations when running certain cli commands
  • (comments) Make sure comment sort order is stable
  • (docs) Add empty swagger file so that the package exists
  • (docs) Remove duplicate paths (params) in swagger docs
  • (files) Keyvalue init in tests
  • (filter) Assignee search by partial username test
  • (filters) Make "in" filter comparator work with Typesense
  • (import) Don't fail when importing from dev exports
  • (import) Ignore duplicate project identifier
  • (import) Resolve task relations by old task ids
  • (import) Correctly set child project relations
  • (import) Create related tasks without an id
  • (import) Make sure importing works if parent / child projects are created in a different order
  • (kanban) Don't prevent setting a different bucket as done bucket
  • (kanban) Create missing kanban buckets (#1601)
  • (kanban) Filter for tasks in buckets by assignee should not modify the filter directly
  • (labels) Make sure labels of shared sub projects are usable
  • (migration) Use string for todoist project note id
  • (migration) Make sub project hierarchy work when importing from other services
  • (openid) Make sure usernames with spaces work
  • (project) Duplicating a project should not create two backlog buckets
  • (project background) Add more checks for whether a background file exists when duplicating or deleting a project
  • (projects) Save done and default bucket when updating project
  • (projects) Don't limit results to top-level projects when searching
  • (projects) Don't return child projects multiple times
  • (projects) Correctly set project's archived state if their parent was archived
  • (projects) Delete child projects when deleting a project
  • (reminders) Make sure reminders are only sent once per user
  • (swagger) Add generated swagger docs to repo
  • (task) Remove task relation in the other direction as well
  • (test) Don't check for error
  • (tests) Use string IDs in Todoist test
  • (tests) Remove duplicate projects from assertions
  • (tests) Pass the map
  • (typesense) Upsert one document at a time
  • (typesense) Add more error logging
  • (typesense) Add more error logging
  • (typesense) Pass the correct user when fetching task comments
  • (typesense) Upsert all documents at once
  • (typesense) Explicitly create typesense sync table
  • (typesense) Don't try to index tasks if there are none
  • (typesense) Add typesense sync to initial structs
  • (typesense) Make sure searching works when no task has a comment at index time
  • (typesense) Getting all data from typesense
  • (typesense) Correctly convert date values for typesense
  • (user) Don't crash when attempting to change a user's password
  • (user) Allow deleting a user if they have a default project
  • (user) Don't prevent deleting a user if their default project was shared
  • (user) Allow openid users to request their deletion
  • (webhooks) Routes should use the common schema used for other routes already
  • (webhooks) Don't send the proxy auth header to the webhook target
  • (webhooks) Lint
  • (webhooks) Lint
  • (webhooks) Add created by user object when creating a webhook
  • (webhooks) Send application/json header* Typo (49d8713)
  • Lint (29317b9)
  • Order by clause in task comments (5811d2a)
  • Lint (e4c7112)
  • Validate usernames on registration (11810c9)
  • Lint (d6db498)
  • Lint (b8e73f4)
  • Lint (424bf76)
  • Lint (e34f503)
  • Lint (56625b0)
  • Properly tag bucket-related operations (a375223)
  • Lint (6ef1bc3)

Dependencies

  • (deps) Update module github.com/wneessen/go-mail to v0.4.0
  • (deps) Update src.techknowlogick.com/xgo digest to 617d3b6
  • (deps) Update module github.com/iancoleman/strcase to v0.3.0
  • (deps) Update module github.com/labstack/echo/v4 to v4.11.0
  • (deps) Update module github.com/labstack/echo/v4 to v4.11.1
  • (deps) Update module xorm.io/builder to v0.3.13
  • (deps) Update module golang.org/x/image to v0.11.0
  • (deps) Update module github.com/getsentry/sentry-go to v0.23.0
  • (deps) Update module github.com/arran4/golang-ical to v0.1.0
  • (deps) Update src.techknowlogick.com/xgo digest to 1510ee0
  • (deps) Update module github.com/yuin/goldmark to v1.5.6
  • (deps) Update module xorm.io/xorm to v1.3.3
  • (deps) Update module github.com/jinzhu/copier to v0.4.0
  • (deps) Update module github.com/redis/go-redis/v9 to v9.2.1
  • (deps) Update module github.com/threedotslabs/watermill to v1.3.5
  • (deps) Update module golang.org/x/oauth2 to v0.13.0
  • (deps) Update lockfile
  • (deps) Update lockfile
  • (deps) Update github.com/dustinkirkland/golang-petname digest to 6a283f1
  • (deps) Update module github.com/prometheus/client_golang to v1.17.0
  • (deps) Update src.techknowlogick.com/xgo digest to 6fc6b16
  • (deps) Update module github.com/getsentry/sentry-go to v0.25.0
  • (deps) Update lockfile
  • (deps) Update module github.com/spf13/viper to v1.17.0
  • (deps) Update module github.com/spf13/afero to v1.10.0
  • (deps) Update lockfile
  • (deps) Update module github.com/swaggo/swag to v1.16.2
  • (deps) Update module golang.org/x/image to v0.13.0
  • (deps) Update module golang.org/x/sync to v0.4.0
  • (deps) Update module github.com/labstack/echo/v4 to v4.11.2
  • (deps) Update lockfile
  • (deps) Update postgres docker tag to v16 (#1618)
  • (deps) Update goreleaser/nfpm docker tag to v2.33.1 (#1560)
  • (deps) Update mariadb docker tag to v11 (#1544)
  • (deps) Update xgo to go 1.21
  • (deps) Update module github.com/gabriel-vasile/mimetype to v1.4.3
  • (deps) Update lockfile
  • (deps) Update module github.com/coreos/go-oidc/v3 to v3.7.0
  • (deps) Update src.techknowlogick.com/xgo digest to ecfba3d
  • (deps) Update lockfile
  • (deps) Update module src.techknowlogick.com/xormigrate to v1.6.0 (#1627)
  • (deps) Update module github.com/google/uuid to v1.4.0
  • (deps) Update module src.techknowlogick.com/xormigrate to v1.7.0
  • (deps) Update lockfile
  • (deps) Update module xorm.io/xorm to v1.3.4 (#1630)
  • (deps) Update module github.com/redis/go-redis/v9 to v9.3.0
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.18
  • (deps) Update module golang.org/x/sync to v0.5.0
  • (deps) Update module golang.org/x/sys to v0.14.0
  • (deps) Update module github.com/spf13/cobra to v1.8.0
  • (deps) Update module src.techknowlogick.com/xormigrate to v1.7.1
  • (deps) Update module github.com/yuin/goldmark to v1.6.0
  • (deps) Update lockfile
  • (deps) Update github.com/go-jose/go-jose/v3
  • (deps) Update module golang.org/x/text to v0.14.0
  • (deps) Update module golang.org/x/oauth2 to v0.15.0
  • (deps) Update module golang.org/x/crypto to v0.17.0
  • (deps) Update module golang.org/x/term to v0.15.0
  • (deps) Update module golang.org/x/image to v0.14.0
  • (deps) Update module github.com/golang-jwt/jwt/v5 to v5.2.0
  • (deps) Update src.techknowlogick.com/xgo digest to c7ed783
  • (deps) Update module github.com/labstack/echo/v4 to v4.11.3
  • (deps) Update golangci/golangci-lint docker tag to v1.55.2
  • (deps) Update goreleaser/nfpm docker tag to v2.34.0
  • (deps) Update lockfile
  • (deps) Update golangci-lint rules
  • (deps) Update sqlite bindings
  • (deps) Update deps

Documentation

  • (webhooks) Add general docs about webhooks
  • (webhooks) Add swagger docs for all webhook endpoints* Add Caddyfile to reverse proxies setup (#1580) (665c046)
  • (webhooks) Add webhook config to sample config
  • Add Authentik example config (#1660) (4615b4d)
  • Add config guide for NGINX Proxy Manager (a1d0541)
  • Add n8n docs (6a7aec2)
  • Add typesense setup (70d1903)
  • Clarify minimum required go version (a2925cf)
  • Clarify required language code (e1525fc)
  • Fix typo (db0153a)

Features

  • (api tokens) Add api token struct and migration
  • (api tokens) Add crud routes to manage api tokens
  • (api tokens) Add tests
  • (api tokens) Better error message for invalid tokens
  • (api tokens) Check for expiry date
  • (api tokens) Check for scopes
  • (api tokens) Check if a provided token matched a hashed on in the database
  • (api tokens) Check permissions when saving
  • (api tokens) Move token validation middleware to new function
  • (api tokens) Properly hash tokens
  • (api) Enable notifications for api token routes
  • (caldav) Add support for subtasks (i.e. RELATED-TO property) in CalDAV (#1634)
  • (cli) Added --confirm/-c argument when deleting users to bypass prompt (#86)
  • (docs) Update sample config and docs about Typesense config
  • (metrics) Add active link share logins
  • (metrics) Add total number of attachments metric
  • (metrics) Add total number of files metric
  • (migration) Migration from other services now happens in the background
  • (notifications) Add endpoint to mark all notifications as read
  • (notify) Don't notify disabled users
  • (reminders) Include project in reminder notification
  • (tasks) Add periodic resync of updated tasks to Typesense
  • (tasks) Add searching via typesense
  • (tasks) Add typesense indexing
  • (tasks) Allow filtering for reminders, assignees and labels with Typesense
  • (tasks) Find tasks by their identifier when searching with Typesense
  • (tasks) Make sorting and filtering work with Typesense
  • (tasks) Remove deleted tasks from Typesense
  • (typesense) Add new tasks to typesense directly when they are created
  • (webhooks) Add basic crud actions for webhooks
  • (webhooks) Add basic sending of webhooks
  • (webhooks) Add created by user object when returning all webhooks
  • (webhooks) Add event listener to send webhook payload
  • (webhooks) Add filter based on project id
  • (webhooks) Add hmac signing
  • (webhooks) Add index on project id
  • (webhooks) Add route to get all available webhook events
  • (webhooks) Add routes
  • (webhooks) Add setting to enable webhooks
  • (webhooks) Add support for webhook proxy
  • (webhooks) Add timeout config option
  • (webhooks) Expose whether webhooks are enabled
  • (webhooks) Prevent link shares from managing webhooks
  • (webhooks) Register task and project events as webhook
  • (webhooks) Set user agent header to Vikunja
  • (webhooks) Validate events and target url* Search improvements (#1598) (6f825fa)
  • Accept hex values which start with a # (a1ea77f)
  • Add demo mode flag (97b5cd3)
  • Add setting for default bucket (b99b323)
  • Add very basic bruno collection (7eb59f5)
  • Api tokens (60cd125)
  • Convert all markdown content to html (#1625) (8a4856a)
  • Endpoint to get all token routes (1ca93a6)
  • Make default bucket configurable (60bd5c8)
  • Make unauthenticated user routes rate limit configurable (c6c465c)
  • Move done bucket setting to project (bbbb45d)
  • Webhooks (#1624) (4d9baa3)

Miscellaneous Tasks

  • (api tokens) Add swagger docs about api token auth
  • (api tokens) Remove updated date from tokens as it can't be updated anyway
  • (build) Use our own goproxy to prevent issues with packages not found
  • (caldav) Improve trimming .ics file ending
  • (ci) Sign drone config
  • (ci) Use golangci-lint docker image for lint step
  • (tasks) Better error messages when indexing tasks into Typesense
  • (test) Add task deleted assertion to project deletion test
  • (webhooks) Remove WebhookEvent interface
  • (webhooks) Reuse webhook client
  • (webhooks) Simplify registering webhook events* Remove year from copyright headers (e518fb1)
  • Add pr lockdown (0abf686)
  • Assume username instead of id when parsing fails for user commands (#87) (137f3bc)
  • Go mod tidy (7c4b2c9)
  • Reverse the coupling of module log and config (#1606) (ad04d30)
  • Update contributing guidelines (83f02b1)

Other

  • (other) [skip ci] Updated swagger docs

[0.21.0] - 2023-07-07

Bug Fixes

  • (CalDAV) Naming
  • (api) License (#1457)
  • (build) Make sure the docker image can access go tools
  • (caldav) Do not create label if it exists by title (#1444)
  • (caldav) Incoming tasks do not get correct time zone (#1455)
  • (ci) Pipeline dependency
  • (cli) Rename user project command
  • (docker) Don't chown everything in Vikunja's default root folder
  • (docs) Added Keycloak OpenID example (#1521)
  • (docs) Clarify error codes in swagger docs
  • (docs) Link to usage/api
  • (docs) Semver link (#1470)
  • (filter) Don't try to get the real subscription for a saved filter project
  • (filters) Return all filters with all projects, not grouped under a pseudo project
  • (filters) Sorting tasks from filters
  • (image) Json type of struct property (#1469)
  • (import) Don't try to load a nonexistent attachment file
  • (lint) Disable misspell linter on redoc
  • (migration) Don't try to fetch task details of tasks whose projects are deleted
  • (migration) Enable insert from structure work recursively
  • (migration) Make file migration work with new structure
  • (migration) Remove unused is_deleted flag from Todoist api response
  • (migration) Remove wunderlist leftovers
  • (migration) Remove wunderlist leftovers
  • (migration) Remove wunderlist leftovers
  • (migration) Rename TickTick migration
  • (migration) Revert wrongly changed url
  • (migration) Use correct struct
  • (project) Don't allow un-archiving a project when its parent project is archived
  • (project) Don't check for namespaces in overdue reminders
  • (project) Duplicate project into parent project
  • (project) Recursively get all users from all parent projects
  • (project) Remove comments, clarifications, notifications about namespaces
  • (project) Remove namespaces checks
  • (project) Remove namespaces from creating projects
  • (project) Remove namespaces from getting projects
  • (projects) Delete project in the correct order
  • (projects) Don't allow making a project child of itself
  • (projects) Don't check if new projects are archived
  • (projects) Don't fail to fetch a task if there's a broken subscription record associated to it
  • (projects) Don't return child projects twice
  • (projects) Don't try to share for nonexisting namespace
  • (projects) Permission check now works
  • (projects) Properly check if a user or link share is allowed to create a new project
  • (projects) Recalculate project's position after dragging when position would be 0
  • (projects) Reset pagination limit when fetching subprojects
  • (projects) Return subprojects which were shared from another user
  • (saved filters) Don't let query parameters override saved sorting parameters
  • (spelling) In config sample (#1489)
  • (task) Don't build partial task identifier
  • (task) Don't try to return a project identifier if there is no project
  • (tasks) Don't check for namespaces in filters
  • (tasks) Get all tasks from parent projects
  • (tasks) Make sure task deleted notification actually has information about the deleted task
  • (tasks) Read all tests
  • (tasks) Return a correct task identifier if the list does not have a good one set
  • (tasks) Sql for overdue reminders
  • (tasks) Task relation test
  • (test) Adjust fixture bucket and list ids
  • (test) Adjust fixture id
  • (test) Fixtures
  • (test) Use correct filter id
  • (tests) Adjust parent projects
  • (tests) Make the tests compile again
  • (tests) Permission tests for parent projects
  • (tests) Subscription test fixtures
  • (tests) Task collection fixtures
  • (tests) Task permissions from parents
  • Accept for migrations (8edbca3)
  • Add missing error code (f2d943f)
  • Add missing license header (f4e12da)
  • Align "ID" param for Delete and Update method of Task model (b6d5605)
  • Align "otherTaskID" param for Delete method of TaskRelation model (ac377a7)
  • Align namespaceID param (7ada82e)
  • Align task ID param (f76bb2b)
  • Check if usernames contain spaces when creating a new user (672fb35)
  • Compile errors (a21bff3)
  • Correctly pass unix socket to xorm (7ad256f)
  • Docs auth openID method (4f7d69a)
  • Don't get favorite task projects filter multiple times (a51bbd1)
  • Don't send bad request errors to sentry (c0c523f)
  • Don't try to load subscriptions for nonexistent projects (b519462)
  • Fetch all tasks for all projects (353279c)
  • ILIKE helper (dff4e01)
  • Lint (50c922b)
  • Lint (ad06903)
  • Lint (e17b63b)
  • Lint (ef779e8)
  • Lint (f0dcce7)
  • Lint config (9111db2)
  • Lint errors (ebc3dd2)
  • Make it compile again (d79c393)
  • Make sure Vikunja is buildable without swagger docs present (47e4223)
  • Make sure projects are correctly sorted (db3c7aa)
  • Provide a proper error message when viewing a link share with an invalid token (aa43127)
  • Reminder fixture (4b00f22)
  • Remove old saved openid provider settings from cache when starting Vikunja (9bf535d)
  • Rename after rebase (e93a5ff)
  • Rename incorrectly named ProjectUsers method (7e53a21)
  • Rename project receiver variable (f1cbe50)
  • Spelling (fc2cc4a)
  • Test fixtures (06f1d2e)
  • Test import (fb818ea)
  • Trello import tests (61a3380)
  • Typo (4c698dc)
  • Typo in email template (2dad404)
  • Update redoc (8916de0)
  • Update xgo in dockerfile to 1.20.2 (33f0d0f)
  • Upgrade jwt v5 (359d051)
  • Use rewrite when hosting frontend files via the api (b56e45d)
  • Users_lists name in migration (0a3fdc0)
  • Using mysql via a socket (0a6bbc2)

Dependencies

  • (deps) Update module github.com/imdario/mergo to v0.3.14
  • (deps) Update github.com/arran4/golang-ical digest to 19abf92
  • (deps) Update goreleaser/nfpm docker tag to v2.27.1 (#1438)
  • (deps) Update module github.com/swaggo/swag to v1.8.11
  • (deps) Update module github.com/imdario/mergo to v0.3.15 (#1443)
  • (deps) Update golangci-lint to 1.52.1
  • (deps) Update module github.com/wneessen/go-mail to v0.3.9
  • (deps) Update github.com/gocarina/gocsv digest to 9a18a84
  • (deps) Update module github.com/swaggo/swag to v1.8.12
  • (deps) Update module github.com/getsentry/sentry-go to v0.20.0
  • (deps) Update module github.com/redis/go-redis/v9 to v9.0.3
  • (deps) Update goreleaser/nfpm docker tag to v2.28.0 (#1475)
  • (deps) Update src.techknowlogick.com/xgo digest to bff48e4 (#1474)
  • (deps) Update module golang.org/x/sys to v0.7.0
  • (deps) Update github.com/gocarina/gocsv digest to 6445c2b
  • (deps) Update module golang.org/x/term to v0.7.0
  • (deps) Update module github.com/spf13/cobra to v1.7.0
  • (deps) Update module golang.org/x/image to v0.7.0
  • (deps) Update module golang.org/x/oauth2 to v0.7.0
  • (deps) Update module golang.org/x/crypto to v0.8.0
  • (deps) Update module github.com/prometheus/client_golang to v1.15.0
  • (deps) Update module github.com/lib/pq to v1.10.8
  • (deps) Update module github.com/go-sql-driver/mysql to v1.7.1
  • (deps) Update module github.com/lib/pq to v1.10.9
  • (deps) Update src.techknowlogick.com/xgo digest to e65295a
  • (deps) Update github.com/arran4/golang-ical digest to f69e132
  • (deps) Update module github.com/redis/go-redis/v9 to v9.0.4
  • (deps) Update module github.com/go-testfixtures/testfixtures/v3 to v3.9.0
  • (deps) Update module github.com/prometheus/client_golang to v1.15.1
  • (deps) Update module golang.org/x/term to v0.8.0
  • (deps) Update src.techknowlogick.com/xgo digest to 52d704d
  • (deps) Update module github.com/swaggo/swag to v1.16.1
  • (deps) Update module golang.org/x/sync to v0.2.0
  • (deps) Update module github.com/getsentry/sentry-go to v0.21.0
  • (deps) Update module golang.org/x/oauth2 to v0.8.0
  • (deps) Update module golang.org/x/crypto to v0.9.0
  • (deps) Update alpine docker tag to v3.18
  • (deps) Update github.com/gocarina/gocsv digest to 7f30c79
  • (deps) Update module github.com/magefile/mage to v1.15.0
  • (deps) Update github.com/gocarina/gocsv digest to 9ddd7fd
  • (deps) Update module github.com/coreos/go-oidc/v3 to v3.6.0
  • (deps) Update module github.com/stretchr/testify to v1.8.3
  • (deps) Update module github.com/labstack/echo-jwt/v4 to v4.2.0
  • (deps) Update goreleaser/nfpm docker tag to v2.29.0 (#1528)
  • (deps) Update module github.com/ulule/limiter/v3 to v3.11.2
  • (deps) Update module github.com/redis/go-redis/v9 to v9.0.5
  • (deps) Update module github.com/imdario/mergo to v0.3.16
  • (deps) Update module github.com/stretchr/testify to v1.8.4
  • (deps) Update module github.com/spf13/viper to v1.16.0
  • (deps) Update github.com/vectordotdev/go-datemath digest to 640a500 (#1532)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.17
  • (deps) Update klakegg/hugo docker tag to v0.110.0 (#1538)
  • (deps) Update golangci
  • (deps) Update klakegg/hugo docker tag to v0.111.0 (#1539)
  • (deps) Update klakegg/hugo docker tag to v0.111.3 (#1542)
  • (deps) Update src.techknowlogick.com/xgo digest to 494bc06
  • (deps) Update goreleaser/nfpm docker tag to v2.30.1 (#1540)
  • (deps) Update module golang.org/x/sys to v0.9.0
  • (deps) Update module golang.org/x/term to v0.9.0
  • (deps) Update module golang.org/x/image to v0.8.0
  • (deps) Update module golang.org/x/crypto to v0.10.0
  • (deps) Update module golang.org/x/oauth2 to v0.9.0
  • (deps) Update module golang.org/x/sync to v0.3.0
  • (deps) Update github.com/gocarina/gocsv digest to 2696de6
  • (deps) Update module github.com/prometheus/client_golang to v1.16.0
  • (deps) Update module github.com/getsentry/sentry-go to v0.22.0
  • (deps) Update github.com/gocarina/gocsv digest to 99d496c
  • (deps) Update module github.com/imdario/mergo to v1 (#1559)
  • (deps) Update github.com/dustinkirkland/golang-petname digest to e794b93
  • (deps) Update module golang.org/x/sys to v0.10.0
  • (deps) Update module golang.org/x/image to v0.9.0
  • (deps) Update module golang.org/x/term to v0.10.0
  • (deps) Update module golang.org/x/crypto to v0.11.0
  • (deps) Update module golang.org/x/oauth2 to v0.10.0

Documentation

  • Add docs for installing with sqlite in docker (#70) (a16fd67)
  • Add information about our Helm Chart (22f89c1)
  • Fix menu links (1f13b5d)
  • Remove all traces of namespaces (3b0935d)
  • Remove outdated information (327bb3b)
  • Update error references to list (259cf7d)
  • Update prometheus docs for clarity (#1458)
  • Update references to list (8dc6c95)

Features

  • (caldav) Sync Reminders / VALARM (#1415)
  • (docs) Change order of sections in nav (#1471)
  • (docs) Various improvements
  • (kanban) Return the total task count per bucket
  • (migration) Ignore namespace changes
  • (migration) Use new structure for migration
  • (projects) Add parent project, migrate namespaces
  • (projects) Check all parent projects for permissions
  • (projects) Check parent project when checking archived status
  • (projects) Cleanup namespace leftovers
  • (projects) Don't allow deleting or archiving the default project
  • (projects) Get all projects recursively
  • (projects) Remove namespaces
  • (projects) Return a favorites pseudo project when the user has favorite tasks
  • (subscriptions) Make sure all subscriptions are inherited properly
  • (users) Don't hide user email if it was the search request* Rename lists to projects (349e6a5)
  • Add logging options to mailer settings (9590b82)
  • Add relative Reminders (#1427) (3f5252d)
  • Add token example (4417223)
  • Allow saving frontend settings via api (04e2c51)
  • Allow to find users with access to a project more freely (a7231e1)
  • Check for cycles when creating or updating a project's parent (9011894)
  • Generate swagger docs at build time (efa24ce)
  • Improve relation kinds docs (b826c13)
  • Make the new inbox project the default (0110f93)
  • Migrate lists to projects in db identifiers (2fba7bd)
  • Remove ChildProjects project property (edcb806)
  • Remove namespaces, make projects infinitely nestable (#1362) (82beb3b)
  • Rename all list files (8f4abd2)
  • Rename lists to projects (47c2da7)
  • Rename lists to projects (96a0f5e)
  • Rename lists to projects (fc73c84)
  • Rename lists to projects everywhere (#1318) (869d4a3)

Miscellaneous Tasks

  • (changelog) Fix spelling
  • (docs) Add info about /buckets sorting
  • (docs) Move login and register routes to auth category in api docs
  • (docs) Update error docs
  • (docs) Update list -> project
  • (docs/translation) Remove mention of weblate
  • (export) Remove unused events
  • (project) Fmt
  • (projects) use a slice again (3e8d1b3)
  • (test) Show table content when db assertion failed
  • Cleanup (7a9611c)
  • Disable false-positive linter for generated docs (076e857)
  • Fix comment url (5856f21)
  • Fix spelling (cd90db3)
  • Generate swagger docs (55410ea)
  • Go mod tidy (93056da)
  • Go mod tidy (e5dde31)
  • Remove cache options (d83e3a0)
  • Remove reminderDates after frontend is migrated to reminders (#1448) (4a4ba04)
  • Rename files (fix typo) (6aadaaa)

[0.20.4] - 2023-03-12

Bug Fixes

  • (docker) Allow non-unique group id

Documentation

  • Add link to tutorial for installing Vikunja on Synology (4de0efe)

[0.20.3] - 2023-03-10

Bug Fixes

  • (build) Downgrade xgo to 1.19.2 so that builds work again
  • (caldav) Add Z suffix to dates make it clear dates are in UTC
  • (caldav) Use const for repeat modes
  • (caldav) Make sure only labels where the user has permission to use them are used
  • (ci) Pipeline dependency
  • (ci) Pin nfpm container version and binary location
  • (ci) Set release path to /source
  • (ci) Tagging logic for release docker images
  • (ci) Save generated .tags file to correctly tag docker releases
  • (ci) Sign drone config
  • (docd) Update Subdirectory Documentation (#1363)
  • (docker) Cross compilation with buildx
  • (docker) Re-add expose
  • (docker) Passing environment variables into the container
  • (docker) Make sure the vikunja user always exists and only modify the uid instead of recreating the user
  • (docs) Add docs about cli user delete
  • (docs) Old helm charts url (#1344)
  • (docs) Fix a few minor typos (#59)
  • (docs) Fix traefik v2 example (#65)
  • (docs) Clarify support for caldav recurrence
  • (drone) Add type, fix pull, remove group (#1355)
  • (dump) Make sure null dates are properly set when restoring from a dump
  • (export) Ignore file size for export files
  • (list) Return lists for a namespace id even if that namespace is deleted
  • (list) When list background is removed, delete file from file system and DB (#1372)
  • (mailer) Forcessl config (#60)
  • (migration) Use Todoist v9 api to migrate tasks from them
  • (migration) Import TickTick data by column name instead of index (#1356)
  • (migration) Use the proper authorization method for Todoist's api, fix issues with importing deleted items
  • (migration) Remove unused todoist parameters
  • (migration) Todoist pagination now avoids too many loops
  • (migration) Don't try to add nonexistent tasks as related
  • (migration) Make sure trello checklists are properly imported
  • (reminders) Overdue tasks join condition
  • (reminders) Make sure an overdue reminder is sent when there is only one overdue task
  • (reminders) Prevent duplicate reminders when updating task details
  • (restore) Check if we're really dealing with a string
  • (task) Make sure the task's last updated timestamp is always updated when related entities changed
  • (task) Correctly load tasks by id and uuid in caldav
  • (tasks) Don't include undone overdue tasks from archived lists or namespaces in notification mails
  • (tasks) Don't reset the kanban bucket when updating a task and not providing one
  • (tasks) Don't set a repeating task done when moving it do the done bucket
  • (tasks) Recalculate position of all tasks in a list or bucket when it would hit 0
  • (tasks) Make sure tasks are sorted by position before recalculating them
  • (user) Make reset the user's name to empty actually work
  • Swagger docs (96b5e93)
  • Restore notifications table from dump when it already had the correct format (8c67be5)
  • Make sure labels are always exported as caldav (#1412) (1afc72e)
  • Lint (491a142)
  • Lint (20a5994)
  • Lint (077baba)
  • Lint (9f14466)

Dependencies

  • (deps) Update module github.com/yuin/goldmark to v1.5.3 (#1317)
  • (deps) Update module golang.org/x/crypto to v0.2.0 (#1315)
  • (deps) Update module github.com/spf13/afero to v1.9.3 (#1320)
  • (deps) Update module golang.org/x/crypto to v0.3.0 (#1321)
  • (deps) Update github.com/arran4/golang-ical digest to a677353 (#1323)
  • (deps) Update module github.com/wneessen/go-mail to v0.3.5 (#1325)
  • (deps) Update github.com/arran4/golang-ical digest to 1093469 (#1326)
  • (deps) Update module github.com/golang-jwt/jwt/v4 to v4.4.3 (#1328)
  • (deps) Update module github.com/go-sql-driver/mysql to v1.7.0 (#1332)
  • (deps) Update module golang.org/x/sys to v0.3.0 (#1333)
  • (deps) Update module golang.org/x/term to v0.3.0 (#1336)
  • (deps) Update module golang.org/x/image to v0.2.0 (#1335)
  • (deps) Update module golang.org/x/oauth2 to v0.2.0 (#1316)
  • (deps) Update module golang.org/x/oauth2 to v0.3.0 (#1337)
  • (deps) Update module github.com/getsentry/sentry-go to v0.16.0 (#1338)
  • (deps) Update module golang.org/x/crypto to v0.4.0 (#1339)
  • (deps) Update module github.com/pquerna/otp to v1.4.0 (#1341)
  • (deps) Update module github.com/swaggo/swag to v1.8.9 (#1327)
  • (deps) Update module github.com/wneessen/go-mail to v0.3.6 (#1342)
  • (deps) Update module github.com/labstack/echo/v4 to v4.10.0 (#1343)
  • (deps) Update module github.com/wneessen/go-mail to v0.3.7 (#1348)
  • (deps) Update module github.com/coreos/go-oidc/v3 to v3.5.0 (#1349)
  • (deps) Update module golang.org/x/sys to v0.4.0 (#1351)
  • (deps) Update module golang.org/x/image to v0.3.0 (#1350)
  • (deps) Update module golang.org/x/term to v0.4.0 (#1352)
  • (deps) Update module golang.org/x/crypto to v0.5.0 (#1353)
  • (deps) Update goreleaser/nfpm docker tag to v2.23.0 (#1347)
  • (deps) Update module github.com/wneessen/go-mail to v0.3.8 (#1357)
  • (deps) Update module src.techknowlogick.com/xgo to v1.6.0+1.19.5 (#1358)
  • (deps) Update klakegg/hugo docker tag to v0.107.0 (#1272)
  • (deps) Update module github.com/getsentry/sentry-go to v0.17.0 (#1361)
  • (deps) Update module src.techknowlogick.com/xgo to v1.7.0+1.19.5 (#1364)
  • (deps) Update module github.com/spf13/viper to v1.15.0 (#1365)
  • (deps) Update module github.com/labstack/echo-jwt/v4 to v4.0.1 (#1369)
  • (deps) Update module golang.org/x/oauth2 to v0.4.0 (#1354)
  • (deps) Update github.com/gocarina/gocsv digest to 763e25b (#1370)
  • (deps) Update goreleaser/nfpm docker tag to v2.24.0 (#1367)
  • (deps) Update module github.com/swaggo/swag to v1.8.10 (#1371)
  • (deps) Update module github.com/go-redis/redis/v8 to v9 (#1377)
  • (deps) Update module github.com/labstack/echo-jwt/v4 to v4.1.0
  • (deps) Update module github.com/ulule/limiter/v3 to v3.11.0 (#1378)
  • (deps) Update module github.com/redis/go-redis/v9 to v9.0.2
  • (deps) Update goreleaser/nfpm docker tag to v2.25.0 (#1382)
  • (deps) Upgrade golangci-lint to 1.51.0
  • (deps) Update module github.com/yuin/goldmark to v1.5.4
  • (deps) Update module go to 1.20
  • (deps) Update xgo to 1.20
  • (deps) Update module golang.org/x/sys to v0.5.0
  • (deps) Update module github.com/getsentry/sentry-go to v0.18.0 (#1386)
  • (deps) Update module golang.org/x/term to v0.5.0
  • (deps) Update module golang.org/x/crypto to v0.6.0
  • (deps) Update module golang.org/x/oauth2 to v0.5.0
  • (deps) Update module golang.org/x/image to v0.4.0
  • (deps) Update goreleaser/nfpm docker tag to v2.26.0 (#1394)
  • (deps) Update github.com/arran4/golang-ical digest to 07c6aad
  • (deps) Update module github.com/threedotslabs/watermill to v1.2.0 (#1384)
  • (deps) Update module golang.org/x/image to v0.5.0 (#1396)
  • (deps) Update golang.org/x/net to 0.7.0
  • (deps) Update module github.com/golang-jwt/jwt/v4 to v4.5.0 (#1399)
  • (deps) Update github.com/gocarina/gocsv digest to bcce7dc
  • (deps) Update golangci-lint to 1.51.2
  • (deps) Update module github.com/labstack/echo/v4 to v4.10.1
  • (deps) Update github.com/gocarina/gocsv digest to bee85ea
  • (deps) Update module github.com/labstack/echo/v4 to v4.10.2
  • (deps) Update module github.com/spf13/afero to v1.9.4
  • (deps) Update github.com/gocarina/gocsv digest to dc4ee9d
  • (deps) Update module github.com/stretchr/testify to v1.8.2
  • (deps) Update github.com/gocarina/gocsv digest to 70c27cb
  • (deps) Update module golang.org/x/sys to v0.6.0
  • (deps) Update module golang.org/x/term to v0.6.0
  • (deps) Update module golang.org/x/crypto to v0.7.0
  • (deps) Update module golang.org/x/oauth2 to v0.6.0
  • (deps) Update module golang.org/x/image to v0.6.0
  • (deps) Update github.com/kolaente/caldav-go digest to 2a4eb8b
  • (deps) Remove fsnotify replacement
  • (deps) Update github.com/vectordotdev/go-datemath digest to f3954d0
  • (deps) Update src.techknowlogick.com/xgo digest to 44f7e66
  • (deps) Update module github.com/getsentry/sentry-go to v0.19.0
  • (deps) Update module github.com/spf13/afero to v1.9.5
  • (deps) Update module github.com/ulule/limiter/v3 to v3.11.1
  • (deps) Update src.techknowlogick.com/xgo digest to b607086
  • (deps) Update module github.com/gabriel-vasile/mimetype to v1.4.2

Features

  • (background) Add Last-Modified header (#1376)
  • (caldav) Add support for repeating tasks
  • (caldav) Export Labels to CalDAV (#1409)
  • (caldav) Import caldav categories as Labels (#1413)
  • (migrators) Remove wunderlist (#1346)
  • (release) Use compressed binaries for package releases
  • Use docker buildx to build multiarch images (a6e214b)
  • Provide logout url for openid providers (#1340) (a79b1de)
  • Refactored Dockerfile (#1375) (522bf7d)
  • Disable events log by default (da9d25c)
    • BREAKING: events log level is now off unless explicitly enabled

Miscellaneous Tasks

  • (docs) Adjust docs about frontend docker container
  • (docs) Remove sponsors
  • (task) Add test to check if a task's reminders are duplicated
  • Remove custom gitea bug template in favor of githubs (4fa45bf)
  • 0.20.2 release preparations (d19fc80)
  • Update funding links (aa25ccd)

Other

  • (other) Added Google & Google Workspace to OpenId examples (#1319)

[0.20.2] - 2023-01-24

Bug Fixes

  • (build) Downgrade xgo to 1.19.2 so that builds work again
  • (caldav) Add Z suffix to dates make it clear dates are in UTC
  • (caldav) Use const for repeat modes
  • (ci) Pipeline dependency
  • (ci) Pin nfpm container version and binary location
  • (ci) Set release path to /source
  • (ci) Tagging logic for release docker images
  • (docs) Add docs about cli user delete
  • (docs) Old helm charts url (#1344)
  • (docs) Fix a few minor typos (#59)
  • (drone) Add type, fix pull, remove group (#1355)
  • (dump) Make sure null dates are properly set when restoring from a dump
  • (export) Ignore file size for export files
  • (list) Return lists for a namespace id even if that namespace is deleted
  • (mailer) Forcessl config (#60)
  • (migration) Use Todoist v9 api to migrate tasks from them
  • (migration) Import TickTick data by column name instead of index (#1356)
  • (migration) Use the proper authorization method for Todoist's api, fix issues with importing deleted items
  • (reminders) Overdue tasks join condition
  • (reminders) Make sure an overdue reminder is sent when there is only one overdue task
  • (reminders) Prevent duplicate reminders when updating task details
  • (restore) Check if we're really dealing with a string
  • (tasks) Don't include undone overdue tasks from archived lists or namespaces in notification mails
  • (tasks) Don't reset the kanban bucket when updating a task and not providing one
  • (tasks) Don't set a repeating task done when moving it do the done bucket
  • (user) Make reset the user's name to empty actually work* Swagger docs (41c9e3f)
  • Restore notifications table from dump when it already had the correct format (15811fd)

Dependencies

  • (deps) Update module github.com/yuin/goldmark to v1.5.3 (#1317)
  • (deps) Update module golang.org/x/crypto to v0.2.0 (#1315)
  • (deps) Update module github.com/spf13/afero to v1.9.3 (#1320)
  • (deps) Update module golang.org/x/crypto to v0.3.0 (#1321)
  • (deps) Update github.com/arran4/golang-ical digest to a677353 (#1323)
  • (deps) Update module github.com/wneessen/go-mail to v0.3.5 (#1325)
  • (deps) Update github.com/arran4/golang-ical digest to 1093469 (#1326)
  • (deps) Update module github.com/golang-jwt/jwt/v4 to v4.4.3 (#1328)
  • (deps) Update module github.com/go-sql-driver/mysql to v1.7.0 (#1332)
  • (deps) Update module golang.org/x/sys to v0.3.0 (#1333)
  • (deps) Update module golang.org/x/term to v0.3.0 (#1336)
  • (deps) Update module golang.org/x/image to v0.2.0 (#1335)
  • (deps) Update module golang.org/x/oauth2 to v0.2.0 (#1316)
  • (deps) Update module golang.org/x/oauth2 to v0.3.0 (#1337)
  • (deps) Update module github.com/getsentry/sentry-go to v0.16.0 (#1338)
  • (deps) Update module golang.org/x/crypto to v0.4.0 (#1339)
  • (deps) Update module github.com/pquerna/otp to v1.4.0 (#1341)
  • (deps) Update module github.com/swaggo/swag to v1.8.9 (#1327)
  • (deps) Update module github.com/wneessen/go-mail to v0.3.6 (#1342)
  • (deps) Update module github.com/labstack/echo/v4 to v4.10.0 (#1343)
  • (deps) Update module github.com/wneessen/go-mail to v0.3.7 (#1348)
  • (deps) Update module github.com/coreos/go-oidc/v3 to v3.5.0 (#1349)
  • (deps) Update module golang.org/x/sys to v0.4.0 (#1351)
  • (deps) Update module golang.org/x/image to v0.3.0 (#1350)
  • (deps) Update module golang.org/x/term to v0.4.0 (#1352)
  • (deps) Update module golang.org/x/crypto to v0.5.0 (#1353)
  • (deps) Update goreleaser/nfpm docker tag to v2.23.0 (#1347)
  • (deps) Update module github.com/wneessen/go-mail to v0.3.8 (#1357)
  • (deps) Update module src.techknowlogick.com/xgo to v1.6.0+1.19.5 (#1358)
  • (deps) Update klakegg/hugo docker tag to v0.107.0 (#1272)
  • (deps) Update module github.com/getsentry/sentry-go to v0.17.0 (#1361)
  • (deps) Update module src.techknowlogick.com/xgo to v1.7.0+1.19.5 (#1364)
  • (deps) Update module github.com/spf13/viper to v1.15.0 (#1365)
  • (deps) Update module github.com/labstack/echo-jwt/v4 to v4.0.1 (#1369)

Features

  • (migrators) Remove wunderlist (#1346)
  • (release) Use compressed binaries for package releases
  • Use docker buildx to build multiarch images (9bd6795)

Miscellaneous Tasks

  • Remove custom gitea bug template in favor of githubs (7b1e1c7)

Other

  • (other) Added Google & Google Workspace to OpenId examples (#1319)

[0.20.1] - 2022-11-11

Bug Fixes

  • (docs) Add explanation on how to run the cli in docker
  • (filter) Also check for 0 values if the filter should include nulls
  • (filter) Only check for 0 values in filter fields with numeric values
  • (filters) Try to parse date filter fields of the provided dates are not valid iso dates
  • (filters) Try parsing dates without time
  • (filters) Try parsing invalid dates like 2022-11-1
  • (metrics) Make currently active users actually work
  • (task) Duplicate reminders when adding different ones between winter / summer time
  • (tasks) Allow sorting by task index* Make sure task indexes are calculated correctly when moving tasks between lists (c495096)
  • Look for the default bucket based on the position instead of the index (622f2f0)
  • Usage with postgres over unix socket (#1308) (641a9da)

Dependencies

  • (deps) Update module github.com/prometheus/client_golang to v1.13.1 (#1307)
  • (deps) Update module github.com/spf13/viper to v1.14.0 (#1309)
  • (deps) Update module golang.org/x/sys to v0.2.0 (#1311)
  • (deps) Update module golang.org/x/term to v0.2.0 (#1312)
  • (deps) Update module github.com/prometheus/client_golang to v1.14.0 (#1313)
  • (deps) Update module github.com/getsentry/sentry-go to v0.15.0 (#1314)

Features

  • (docs) Add release checklist

Other

  • (other) Necessary is a common misspelling of necessary (#1304)

[0.20.0] - 2022-10-28

Bug Fixes

  • (caldav) Make sure duration and due date follow rfc5545
  • (caldav) No failed login emails for tokens (#1252)
  • (ci) Make sure release zip files have a .zip ending
  • (ci) Make sure release os packages are properly named
  • (docs) Clarify using port 25 as mail port when mail does not work
  • (docs) Document pnpm instead of yarn
  • (docs) Fix redirect_url example (#50)
  • (lists) Return correct max right for lists where the user has created the namespace
  • (mail) Pass mail server timeout (#1253)
  • (migration) Properly parse duration
  • (migration) Expose ticktick migrator to /info
  • (migration) Make sure importing works when the csv file has errors and don't try to parse empty values as dates
  • (namespaces) Add list subscriptions (#1254)
  • (todoist) Properly import all done tasks* Properly log extra message (c194797)
  • Don't try to compress riscv64 binaries in releases (d8f387f)
  • Preserve dates for repeating tasks (#47) (090c671)
  • Tasks with the same assignee as doer should not appear twice in overdue task mails (45defeb)
  • Don't allow setting a list namespace to 0 (96ed1e3)
  • Make sure pseudo namespaces and lists always have the current user as owner (878d19b)
  • Use connection string for postgres (fcb205a)
  • Make sure user searches are always case-insensitive (c076f73)
  • Make cover image id actually updatable (0e1904d)
  • Make cover image id actually updatable (0eb4709)
  • Make sure a user can only be assigned once to a task (008908e)
  • Make sure list subscriptions are set correctly when their namespace has a subscription already (2fc690a)

Dependencies

  • (deps) Update klakegg/hugo docker tag to v0.101.0
  • (deps) Update golang.org/x/sync digest to 8fcdb60
  • (deps) Update golang.org/x/oauth2 digest to f213421
  • (deps) Update module src.techknowlogick.com/xgo to v1.5.0+1.19
  • (deps) Update module github.com/coreos/go-oidc/v3 to v3.4.0
  • (deps) Update golang.org/x/image digest to e7cb969
  • (deps) Update golang.org/x/term digest to 7a66f97
  • (deps) Update module github.com/lib/pq to v1.10.7
  • (deps) Update module github.com/spf13/viper to v1.13.0 (#1260)
  • (deps) Update dependency golang to v1.19 (#1228)
  • (deps) Update module github.com/wneessen/go-mail to v0.2.8 (#1258)
  • (deps) Update module github.com/yuin/goldmark to v1.5.2 (#1261)
  • (deps) Update module src.techknowlogick.com/xormigrate to v1.5.0 (#1262)
  • (deps) Update module github.com/magefile/mage to v1.14.0 (#1259)
  • (deps) Update module github.com/swaggo/swag to v1.8.6 (#1243)
  • (deps) Update module github.com/wneessen/go-mail to v0.2.9 (#1264)
  • (deps) Update dependency klakegg/hugo to v0.102.3 (#1265)
  • (deps) Update module github.com/getsentry/sentry-go to v0.14.0 (#1266)
  • (deps) Update module github.com/labstack/gommon to v0.4.0 (#1269)
  • (deps) Update golang.org/x/crypto digest to 4161e89 (#1268)
  • (deps) Update golang.org/x/oauth2 digest to b44042a (#1270)
  • (deps) Update golang.org/x/sys digest to 84dc82d (#1271)
  • (deps) Update dependency klakegg/hugo to v0.104.2 (#1267)
  • (deps) Update golang.org/x/crypto digest to d6f0a8c (#1275)
  • (deps) Update golang.org/x/sys digest to 090e330 (#1276)
  • (deps) Update module github.com/spf13/cobra to v1.6.0 (#1277)
  • (deps) Update module github.com/wneessen/go-mail to v0.3.0 (#1278)
  • (deps) Update golang.org/x/crypto digest to 56aed06 (#1280)
  • (deps) Update golang.org/x/text to v0.3.8
  • (deps) Update module github.com/wneessen/go-mail to v0.3.1 (#1281)
  • (deps) Update module github.com/labstack/echo/v4 to v4.9.1 (#1282)
  • (deps) Update golang.org/x/sys digest to 95e765b (#1283)
  • (deps) Update golang.org/x/oauth2 digest to 6fdb5e3 (#1284)
  • (deps) Update golang.org/x/image digest to ffcb3fe (#1288)
  • (deps) Update module golang.org/x/sync to v0.1.0 (#1291)
  • (deps) Update module github.com/swaggo/swag to v1.8.7 (#1290)
  • (deps) Update golang.org/x/term digest to 8365914 (#1289)
  • (deps) Update module github.com/coreos/go-systemd/v22 to v22.4.0 (#1287)
  • (deps) Update module golang.org/x/oauth2 to v0.1.0 (#1296)
  • (deps) Update module golang.org/x/crypto to v0.1.0 (#1295)
  • (deps) Update module golang.org/x/image to v0.1.0 (#1293)
  • (deps) Update module github.com/wneessen/go-mail to v0.3.2 (#1297)
  • (deps) Update module github.com/stretchr/testify to v1.8.1 (#1298)
  • (deps) Update module github.com/spf13/cobra to v1.6.1 (#1299)
  • (deps) Update module github.com/wneessen/go-mail to v0.3.3 (#1300)
  • (deps) Update module github.com/wneessen/go-mail to v0.3.4 (#1302)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.16 (#1301)

Features

  • (docs) Add docs about how to deploy Vikunja in a subdirectory
  • (docs) Document pnpm (#1251)
  • (migration) Add TickTick migrator
  • (migration) Add routes for TickTick migrator
  • (migration) Generate swagger docs
  • (task) Add cover image attachment id property
  • (task) Add cover image attachment id property (#1263)* Add sponsor to readme (realm) (f814dd0)
  • Upgrade xorm (b1fd13b)
  • Upgrade xorm (4323803)
  • Upgrade xorm (#1197) (5341918)
  • Add github issue templates (9c4bb5a)
  • Remove gitea issue template so that only the form is used (ce621ee)
  • Add gitea issue template (0612f4d)
  • Provide default user settings for new users via config (5a40100)
  • Add proper checks and errors to see if an attachment belongs to the task it's being used as cover image in (631a265)
  • Allow a user to remove themselves from a team (b8769c7)
  • TickTick migrator (#1273) (df2e36c)

Miscellaneous Tasks

[0.19.2] - 2022-08-17

Bug Fixes

  • Don't fail a migration if there is no filter saved (10ded56)
  • Don't override saved filters (beb4d07)

[0.19.1] - 2022-08-17

Bug Fixes

  • Prevent moving a list into a pseudo namespace (3ccc636)
  • Make sure generating blur hashes for bmp, tiff and webp images works (8bf0f8b)
  • Add debian-based docker image for arm 32 builds (c9e044b)
  • Only list all users when allowed (9ddd7f4)
  • Lint (0c8bed4)

Dependencies

  • (deps) Update golang.org/x/sys digest to 6e608f9 (#1229)
  • (deps) Update golang.org/x/sync digest to 886fb93 (#1221)
  • (deps) Update golang.org/x/sys digest to 8e32c04 (#1230)
  • (deps) Update golang.org/x/term digest to a9ba230 (#1222)
  • (deps) Update module github.com/prometheus/client_golang to v1.13.0
  • (deps) Update module github.com/prometheus/client_golang to v1.13.0 (#1231)
  • (deps) Update golang.org/x/sys digest to 1c4a2a7
  • (deps) Update golang.org/x/oauth2 digest to 128564f (#1220)
  • (deps) Update golang.org/x/image digest to 062f8c9 (#1219)
  • (deps) Update golang.org/x/crypto digest to 630584e (#1218)
  • (deps) Update module github.com/labstack/echo/v4 to v4.8.0 (#1233)
  • (deps) Update golang.org/x/sys digest to fbc7d0a (#1234)
  • (deps) Update module github.com/wneessen/go-mail to v0.2.6 (#1235)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.15 (#1238)

Features

  • (docs) Add k8s docs* Add openid examples (dbb0f54)
  • Search by assignee username instead of id (7f28865)
  • Add migration to change user ids to usernames in saved filters (3047ccf)

[0.19.0] - 2022-08-03

Bug Fixes

  • (caldav) Make sure the caldav tokens of non-local accounts are properly checked
  • (caldav) Properly parse durations when returning VTODOs
  • (caldav) Make sure description is parsed correctly when multiline
  • (ci) Sign drone config
  • (ci) Make sure the linter actually runs
  • (ci) Install git in lint step
  • (docker) Switch to debian base image
  • (docker) Use official go image instead of our own to build
  • (docs) Update minimum required go version
  • (docs) Use up-to-date hugo image for building
  • (docs) Don't use cannonify url
  • (docs) Image urls in synology setup explanation
  • (docs) Clarify frontend requirements to use Vikunja
  • (dump) Don't try to save a config file if none was provided and dump vikunja env variables
  • (mage) Handle different types of errors
  • (mail) Don't set a username by default
  • (mail) Don't try to authenticate against the mail server when no credentials are provided
  • (mail) Set server name in tls config so that sending mail works with skipTlsVerify set to false
  • (restore) Properly decode notifications json data
  • (restore) Make sure to reset sequences after importing a dump when using postgres
  • (restore) Use the correct initial migration* Generate swagger docs (4de8ec5)
  • Make sure the full task is available in notifications (c2b6119)
  • Don't try to load the namespace of a list if it is a shared list (d7e47a2)
  • Correctly load and pass the user when deleting it (50b65a5)
  • Updating a list might remove its background (cf05de1)
  • Sorting for saved filters (57e5d10)
  • Importing trello attachments (c3e0e64)
  • Lint (0b77625)
  • Deleting users with no namespaces (f8a0a7e)
  • Importing tasks from todoist without a due time set (fd0d462)
  • User deletion never happens (72d3c54)
  • User deletion reminder emails counting up (f581885)
  • User not actually deleted (70e005e)
  • User deletion schedule (5c88dfe)
  • Friendly name not getting synced on first login from openid (190a9f2)
  • Importing archived lists or namespaces (8bb3f8d)
  • Lint (a31086a)
  • Microsoft todo migration not importing all tasks (43f1daf)
  • Clarify which config file is used on startup (44aaf0a)
  • Disabling logging completely now works (22e3f24)
  • Restoring dumps with no config file saved in them (8bf2254)
  • Validate email address when creating a user via cli (75f74b4)
  • Checking for error types (ac6818a)
  • Lint (7fa0865)
  • Return BlurHash in unsplash search results (6b51fae)
  • Go mod tidy (e19ad11)
  • Decoding images for blurHash generation (d3bdafb)
  • Lint (de97fcb)
  • Broken link (#27) (96e519e)
  • Add more methods to figure out the current binary location (9845fcc)
  • Set derived default values only after reading config from file or env (f5ebada)
  • Sort tasks logically and consistent across dbms (#1177) (e52c45d)
  • VIKUNJA_SERVICE_JWT_SECRET should be VIKUNJA_SERVICE_JWTSECRET (#1184) (172a621)
  • Add missing migration (d837f8a)
  • Revert renaming Attachments to Embeds everywhere (c62e26b)
  • Set the correct go version in go.mod (bc7f6a8)
  • Go mod tidy (7a30294)
  • Tests (d0e09d6)
  • Go mod tidy (951d74b)
  • Prevent logging openid provider errors twice (25ffa1b)
  • Remove credential escaping for postgres connections to allow for passwords with special characters (230478a)
  • Cycles in tasks array when memory caching was enabled (f5a4c13)
  • Add missing error check (5cc4927)
  • Properly set tls config for mailer (5743a4a)
  • Return 9:00 as default time for reminders if none was set (79b3167)
  • Reset id sequence when importing a dump from postgres (0f555b7)
  • Add validation for negative repeat after values (dd46174)
  • Lint (1feb62c)
  • Make sure to use user discoverability settings when searching list users (382a788)
  • Properly decode params in url (8f27e7e)
  • Return all users on a list when no search param was provided (c51ee94)
  • Don't return email addresses from user search results (3688bbd)
  • Lint (77fafd5)
  • Increase test timeout (26e2d0b)
  • Switch to buster for build image (59796fd)
  • Use our own build image as base build image (b6d7323)
  • Use golang build image to test migrations (84bcdbf)
  • Switch back to alpine for everything, disable arm 32 docker builds (7ffe9b6)

Dependencies

  • (deps) Update golang.org/x/sys commit hash to a851e7d (#972)
  • (deps) Update golang.org/x/sys commit hash to aa78b53 (#973)
  • (deps) Update golang.org/x/sys commit hash to 528a39c (#974)
  • (deps) Update golang.org/x/sys commit hash to 437939a (#975)
  • (deps) Update module github.com/yuin/goldmark to v1.4.1 (#976)
  • (deps) Update module github.com/coreos/go-oidc/v3 to v3.1.0 (#985)
  • (deps) Update module github.com/spf13/viper to v1.9.0 (#987)
  • (deps) Update golang.org/x/crypto commit hash to 089bfa5 (#979)
  • (deps) Update golang.org/x/term commit hash to 140adaa (#983)
  • (deps) Update module github.com/labstack/echo/v4 to v4.6.0 (#988)
  • (deps) Update golang.org/x/sys commit hash to b8560ed (#989)
  • (deps) Update module github.com/golang-jwt/jwt/v4 to v4.1.0 (#991)
  • (deps) Update golang.org/x/sys commit hash to 92d5a99 (#992)
  • (deps) Update module github.com/swaggo/swag to v1.7.3 (#990)
  • (deps) Update module github.com/labstack/echo/v4 to v4.6.1 (#993)
  • (deps) Update golang.org/x/sys commit hash to 1cf2251 (#994)
  • (deps) Update golang.org/x/sys commit hash to 39ccf1d (#995)
  • (deps) Update golang.org/x/term commit hash to 03fcf44 (#996)
  • (deps) Update golang.org/x/oauth2 commit hash to 6b3c2da (#1000)
  • (deps) Update golang.org/x/sys commit hash to 69063c4 (#1001)
  • (deps) Update module github.com/gabriel-vasile/mimetype to v1.4.0 (#1004)
  • (deps) Update postgres docker tag to v14 (#1005)
  • (deps) Update module github.com/go-redis/redis/v8 to v8.11.4 (#1003)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.9 (#1008)
  • (deps) Update golang.org/x/sys commit hash to 9d821ac (#1009)
  • (deps) Update golang.org/x/sys commit hash to 0ec99a6 (#1010)
  • (deps) Update golang.org/x/sys commit hash to 9d61738 (#1011)
  • (deps) Update module github.com/yuin/goldmark to v1.4.2 (#1012)
  • (deps) Update golang.org/x/sys commit hash to 8e51046 (#1016)
  • (deps) Update golang.org/x/sys commit hash to d6a326f (#1017)
  • (deps) Update module github.com/swaggo/swag to v1.7.4 (#1018)
  • (deps) Update golang.org/x/sys commit hash to 711f33c (#1019)
  • (deps) Update golang.org/x/sys commit hash to 69cdffd (#1020)
  • (deps) Update golang.org/x/oauth2 commit hash to ba495a6 (#1022)
  • (deps) Update golang.org/x/image commit hash to 6944b10 (#1023)
  • (deps) Update golang.org/x/sys commit hash to 6e78728 (#1024)
  • (deps) Update golang.org/x/sys commit hash to b3129d9 (#1025)
  • (deps) Update golang.org/x/sys commit hash to 611d5d6 (#1026)
  • (deps) Update golang.org/x/sys commit hash to 39c9dd3 (#1027)
  • (deps) Update golang.org/x/sys commit hash to a2f17f7 (#1028)
  • (deps) Update golang.org/x/sys commit hash to 4dd7244 (#1029)
  • (deps) Update golang.org/x/sys commit hash to ae416a5 (#1030)
  • (deps) Update golang.org/x/sys commit hash to 7861aae (#1031)
  • (deps) Update golang.org/x/oauth2 commit hash to d3ed0bb (#1032)
  • (deps) Update module github.com/labstack/gommon to v0.3.1 (#1033)
  • (deps) Update golang.org/x/sys commit hash to c75c477 (#1034)
  • (deps) Update golang.org/x/sys commit hash to ebca88c (#1035)
  • (deps) Update golang.org/x/sys commit hash to e0b2ad0 (#1037)
  • (deps) Update module github.com/yuin/goldmark to v1.4.3 (#1038)
  • (deps) Update golang.org/x/crypto commit hash to ceb1ce7 (#1041)
  • (deps) Update module github.com/lib/pq to v1.10.4 (#1040)
  • (deps) Update golang.org/x/sys commit hash to 51b60fd (#1042)
  • (deps) Update golang.org/x/sys commit hash to 99a5385 (#1043)
  • (deps) Update golang.org/x/sys commit hash to f221eed (#1044)
  • (deps) Update golang.org/x/sys commit hash to 0c823b9 (#1045)
  • (deps) Update module github.com/yuin/goldmark to v1.4.4 (#1046)
  • (deps) Update golang.org/x/sys commit hash to 0a5406a (#1048)
  • (deps) Update golang.org/x/crypto commit hash to b4de73f (#1047)
  • (deps) Update module github.com/ulule/limiter/v3 to v3.9.0 (#1049)
  • (deps) Update golang.org/x/crypto commit hash to ae814b3 (#1050)
  • (deps) Update golang.org/x/sys commit hash to dee7805 (#1051)
  • (deps) Update golang.org/x/sys commit hash to ef496fb (#1052)
  • (deps) Update golang.org/x/sys commit hash to fe61309 (#1054)
  • (deps) Update module github.com/swaggo/swag to v1.7.6 (#1055)
  • (deps) Update golang.org/x/crypto commit hash to 5770296 (#1056)
  • (deps) Update module github.com/golang-jwt/jwt/v4 to v4.2.0 (#1057)
  • (deps) Update golang.org/x/sys commit hash to 94396e4 (#1058)
  • (deps) Update golang.org/x/sys commit hash to 97ca703 (#1059)
  • (deps) Update golang.org/x/crypto commit hash to 4570a08 (#1062)
  • (deps) Update golang.org/x/sys commit hash to 798191b (#1061)
  • (deps) Update golang.org/x/sys commit hash to af8b642 (#1063)
  • (deps) Update module github.com/spf13/viper to v1.10.0 (#1064)
  • (deps) Update golang.org/x/sys commit hash to 03aa0b5 (#1067)
  • (deps) Update golang.org/x/sys commit hash to 3b038e5 (#1068)
  • (deps) Update module github.com/spf13/cobra to v1.3.0 (#1070)
  • (deps) Update golang.org/x/sys commit hash to 4825e8c (#1071)
  • (deps) Update module github.com/spf13/viper to v1.10.1 (#1072)
  • (deps) Update golang.org/x/crypto commit hash to e495a2d (#1073)
  • (deps) Update golang.org/x/sys commit hash to 4abf325 (#1074)
  • (deps) Update golang.org/x/sys commit hash to 1d35b9e (#1075)
  • (deps) Update module github.com/magefile/mage to v1.12.0 (#1076)
  • (deps) Update module github.com/magefile/mage to v1.12.1 (#1077)
  • (deps) Update module github.com/getsentry/sentry-go to v0.12.0 (#1079)
  • (deps) Update module github.com/swaggo/swag to v1.7.8 (#1080)
  • (deps) Update module github.com/spf13/afero to v1.7.0 (#1078)
  • (deps) Update module github.com/spf13/afero to v1.7.1 (#1081)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.10 (#1082)
  • (deps) Update module github.com/spf13/afero to v1.8.0 (#1083)
  • (deps) Update module github.com/labstack/echo/v4 to v4.6.2 (#1084)
  • (deps) Update module github.com/labstack/echo/v4 to v4.6.3 (#1089)
  • (deps) Update golang.org/x/sys commit hash to a018aaa (#1088)
  • (deps) Update golang.org/x/sys commit hash to 5a964db (#1090)
  • (deps) Update golang.org/x/crypto commit hash to 5e0467b (#1091)
  • (deps) Update golang.org/x/sys commit hash to da31bd3 (#1093)
  • (deps) Update module github.com/prometheus/client_golang to v1.12.0 (#1094)
  • (deps) Update golang.org/x/crypto commit hash to e04a857 (#1097)
  • (deps) Update golang.org/x/crypto commit hash to aa10faf (#1098)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.11 (#1099)
  • (deps) Update golang.org/x/crypto commit hash to 198e437 (#1100)
  • (deps) Update golang.org/x/sys commit hash to 99c3d69 (#1101)
  • (deps) Update module github.com/prometheus/client_golang to v1.12.1 (#1102)
  • (deps) Update klakegg/hugo docker tag to v0.92.0 (#1103)
  • (deps) Update klakegg/hugo docker tag to v0.92.1 (#1104)
  • (deps) Update golang.org/x/crypto commit hash to 30dcbda (#1105)
  • (deps) Update module github.com/swaggo/swag to v1.7.9 (#1106)
  • (deps) Update golang.org/x/sys commit hash to 1c1b9b1 (#1107)
  • (deps) Update module github.com/spf13/afero to v1.8.1 (#1108)
  • (deps) Update golang.org/x/sys commit hash to 5739886 (#1110)
  • (deps) Update golang.org/x/crypto commit hash to 20e1d8d (#1111)
  • (deps) Update module github.com/yuin/goldmark to v1.4.5 (#1112)
  • (deps) Update golang.org/x/crypto commit hash to bba287d (#1113)
  • (deps) Update golang.org/x/crypto commit hash to dad3315 (#1114)
  • (deps) Update module github.com/golang-jwt/jwt/v4 to v4.3.0 (#1117)
  • (deps) Update golang.org/x/sys commit hash to 3681064 (#1116)
  • (deps) Update golang.org/x/crypto commit hash to db63837 (#1115)
  • (deps) Update golang.org/x/crypto commit hash to f4118a5 (#1118)
  • (deps) Update golang.org/x/crypto commit hash to 8634188 (#1121)
  • (deps) Update module github.com/yuin/goldmark to v1.4.6 (#1122)
  • (deps) Update module github.com/yuin/goldmark to v1.4.7 (#1123)
  • (deps) Update module github.com/swaggo/swag to v1.8.0 (#1124)
  • (deps) Update golang.org/x/sys commit hash to 0005352 (#1125)
  • (deps) Update golang.org/x/sys commit hash to f242548 (#1126)
  • (deps) Update klakegg/hugo docker tag to v0.92.2 (#1127)
  • (deps) Update golang.org/x/sys commit hash to dbe011f (#1129)
  • (deps) Update golang.org/x/sys commit hash to 95c6836 (#1130)
  • (deps) Update golang.org/x/oauth2 commit hash to ee48083 (#1128)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.12 (#1132)
  • (deps) Update golang.org/x/sys commit hash to 4e6760a (#1131)
  • (deps) Update golang.org/x/image commit hash to 723b81c (#1133)
  • (deps) Update module github.com/labstack/echo/v4 to v4.7.0 (#1134)
  • (deps) Update klakegg/hugo docker tag to v0.93.0 (#1135)
  • (deps) Update module github.com/yuin/goldmark to v1.4.8 (#1136)
  • (deps) Update klakegg/hugo docker tag to v0.93.2 (#1137)
  • (deps) Update golang.org/x/sys commit hash to 22a9840 (#1138)
  • (deps) Update golang.org/x/crypto commit hash to efcb850 (#1139)
  • (deps) Update golang.org/x/oauth2 commit hash to 6242fa9 (#1140)
  • (deps) Update golang.org/x/sys commit hash to b874c99 (#1141)
  • (deps) Update klakegg/hugo docker tag to v0.93.3 (#1142)
  • (deps) Update module github.com/labstack/echo/v4 to v4.7.1 (#1146)
  • (deps) Update module github.com/stretchr/testify to v1.7.1 (#1148)
  • (deps) Update module github.com/swaggo/swag to v1.8.1 (#1156)
  • (deps) Update module github.com/yuin/goldmark to v1.4.11 (#1143)
  • (deps) Update module github.com/spf13/cobra to v1.4.0 (#1145)
  • (deps) Update module github.com/lib/pq to v1.10.5 (#1157)
  • (deps) Update module github.com/spf13/viper to v1.11.0 (#1159)
  • (deps) Update module github.com/yuin/goldmark to v1.4.12 (#1162)
  • (deps) Update module github.com/prometheus/client_golang to v1.12.2 (#1166)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.13 (#1165)
  • (deps) Update module github.com/coreos/go-oidc/v3 to v3.2.0 (#1164)
  • (deps) Update module github.com/swaggo/swag to v1.8.2 (#1167)
  • (deps) Update module github.com/lib/pq to v1.10.6 (#1169)
  • (deps) Update module gopkg.in/yaml.v3 to v3.0.1 (#1179)
  • (deps) Update module github.com/imdario/mergo to v0.3.13 (#1178)
  • (deps) Update module github.com/stretchr/testify to v1.7.2 (#1182)
  • (deps) Update module github.com/swaggo/swag to v1.8.3 (#1185)
  • (deps) Update module github.com/spf13/cobra to v1.5.0 (#1192)
  • (deps) Update module github.com/golang-jwt/jwt/v4 to v4.4.2 (#1193)
  • (deps) Update module github.com/stretchr/testify to v1.8.0 (#1191)
  • (deps) Update module github.com/go-testfixtures/testfixtures/v3 to v3.8.0 (#1168)
  • (deps) Update module github.com/mattn/go-sqlite3 to v1.14.14 (#1194)
  • (deps) Update golang.org/x/term digest to 065cf7b (#1207)
  • (deps) Update golang.org/x/image digest to 41969df (#1203)
  • (deps) Update module github.com/yuin/goldmark to v1.4.13 (#1209)
  • (deps) Update golang.org/x/crypto digest to 0559593 (#1202)
  • (deps) Update module github.com/spf13/afero to v1.9.0 (#1210)
  • (deps) Update module github.com/gabriel-vasile/mimetype to v1.4.1 (#1208)
  • (deps) Update golang.org/x/sync digest to 0de741c (#1205)
  • (deps) Update github.com/c2h5oh/datasize digest to 859f65c (#1201)
  • (deps) Update golang.org/x/oauth2 digest to 2104d58 (#1204)
  • (deps) Update golang.org/x/sys digest to c0bba94 (#1206)
  • (deps) Update golang.org/x/oauth2 digest to c8730f7 (#1214)
  • (deps) Update module github.com/spf13/afero to v1.9.2 (#1215)
  • (deps) Update module github.com/swaggo/swag to v1.8.4 (#1216)
  • (deps) Update module github.com/spf13/viper to v1.12.0 (#1180)
  • (deps) Update golang.org/x/sys digest to 1609e55 (#1217)
  • (deps) Update module github.com/go-testfixtures/testfixtures/v3 to v3.8.1 (#1226)
  • (deps) Update module go to 1.18 (#1225)

Documentation

  • Add docker-compose example with no proxy (4255bc3)
  • Add another youtube tutorial (dbd6f36)
  • Fix api url in docker examples without a proxy (68998e9)
  • Make sure all links to vikunja pages are https (cc612d5)
  • Update backup instructions (4829c89)
  • Add postgres to docker-compose examples (2aea169)
  • Improve development docs (9bf32aa)
  • Add another tutorial link (1fa74cb)
  • Improve wording for systemd (13561f2)
  • Update testing (da318e3)
  • Add guide for Synology NAS (049ae39)

Features

  • (docs) Add details of using NGINX Proxy Manager to the Reverse Proxy docs (#13)
  • (docs) Add versions explanation
  • (mail) Don't try to authenticate when no username and password was provided* Add better error logs for mage commands (bb086eb)
  • Expose if task comments are enabled or not in /info (ae8db17)
  • Improve account deletion email grammar (#1006) (dcb52c0)
  • Add more debug logging when deleting users (8f55af0)
  • Don't require a password for data export from users authenticated with third-party auth (9eca971)
  • Expose if a user is a local user through its jwt token (516c812)
  • Expose if a user is a local user through the /user endpoint (2683ef2)
  • Enable rate limit for unauthenticated routes (093d0c6)
  • Use wallpaper topic for default unsplash background list (88a2ced)
  • Gravatar - Lowercase emails before MD5 hash (#10) (36bf3d2)
  • Add marble avatar (#1060) (73ee696)
  • Save user language in the settings (a98119f)
  • Add time zone setting for reminders (#1092) (61d49c3)
  • Add long-lived api tokens (#1085) (1322cb1)
  • Upgrade golangci-lint to 1.45.2 (5cf263a)
  • Add date math for filters (#1086) (0a1d8c9)
  • Add migration to create BlurHash strings for all list backgrounds (362706b)
  • Generate a BlurHash when uploading a new image (f83b09a)
  • Save BlurHash from unsplash when selecting a photo from unsplash (2ec7d7a)
  • Return BlurHash for unsplash search results (6df8658)
  • Add caldav tokens (#1065) (e4b50e8)
  • Ability to serve static files (#1174) (acaa850)
  • Restrict max avatar size (2f25b48)
  • Send overdue tasks email notification at 9:00 in the user's time zone (7eb3b96)
  • Add setting to change overdue tasks reminder email time (8869adf)
  • Allow only the authors of task comments to edit them (01271c4)
  • Migrate away from gomail (30e0e98)
  • Embed the vikunja logo as inline attachment (f4f8450)
  • Use embed fs directly to embed the logo in mails (73c4c39)
  • Use actual uuids for tasks (62325de)
  • Add issue template (117f6b3)

Miscellaneous Tasks

  • (ci) Use latest version of s3 plugin
  • (ci) Sign drone config
  • (docs) Update docs about compiling from source
  • (docs) Redirect properly from /docs/docs
  • (docs) Add new mailer option to docs
  • (docs) Clarify openid setup with environment variables
  • (docs) Add frontendurl to all example configs
  • (mage) Don't set api packages when they are not used* Sign drone config (1d8d0f1)
  • Cleanup namespace creation (b60c69c)
  • Generate swagger docs (ba2bdff)
  • Go mod tidy (726a517)
  • Upgrade trello api wrapper and remove fork (7e99618)
  • Use our custom build image to build docker image (251b877)
  • Update golangci-lint (430057a)

Other

  • (other) Healthcheck endpoint (#998)
  • (other) Added the ability to configure the JWT expiry date using a new server.jwtttl config parameter. (#999)
  • (other) Enable a list to be moved across namespaces (#1096)
  • (other) A bunch of dependency updates at once (#1155)
  • (other) Add client-cert parameters of the Go pq driver to the Vikunja config (#1161)
  • (other) Add exec to run script to run app as PID 1 (#1200)

[0.18.1] - 2021-09-08

Fixed

  • Docs: Add another third-party tutorial link
  • Don't try to export items which do not have a parent
  • fix(deps): update golang.org/x/sys commit hash to 6f6e228 (#970)
  • fix(deps): update golang.org/x/sys commit hash to c212e73 (#971)
  • Fix exporting tasks from archived lists
  • Fix lint
  • Fix tasks not exported
  • Fix tmp export file created in the wrong path

[0.18.0] - 2021-09-05

Added

  • Add default list setting (#875)
  • Add menu link to Vikunja Cloud in docs
  • Add more logging and better error messages for openid authentication + clarify docs
  • Add more logging for test data api endpoint
  • Add searching for tasks by index
  • Add setting for first day of the week
  • Add support of Unix socket (#912)
  • Add truncate parameter to test fixtures setup
  • Notify the user after three failed login attempts
  • Reorder tasks, lists and kanban buckets (#923)
  • Send a notification on failed TOTP
  • Task mentions (#926)
  • Try to get more information about the user when authenticating with openid
  • User account deletion (#937)
  • User Data Export and import (#967)

Changed

  • Allow running migration 20210711173657 multiple times to fix issues when it didn't completely run through previously
  • Better logging for errors while importing a bunch of tasks
  • Change task title to TEXT instead of varchar(250) to allow for longer task titles
  • Disable the user account after 10 failed password attempts
  • Docs: Add a note about default password
  • Docs: Add another youtube tutorial
  • Docs: Add ios to the list of not working caldav clients
  • Docs: Add k8s-at-home Helm Chart for Vikunja
  • Docs: Add other installation resources
  • Docs: Add translation docs
  • Docs: Fix rewrite rules in apache example configs
  • Docs: Translation now happening at crowdin
  • Docs: Update translation guidelines
  • Don't fail when removing the last bucket in migration from other services
  • Don't notify the user who created the team
  • Don't use the mariadb root user in docker-compose examples
  • Ensure case insensitive search on postgres (#927)
  • Increase test timeout
  • Only filter out failing openid providers if multiple are configured and one of them failed
  • Only send an email about failed totp after three failed attempts
  • Rearrange setting frontend url in config
  • Refactor user email confirmation + password reset handling (#919)
  • Rename and sign drone config
  • Replace jwt-go with github.com/golang-jwt/jwt
  • Reset failed totp attempts when logging in successfully
  • Save user tokens as text and not varchar
  • Save user tokens as varchar(450) and not text to fix mysql indexing issues
  • Set todoist migration redirect url to the frontend url by default
  • Show config full paths and env variables with config options
  • Switch the :latest docker image tag to contain the latest release instead of the latest unstable
  • Tune test db server settings to speed up tests (#939)

Fixed

  • Fix authentication callback
  • Fix duplicating empty lists
  • Fix error handling when deleting an attachment file
  • Fix error when searching for a namespace returned no results
  • Fix error when searching for a namespace with subscribers
  • Fix goimports
  • Fix importing archived projects and done items from todoist
  • Fix jwt middleware
  • Fix lint
  • Fix mapping task priorities from Vikunja to calDAV
  • Fix moving the done bucket around
  • Fix old references to master in docs
  • Fix panic on invalid smtp config
  • Fix parsing openid config when using a json config file
  • Fix saving pointer values to memory keyvalue
  • Fix saving reminders of repeating tasks
  • Fix setting a saved filter as favorite
  • Fix setting task favorite status of related tasks
  • Fix setting up keyvalue storage in tests
  • Fix swagger docs for create requests
  • Fix task relations not getting properly cleaned up when deleting them
  • Fix tests & lint
  • Make sure a bucket exists or use the default bucket when importing tasks
  • Make sure all associated entities of a task are deleted when the task is deleted
  • Make sure list / task favorites are set per user, not per entity (#915)
  • Make sure the configured frontend url always has a / at the end
  • Refactor & fix storing struct-values in redis keyvalue
  • Todoist migration: don't panic if no reminder was found for task

Dependency updates

  • fix(deps): update golang.org/x/sys commit hash to 63515b4 (#959)
  • fix(deps): update golang.org/x/sys commit hash to 97244b9 (#965)
  • fix(deps): update golang.org/x/sys commit hash to f475640 (#962)
  • fix(deps): update golang.org/x/sys commit hash to f4d4317 (#961)
  • fix(deps): update module github.com/lib/pq to v1.10.3 (#963)
  • Update alpine Docker tag to v3.13 (#884)
  • Update alpine Docker tag to v3.14 (#889)
  • Update golang.org/x/crypto commit hash to 0a44fdf (#944)
  • Update golang.org/x/crypto commit hash to 0ba0e8f (#943)
  • Update golang.org/x/crypto commit hash to 32db794 (#949)
  • Update golang.org/x/crypto commit hash to 5ff15b2 (#891)
  • Update golang.org/x/crypto commit hash to a769d52 (#916)
  • Update golang.org/x/image commit hash to 775e3b0 (#880)
  • Update golang.org/x/image commit hash to a66eb64 (#900)
  • Update golang.org/x/image commit hash to e6eecd4 (#893)
  • Update golang.org/x/net commit hash to 37e1c6af
  • Update golang.org/x/oauth2 commit hash to 14747e6 (#894)
  • Update golang.org/x/oauth2 commit hash to 2bc19b1 (#955)
  • Update golang.org/x/oauth2 commit hash to 6f1e639 (#931)
  • Update golang.org/x/oauth2 commit hash to 7df4dd6 (#952)
  • Update golang.org/x/oauth2 commit hash to a41e5a7 (#902)
  • Update golang.org/x/oauth2 commit hash to a8dc77f (#896)
  • Update golang.org/x/oauth2 commit hash to bce0382 (#895)
  • Update golang.org/x/oauth2 commit hash to d040287 (#888)
  • Update golang.org/x/oauth2 commit hash to f6687ab (#862)
  • Update golang.org/x/oauth2 commit hash to faf39c7 (#935)
  • Update golang.org/x/sys commit hash to 00dd8d7 (#953)
  • Update golang.org/x/sys commit hash to 15123e1 (#946)
  • Update golang.org/x/sys commit hash to 1e6c022 (#947)
  • Update golang.org/x/sys commit hash to 30e4713 (#945)
  • Update golang.org/x/sys commit hash to 41cdb87 (#956)
  • Update golang.org/x/sys commit hash to 7d9622a (#948)
  • Update golang.org/x/sys commit hash to bfb29a6 (#951)
  • Update golang.org/x/sys commit hash to d867a43 (#934)
  • Update golang.org/x/sys commit hash to e5e7981 (#933)
  • Update golang.org/x/sys commit hash to f52c844 (#954)
  • Update golang.org/x/term commit hash to 6886f2d (#887)
  • Update module getsentry/sentry-go to v0.11.0 (#869)
  • Update module github.com/coreos/go-oidc to v3 (#885)
  • Update module github.com/gabriel-vasile/mimetype to v1.3.1 (#904)
  • Update module github.com/golang-jwt/jwt to v3.2.2 (#928)
  • Update module github.com/golang-jwt/jwt to v4 (#930)
  • Update module github.com/go-redis/redis/v8 to v8.11.0 (#903)
  • Update module github.com/go-redis/redis/v8 to v8.11.1 (#925)
  • Update module github.com/go-redis/redis/v8 to v8.11.2 (#932)
  • Update module github.com/go-redis/redis/v8 to v8.11.3 (#942)
  • Update module github.com/iancoleman/strcase to v0.2.0 (#918)
  • Update module github.com/labstack/echo/v4 to v4.4.0 (#917)
  • Update module github.com/labstack/echo/v4 to v4.5.0 (#929)
  • Update module github.com/mattn/go-sqlite3 to v1.14.8 (#921)
  • Update module github.com/spf13/cobra to v1.2.0 (#905)
  • Update module github.com/spf13/cobra to v1.2.1 (#906)
  • Update module github.com/spf13/viper to v1.8.0 (#890)
  • Update module github.com/spf13/viper to v1.8.1 (#899)
  • Update module github.com/swaggo/swag to v1.7.1 (#936)
  • Update module github.com/yuin/goldmark to v1.3.8 (#892)
  • Update module github.com/yuin/goldmark to v1.3.9 (#901)
  • Update module github.com/yuin/goldmark to v1.4.0 (#908)
  • Update module go-redis/redis/v8 to v8.10.0 (#882)
  • Update module go-redis/redis/v8 to v8.7.1 (#807)
  • Update module go-testfixtures/testfixtures/v3 to v3.6.1 (#868)
  • Update module lib/pq to v1.10.2 (#865)
  • Update module prometheus/client_golang to v1.11.0 (#879)
  • Update module yuin/goldmark to v1.3.6 (#863)
  • Update module yuin/goldmark to v1.3.7 (#867)
  • Update monachus/hugo Docker tag to v0.75.1 (#940)

[0.17.1] - 2021-06-09

Fixed

  • Fix parsing openid config when using a json config file

[0.17.0] - 2021-05-14

Added

  • Add a "done" option to kanban buckets (#821)
  • Add arm64 builds
  • Add basic auth for metrics endpoint
  • Add bucket limit validation
  • Add crud endpoints for notifications (#801)
  • Add endpoint to remove a list background
  • Add events (#777)
  • Add github funding link
  • Add link share password authentication (#831)
  • Add names for link shares (#829)
  • Add notifications package for easy sending of notifications (#779)
  • Add reminders for overdue tasks (#832)
  • Add repeat monthly setting for tasks (#834)
  • Add security information to readme
  • Add separate docker manifest file for latest docker images
  • Add systemd service file to linux packages
  • Add test for moving a task to another list
  • Enable searching users by full email or name
  • Expose tls parameter of Go MySQL driver to config file (#855)
  • Pagingation for tasks in kanban buckets (#805)

Changed

  • Change keyvalue.Get to return if a value exists or not instead of an error
  • Change main branch to main
  • Change test file names to unstable
  • Change the name of the newly created bucket from "New Bucket" to "Backlog"
  • Change unstable versions in migration tests
  • Check if we're on main and change the version name accordingly if that's the case
  • Cleanup listener names
  • Cleanup old docs themes submodule
  • Disable deb repo in drone
  • Don't keep old releases from os packages when releasing for master
  • Don't try to get users for tasks if no tasks were found when looking for reminders
  • Explicitly add docker build step for latest
  • Explicitly check if there are Ids before trying to get items by a list of Ids
  • Improve duration format of overdue tasks in reminders
  • Improve loading labels performance (#824)
  • Improve sending overdue task reminders by only sending one for all overdue tasks
  • Make sure all tables are properly pluralized
  • Only send reminders for undone tasks
  • Re-Enable migration test steps in pipeline
  • Refactor getting all namespaces
  • Remove unused tools from tools.go
  • Run all lint checks at once
  • Send a notification to the user when they are added to the list
  • Show empty avatar when the user was not found
  • Subscribe a user to a task when they are assigned to it
  • Subscriptions and notifications for namespaces, tasks and lists (#786)
  • Switch building the docs to download the theme instead of building
  • Switch telegram notifications to matrix notifications
  • Temporarily disable migration step
  • Temporary build fix
  • Update changelog
  • Update copyright year
  • Update README (#858)
  • Use golang's tzdata package to handle time zones

Fixed

  • Explicitly set darwin-10.15 when building binaries
  • Fix build
  • Fix checking list rights when accessing a bucket
  • Fix /dav/principals/*/ throwing a server error when accessed with GET instead of PROPFIND (#769)
  • Fix deleting task relations
  • Fix docs
  • Fix drone file
  • Fix due dates with times when migrating from todoist
  • Fix event error handler retrying infinitely
  • Fix filter for task index
  • Fix getting lists for shared, favorite and saved lists namespace
  • Fix getting user info from /user endpoint for link shares
  • Fix IncrBy and DecrBy in memory keyvalue implementation if there was no value set previously
  • Fix lint
  • Fix matrix notify room id
  • Fix moving repeating tasks to the done bucket
  • Fix multiarch docker image building
  • Fix not able to make saved filters favorite
  • Fix notifications table not being created on initial setup
  • Fix resetting the bucket limit
  • Fix retrieving over openid providers if there are none
  • Fix sending notifications to users if the user object didn't have an email
  • Fix setting the user in created_by when uploading an attachment
  • Fix shared lists showing up twice
  • Fix tests
  • Fix the shared lists pseudo namespace containing owned lists
  • Fix unstable version build file names
  • Fix user uploaded avatars
  • Pin golang alpine builder image to 3.12 to fix builds on arm
  • Revert "Update alpine Docker tag to v3.13 (#768)"

Dependency Updates

  • Update alpine Docker tag to v3.13 (#768)
  • Update github.com/gordonklaus/ineffassign commit hash to 2e10b26 (#803)
  • Update github.com/gordonklaus/ineffassign commit hash to d0e41b2 (#780)
  • Update golang.org/x/crypto commit hash to 0c34fe9 (#822)
  • Update golang.org/x/crypto commit hash to 3497b51 (#853)
  • Update golang.org/x/crypto commit hash to 38f3c27 (#854)
  • Update golang.org/x/crypto commit hash to 4f45737 (#836)
  • Update golang.org/x/crypto commit hash to 513c2a4 (#817)
  • Update golang.org/x/crypto commit hash to 5bf0f12 (#839)
  • Update golang.org/x/crypto commit hash to 5ea612d (#797)
  • Update golang.org/x/crypto commit hash to 83a5a9b (#840)
  • Update golang.org/x/crypto commit hash to b8e89b7 (#793)
  • Update golang.org/x/crypto commit hash to c07d793 (#861)
  • Update golang.org/x/crypto commit hash to cd7d49e (#860)
  • Update golang.org/x/crypto commit hash to e6e6c4f (#816)
  • Update golang.org/x/crypto commit hash to e9a3299 (#851)
  • Update golang.org/x/image commit hash to 4410531 (#788)
  • Update golang.org/x/image commit hash to 55ae14f (#787)
  • Update golang.org/x/image commit hash to 7319ad4 (#852)
  • Update golang.org/x/image commit hash to ac19c3e (#798)
  • Update golang.org/x/oauth2 commit hash to 0101308 (#776)
  • Update golang.org/x/oauth2 commit hash to 01de73c (#762)
  • Update golang.org/x/oauth2 commit hash to 16ff188 (#789)
  • Update golang.org/x/oauth2 commit hash to 22b0ada (#823)
  • Update golang.org/x/oauth2 commit hash to 2e8d934 (#827)
  • Update golang.org/x/oauth2 commit hash to 5366d9d (#813)
  • Update golang.org/x/oauth2 commit hash to 5e61552 (#833)
  • Update golang.org/x/oauth2 commit hash to 6667018 (#783)
  • Update golang.org/x/oauth2 commit hash to 81ed05c (#848)
  • Update golang.org/x/oauth2 commit hash to 8b1d76f (#764)
  • Update golang.org/x/oauth2 commit hash to 9bb9049 (#796)
  • Update golang.org/x/oauth2 commit hash to af13f52 (#773)
  • Update golang.org/x/oauth2 commit hash to ba52d33 (#794)
  • Update golang.org/x/oauth2 commit hash to cd4f82c (#815)
  • Update golang.org/x/oauth2 commit hash to d3ed898 (#765)
  • Update golang.org/x/oauth2 commit hash to f9ce19e (#775)
  • Update golang.org/x/sync commit hash to 036812b (#799)
  • Update golang.org/x/term commit hash to 6a3ed07 (#800)
  • Update golang.org/x/term commit hash to 72f3dc4 (#828)
  • Update golang.org/x/term commit hash to a79de54 (#850)
  • Update golang.org/x/term commit hash to b80969c (#843)
  • Update golang.org/x/term commit hash to c04ba85 (#849)
  • Update golang.org/x/term commit hash to de623e6 (#818)
  • Update golang.org/x/term commit hash to f5beecf (#845)
  • Update module adlio/trello to v1.9.0 (#825)
  • Update module coreos/go-oidc to v3 (#760)
  • Update module gabriel-vasile/mimetype to v1.2.0 (#812)
  • Update module gabriel-vasile/mimetype to v1.3.0 (#857)
  • Update module getsentry/sentry-go to v0.10.0 (#792)
  • Update module go-redis/redis/v8 to v8.4.10 (#771)
  • Update module go-redis/redis/v8 to v8.4.11 (#774)
  • Update module go-redis/redis/v8 to v8.4.9 (#770)
  • Update module go-redis/redis/v8 to v8.5.0 (#778)
  • Update module go-redis/redis/v8 to v8.6.0 (#795)
  • Update module go-sql-driver/mysql to v1.6.0 (#826)
  • Update module go-testfixtures/testfixtures/v3 to v3.5.0 (#761)
  • Update module go-testfixtures/testfixtures/v3 to v3.6.0 (#838)
  • Update module iancoleman/strcase to v0.1.3 (#766)
  • Update module imdario/mergo to v0.3.12 (#811)
  • Update module jgautheron/goconst to v1 (#804)
  • Update module labstack/echo/v4 to v4.2.0 (#785)
  • Update module labstack/echo/v4 to v4.2.1 (#810)
  • Update module labstack/echo/v4 to v4.2.2 (#830)
  • Update module labstack/echo/v4 to v4.3.0 (#856)
  • Update module lib/pq to v1.10.0 (#809)
  • Update module lib/pq to v1.10.1 (#841)
  • Update module mattn/go-sqlite3 to v1.14.7 (#835)
  • Update module olekukonko/tablewriter to v0.0.5 (#782)
  • Update module prometheus/client_golang to v1.10.0 (#819)
  • Update module spf13/afero to v1.6.0 (#820)
  • Update module spf13/cobra to v1.1.2 (#781)
  • Update module spf13/cobra to v1.1.3 (#784)
  • Update module src.techknowlogick.com/xgo to v1.3.0+1.16.0 (#791)
  • Update module src.techknowlogick.com/xgo to v1.4.0+1.16.2 (#814)
  • Update module stretchr/testify to v1.7.0 (#763)

[0.16.1] - 2021-04-22

Fixed

  • Fix checking list rights when accessing a bucket
  • Remove old deb-structure ci step
  • Fix docker from

[0.16.0] - 2021-01-10

Added

  • Add colors for caldav (#738)
  • Add email reminders (#743)
  • Add "like" filter comparator
  • Add login via email (#740)
  • Add Microsoft Todo migration (#737)
  • Add name field to users
  • Add support for migrating todoist boards (#732)
  • Add task filter for assignees (#746)
  • Add task filter for labels (#747)
  • Add task filter for lists and namespaces (#748)
  • Add task filter for reminders (#745)
  • Add task filters for kanban
  • Add testing endpoint to reset db tables (#716)
  • Add tests for sending task reminders (#757)
  • Add trello migration (#734)
  • Authentication with OpenID Connect providers (#713)

Fixed

  • Fix completion status in DAV for OpenTasks and multiline descriptions (#697)
  • Fix docs about caldav tasks.org
  • Fix drone badge in README
  • Fix getting current user when updating avatar or user name
  • Fix go header lint
  • Fix /info endpoint 500 error when no openid providers were configured
  • Fix missing auto increments from b0d4902406 on mysql
  • Fix not possible to create tasks if metrics were enabled
  • Fix password reset without a reseet token
  • Fix task updated timestamp not being updated in the response after updating a task

Changed

  • Change avatar endpoint
  • Change license to AGPLv3
  • Clarify docs about cors configuration
  • Don't create a list identifier by default
  • Make sure all int64 db fields are using bigint when actually storing the data (#741)
  • Make sure a password reset token can be used only once
  • Make the debian repo structure for buster instead of stretch
  • Refactor adding more details to tasks (#739)
  • Simplify updating task reminders
  • Update code header template
  • Update github.com/gordonklaus/ineffassign commit hash to 3b93a88 (#701)
  • Update github.com/gordonklaus/ineffassign commit hash to 8eed68e (#755)
  • Update github.com/jgautheron/goconst commit hash to b58d7cf (#702)
  • Update github.com/jgautheron/goconst commit hash to ccae5bf (#712)
  • Update github.com/jgautheron/goconst commit hash to f8e4fe8 (#703)
  • Update golang.org/x/crypto commit hash to 0c6587e (#706)
  • Update golang.org/x/crypto commit hash to 5f87f34 (#729)
  • Update golang.org/x/crypto commit hash to 8b5274c (#733)
  • Update golang.org/x/crypto commit hash to 9d13527 (#736)
  • Update golang.org/x/crypto commit hash to be400ae (#719)
  • Update golang.org/x/crypto commit hash to c8d3bf9 (#710)
  • Update golang.org/x/crypto commit hash to eec23a3 (#749)
  • Update golang.org/x/image commit hash to 35266b9 (#727)
  • Update golang.org/x/lint commit hash to 83fdc39 (#728)
  • Update golang.org/x/oauth2 commit hash to 08078c5 (#722)
  • Update golang.org/x/oauth2 commit hash to 0b49973 (#718)
  • Update golang.org/x/oauth2 commit hash to 9fd6049 (#714)
  • Update golang.org/x/sync commit hash to 09787c9 (#725)
  • Update golang.org/x/sync commit hash to 67f06af (#695)
  • Update golang.org/x/term commit hash to 2321bbc (#731)
  • Update golang.org/x/term commit hash to ee85cb9 (#726)
  • Update module cweill/gotests to v1.6.0 (#752)
  • Update module fzipp/gocyclo to v0.3.1 (#696)
  • Update module gabriel-vasile/mimetype to v1.1.2 (#708)
  • Update module getsentry/sentry-go to v0.8.0 (#709)
  • Update module getsentry/sentry-go to v0.9.0 (#723)
  • Update module go-redis/redis/v8 to v8.4.4 (#742)
  • Update module go-redis/redis/v8 to v8.4.6 (#756)
  • Update module go-redis/redis/v8 to v8.4.7 (#758)
  • Update module go-redis/redis/v8 to v8.4.8 (#759)
  • Update module lib/pq to v1.9.0 (#717)
  • Update module magefile/mage to v1.11.0 (#754)
  • Update module mattn/go-sqlite3 to v1.14.5 (#711)
  • Update module mattn/go-sqlite3 to v1.14.6 (#751)
  • Update module pquerna/otp to v1.3.0 (#705)
  • Update module prometheus/client_golang to v1.9.0 (#735)
  • Update module spf13/afero to v1.5.0 (#724)
  • Update module spf13/afero to v1.5.1 (#730)
  • Update module src.techknowlogick.com/xgo to v1.2.0+1.15.6 (#720)
  • Update module src.techknowlogick.com/xormigrate to v1.4.0 (#700)
  • Update module swaggo/swag to v1.6.9 (#694)
  • Update module swaggo/swag to v1.7.0 (#721)
  • Update module ulule/limiter/v3 to v3.8.0 (#699)
  • Update nfpm config for nfpm v2
  • Use db sessions everywere (#750)

[0.15.1] - 2020-10-20

Fixed

  • Fix not possible to create tasks if metrics were enabled

[0.15.0] - 2020-10-19

Added

  • Add app support info for DAV (#692)
  • Add better tests for namespaces
  • Add caldav enabled/disabled to /info endpoint
  • Add checks if tasks exist in maps before trying to access them
  • Add config option to force ssl connections to connect with the mailer
  • Add dav proxy directions to example proxy configurations
  • Add docs about using vikunja with utf-8 characters
  • Add FreeBSD guide to installation docs
  • Add github sponsor link
  • Add Golangci Lint (#676)
  • Add mage command to create a new migration
  • Add option to configure legal urls
  • Add rootpath to deb command to not include everything in the deb file
  • Add toc to docs
  • Add update route to toggle team member admin status
  • Add util function to move files
  • Disable gocyclo for migration modules
  • Favorite lists (#654)
  • Favorite tasks (#653)
  • Generate config docs from sample config (#684)
  • Kanban bucket limits (#652)
  • Key-Value Storages (#674)
  • Manage users via cli (#632)
  • Mention client_max_body_size in nginx proxy settings
  • More avatar providers (#622)
  • Return rights when reading a single item (#626)
  • Saved filters (#655)

Fixed

  • Cleanup references to make
  • Don't add a subtask to the top level of tasks to not add it twice in the list
  • Fetch tasks for caldav lists (#641)
  • Fix building for darwin with mage
  • Fix creating lists with non ascii characters (#607)
  • Fix decoding active users from redis
  • Fix dockerimage build
  • Fix docs index links
  • Fix duplicating a list with background
  • "Fix" gocyclo
  • Fix loading list background information for uploaded backgrounds
  • Fix migrating items with large items from todoist
  • Fix nfpm command in drone
  • Fix parsing todoist reminder dates
  • Fix reading passwords on windows
  • Fix release commands in drone
  • Fix release trigger
  • Fix release trigger in drone
  • Fix token renew for link shares
  • Fix trigger for pushing release artifacts to drone
  • Fix updating team admin status
  • Fix upload avatar not working
  • Fix users with disabled totp but not enrolled being unable to login
  • Makefile: make add EXTRA_GOFLAG to GOFLAGS (#605)
  • Make sure built binary files are executable when compressing with upx
  • Make sure lists which would have a duplicate identifier can still be duplicated
  • Make sure the metrics map accesses only happen explicitly
  • Make sure to copy the permissions as well when moving files
  • Make sure to only initialize all variables when needed
  • Make sure to require admin rights when modifying list/namespace users to be consistent with teams
  • Make sure we have git installed when building os packages
  • Make sure we have go installed when building os packages (for build step dependencies)
  • Only check if a bucket limit is exceeded when moving a task between buckets
  • Only try to download attachments from todoist when there is a url
  • Pin telegram notification plugin in drone
  • Regenerate swagger docs
  • Skip directories when moving build release artefacts in drone
  • Support absolute iCal timestamps in CalDAV requests (#691)
  • Work around tasks with attachments not being duplicated

Changed

  • Replace renovate tokens with env
  • Switch s3 release bucket to scaleway
  • Switch to mage (#651)
  • Testing improvements (#666)
  • Update docs with testmail command + reorder
  • Update github.com/asaskevich/govalidator commit hash to 29e1ff8 (#639)
  • Update github.com/asaskevich/govalidator commit hash to 50839af (#637)
  • Update github.com/asaskevich/govalidator commit hash to 7a23bdc (#657)
  • Update github.com/asaskevich/govalidator commit hash to df4adff (#552)
  • Update github.com/c2h5oh/datasize commit hash to 48ed595 (#644)
  • Update github.com/gordonklaus/ineffassign commit hash to e36bfde (#625)
  • Update github.com/jgautheron/goconst commit hash to 8f5268c (#658)
  • Update github.com/shurcooL/vfsgen commit hash to 0d455de (#642)
  • Update golang.org/x/crypto commit hash to 123391f (#619)
  • Update golang.org/x/crypto commit hash to 5c72a88 (#640)
  • Update golang.org/x/crypto commit hash to 7f63de1 (#672)
  • Update golang.org/x/crypto commit hash to 84dcc77 (#678)
  • Update golang.org/x/crypto commit hash to 948cd5f (#609)
  • Update golang.org/x/crypto commit hash to 9e8e0b3 (#685)
  • Update golang.org/x/crypto commit hash to ab33eee (#608)
  • Update golang.org/x/crypto commit hash to afb6bcd (#668)
  • Update golang.org/x/crypto commit hash to c90954c (#671)
  • Update golang.org/x/crypto commit hash to eb9a90e (#669)
  • Update golang.org/x/image commit hash to 4578eab (#663)
  • Update golang.org/x/image commit hash to a67d67e (#664)
  • Update golang.org/x/image commit hash to e162460 (#665)
  • Update golang.org/x/image commit hash to e59bae6 (#659)
  • Update golang.org/x/sync commit hash to 3042136 (#667)
  • Update golang.org/x/sync commit hash to b3e1573 (#675)
  • Update module 4d63.com/tz to v1.2.0 (#631)
  • Update module fzipp/gocyclo to v0.2.0 (#686)
  • Update module fzipp/gocyclo to v0.3.0 (#687)
  • Update module getsentry/sentry-go to v0.7.0 (#617)
  • Update module go-errors/errors to v1.1.1 (#677)
  • Update module go-testfixtures/testfixtures/v3 to v3.4.0 (#627)
  • Update module go-testfixtures/testfixtures/v3 to v3.4.1 (#693)
  • Update module iancoleman/strcase to v0.1.0 (#636)
  • Update module iancoleman/strcase to v0.1.1 (#645)
  • Update module iancoleman/strcase to v0.1.2 (#660)
  • Update module imdario/mergo to v0.3.10 (#615)
  • Update module imdario/mergo to v0.3.11 (#629)
  • Update module labstack/echo/v4 to v4.1.17 (#646)
  • Update module lib/pq to v1.7.1 (#616)
  • Update module lib/pq to v1.8.0 (#618)
  • Update module mattn/go-sqlite3 to v1.14.1 (#638)
  • Update module mattn/go-sqlite3 to v1.14.2 (#647)
  • Update module mattn/go-sqlite3 to v1.14.3 (#661)
  • Update module mattn/go-sqlite3 to v1.14.4 (#670)
  • Update module prometheus/client_golang to v1.8.0 (#681)
  • Update module spf13/afero to v1.3.2 (#610)
  • Update module spf13/afero to v1.3.3 (#623)
  • Update module spf13/afero to v1.3.4 (#628)
  • Update module spf13/afero to v1.3.5 (#650)
  • Update module spf13/afero to v1.4.0 (#662)
  • Update module spf13/afero to v1.4.1 (#673)
  • Update module spf13/cobra to v1.1.0 (#679)
  • Update module spf13/cobra to v1.1.1 (#690)
  • Update module spf13/viper to v1.7.1 (#620)
  • Update module src.techknowlogick.com/xgo to v1.1.0+1.15.0 (#630)
  • Update module src.techknowlogick.com/xgo to v1 (#613)
  • Update module swaggo/swag to v1.6.8 (#680)
  • Update renovate token
  • Update src.techknowlogick.com/xgo commit hash to 7c2e3c9 (#611)
  • Update src.techknowlogick.com/xgo commit hash to 96de19c (#612)
  • update theme
  • Update xgo to v1.0.0+1.14.6
  • Use db sessions for task-related things (#621)
  • Use nfpm to build deb, rpm and apk packages (#689)

[0.14.1] - 2020-07-07

Fixed

  • Fix creating lists with non ascii characters (#607)
  • Fix decoding active users from redis
  • Fix parsing todoist reminder dates
  • Make sure the metrics map accesses only happen explicitly

Changed

  • Update docs theme

[0.14.0] - 2020-07-01

Added

  • Add ability to run the docker container with configurable user and group ids
  • Add better errors if the sqlite db file is not writable
  • Add cache for initial unsplash collection
  • Add docker setup guide from start to finish
  • Add docs for restore
  • Add dump command (#592)
  • Add section to full-docker-example.md for Caddy v2 (#595)
  • Add go version to version command
  • Add list background information when getting all lists
  • Add logging if downloading an image from unsplash fails
  • Add migration test in drone (#585)
  • Add option to disable totp for everyone
  • Add plausible to docs
  • Add restarting commands to all example docker compose files
  • Add separate docker pipeline for amd64 and arm
  • Add test mail command (#571)
  • Add todoist migrator to available migrators in info endpoint if it is enabled
  • Add unsplash image proxy for images and thumbnails
  • Add returning unsplash info when searching
  • Don't return all tasks when a user has no lists
  • Duplicate Lists (#603)
  • Enable upload backgrounds by default
  • Generate a random list identifier based on the list title
  • List Backgrounds (#568)
  • List Background upload (#582)
  • Repeat tasks after completion (#587)
  • Restore command (#593)
  • Sentry integration (#591)
  • Todoist Migration (#566)

Fixed

  • Ensure consistent naming of title fields (#528)
  • Ensure task dates are in the future if a task has a repeating interval (#586)
  • Fix caching of initial unsplash results per page
  • Fix case-insensitive task search for postgresql (#524)
  • Fix docker manifest build
  • Fix docker multiarch build
  • Fix docs theme build
  • Fix getting unsplash thumbnails for non "photo-*" urls
  • Fix migration 20200425182634
  • Fix migration 20200516123847
  • Fix migration to add position to task
  • Fix misspell
  • Fix namespace title not being updated
  • Fix not loading timezones on all operating systems
  • Fix proxying unsplash images (security)
  • Fix removing existing sqlite files
  • Fix resetting list, label & namespace colors
  • Fix searching for unsplash pictures with words that contain a space
  • Fix setting a list identifier to empty
  • Fix sqlite db not working when creating a new one
  • Fix sqlite path in default config
  • Fix swagger docs
  • Fix updating the index when moving a task
  • Prevent crashing when trying to register with an empty payload
  • Properly ping unsplash when using unsplash images
  • Return errors when dumping
  • Set the list identifier when creating a new task

Changed

  • Expose namespace id when querying lists
  • Improve getting all namespaces performance (#526)
  • Improve memory usage of dump by not loading all files in memory prior to adding them to the zip
  • Improve metrics performance
  • Load the list when setting a background
  • Make the db timezone migration mysql compatible
  • Make the _unix suffix optional when sorting tasks
  • Migrate all timestamps to real iso dates (#594)
  • Make sure docker images are only built when tests pass
  • Remove build date from binary
  • Remove dependencies on build step to speed up test pipeline (#521)
  • Remove go mod vendor todo from pr template now that we don't keep dependencies in the repo anymore
  • Remove migration dependency to models
  • Remove min length for labels, lists, namespaces, tasks and teams
  • Remove vendored dependencies
  • Reorganize cmd init functions
  • Set unsplash empty collection caching to one hour
  • Simplify pipeline & add docker manifest step
  • Update alpine Docker tag to v3.12 (#573)
  • Update and fix staticcheck
  • Update dependency github.com/mattn/go-sqlite3 to v1.14.0
  • Update github.com/shurcooL/vfsgen commit hash to 92b8a71 (#599)
  • Update golang.org/x/crypto commit hash to 279210d (#577)
  • Update golang.org/x/crypto commit hash to 70a84ac (#578)
  • Update golang.org/x/crypto commit hash to 75b2880 (#596)
  • Update module go-redis/redis/v7 to v7.3.0 (#565)
  • Update module go-redis/redis/v7 to v7.4.0 (#579)
  • Update module go-testfixtures/testfixtures/v3 to v3.3.0 (#600)
  • Update module lib/pq to v1.6.0 (#572)
  • Update module lib/pq to v1.7.0 (#581)
  • Update module prometheus/client_golang to v1.7.0 (#589)
  • Update module prometheus/client_golang to v1.7.1 (#597)
  • Update module spf13/afero to v1.3.0 (#588)
  • Update module spf13/afero to v1.3.1 (#602)
  • Update module spf13/cobra to v1 (#511)
  • Update module src.techknowlogick.com/xormigrate to v1.2.1 (#574)
  • Update module src.techknowlogick.com/xormigrate to v1.3.0 (#590)
  • Update module stretchr/testify to v1.6.0 (#570)
  • Update module stretchr/testify to v1.6.1 (#580)
  • Update module swaggo/swag to v1.6.7 (#601)
  • Update src.techknowlogick.com/xgo commit hash to 209a5cf (#523)
  • Update src.techknowlogick.com/xgo commit hash to a09175e (#576)
  • Update src.techknowlogick.com/xgo commit hash to eeb7c0a (#575)
  • update theme
  • Update theme
  • Update web handler
  • Update xorm.io/xorm 1.0.1 -> 1.0.2
  • Use the db logger instance for logging migration related stuff

[0.13.1] - 2020-05-19

Fixed

  • Don't get all tasks if a user has no lists

[0.13] - 2020-05-12

Added

  • Add 2fa for authentication (#383)
  • Add categories to error docs
  • Add changing email for users
  • Add community link
  • Add configuration options for log level
  • Add creating a new first bucket when creating a new list
  • Add docs for changing frontend url
  • Add endpoint to disable totp auth
  • Add endpoint to get the current users totp status
  • Add explanation to docs about cors
  • Add github token for renovate (#164)
  • Add gosec static analysis
  • Add moving tasks between lists (#389)
  • Add real buckets for tasks which don't have one (#446)
  • Add traefik 2 example configuration
  • Configure Renovate (#159)
  • Kanban (#393)
  • Task filters (#243)
  • Task Position (#412)

Fixed

  • Add checking and logging when trying to put a task into a nonexisting bucket
  • Fix bucket ID being reset with no need to do so
  • Fix creating new things with a link share auth
  • Fix dependencies
  • Fix gosec in drone
  • Fix link share creation & creating admin link shares without admin rights
  • Fix moving tasks back into the empty (ID: 0) bucket
  • Fix moving tasks in buckets
  • Fix not moving its bucket when moving a task between lists
  • Fix pagination count for task collection
  • Fix parsing array style comparators by query param
  • Fix reference to reverse proxies in docs
  • Fix removing the last bucket
  • Fix replace statements for tail
  • Fix team rights not updating for namespace rights
  • Fix tests after renaming json fields to snake_case
  • Fix total label count when getting all labels (#477)
  • Remove setting task bucket to 0
  • Task Filter Fixes (#495)

Changed

  • Change all json fields to snake_case
  • Change totp secret datatype from varchar to text
  • Update alpine Docker tag to v3.11 (#160)
  • Update docs theme
  • Update github.com/c2h5oh/datasize commit hash to 28bbd47 (#212)
  • Update github.com/gordonklaus/ineffassign commit hash to 7953dde (#233)
  • Update github.com/jgautheron/goconst commit hash to cda7ea3 (#228)
  • Update github.com/shurcooL/httpfs commit hash to 8d4bc4b (#229)
  • Update golang.org/x/crypto commit hash to 056763e (#222)
  • Update golang.org/x/crypto commit hash to 06a226f (#504)
  • Update golang.org/x/crypto commit hash to 0848c95 (#371)
  • Update golang.org/x/crypto commit hash to 3c4aac8 (#419)
  • Update golang.org/x/crypto commit hash to 44a6062 (#429)
  • Update golang.org/x/crypto commit hash to 4b2356b (#475)
  • Update golang.org/x/crypto commit hash to 4bdfaf4 (#438)
  • Update golang.org/x/crypto commit hash to 729f1e8 (#458)
  • Update golang.org/x/crypto commit hash to a76a400 (#411)
  • Update golang.org/x/lint commit hash to 738671d (#223)
  • Update module go-redis/redis to v6.15.7 (#234)
  • Update module go-redis/redis to v6.15.7 (#290)
  • Update module go-redis/redis to v7 (#277)
  • Update module go-redis/redis to v7 (#309)
  • Update module go-testfixtures/testfixtures/v3 to v3.1.2 (#457)
  • Update module go-testfixtures/testfixtures/v3 to v3.2.0 (#505)
  • Update module imdario/mergo to v0.3.9 (#238)
  • Update module labstack/echo/v4 to v4.1.16 (#241)
  • Update module lib/pq to v1.4.0 (#428)
  • Update module lib/pq to v1.5.0 (#476)
  • Update module lib/pq to v1.5.1 (#485)
  • Update module lib/pq to v1.5.2 (#491)
  • Update module olekukonko/tablewriter to v0.0.4 (#240)
  • Update module prometheus/client_golang to v0.9.4 (#245)
  • Update module prometheus/client_golang to v1
  • Update module prometheus/client_golang to v1.6.0 (#463)
  • Update module spf13/cobra to v0.0.7 (#271)
  • Update module spf13/viper to v1.6.2 (#272)
  • Update module spf13/viper to v1.6.3 (#291)
  • Update module spf13/viper to v1.7.0 (#494)
  • Update module stretchr/testify to v1.5.1 (#274)
  • Update Renovate Configuration (#161)
  • Update src.techknowlogick.com/xgo commit hash to bb0faa3 (#279)
  • Update src.techknowlogick.com/xgo commit hash to c43d4c4 (#224)
  • Update xorm redis cacher to use the xorm logger instead of a special separate one
  • Update xorm to v1 (#323)

[0.12] - 2020-04-04

Added

  • Add support for archiving lists and namespaces (#152)
  • Colors for lists and namespaces (#155)
  • Add build time to compile flags
  • Add proxying gravatar requests for user avatars (#148)
  • Add empty avatar provider (#149)
  • expand relative path ~/.config/vikunja to $HOME/.config/vikunja WINDOWS (#147)
  • Show lists as archived if their namespace is archived

Fixed

  • Workaround for timezones on windows (#151)
  • Fix getting one namespace
  • Fix getting the authenticated user with caldav
  • Fix searching for config in home directories
  • Fix updating lists with an identifier

Changed

  • Change release bucket

[0.11] - 2020-03-01

Added

  • Add config options for cors handling (#124)
  • Add config options for task attachments (#125)
  • Add generate as a make dependency for make build
  • Add logging for invalid model errors (#126)
  • Add more logging to web handler methods
  • Add postgres support (#135)
  • Add rate limit by ip for non-authenticated routes (#127)
  • Better efficiency for loading teams (#128)
  • Expand relative path ~/.config/vikunja to $HOME/.config/vikunja (#146)
  • Task Comments (#138)

Fixed

  • Fix typo in docker-compose example (#140)
  • Fix frontend url for wunderlist migration in docs
  • Fix inserting task structure with related tasks (#142)
  • Fix time zone settings not working in Docker
  • Fix updating dates when marking a task as done (#145)
  • Make sure the author is returned when creating a new comment
  • Remove double user field

Changed

  • Explicitly disable wunderlist migration by default (#141)
  • Migration Improvements (#122)
  • Refactor User and DB handling (#123)
  • Return iso dates for everything date related from the api (#130)
  • Update copyright header
  • Update theme
  • Update xorm to use the new import path (#133)
  • Use relative url in .gitmodules (#132)

[0.10] - 2020-01-19

Added

  • Migration (#120)
  • Endpoint to get tasks on a list (#108)
  • Sort Order for tasks (#110)
  • Add files volume to docker compose docs
  • Add motd config option to docs
  • Add option to disable registration (#117)
  • Add task identifier (#115)
  • Add tests for md5 generation (#111)
  • Add user token renew (#113)

Fixed

  • Fix new tasks not getting a new task index (#116)
  • Fix owner field being null for user shared namespaces (#119)
  • Fix passing sort_by and order_by as query path arrays
  • Fix sorting tasks by bool values
  • Fix task collection tests
  • Consistent copyright text in file headers (#112)

Changed

  • Task collection improvements (#109)
  • Update copyright year (#118)
  • Update docs with a traefik configuration
  • Use redis INCRBY and DECRBY when updating metrics values (#121)
  • Use utf8mb4 instead of plain utf8 (#114)
  • Update docs theme

[0.9] - 2019-11-24

Added

  • Task Attachments (#104)
  • Task Relations (#103)
  • Add endpoint to get a single task (#106)
  • Add file volume to the docker image
  • Added extra depth to logging to correctly show the functions calling the logger in logs
  • Added more infos to a link share auth (#98)
  • Added percent done to tasks (#102)

Fixed

  • Fix default logging settings (#107)
  • Fixed a bug where adding assignees or reminders via an update would re-create them and not respect already inserted ones, leaving a lot of garbage
  • Fixed a bug where deleting an attachment would cause a nil panic
  • Fixed building docs theme
  • Fixed error when setting max file size on 32-Bit systems
  • Fixed labels being displayed multiple times if they were associated with more than one task (#99)
  • Fixed metrics on/off setting
  • Fixed migration for task relations
  • Fixed not getting all labels when retrieving a list with all tasks
  • Fixed panic when using link share and metrics
  • Fixed rate limit panic when authenticating with a link share auth token (#97)
  • Fixed removing reminders
  • Small link share fixes (#96)

Changed

  • Improve pagination (#105)
  • Moved teams_{namespace|list}_* to {namespace|list}_teams_* for better consistency (#101)
  • Refactored getting all lists for a namespace (#100)
  • Refactored getting task IDs for labels
  • Switched default logger to stdout instead of stderr
  • update docs theme

Misc

  • Move from markdown lists to Vikunja for roadmap

[0.8] - 2019-09-01

Added

  • Better CalDAV support (#73)
  • Added settings for max open/idle connections and max connection lifetime (#74)
  • /info endpoint (#85)
  • Added http endpoint to list all users on a list (#87)
  • Rate limits (#91)
  • Sharing of lists via public links (#94)

Changed

  • Reminders now use an extra table (#75)
  • Use the username instead of a full user object when adding a user to a team or giving it rights (#76)
  • Add the md5-hashed user email to user objects for use with gravatar (#78)
  • Use the auth methods to get IDs to avoid unneeded casts
  • Better config handling with constants (#83)
  • Statically compile templates in the final binary (#84)
  • Use longtext instead of varchar(1000) on description fields (#88)
  • Logger refactoring (#90)

Fixed

  • Fixed listID not being returned in tasks
  • Fixed tests (#72)
  • Fixed metrics endpoint not working
  • Fixed check if the user really exists before updating/deleting its rights (#77)
  • Fixed duedate spelling issue (#79)

Misc

  • Integration tests (#71)
  • Make sure the version works when building in drone
  • Switched to another version of xgo
  • Simplified the docker image (#80)
  • Update echo (#82)
  • Compress binaries after building them (#81)
  • Simplify structure by having less files (#86)
  • Limit the test pipeline to run only on pull requests (#89)
  • GetUser now returns a pointer (#93)
  • Refactor ListTask to Task (#92)

[0.7] - 2019-04-05

Added

  • DB migrations (#67)
  • More cli options for Vikunja (#66 #68)
  • Use query params to sort tasks instead of url params (#61)
  • More config paths (#55)

Fixed

  • Fixed Priority not updating when setting it to 0
  • Fixed getting lists by namespace
  • Fixed rights check (#70 #62)
  • Fixed labels not being queried correctly on tasks
  • Fixed bulk update label tasks

Changed

  • Hide a user's email address everywhere (#69)
  • Refactored canRead() to get the list before checking rights #65
  • Let rights methods return errors (#64 #63)
  • Improved Swagger docs for label tasks
  • Docs improvements (#58)
  • Logging Handling (#57)
  • Rights performance improvements (#54)

Misc

  • Releases also as Debian packages (#56)

[0.6] - 2019-01-16

Added

  • Added prometheus endpoint to get metrics (#33)
  • More unit tests (#34)
  • Tests can now use config files (#36)
  • Redoc for swagger ui (#39, #46)
  • Start and end dates for tasks (#40)
  • Get tasks between a date range (#41)
  • Bulk edit for tasks (#42)
  • More ci checks (#43)
  • Task assignees (#44, #47)
  • Task labels (#45, #48)

Fixed

  • Fixed path to get all tasks (echo bug)
  • Explicitly get the peudonamespace with all shared lists (#32)
  • Properly init tables Redis
  • unexpected EOF when using metrics (#35)
  • Task sorting in lists (#36)
  • Various user fixes (#38)
  • Fixed a bug where updating a list would update it with the same values it had

Changed

  • Simplified list rights check (#50)
  • Refactored some structs to not expose unneeded values via json (#52)

Misc

  • Updated libraries
  • Updated drone to version 1
  • Releases are now signed with our pgp key (more info about this on the download page).

[0.5] - 2018-12-02

Added

  • Shared lists are now shown in a pseudonamespace with all other namespaces, has the ID -1
  • Tasks can have multiple reminders
  • Tasks can have subtasks. Subtasks are fully-fleged tasks, but not shown in the task list of a list.
  • Tasks can have priorities

Changed

  • Validation not so verbose anymore
  • License is now GPLv3
  • The crudhandler now has its own repo - you can use it in your own projects!

[0.4] - 2018-11-16

Added

  • Get all tasks for the authenticated user sorted by their due date
  • CalDAV support
  • Pagination for everything which returns an array
  • Search all the things
  • More validation for most of the structs
  • Improved Swagger docs (available on /api/v1/swagger)

[0.3] - 2018-11-02

Added

  • Password reset
  • Email verification when registering

Misc bugfixes and improvements to the build process

[0.2] - 2018-10-17

[0.1] - 2018-09-20