You've already forked wp-fedistream
fix: Critical memory leak in TemplateLoader causing OOM errors
All checks were successful
Create Release Package / build-release (push) Successful in 57s
All checks were successful
Create Release Package / build-release (push) Successful in 57s
- Added recursion depth tracking to prevent infinite loops from shortcodes in content - Nested items now skip the_content filter, using wp_kses_post() instead - Made get_artist_data(), get_album_data(), get_track_data(), get_playlist_data() public - Methods now accept both int post IDs and WP_Post objects - Added $load_nested parameter to control nested item loading Fixes memory exhaustion in Twig's StagingExtension when post content contains FediStream shortcodes that trigger recursive template rendering. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
19
CHANGELOG.md
19
CHANGELOG.md
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.4.1] - 2026-02-02
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Critical memory leak** causing "Allowed memory size exhausted" errors in Twig's StagingExtension
|
||||
- Root cause: `apply_filters('the_content')` in `get_post_data()` triggered shortcode processing, causing infinite recursion when post content contained FediStream shortcodes
|
||||
- Added recursion depth tracking with `MAX_RECURSION_DEPTH = 3` to prevent runaway nesting
|
||||
- Nested items now skip `the_content` filter, using `wp_kses_post()` instead
|
||||
- Nested data loading (albums within artists, tracks within albums) is now properly bounded
|
||||
|
||||
### Changed
|
||||
|
||||
- Made `get_artist_data()`, `get_album_data()`, `get_track_data()`, and `get_playlist_data()` public methods in TemplateLoader (previously private but called externally)
|
||||
- These methods now accept both `int` post IDs and `WP_Post` objects for flexibility
|
||||
- Added `$load_nested` parameter to control whether nested items are fully loaded or just counted
|
||||
|
||||
## [0.4.0] - 2026-01-29
|
||||
|
||||
### Added
|
||||
@@ -191,7 +207,8 @@ Initial release of WP FediStream - a WordPress plugin for streaming music over A
|
||||
|
||||
---
|
||||
|
||||
[Unreleased]: https://src.bundespruefstelle.ch/magdev/wp-fedistream/compare/v0.4.0...HEAD
|
||||
[Unreleased]: https://src.bundespruefstelle.ch/magdev/wp-fedistream/compare/v0.4.1...HEAD
|
||||
[0.4.1]: https://src.bundespruefstelle.ch/magdev/wp-fedistream/compare/v0.4.0...v0.4.1
|
||||
[0.4.0]: https://src.bundespruefstelle.ch/magdev/wp-fedistream/compare/v0.3.0...v0.4.0
|
||||
[0.3.0]: https://src.bundespruefstelle.ch/magdev/wp-fedistream/compare/v0.2.0...v0.3.0
|
||||
[0.2.0]: https://src.bundespruefstelle.ch/magdev/wp-fedistream/compare/v0.1.1...v0.2.0
|
||||
|
||||
Reference in New Issue
Block a user