Changelog
Stay up to date with the latest improvements, bug fixes, and new features in wYnFuscate.
BetaJanuary 11, 2026
Runtime-Encrypted Functions
- NewAdded WYNF_ENC_FUNC macro — encrypt function bodies at build time, decrypt at runtime with a key from your server
- NewAdded Hex Key Generator tool in Dashboard Settings — generate secure 64-character hex strings for use with WYNF_ENC_FUNC
- SecuritySupports whitelist/key-server workflows where critical functions only work with a valid runtime key
- SecurityFail-closed behavior: wrong key or tampering causes trap, not garbage output
BetaJanuary 11, 2026
Dashboard Improvements
- NewAdded code editor to upload page — paste Lua code directly instead of uploading a file, with syntax highlighting and line numbers
- NewAdded copy-to-clipboard button for completed jobs (files under 4MB) in job history and job details pages
- NewAdded bulk operations to job history — select multiple jobs to delete or download as ZIP
- ImprovedAdded tooltips to action buttons throughout the dashboard for better discoverability
BetaJanuary 11, 2026
Security Macros & Dead Code Pruning
- NewAdded WYNF_SECURE_CALL macro for restricting functions to VM-only callers — external calls are rejected (fail-closed)
- NewAdded WYNF_SECURE_CALLBACK macro for securing event handlers and callbacks passed to Roblox APIs with fail-quiet behavior
- ImprovedWYNF_OBFUSCATED now prunes dead branches in obfuscated builds (dev/fallback code is removed from the output)
BetaJanuary 10, 2026
New Macros
- NewAdded WYNF_ENC_NUM macro for encrypting sensitive numeric constants like product IDs and feature flags
- NewAdded WYNF_LINE macro for stable source line numbers in error messages and debug logs
- NewAdded WYNF_NO_UPVALUES macro for callback compatibility with certain environments while maintaining protection
BetaJanuary 9, 2026
VM Randomness & Compression
- SecurityIncreased randomness of each VM generation for stronger uniqueness per build
- PerformanceImproved compression techniques to further reduce large script output by ~9%
- FixFixed various rare parsing edge cases
BetaJanuary 7, 2026
Target Platform Support
- NewAdded target platform selection for platform-optimized VMs with reduced output size and improved runtime performance (Roblox, Luau, Lua 5.1-5.4, LuaJIT)
- PerformanceImproved compression techniques resulting in 30-40% smaller output for large scripts
- SecurityImproved VM mutation complexity within the enhanced security option
- FixFixed register exhaustion when locals go out of scope but were not being reclaimed, resolving rare register overflow errors
BetaJanuary 5, 2026
Security & Compatibility
- SecurityImproved VM runtime mutations for stronger protection
- SecurityAdded additional VM complexity within the enhanced security option
- FixFixed register allocation overflow in edge cases (large if/elseif chains, massive multi-assignments, complex for-in loops, large interpolated strings)
- FixFixed various platform compatibility issues
- ImprovedImproved error diagnostics when internal limits are reached
BetaJanuary 1, 2026
Compatibility & Performance
- ImprovedAdded compatibility for custom Lua environments — if yours is not working, open a ticket in Discord
- PerformanceImproved fully virtualized performance on heavy loop workloads
- FixFixed a bug with loadstring arguments not being passed correctly
BetaDecember 30, 2025
WYNF_ENC_STRING Macro & Bug Fixes
- NewAdded WYNF_ENC_STRING macro for sensitive string encryption — see /docs/macros for details
- SecurityAdded enhanced security option that adds additional layers of protection at the cost of performance
- PerformanceAdditional improvements to VM compression techniques
- FixFixed multi-local assignments to non-locals (globals or table fields) causing obfuscation failure
- FixFixed high number of constants causing obfuscation failure
- FixFixed UTF-8 BOM at start of file causing obfuscation failure
- FixFixed handling of binary strings with null bytes in source scripts
- FixFixed user-defined globals not propagating to global script environment
- FixFixed upvalue closing bug on break/continue statements
- FixFixed rare identifier collision bug
BetaDecember 29, 2025
Security, Performance & Public API
- SecurityEnhanced static analysis resistance
- SecurityImproved anti-tamper techniques
- SecurityIncreased polymorphic VM generation per script
- SecurityImproved all encryption layers
- PerformanceAdditional compression enhancements to reduce VM size while maintaining high benchmark speeds
- FixFixed block comment handling — leveled block comments (--[=[...]=]) now correctly preserved during processing
- FixFixed rare edge cases with polymorphic emission collisions
- NewREST API now available — integrate wYnFuscate directly into your build pipeline with file upload, job status polling, and download endpoints (Pro/Enterprise, invite-only during beta). See /docs/api
BetaDecember 25, 2025
Caller Detection & ModuleScript Fix
- NewAdded WYNF_IS_CALLER_WYNFUSCATE() macro to detect external callers and protect sensitive functions from exploit scripts
- FixFixed ModuleScripts returning nil or failing to execute in Roblox
- FixAdded fallback access pattern for compatibility across all Roblox script types
BetaDecember 24, 2025
Security & Compatibility
- SecurityImproved overall security posture
- ImprovedImproved support for custom Lua environments
BetaDecember 24, 2025
Major Security & Performance Upgrade
- SecurityEnhanced runtime protection against tampering and manipulation
- SecurityImproved resistance to deobfuscation services and automated analysis
- SecurityBetter detection of synthetic execution environments
- SecurityReduced static analysis signatures
- SecurityHardened VM sandbox integrity
- Performance~23% smaller output size while maintaining fast execution
- NewAdded WYNF_CRASH() macro for immediate VM termination on critical errors
- ImprovedEnhanced Roblox environment support
- FixFixed rare variable name collision causing "attempt to call a number value"
- FixFixed builtin resolution in Roblox/Lune environments
- FixFixed Lua 5.x compatibility in no-virtualization mode
- ImprovedFull Luau support including type annotations and for k,v in table syntax
- ImprovedCross-platform: Lua 5.1, 5.4, LuaJIT, Luau with 137 tests passing
BetaDecember 21, 2025
Macros & Documentation
- NewAdded WYNF_OBFUSCATED macro for conditional code paths between dev and production
- NewAdded WYNF_NO_VIRTUALIZE macro for performance-critical native Lua execution
- FixFixed various compatibility issues in Roblox
- NewNew documentation site with macro guides, plans, and changelog
BetaDecember 15, 2025
Security Overhaul
- SecurityRedesigned encryption architecture with per-instruction protection
- SecurityIncreased polymorphism across builds
- SecurityStrengthened resistance against common analysis techniques
- SecurityEnhanced runtime integrity verification and common extraction methods
- SecurityImproved protection of internal VM state and metadata
- FixFixed script return values not propagating correctly
- FixFixed rare seed-dependent failures on certain configurations
- FixFixed variable scoping issues in generated output
- FixFixed correctness issues with certain function call patterns
- ImprovedVerified compatibility on Luau, LuaJIT, Lua 5.1, 5.2, 5.3, and 5.4
- ImprovedFull test suite passing (137 tests)
BetaDecember 5, 2025
Hotfix
- FixFixed a bug with GetService calls in Roblox
BetaDecember 4, 2025
Performance Update
- Performance3x+ faster execution compared to previous versions
- PerformanceOptimized VM internals for smoother script execution
- SecurityImproved security posture with additional protection layers enabled by default
- FixFixed an issue with deeply nested tables
- FixFixed edge cases with complex control flow patterns
- FixFixed handling of scripts with a large number of constants
- ImprovedVarious stability improvements
Looking for older versions? Check our Discord announcements for the full history.