Skip to content

Create migration guide from robfig/cron #73

@CybotTM

Description

@CybotTM

Summary

While the project claims drop-in compatibility with robfig/cron, there's no explicit migration guide documenting any behavioral differences.

Current State

  • README mentions it's a fork
  • Claims API compatibility
  • No formal migration documentation

Required Content

docs/MIGRATION.md

# Migrating from robfig/cron

## Quick Start

1. Update import path:
   \`\`\`go
   // Before
   import "github.com/robfig/cron/v3"
   
   // After  
   import "github.com/netresearch/go-cron"
   \`\`\`

2. Update go.mod:
   \`\`\`
   go get github.com/netresearch/go-cron@latest
   \`\`\`

## Behavioral Differences

### Fixed Bugs (Behavior Changes)

| Issue | robfig/cron | netresearch/go-cron |
|-------|-------------|---------------------|
| TZ= parsing | Panics on edge cases | Returns error |
| Entry.Run() | Bypasses chain | Honors chain wrappers |
| DST spring-forward | Jobs may be skipped | Jobs run immediately |

### New Features

- `Entry.Run()` method for chain-aware execution
- `FakeClock` for deterministic testing
- Heap-based scheduling (performance)

### API Additions (Non-breaking)

- [List any new methods/options]

## Compatibility Notes

- All existing code should work without changes
- Error handling may differ for edge cases
- Performance characteristics improved

## Testing Your Migration

1. Run existing tests
2. Verify timezone handling
3. Test DST transitions if relevant
4. Benchmark if performance-critical

Acceptance Criteria

  • Create docs/MIGRATION.md
  • Document all behavioral differences
  • Document all bug fixes that change behavior
  • Add "before/after" code examples
  • Link from README
  • Review against robfig/cron issues for completeness

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions