# Changelog ## 2025-10-31 - 1.2.0 - feat(podcast) Add Podcast 2.0 support and remove external 'feed' dependency; implement internal RSS/Atom/JSON generators and update tests/README - Add Podcast 2.0 fields and validation: podcastGuid (required), podcastMedium, podcastLocked and podcastLockOwner - Include Podcast 2.0 tags in RSS export (podcast:guid, podcast:medium, podcast:locked, podcast:person, podcast:transcript, podcast:funding) - Remove dependency on the external 'feed' package and replace with internal feed generation for RSS, Atom and JSON Feed - Update ts/plugins.ts to stop exporting the removed 'feed' plugin - Update numerous tests to provide podcastGuid and exercise Podcast 2.0 features - Documentation updated (readme.md) to document Podcast 2.0 support and examples ## 2025-10-31 - 1.1.1 - fix(podcast) Improve podcast episode validation, make Feed.itemIds protected, expand README and add tests - PodcastFeed.addEpisode: validate iTunes duration separately (require itunesDuration) and ensure it is a positive number; audioLength must be a positive number; moved itunesDuration out of the generic required-fields list to allow proper numeric validation and clearer errors. - Feed: changed itemIds from private to protected so subclasses (e.g. PodcastFeed) can access and enforce duplicate ID checks across episodes/items. - Documentation: major README overhaul with Quick Start, Podcast examples, API reference, validation & security notes, best practices, and TypeScript usage examples. - Tests: added comprehensive podcast tests (advanced features and validation) and updated/expanded test coverage for feed creation, export, parsing and validation to cover transcripts, funding, persons, explicit flags, and more. - This is a backwards-compatible bugfix and documentation/test update; no breaking public API changes intended. ## 2025-10-31 - 1.1.0 - feat(smartfeed) Implement Smartfeed core: add feed validation, parsing, exporting and comprehensive tests - Implement Feed class with full option validation, addItem validation (URLs, email, timestamp), duplicate ID protection, content sanitization and generation of RSS/Atom/JSON feeds. - Add validation utilities (validateUrl, validateDomain, validateEmail, validateTimestamp, validateRequiredFields, sanitizeContent) in ts/validation.ts used across the module. - Implement Smartfeed class functions: createFeed, createFeedFromArticleArray, parseFeedFromString and parseFeedFromUrl with rss-parser integration. - Adjust module exports (ts/index.ts) and plugin imports (ts/plugins.ts) to match implemented classes. - Add comprehensive test suite under test/ (creation, export, parsing, validation, integration) to exercise new functionality. - Add deno.lock to lock dependency graph for reproducible builds. ## 2025-10-31 - 1.0.11 - smartfeed / feed Add feed and validation utilities for the smartfeed plugin and perform related dependency, refactor, test, and CI updates. - feat: implement feed and validation utilities for smartfeed to support improved feed generation and input validation. - chore: bump feed dependency to v5.1.0 and adjust import paths for consistency with the updated package. - refactor: improve Feed and SmartFeed class structure and formatting for readability and maintainability. - fix: update test imports to use the new package path after refactor/import changes. - chore: streamline plugin exports to a consistent structure. - chore: update README for clarity and formatting improvements. - chore: update TypeScript configuration for better compatibility. - ci: add workflows to handle tag and non-tag pushes. ## 2020-10-25 to 2024-05-29 - 1.0.1..1.0.11 - housekeeping Collection of minor releases, metadata updates and routine fixes made across multiple intermediate versions. - Multiple small "fix(core): update" changes and routine release markers (1.0.2 → 1.0.11). - Updates to package metadata and npmextra.json (githost) across several commits. - Switch to new organization naming/scheme. - Miscellaneous tsconfig and description updates. - These changes were primarily maintenance, CI/package metadata, and release housekeeping.