api/CHANGELOG.md

44 KiB

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/api/releases.

[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 seperate 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 seperate 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