Releases: hatappi/gomodoro
Releases · hatappi/gomodoro
v1.0.4
v1.0.3
What's Changed
- #286 Add GitHub Pull Request template with WHAT/WHY sections (@hatappi)
- #285 Refactor GraphQL time fields from Duration to Int seconds (@hatappi)
⚠️ Breaking Changes
GraphQL API Changes - Time Fields Refactored (#285)
Field Name Changes:
remainingTime
→remainingTimeSec
(Duration → Int)elapsedTime
→elapsedTimeSec
(Duration → Int)
Affected GraphQL Types:
- Event type
- Pomodoro type
Schema Changes:
- Removed custom
Duration
scalar type - All time fields now return integer values representing seconds
- Simplified time representation for better cross-language compatibility
Files Modified:
internal/client/graphql/fragments/event.graphql
internal/client/graphql/fragments/pomodoro.graphql
- Conversion functions in
internal/client/graphql/conv/
Migration Required:
- Update GraphQL queries to use new field names (
remainingTimeSec
,elapsedTimeSec
) - Handle integer seconds instead of duration strings in your client code
- Convert to appropriate time units in your application (e.g., minutes = seconds / 60)
Impact: All clients using GraphQL API timer queries must be updated to use the new field names and handle integer time values.
v1.0.2
v1.0.1
v1.0.0
Gomodoro v1.0.0 Release Notes
We're excited to announce Gomodoro v1.0.0, a major milestone release that introduces a complete architectural transformation with GraphQL API integration.
🚀 Major Features
GraphQL API Architecture
- Complete rewrite: Gomodoro now uses a GraphQL API as the core data layer
- Real-time communication: WebSocket subscriptions for live updates
- Unified interface: All operations now go through GraphQL
- Extensible: Build your own custom Pomodoro clients using the GraphQL API
📋 GraphQL Schema
The new GraphQL API provides comprehensive operations:
Tasks
tasks
: List all tasks (with pagination)task(id: ID!)
: Get specific taskcreateTask(input: CreateTaskInput!)
: Create new taskupdateTask(input: UpdateTaskInput!)
: Update existing taskdeleteTask(id: ID!)
: Delete task
Pomodoro Sessions
currentPomodoro
: Get active pomodoro sessionstartPomodoro(input: StartPomodoroInput!)
: Start new sessionpausePomodoro
: Pause current sessionresumePomodoro
: Resume paused sessionstopPomodoro
: Stop current session
Real-time Events
eventReceived(input: EventReceivedInput!)
: Subscribe to real-time events- Live updates for pomodoro state changes, task modifications, and more
🔧 Configuration Changes
New API Configuration
api:
addr: localhost:8080 # API server address
read_timeout: 30s # HTTP read timeout
write_timeout: 30s # HTTP write timeout
storage:
dir: ~/.gomodoro/data # Data storage directory
⚠️ Breaking Changes
Task Storage Migration Required
Important: Task data format has changed. You must migrate your existing tasks.
Migration Command
grep -o 'name: .*' ~/.gomodoro/tasks.yaml | sed 's/name: //' | xargs -L 1 gomodoro add-task
Configuration Changes
- Some configuration keys may have changed
- Run
gomodoro init --stdout
to see the new configuration template
🔄 Migration Guide
- Backup your data: Save your current
~/.gomodoro/tasks.yaml
- Update gomodoro: Install v1.0.0
- Migrate tasks: Run the migration command above
v0.9.44
What’s Changed
- #235 golangci-lint: remove deprecated linters and configurations (@hatappi)
- #234 Upgrade tcell to v2 (@hatappi)
📦 Dependencies
- #233 chore(deps): bump github.com/reviewdog/reviewdog from 0.17.5 to 0.20.3 (@dependabot)
- #232 chore(deps): bump github.com/golangci/golangci-lint from 1.62.0 to 1.62.2 (@dependabot)
v0.9.43
What’s Changed
📦 Dependencies
- #216 chore(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1 (@dependabot)
v0.9.42
What’s Changed
Breaking Changes
- For Toggl user:
- Need to specify
toggl.workspace_id
(About the workspace)
- Need to specify
v0.9.41
v0.9.40
What’s Changed
- No changes