Tags
Move module to secluded.site
⚠️ BREAKING CHANGES
- [module]: moved from git.secluded.site/go-lunatask to
secluded.site/go-lunatask. Replace the old import path, then run:
go get secluded.site/go-lunatask@v0.2.0
go mod tidy
Artifacts
v0.1.0-rc9.3 Added enum helpers and status mapping
✨ Features
- [enum]: added All*() enumeration functions for core types
- [enum]: mapped "in-progress" status to API "started" format
📚 Documentation
- added license information for go.sum
Artifacts
v0.1.0-rc9.2 Added Workflow types and helpers
✨ Features
- workflow: added Workflow types supporting priority_list, now_later,
kanban, plan_your_days, must_should_want, and eisenhower
- workflow: included helper methods for field relevance and
human-readable descriptions for MCP/LLM consumption
Artifacts
v0.1.0-rc9.1 Added task filtering and deep linking
✨ Features
- [filter]: add FilterTasks and IsOldCompleted functions to
consolidate task list filtering logic
- [deeplink]: add ParseReference with improved error messages and
deprecate ParseDeepLink
🧪 Tests
- [integration]: add workflow metadata tests covering Eisenhower,
kanban status, and field preservation
Artifacts
v0.1.0-rc10 Better parsing
✨ Features
- deeplink: Add UUID validation and helpers. Validate UUIDs in both parse
and build operations with `Resource.Valid()` and `Resource.String()`.
- eisenhower: Add `ParseEisenhower` function to parse "do-now",
"delegate", or numeric "0"-"4" to Eisenhower quadrants. Includes
`ErrInvalidEisenhower`.
- Add `String()` methods to enum types `Motivation`, `TaskStatus`, and
`RelationshipStrength` for consistency.
- relationship: Add `ParseRelationshipStrength` with case-insensitive
parsing for all 7 values.
- deeplink: Add `ParseDeepLink`/`BuildDeepLink` functions. Introduce
`Resource` type with 6 constants and allow parsing of
`lunatask://resource/uuid` or plain UUID.
- motivation: Add `ParseMotivation` function for case-insensitive parsing
of unknown/must/should/want values.
- status: Add `ParseTaskStatus` function for case-insensitive parsing of
task status strings. Matches `ParsePriority` pattern.
♻️ Code Refactoring
- Move enum types `Motivation`, `TaskStatus`, `RelationshipStrength` and
their constants from `types.go` to dedicated files. `types.go` now
contains only `Source` and `Date`.
- status: Rename 'Started' to 'InProgress' to match Lunatask UI. Wire
format remains "started" but also accepts "in-progress" as input.
- eisenhower: Extract `Eisenhower` type, constants, and methods from
`types.go` to `eisenhower.go`. Add `String()` method for human-readable
quadrant descriptions.
Artifacts
v0.1.0-rc9 Added typed task Priority API
✨ Features
- tasks: Introduce typed Priority API for enhanced type safety.
Replaces *int with *Priority, requiring method signature changes
(e.g., WithPriority(int) to Priority(Priority) on task builders).
Includes new Priority constants, String()/Valid() methods,
ParsePriority(), JSON marshal/unmarshal support, and sentinel errors
(ErrInvalidPriority, ErrPriorityOutOfRange).
Artifacts
v0.1.0-rc8 Improve Eisenhower, support update person
✨ Features
- tasks: Introduce Eisenhower semantic builder API
Replaces raw int Eisenhower values with typed Eisenhower constants
and adds intuitive builder methods (.Important(), .Urgent(),
.NotImportant(), .NotUrgent()) that compute the correct quadrant at
create/update time. Consumers can now use:
client.NewTask("x").Important().Urgent().Create(ctx) // DoNow
client.NewTask("x").Important().Create(ctx) // DoLater
Reading tasks also benefits from helper methods:
task.Eisenhower.IsImportant()
task.Eisenhower.IsUrgent()
- people: Add update person endpoint
🧪 Tests
- integration: Add live API validation tests Adds build-tagged
integration tests that run against the live Lunatask API. Requires
LUNATASK_API_KEY and LUNATASK_TEST_AREA environment variables. Tests
cover ping, list operations, and full create/read/update/delete
round-trips for tasks and notes. Also excludes dupl and goconst
linters from test files and updates coverage badge.
Artifacts
v0.1.0-rc7 Client builder API updated
⚠️ BREAKING CHANGES
- client: Builders are now created via client.NewX() instead
of lunatask.NewX(). Create/Update methods no longer require
a client parameter directly.
Migration:
Before: lunatask.NewTask("x").Create(ctx, client)
After: client.NewTask("x").Create(ctx)
♻️ Code Refactoring
- (client): Moved builders to Client methods for better client
ownership and API ergonomics.
🔧 Build System
- chore: Removed exhaustruct linter.
Artifacts
v0.1.0-rc5 Add TaskStatus and Motivation types
✨ Features
- tasks: Add new types for TaskStatus and Motivation. Replaced raw
strings with typed constants
📚 Documentation
- Fix PersonBuilder example to use RelationshipCloseFriend constant
- Add godoc links for RelationshipCloseFriend, ErrUnauthorized
Artifacts
v0.1.0-rc4 Just README changes
Tag is to push an update to pkg.go.dev and godocs.io
Artifacts
v0.1.0-rc3 Maybe fix pkg.go.dev compat
- use real LICENSE file, not symlink, because Go module zips strip
symlinks entirely.
Artifacts
v0.1.0-rc2 Fix pkg.go.dev compat
- Add LICENSE symlink for pkg.go.dev