Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FeedKit v10 #166

Open
nmdias opened this issue Nov 2, 2024 · 1 comment
Open

FeedKit v10 #166

nmdias opened this issue Nov 2, 2024 · 1 comment
Assignees
Labels
release FeedKit v10 wip Work in progress

Comments

@nmdias
Copy link
Owner

nmdias commented Nov 2, 2024

FeedKit v10 Release

Overview

This document outlines the tasks and enhancements planned for the upcoming release of FeedKit. The goal is to improve the feed parsing functionality, enhance model capabilities, and adopt modern Swift features for better performance and maintainability.

Work is being conducted here.

Features and Enhancements

These may change slightly, as development progresses.

Feed Parsing Improvements

  • Prevent exhaustive switch checking for DOM paths: Refactor code to streamline DOM path handling, reducing runtime checks.

Feed Generator

  • Multi-Format Feed Generator: Add support for generating RSS, Atom, and JSON feeds from the available models.

Models

  • Make Models Hashable: Move to structs or implement the Hashable protocol on all relevant models to facilitate the use of collections like Set and improve performance in dictionary-based lookups, also with an open issue.
  • Extend with YouTube Models: Integrate models specific to YouTube feeds, addressing the current open issue and enhancing feed support.

Testing Improvements

  • Adopt Swift Testing: Transition to the new Swift Testing framework.
  • Improve Upon Existing Unit Tests: Review and refine current unit tests to cover edge cases and improve test coverage.
  • Backport Existing Tests: Ensure that existing tests from version 9 are ported and compatible with the new structure.
  • Ensure v9 Issues and PRs Are Covered in v10: Review and address all open issues and pull requests.

Continuous Integration

  • Migrate CI to GitHub Actions: Transition the continuous integration setup from Travis CI to GitHub Actions

Modernization

  • Adopt Swift Concurrency: Integrate Swift concurrency to improve performance and simplify asynchronous operations within the feed parser and generator.

Dependency Management

  • Deprecate Carthage and CocoaPods: Evaluate the need for Carthage and CocoaPods in the project and consider deprecating them in favor of Swift Package Manager.

Documentation

  • Automated GitHub Documentation: Set up generation of documentation from code, ensuring up-to-date GitHub documentation directly from the codebase.

Conclusion

The above tasks are aimed at enhancing the functionality, usability, and performance of FeedKit. The v10 release will leverage modern Swift capabilities and address user needs and previous open issues and PRs.

@nmdias nmdias added the release FeedKit v10 label Nov 2, 2024
@nmdias nmdias self-assigned this Nov 2, 2024
@nmdias nmdias added the wip Work in progress label Nov 11, 2024
@jubishop
Copy link

jubishop commented Dec 3, 2024

looking forward to this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release FeedKit v10 wip Work in progress
Projects
None yet
Development

No branches or pull requests

2 participants