Tags (14)

v0.1.0

Initial release
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgFhbSln
9jcsTCiLgfQNQnfLwx6HkJonoGDwu1P2eRk9EAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABA8pJzgQQ8gCbTHO
4yettBTT119X4P2O0UpOLBgRrIQWFyDOVK1gJsr+5kpLKR8rti99k8GOL428C1xN3NrVMb
AAEAAFo+
-----END SSH SIGNATURE-----

Amolith created

v0.1.0-rc9.3

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
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgFhbSln
9jcsTCiLgfQNQnfLwx6HkJonoGDwu1P2eRk9EAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABAfQCx7sJf0xRpFE
doki1+YUoh5kSliDCP1+6U0cDSG3XUJhD7NswPoUCzz6UC8dZWwljoqIrUYLCk2IuHzh2K
BQEAAEeW
-----END SSH SIGNATURE-----

Amolith created

v0.1.0-rc9.2

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
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgFhbSln
9jcsTCiLgfQNQnfLwx6HkJonoGDwu1P2eRk9EAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABA55usUIvPDkhLSO
pHTt03bnowolbrraNKF6nxI2PWHxHcouWJChXjFxysuGu7bcM7ddUDWgS+BFKZRqVprtTL
CQEAAEZ6
-----END SSH SIGNATURE-----

Amolith created

v0.1.0-rc9.1

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
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgFhbSln
9jcsTCiLgfQNQnfLwx6HkJonoGDwu1P2eRk9EAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABATVIG+GldpF/ame
XmA40qZnsVD+8HF8L2929EmmLmIEsz55gcwkWASJouFgl5eJjMUzWGipbAG/K0fyabyKYk
CwEAAEYw
-----END SSH SIGNATURE-----

Amolith created

v0.1.0-rc10

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.
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgFhbSln
9jcsTCiLgfQNQnfLwx6HkJonoGDwu1P2eRk9EAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABA9mPIxI8KqrU6NM
faTewoAX6nIj4LF2l3uBVQl7U+L+/qwXKzimvBvgPpaxRdT/EiLfWfor18xfjO738jF1M0
CwEAAEOy
-----END SSH SIGNATURE-----

Amolith created

v0.1.0-rc9

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).
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgFhbSln
9jcsTCiLgfQNQnfLwx6HkJonoGDwu1P2eRk9EAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABAjLx0qVVzjYuy2v
IHQYiQjyyVm1g3zF0sAPodSCdXXMFZyX0XBhjtjorml1PbvRXRD3H0Wh4PjwC7eFYPyRnU
AwEAAELT
-----END SSH SIGNATURE-----

Amolith created

v0.1.0-rc8

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.
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgFhbSln
9jcsTCiLgfQNQnfLwx6HkJonoGDwu1P2eRk9EAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABAIlVRPbbArAVKr+
AHNqQ7pB7fQ/BX5s97Bv2l4n1JLZxSjOjc44r2eW9KxCQEG87nT6ZmVtu0HhtZ+mxce1tZ
AAEAAEKF
-----END SSH SIGNATURE-----

Amolith created

v0.1.0-rc7

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.
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgFhbSln
9jcsTCiLgfQNQnfLwx6HkJonoGDwu1P2eRk9EAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABAvCJxMnMXVtaN9D
vkuQV+IN/y9R4StZPbcutW1SsgefovQwIua3klM5A/V13GyMGPRmn8Y19lXzFhauFqDl/J
DAEAAD/9
-----END SSH SIGNATURE-----

Amolith created

v0.1.0-rc6

v0.1.0-rc6 Refactor implementation

API should be mostly the same
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgFhbSln
9jcsTCiLgfQNQnfLwx6HkJonoGDwu1P2eRk9EAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABA2NzwiHwjD5NAAm
lAzbY71Xp9N1eA4AOL5AUMEqvcovniMOCwDVvchQcLE65RhuobK9jMdES7bdFmy+sDwy48
AgEAAD/i
-----END SSH SIGNATURE-----

Amolith created

v0.1.0-rc5

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
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgzEkAhr
f0dc6ZiSJXHc/mDhl7rRRGcNCSuENi7R/pfKkAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABAm+L3quq1AEQf71
UqkNXaQEwFSZEeGxGeERxR5/0sH1KAbDSQy5j+aU3lyQWThk7hZqwy866HEzSscC8xsOr2
BwEAAKy3
-----END SSH SIGNATURE-----

Amolith created

v0.1.0-rc4

v0.1.0-rc4 Just README changes

Tag is to push an update to pkg.go.dev and godocs.io
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgFhbSln
9jcsTCiLgfQNQnfLwx6HkJonoGDwu1P2eRk9EAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABAFmKe9sBSQZL4ii
9YRI4MhqteW55q+xl/fs1StOuTaJTgnztzwnzwquOB5I62IGEVn2xEI9DNihKpKBj6hTco
AwEAAD+J
-----END SSH SIGNATURE-----

Amolith created

v0.1.0-rc3

v0.1.0-rc3 Maybe fix pkg.go.dev compat

- use real LICENSE file, not symlink, because Go module zips strip
  symlinks entirely.
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgFhbSln
9jcsTCiLgfQNQnfLwx6HkJonoGDwu1P2eRk9EAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABA/Bq0cRiB6xRo6e
yQQeAfBTFcr1FXUX3q3MHwpy7oK6d6MwnCLkoKDCqXGf0t5nVQCpXyUm5SUlJmTpfn+f0Z
AAEAAD9p
-----END SSH SIGNATURE-----

Amolith created

v0.1.0-rc2

v0.1.0-rc2 Fix pkg.go.dev compat

- Add LICENSE symlink for pkg.go.dev
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgFhbSln
9jcsTCiLgfQNQnfLwx6HkJonoGDwu1P2eRk9EAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABAPJgCWvtboEdG8J
JLy1GZzM5cSaxmOng5ef9nvhztCduieHYOtXaOyCPLwXveI+APqdi3JZqpUMZm1McpWLUh
DAEAAD9K
-----END SSH SIGNATURE-----

Amolith created

v0.1.0-rc1

v0.1.0-rc1 Initial release
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgFhbSln
9jcsTCiLgfQNQnfLwx6HkJonoGDwu1P2eRk9EAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABAPh3KofdcTW9MWz
PtAk/vuo9S/Ow86Qeoimy5GuVcwUf8EsYttgAdVju7aJwq7rA9MVWIGsQBPiiK/07XKpsL
DAEAAD8I
-----END SSH SIGNATURE-----

Amolith created