rss_agent 1.20250828.10740 copy "rss_agent: ^1.20250828.10740" to clipboard
rss_agent: ^1.20250828.10740 copied to clipboard

A comprehensive RSS/Atom/JSON Feed monitoring service for Dart and Flutter. Provides automatic monitoring, diff detection, smart scheduling, and real-time notifications.

Changelog #

All notable changes to the rss_agent package will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased] #

1.20250828.10740 - 2025-08-28 #

Fixed #

  • RFC 2822 Timezone Parsing: Fixed critical bug where timezone information in RSS pubDate fields was completely ignored
    • Previously: Thu, 28 Aug 2025 00:46:04 +0800 parsed as 2025-08-28 00:46:04Z (incorrect)
    • Now: Thu, 28 Aug 2025 00:46:04 +0800 parses as 2025-08-27 16:46:04Z (correct UTC conversion)
  • Timezone Support: Added comprehensive timezone parsing support in Rss2Parser._parseRfc822Date()
    • Numeric Formats: +0800, -0500, +0930, etc.
    • Text Formats: GMT, UTC, EST, PST, JST, KST, BST, CET, etc.
    • Proper UTC Conversion: All parsed dates are now correctly converted to UTC timezone

Added #

  • Timezone Validation Tool (tool/timezone_validator.dart): Comprehensive timezone parsing validation utility
    • Test individual date strings: dart run tool/timezone_validator.dart "Thu, 28 Aug 2025 00:46:04 +0800"
    • Run validation suite: dart run tool/timezone_validator.dart
    • Detailed analysis with expected vs actual results and error reporting
  • Timezone Unit Tests (test/parsers/timezone_parsing_test.dart): Complete test coverage for timezone scenarios
    • 6 comprehensive test cases covering various timezone formats
    • Tests for positive/negative numeric offsets and major text timezones
    • 100% pass rate validation for timezone accuracy

Technical Improvements #

  • Parser Enhancement: Refactored _parseRfc822Date() with new _parseTimezoneOffset() method
  • UTC Handling: Improved DateTime construction to ensure proper UTC marking
  • Error Resilience: Maintains backward compatibility with existing date parsing logic
  • Test Coverage: Added 6 new timezone-specific tests (total: 92 tests)

Validation Results #

  • Before Fix: 0.0% accuracy (7/7 test cases failed)
  • After Fix: 100.0% accuracy (7/7 test cases passed)
  • Timezone Coverage: Supports 15+ major timezone abbreviations and unlimited numeric formats

1.20250822.10625 - 2025-08-22 #

Added #

  • Example Files: Added comprehensive example files (example/main.dart and example/example.dart) demonstrating package usage
  • Platform Declaration: Explicitly declared platform support in pubspec.yaml for Android, iOS, Linux, macOS, Windows, and Web

Improved #

  • API Documentation: Added missing dartdoc comments for all public constructors:
    • Feed.new constructor documentation
    • FeedConfig.new constructor documentation
    • FeedFormat.displayName property documentation
    • FeedItem.new constructor documentation
    • MediaContent.new constructor documentation

Package Score Improvements #

  • Example Score: Increased from 0/10 to 10/10 (added example directory with working examples)

Notes #

  • Web/WASM platform cannot be supported due to dart:io dependency requirement for HTTP operations

1.20250821.12157 - 2025-08-21 #

Fixed #

  • Test Suite Stabilization: Fixed all XML parsing test failures in RSS generator and analyzer tests
  • CDATA Formatting: Resolved XML CDATA content formatting issues by adding proper text trimming
  • XML Element Iteration: Fixed Iterable<XmlElement> vs List conversion issues in test expectations
  • Command-Line Tool Tests: Completed comprehensive TDD test coverage for all bin/*.dart tools
  • Widget Test Stability: Eliminated Timer-related test interference for reliable CI/CD execution
  • Lint Compliance: Achieved zero lint issues across entire codebase

Enhanced #

  • Test Coverage: Added 34 integration tests for command-line tools (analyzer, generator, batch analyzer)
  • Error Handling: Improved error handling for edge cases (missing files, invalid JSON, empty input)
  • Code Formatting: Applied Dart formatter across all test files for consistent code style
  • Test Utilities: Enhanced BinTestUtils with better process handling and temporary file management

Technical Improvements #

  • Total Test Count: 80 tests passing (up from 46 core tests)
  • Test Categories: Models (13), Parsers (23), Generators (7), HTTP (3 skipped), Tools (34)
  • Quality Metrics: 100% test pass rate, 0 lint issues, enterprise-level stability
  • TDD Architecture: Complete test-driven development coverage for all public APIs

Tools Enhanced #

  • RSS Analyzer: Multi-input support (URL/file/stdin), JSON/pretty output formats
  • RSS Generator: URL-to-RSS conversion with JSON configuration support
  • Batch Analyzer: Concurrent processing of multiple RSS feeds with error isolation
  • All Tools: Comprehensive error handling, help documentation, and verbose logging

1.20250821.12035 - 2025-08-21 #

Added #

  • Initial release of RSS Agent
  • Support for RSS 2.0, Atom 1.0, and JSON Feed 1.1 formats
  • Automatic feed monitoring with customizable intervals
  • Smart diff detection to identify new articles
  • Multiple monitoring strategies (fixed, adaptive, peak, efficient)
  • Event-driven architecture with streams for real-time updates
  • Built-in caching and deduplication
  • Comprehensive error handling and recovery
  • TDD approach with extensive test coverage
  • Version management system with build time tracking
  • MIT License for open source distribution

Features #

  • Multi-format Support: Parse RSS 2.0, Atom 1.0, and JSON Feed 1.1
  • Monitoring Service: Background monitoring with configurable intervals
  • Diff Detection: Only notify on truly new content
  • Smart Scheduling: Adaptive polling based on feed patterns
  • Resource Efficient: Built-in caching and request optimization
  • Flutter Ready: Works in both Dart and Flutter applications
  • Event Streams: Real-time notifications via Dart streams
  • Batch Operations: Monitor multiple feeds simultaneously

Technical #

  • Dart SDK >= 3.0.0 compatibility
  • Zero breaking dependencies
  • Comprehensive unit tests
  • Linting and analysis configuration
  • Version format: 1.YYYYmmdd.1HHii
0
likes
160
points
1
downloads

Publisher

verified publisherchangyy.app

Weekly Downloads

A comprehensive RSS/Atom/JSON Feed monitoring service for Dart and Flutter. Provides automatic monitoring, diff detection, smart scheduling, and real-time notifications.

Repository (GitHub)
View/report issues

Topics

#rss #feed #atom #monitoring #agent

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

collection, crypto, html, http, logging, meta, xml

More

Packages that depend on rss_agent