Skip to content

Latest commit

 

History

History
3971 lines (3645 loc) · 208 KB

CHANGELOG.md

File metadata and controls

3971 lines (3645 loc) · 208 KB

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.

[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 34780daab0af0c088d6484d5fa0ddfba01471e8b
  • (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 nonexistant 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 retriving 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 intitially
  • (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 asnyc 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) Explicitely 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 improvemens (#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 nonexistant 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 reccurrence
  • (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 releated 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 preperations (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 relase checklist

Other

  • (other) Nessecary 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 (relm) (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 strech
  • 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 authentification (#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 efficency 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 tabels 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 unneded 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