diff --git a/CHANGELOG.md b/CHANGELOG.md index b08b990..d488cc0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,9 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - ⚠️ **Breaking**: Module path renamed from `github.com/eshaffer321/monarchmoney-go` to - `github.com/eshaffer321/monarch-go`, matching Monarch's rebrand from "Monarch Money" to - "Monarch." Consumers must update their import paths and `go get` command: - `go get github.com/eshaffer321/monarch-go`. + `github.com/eshaffer321/monarch-go/v2`, matching Monarch's rebrand from "Monarch Money" to + "Monarch" (the `/v2` suffix is required by Go's module versioning rules for a v2+ release). + Consumers must update their import paths and `go get` command: + `go get github.com/eshaffer321/monarch-go/v2`. - Rebranded docs, comments, and the client `UserAgent` string (now `monarch-go/2.0.0`) from "Monarch Money" to "Monarch." diff --git a/CLAUDE.md b/CLAUDE.md index 1cd546c..ab901c7 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -374,13 +374,13 @@ Breaking Changes: 2. **Test consuming the new version**: ```bash # In a test project - go get github.com/eshaffer321/monarch-go@vX.Y.Z + go get github.com/eshaffer321/monarch-go/v2@vX.Y.Z go mod tidy ``` 3. **Update dependent projects**: - If you maintain projects using this library, update them - - Run `go get -u github.com/eshaffer321/monarch-go@vX.Y.Z` + - Run `go get -u github.com/eshaffer321/monarch-go/v2@vX.Y.Z` ### Emergency Hotfix Releases @@ -410,7 +410,7 @@ For critical bugs in production: - ✅ Always use: `git push origin vX.Y.Z` - ❌ **Using wrong module path**: Module path in go.mod MUST match GitHub repo URL - - ✅ Should be: `module github.com/eshaffer321/monarch-go` + - ✅ Should be: `module github.com/eshaffer321/monarch-go/v2` - ❌ **Skipping CHANGELOG updates**: Always document what changed - ✅ Update CHANGELOG.md BEFORE creating tag @@ -434,7 +434,7 @@ For critical bugs in production: Go modules use git tags for versioning. When someone runs: ```bash -go get github.com/eshaffer321/monarch-go@v1.2.0 +go get github.com/eshaffer321/monarch-go/v2@v2.1.0 ``` Go fetches the code at that exact tag. **Without a tag, users cannot access your changes.** diff --git a/README.md b/README.md index 70e8fb5..7a6f34c 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![CI](https://github.com/eshaffer321/monarch-go/actions/workflows/ci.yml/badge.svg)](https://github.com/eshaffer321/monarch-go/actions/workflows/ci.yml) [![codecov](https://codecov.io/github/eshaffer321/monarch-go/branch/main/graph/badge.svg)](https://codecov.io/github/eshaffer321/monarch-go) [![Go Report Card](https://goreportcard.com/badge/github.com/eshaffer321/monarch-go)](https://goreportcard.com/report/github.com/eshaffer321/monarch-go) -[![GoDoc](https://pkg.go.dev/badge/github.com/eshaffer321/monarch-go)](https://pkg.go.dev/github.com/eshaffer321/monarch-go) +[![GoDoc](https://pkg.go.dev/badge/github.com/eshaffer321/monarch-go/v2)](https://pkg.go.dev/github.com/eshaffer321/monarch-go/v2) [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) A production-grade Go client library for the [Monarch](https://www.monarchmoney.com/) API, providing a clean, idiomatic interface for managing personal finances programmatically. @@ -20,7 +20,7 @@ A production-grade Go client library for the [Monarch](https://www.monarchmoney. ## Installation ```bash -go get github.com/eshaffer321/monarch-go +go get github.com/eshaffer321/monarch-go/v2 ``` ## Quick Start @@ -33,7 +33,7 @@ import ( "fmt" "log" - "github.com/eshaffer321/monarch-go/pkg/monarch" + "github.com/eshaffer321/monarch-go/v2/pkg/monarch" ) func main() { diff --git a/cmd/mcp-server/go.mod b/cmd/mcp-server/go.mod index 6c32fc4..7a028cb 100644 --- a/cmd/mcp-server/go.mod +++ b/cmd/mcp-server/go.mod @@ -3,7 +3,7 @@ module github.com/eshaffer321/monarch-go/cmd/mcp-server go 1.23.0 require ( - github.com/eshaffer321/monarch-go v0.1.0 + github.com/eshaffer321/monarch-go/v2 v2.0.0 github.com/modelcontextprotocol/go-sdk v1.0.0 ) @@ -19,4 +19,4 @@ require ( golang.org/x/text v0.14.0 // indirect ) -replace github.com/eshaffer321/monarch-go => ../.. +replace github.com/eshaffer321/monarch-go/v2 => ../.. diff --git a/cmd/mcp-server/main.go b/cmd/mcp-server/main.go index af7f9fb..2aa22bf 100644 --- a/cmd/mcp-server/main.go +++ b/cmd/mcp-server/main.go @@ -5,7 +5,7 @@ import ( "log" "os" - "github.com/eshaffer321/monarch-go/pkg/monarch" + "github.com/eshaffer321/monarch-go/v2/pkg/monarch" "github.com/modelcontextprotocol/go-sdk/mcp" ) diff --git a/cmd/mcp-server/server_test.go b/cmd/mcp-server/server_test.go index 56f0c6b..be68021 100644 --- a/cmd/mcp-server/server_test.go +++ b/cmd/mcp-server/server_test.go @@ -3,7 +3,7 @@ package main import ( "testing" - "github.com/eshaffer321/monarch-go/pkg/monarch" + "github.com/eshaffer321/monarch-go/v2/pkg/monarch" "github.com/modelcontextprotocol/go-sdk/mcp" ) diff --git a/cmd/mcp-server/tools.go b/cmd/mcp-server/tools.go index 99c7e67..44df8e8 100644 --- a/cmd/mcp-server/tools.go +++ b/cmd/mcp-server/tools.go @@ -5,7 +5,7 @@ import ( "fmt" "time" - "github.com/eshaffer321/monarch-go/pkg/monarch" + "github.com/eshaffer321/monarch-go/v2/pkg/monarch" "github.com/modelcontextprotocol/go-sdk/mcp" ) diff --git a/cmd/mcp-server/tools_test.go b/cmd/mcp-server/tools_test.go index 6a745b5..bd61835 100644 --- a/cmd/mcp-server/tools_test.go +++ b/cmd/mcp-server/tools_test.go @@ -7,7 +7,7 @@ import ( "testing" "time" - "github.com/eshaffer321/monarch-go/pkg/monarch" + "github.com/eshaffer321/monarch-go/v2/pkg/monarch" ) func TestGetAccountsTool(t *testing.T) { diff --git a/cmd/validator/main.go b/cmd/validator/main.go index 9a0f3bb..6586cf1 100644 --- a/cmd/validator/main.go +++ b/cmd/validator/main.go @@ -13,7 +13,7 @@ import ( "strings" "time" - "github.com/eshaffer321/monarch-go/pkg/monarch" + "github.com/eshaffer321/monarch-go/v2/pkg/monarch" ) // ValidatorConfig holds configuration for the validator diff --git a/examples/full_example.go b/examples/full_example.go index e01030f..0cfca20 100644 --- a/examples/full_example.go +++ b/examples/full_example.go @@ -6,7 +6,7 @@ import ( "log" "time" - "github.com/eshaffer321/monarch-go/pkg/monarch" + "github.com/eshaffer321/monarch-go/v2/pkg/monarch" ) // This example demonstrates all available services and their methods diff --git a/examples/sentry/main.go b/examples/sentry/main.go index 69e8f4a..93c3db2 100644 --- a/examples/sentry/main.go +++ b/examples/sentry/main.go @@ -6,7 +6,7 @@ import ( "log" "os" - "github.com/eshaffer321/monarch-go/pkg/monarch" + "github.com/eshaffer321/monarch-go/v2/pkg/monarch" "github.com/getsentry/sentry-go" ) diff --git a/examples/transaction_deletion/main.go b/examples/transaction_deletion/main.go index 72d099b..de9d598 100644 --- a/examples/transaction_deletion/main.go +++ b/examples/transaction_deletion/main.go @@ -5,7 +5,7 @@ import ( "fmt" "log" - "github.com/eshaffer321/monarch-go/pkg/monarch" + "github.com/eshaffer321/monarch-go/v2/pkg/monarch" ) // This example demonstrates transaction deletion and the hideFromReports workaround diff --git a/go.mod b/go.mod index 4017d62..08bc701 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/eshaffer321/monarch-go +module github.com/eshaffer321/monarch-go/v2 go 1.21 diff --git a/internal/auth/auth.go b/internal/auth/auth.go index 3a87823..24b7f8d 100644 --- a/internal/auth/auth.go +++ b/internal/auth/auth.go @@ -17,7 +17,7 @@ import ( "strings" "time" - "github.com/eshaffer321/monarch-go/internal/types" + "github.com/eshaffer321/monarch-go/v2/internal/types" "github.com/google/uuid" "github.com/pkg/errors" ) diff --git a/internal/transport/graphql.go b/internal/transport/graphql.go index d69de82..d9c550c 100644 --- a/internal/transport/graphql.go +++ b/internal/transport/graphql.go @@ -10,7 +10,7 @@ import ( "strings" "time" - "github.com/eshaffer321/monarch-go/internal/types" + "github.com/eshaffer321/monarch-go/v2/internal/types" "github.com/hashicorp/go-retryablehttp" "github.com/pkg/errors" ) diff --git a/internal/transport/graphql_test.go b/internal/transport/graphql_test.go index ea65ef1..d955ee1 100644 --- a/internal/transport/graphql_test.go +++ b/internal/transport/graphql_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/eshaffer321/monarch-go/internal/types" + "github.com/eshaffer321/monarch-go/v2/internal/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/monarch/accounts_balances_test.go b/pkg/monarch/accounts_balances_test.go index 14d5905..bd8f7a3 100644 --- a/pkg/monarch/accounts_balances_test.go +++ b/pkg/monarch/accounts_balances_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "github.com/eshaffer321/monarch-go/internal/graphql" + "github.com/eshaffer321/monarch-go/v2/internal/graphql" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" diff --git a/pkg/monarch/accounts_test.go b/pkg/monarch/accounts_test.go index e740841..dc131e6 100644 --- a/pkg/monarch/accounts_test.go +++ b/pkg/monarch/accounts_test.go @@ -6,8 +6,8 @@ import ( "testing" "time" - "github.com/eshaffer321/monarch-go/internal/graphql" - internalTypes "github.com/eshaffer321/monarch-go/internal/types" + "github.com/eshaffer321/monarch-go/v2/internal/graphql" + internalTypes "github.com/eshaffer321/monarch-go/v2/internal/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" diff --git a/pkg/monarch/auth.go b/pkg/monarch/auth.go index a34b15c..cbc6268 100644 --- a/pkg/monarch/auth.go +++ b/pkg/monarch/auth.go @@ -3,8 +3,8 @@ package monarch import ( "context" - "github.com/eshaffer321/monarch-go/internal/auth" - internalTypes "github.com/eshaffer321/monarch-go/internal/types" + "github.com/eshaffer321/monarch-go/v2/internal/auth" + internalTypes "github.com/eshaffer321/monarch-go/v2/internal/types" ) // authService implements the AuthService interface diff --git a/pkg/monarch/budgets_test.go b/pkg/monarch/budgets_test.go index 72c0dcc..b0dd1eb 100644 --- a/pkg/monarch/budgets_test.go +++ b/pkg/monarch/budgets_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "github.com/eshaffer321/monarch-go/internal/graphql" + "github.com/eshaffer321/monarch-go/v2/internal/graphql" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/pkg/monarch/cashflow_test.go b/pkg/monarch/cashflow_test.go index ecf4017..9cdebe8 100644 --- a/pkg/monarch/cashflow_test.go +++ b/pkg/monarch/cashflow_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "github.com/eshaffer321/monarch-go/internal/graphql" + "github.com/eshaffer321/monarch-go/v2/internal/graphql" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" diff --git a/pkg/monarch/client.go b/pkg/monarch/client.go index 7fc0b67..1bad030 100644 --- a/pkg/monarch/client.go +++ b/pkg/monarch/client.go @@ -6,9 +6,9 @@ import ( "net/http" "time" - "github.com/eshaffer321/monarch-go/internal/graphql" - "github.com/eshaffer321/monarch-go/internal/transport" - internalTypes "github.com/eshaffer321/monarch-go/internal/types" + "github.com/eshaffer321/monarch-go/v2/internal/graphql" + "github.com/eshaffer321/monarch-go/v2/internal/transport" + internalTypes "github.com/eshaffer321/monarch-go/v2/internal/types" "github.com/getsentry/sentry-go" ) diff --git a/pkg/monarch/holdings_test.go b/pkg/monarch/holdings_test.go index 6f57bbb..42eb0df 100644 --- a/pkg/monarch/holdings_test.go +++ b/pkg/monarch/holdings_test.go @@ -5,7 +5,7 @@ import ( "errors" "testing" - "github.com/eshaffer321/monarch-go/internal/graphql" + "github.com/eshaffer321/monarch-go/v2/internal/graphql" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" diff --git a/pkg/monarch/institutions_test.go b/pkg/monarch/institutions_test.go index 9420b07..c7670e4 100644 --- a/pkg/monarch/institutions_test.go +++ b/pkg/monarch/institutions_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - "github.com/eshaffer321/monarch-go/internal/graphql" + "github.com/eshaffer321/monarch-go/v2/internal/graphql" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" diff --git a/pkg/monarch/recurring_test.go b/pkg/monarch/recurring_test.go index 81742ef..5c51539 100644 --- a/pkg/monarch/recurring_test.go +++ b/pkg/monarch/recurring_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "github.com/eshaffer321/monarch-go/internal/graphql" + "github.com/eshaffer321/monarch-go/v2/internal/graphql" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" diff --git a/pkg/monarch/tags_test.go b/pkg/monarch/tags_test.go index 6060ac1..eb0257c 100644 --- a/pkg/monarch/tags_test.go +++ b/pkg/monarch/tags_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - "github.com/eshaffer321/monarch-go/internal/graphql" + "github.com/eshaffer321/monarch-go/v2/internal/graphql" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/pkg/monarch/transactions_categories_test.go b/pkg/monarch/transactions_categories_test.go index c3161e2..e8d5d8f 100644 --- a/pkg/monarch/transactions_categories_test.go +++ b/pkg/monarch/transactions_categories_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - "github.com/eshaffer321/monarch-go/internal/graphql" + "github.com/eshaffer321/monarch-go/v2/internal/graphql" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/pkg/monarch/transactions_splits_test.go b/pkg/monarch/transactions_splits_test.go index b150865..28aa354 100644 --- a/pkg/monarch/transactions_splits_test.go +++ b/pkg/monarch/transactions_splits_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - "github.com/eshaffer321/monarch-go/internal/graphql" + "github.com/eshaffer321/monarch-go/v2/internal/graphql" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/pkg/monarch/transactions_test.go b/pkg/monarch/transactions_test.go index 4b74989..562f4d4 100644 --- a/pkg/monarch/transactions_test.go +++ b/pkg/monarch/transactions_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/eshaffer321/monarch-go/internal/graphql" + "github.com/eshaffer321/monarch-go/v2/internal/graphql" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require"