GitHubKit v1.0.0 Release Notes
We're excited to announce the initial release of GitHubKit, a comprehensive Dart package for interacting with the GitHub API. This release provides a robust set of features for developers looking to integrate GitHub functionality into their Dart and Flutter applications.
Features
Authentication
- Personal Access Token authentication
API Coverage
- Repositories API:
- Get repository information
- Create new repositories
- List user repositories
- Delete repositories
- Issues API:
- Create issues
- Get issue details
- List repository issues
- Update existing issues
- Pull Requests API:
- Create pull requests
- Get pull request details
- List pull requests
- Update pull requests
- Merge pull requests
- GitHub Actions API:
- List workflow runs
- Get workflow run details
- Cancel workflow runs
- Rerun workflow runs
- Code Scanning API:
- List code scanning alerts
- Get alert details
- Update alert status
- Secret Scanning API:
- List secret scanning alerts
- Get alert details
- Update alert status
GraphQL Support
- Execute custom GraphQL queries
- Built-in error handling for GraphQL responses
Advanced Features
- Automatic Pagination: Hassle-free handling of paginated responses
- Rate Limiting:
- Built-in rate limit detection
- Automatic retrying with configurable attempts and delay
- Logging: Comprehensive logging system with configurable log levels
Utility Features
- HTTP request abstraction with retry logic
- Easy-to-use API structure with separate classes for each GitHub API section
CLI Tool
- Command-line interface for quick GitHub operations
- Supports both token-based and OAuth authentication
- Commands for repository management, issue listing, and more
Documentation
- Comprehensive README with usage examples
- Detailed API documentation
- Example implementations for common use cases
Development Features
- Extensive test suite with unit and integration tests
- Mocking support for easier testing of GitHub API interactions
Breaking Changes
- None (Initial Release)
Known Issues
- None at the time of release
Upcoming Features
- Support for more GitHub API endpoints
- Enhanced error handling and response parsing
- Improved documentation and more code examples
- Potential GraphQL code generation for type-safe queries
- Oauth authentication mode
Compatibility
- Dart SDK: >=2.12.0 <3.0.0
- Flutter: Compatible with all Flutter versions supporting Dart 2.12.0 and above
Dependencies
- http: ^0.13.3
- oauth2: ^2.0.0
- gql: ^0.13.0
- gql_http_link: ^0.4.0
- gql_link: ^0.4.0
- gql_exec: ^0.3.0
- logging: ^1.0.1
Installation
Add this to your package's pubspec.yaml file:
dependencies:
github_kit: ^1.0.0