v3.2.1 - Bake Cookies Day πͺ, Dec 18th, 2025
π― Overview
Version 3.2.1 is a critical hotfix addressing HTML normalization in RSS feed processing when combining title and content. This single-line fix prevents malformed output when COMBINE_TITLE_AND_CONTENT is enabled for RSS sources.
π Bug Fixed
RSS Content HTML Normalization Missing
Problem: When COMBINE_TITLE_AND_CONTENT was enabled for RSS feeds, the content part was not being processed through normalizeHtml(), while the title was already normalized. This caused inconsistent HTML entity handling and potentially malformed output.
Impact:
- RSS feeds with HTML entities in content could produce incorrect output
- Combined title+content posts showed inconsistent formatting
- Potential URL duplication or malformed links in combined content
Root Cause: In selectContent() function (line 1390), the content string was used directly without HTML normalization:
// v3.2.0 - BUG
const contentStr = safeString(content);Fix: Added normalizeHtml() to ensure consistent HTML processing:
// v3.2.1 - FIXED
const contentStr = normalizeHtml(safeString(content));Affected Code: selectContent() function, line 1390
π Technical Details
Changed Function
Function: selectContent(content: any, title: any): string
Location: Line 1386-1398
Change Type: Enhancement
Before (v3.2.0):
function selectContent(content: any, title: any): string {
if (SETTINGS.POST_FROM === "RSS" && SETTINGS.COMBINE_TITLE_AND_CONTENT) {
const titleStr = safeString(title);
const contentStr = safeString(content); // β No HTML normalization
if (titleStr && contentStr) {
return titleStr + SETTINGS.CONTENT_TITLE_SEPARATOR + contentStr;
}
return titleStr || contentStr || "";
}
// ... rest of function
}After (v3.2.1):
function selectContent(content: any, title: any): string {
if (SETTINGS.POST_FROM === "RSS" && SETTINGS.COMBINE_TITLE_AND_CONTENT) {
const titleStr = safeString(title);
const contentStr = normalizeHtml(safeString(content)); // β
HTML normalized
if (titleStr && contentStr) {
return titleStr + SETTINGS.CONTENT_TITLE_SEPARATOR + contentStr;
}
return titleStr || contentStr || "";
}
// ... rest of function
}What normalizeHtml() Does
The normalizeHtml() function (lines 237-276) performs crucial HTML processing:
- Extracts text from anchor tags (
<a href="...">text</a>) - Removes HTML tags while preserving content
- Decodes HTML entities (e.g.,
&β&) - Handles truncated URLs with ellipsis (
β¦) - Normalizes whitespace
π When This Bug Affected You
You were affected by this bug if ALL of these conditions were true:
- β
Using
POST_FROM: "RSS" - β
Using
COMBINE_TITLE_AND_CONTENT: true - β
Your RSS feeds contained HTML content with:
- Anchor tags (
<a href="...">) - HTML entities (
&,", etc.) - Truncated URLs with ellipsis
- Anchor tags (
Example of Affected RSS Feed:
<item>
<title>Breaking News</title>
<description>
Read more at <a href="https://example.com">example.com</a>
</description>
</item>v3.2.0 Output (buggy):
Breaking News | Read more at <a href="https://example.com">example.com</a>
v3.2.1 Output (fixed):
Breaking News | Read more at example.com
https://example.com
π Migration from v3.2.0
Breaking Changes
None. This is a pure bugfix with no API changes.
Configuration Changes
None required. All existing v3.2.0 configurations work identically in v3.2.1.
Upgrade Steps
- Replace your IFTTT applet script with v3.2.1 code
- No configuration changes needed
- Test with a sample RSS post (if using
COMBINE_TITLE_AND_CONTENT) - Deploy to production
Upgrade Time: < 5 minutes
Risk Level: Very Low (single-line fix)
π Testing
Test Coverage
New Tests Added: 0 (existing tests already covered this scenario)
Regression Tests: All 204+ tests from v3.2.0 pass
Manual Testing Checklist
For RSS feeds with COMBINE_TITLE_AND_CONTENT: true:
- HTML entities in content are properly decoded
- Anchor tags are correctly extracted
- URLs are not duplicated
- Whitespace is properly normalized
- Combined output is properly formatted
π Full Changelog
Fixed
- [RSS] Missing
normalizeHtml()call when combining title and content in RSS feeds- Ensures consistent HTML entity handling in combined content
- Prevents malformed output from unprocessed HTML in content field
- Affected only:
POST_FROM: "RSS"withCOMBINE_TITLE_AND_CONTENT: true
π Related Issues
- Related to v3.2.0 anchor tag processing enhancements
- Complements HTML normalization improvements from v3.1.0+
- Part of ongoing RSS feed processing refinements
π¦ File Information
Script File: example-ifttt-filter-x-xcom-3_2_1.ts
Size: ~65KB (within IFTTT 65,536 byte limit)
TypeScript Version: 2.9.2 (ES5 compatible)
IFTTT Runtime: ES5 JavaScript
π₯ Credits
Developer: Daniel (ZprΓ‘vobot.news)
Release Date: December 18, 2025
Codename: St. Daniel's Day Hotfix
π Documentation
- Settings Guide:
Settings for IFTTT filter script - v3.1.0.md - Unified Filter Guide:
Unified_Filter_Guide_-_v3_1_0.md - Project Repository: ZprΓ‘vobot.news
β οΈ Important Notes
- This is a recommended upgrade for all RSS users with
COMBINE_TITLE_AND_CONTENTenabled - No breaking changes - safe to deploy immediately
- Single line change - minimal risk of regression
- Backward compatible with all v3.2.0 configurations
π Summary
v3.2.1 is a targeted hotfix that ensures proper HTML normalization when combining RSS title and content. This single-line fix prevents potential formatting issues and ensures consistent output quality for RSS feeds.
Upgrade if: You use RSS feeds with COMBINE_TITLE_AND_CONTENT: true
Risk: Very Low
Effort: < 5 minutes
Benefit: Consistent HTML handling in combined content
Released: December 18, 2025
Version: 3.2.1
Type: Hotfix
Status: Production Ready β