Skip to content

v3.0.2 - Saxophone Day, Nov 6th, 2025

Choose a tag to compare

@DanielSnor DanielSnor released this 06 Nov 05:27
· 61 commits to main since this release
1b74c8b

πŸ“‹ Overview

Version 3.0.2 is a stable maintenance release following the version 3.0.1. This release consolidates the Unicode-safe truncation features from v3.0.1 and adds further stability and compatibility improvements for the IFTTT TypeScript 2.9.2 runtime.


✨ What's New

πŸ”§ Stability & Compatibility Improvements

  • Consolidated safeTruncate() function - Stable implementation of Unicode-safe text truncation from v3.0.1
  • Enhanced ES5 compatibility - Additional optimizations for IFTTT runtime environment
  • More robust type checking - Added defensive checks for edge cases in RSS processing
  • Optimized CHAR_MAP - Retained improvements from v3.0.1 (~60% smaller size, better performance)

πŸ› Bug Fixes

  • Fixed edge cases in truncateRssInput() functionality
  • Improved processing of emoji and surrogate pairs during RSS truncation
  • Stabilized detection and processing of Unicode characters outside BMP (Basic Multilingual Plane)

🎯 Performance & Code Quality

  • Retained optimized entity decoding system from v3.0.1
  • Unified caching system (max 500 entries)
  • Early exit optimizations across filter functions
  • Lazy character map application for better performance

πŸ”„ Changes from v3.0.1

Version 3.0.2 primarily brings:

  1. Stabilization of Unicode features - Functions from v3.0.1 are now fully tested and stable
  2. Improved type safety - Added missing type guards for edge cases
  3. Better error handling - More robust processing of unexpected inputs
  4. Documentation - Updated inline comments and function documentation

πŸ“Š Testing

  • βœ… Complete test suite: 111 tests
  • βœ… Unicode-Safe Truncation tests: 7 new tests
  • βœ… Backward compatibility with all v3.0.x versions
  • βœ… Tested on IFTTT TypeScript 2.9.2 runtime

πŸ”§ Migration from Previous Versions

From version 3.0.1 β†’ 3.0.2

βœ… No breaking changes!
The script is fully compatible with v3.0.1. We recommend upgrading for improved stability.

From version 3.0.0 β†’ 3.0.2

βœ… No breaking changes in settings!
All settings from v3.0.0 work without modification. You'll get Unicode-safe features without needing to update your configuration.

From version 2.x β†’ 3.0.2

⚠️ Requires settings update
See the Migration Guide v3.0 for a complete list of renamed settings.


πŸ“¦ Installation

For IFTTT applet:

  1. Open your IFTTT applet
  2. Click on the trigger (Twitter/Bluesky/RSS/YouTube)
  3. Copy the contents of ifttt-filter-3_0_2.ts into the Filter Code field
  4. Adjust settings in the SETTINGS section according to your needs
  5. Save the applet

Recommended settings:

POST_LENGTH: 444,
POST_LENGTH_TRIM_STRATEGY: "smart",
SMART_TOLERANCE_PERCENT: 12,
RSS_MAX_INPUT_CHARS: 1000,

πŸ› Known Limitations

  • IFTTT TypeScript runtime is limited to ES5 + TypeScript 2.9.2
  • Some modern ES6+ features are not available (they are emulated)
  • URL processing has a limit of 500 items in cache (FIFO)

πŸ“š Documentation

Complete settings documentation is available at:


πŸ™ Acknowledgments

Thanks to all ZprΓ‘vobot.news users and the Czech Mastodon community for testing and feedback!

Special thanks to:

  • Marvoqs - For foundational script architecture
  • Lawondyss - For extensive development
  • Greticzka and family - For constant support

πŸ”— Useful Links


πŸ“ Changelog Summary

v3.0.2 (2025-11-06)

  • Stable release following v3.0.1
  • Consolidation of Unicode-safe truncation features
  • Improved type safety and error handling
  • Retained all performance optimizations from v3.0.1
  • No breaking changes

v3.0.1 (2025-10-22)

  • Added safeTruncate() function for Unicode-safe truncation
  • decodeNumericEntities() for dynamic HTML entity decoding
  • Cleaned up CHAR_MAP (~60% smaller)
  • 7 new Unicode truncation tests

v3.0.0 (2025-10-04)

  • Major release with advanced FilterRule system
  • Smart trim strategy
  • PREFIX_SELF_REFERENCE for self-quotes/reposts
  • URL_DOMAIN_FIXES for automatic protocol addition
  • Optimized performance (lazy loading, unified cache)

Version: 3.0.2
Build Date: November 6, 2025
Runtime: IFTTT TypeScript 2.9.2 / ES5
Maintainer: Daniel Ε nor (@danielsnor)
License: Unlicense (Public Domain)


🎊 Happy filtering! 🎊