[PR #2627] [MERGED] feat(license): add license key validation #8412

Closed
opened 2026-04-20 18:12:07 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/go-vikunja/vikunja/pull/2627
Author: @kolaente
Created: 4/15/2026
Status: Merged
Merged: 4/15/2026
Merged by: @kolaente

Base: mainHead: feat-license-key-validation


📝 Commits (5)

  • c484959 feat(config): add license.key configuration option
  • 804b431 feat(license): add license key validation package
  • 7554837 feat(init): integrate license validation into startup and shutdown
  • 088da32 feat(db): add license_status table migration
  • 9a2ab06 feat: add license comments for agents and humans

📊 Changes

9 files changed (+728 additions, -1 deletions)

View changed files

📝 AGENTS.md (+6 -1)
📝 config-raw.json (+10 -0)
📝 pkg/cmd/web.go (+2 -0)
📝 pkg/config/config.go (+6 -0)
📝 pkg/initialize/init.go (+5 -0)
pkg/license/check.go (+236 -0)
pkg/license/license.go (+411 -0)
pkg/migration/20260324120000.go (+50 -0)
📝 pkg/migration/migration.go (+2 -0)

📄 Description

Adds license key validation to support optional licensed features for organizations. Vikunja remains fully functional without a license — the system only gates additional features.

Check out https://vikunja.io/pro for more information about the feature.

What it does

  • Validates license keys against the license server with retry logic and exponential backoff
  • Caches validation responses in the database (72h expiry) for offline resilience
  • Runs background checks on an adaptive interval (24h normal / 1h when approaching expiry)
  • Gracefully degrades to community mode on any failure
  • Stores instance ID for license binding

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/go-vikunja/vikunja/pull/2627 **Author:** [@kolaente](https://github.com/kolaente) **Created:** 4/15/2026 **Status:** ✅ Merged **Merged:** 4/15/2026 **Merged by:** [@kolaente](https://github.com/kolaente) **Base:** `main` ← **Head:** `feat-license-key-validation` --- ### 📝 Commits (5) - [`c484959`](https://github.com/go-vikunja/vikunja/commit/c4849593b379d29d09eeb87f3d942a9cd63699ee) feat(config): add license.key configuration option - [`804b431`](https://github.com/go-vikunja/vikunja/commit/804b431f3fc7edd8349aedf089c53413ddd41170) feat(license): add license key validation package - [`7554837`](https://github.com/go-vikunja/vikunja/commit/75548372cf174a27e872dd7ce11435487dade322) feat(init): integrate license validation into startup and shutdown - [`088da32`](https://github.com/go-vikunja/vikunja/commit/088da32528547332f88f400b5fcff6cbdcdad110) feat(db): add license_status table migration - [`9a2ab06`](https://github.com/go-vikunja/vikunja/commit/9a2ab06f21203836c3bea05e31498bda06088ec3) feat: add license comments for agents and humans ### 📊 Changes **9 files changed** (+728 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `AGENTS.md` (+6 -1) 📝 `config-raw.json` (+10 -0) 📝 `pkg/cmd/web.go` (+2 -0) 📝 `pkg/config/config.go` (+6 -0) 📝 `pkg/initialize/init.go` (+5 -0) ➕ `pkg/license/check.go` (+236 -0) ➕ `pkg/license/license.go` (+411 -0) ➕ `pkg/migration/20260324120000.go` (+50 -0) 📝 `pkg/migration/migration.go` (+2 -0) </details> ### 📄 Description Adds license key validation to support optional licensed features for organizations. Vikunja remains fully functional without a license — the system only gates additional features. Check out https://vikunja.io/pro for more information about the feature. ## What it does - Validates license keys against the license server with retry logic and exponential backoff - Caches validation responses in the database (72h expiry) for offline resilience - Runs background checks on an adaptive interval (24h normal / 1h when approaching expiry) - Gracefully degrades to community mode on any failure - Stores instance ID for license binding --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-20 18:12:07 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vikunja#8412