This release includes important changes to default behavior:
- Before:
build/obfuscated - After:
production/obfuscated
- Before: Backups were enabled by default, use
--skip-backupto disable - After: Backups are disabled by default, use
--backupto enable
These changes make the package more suitable for CI/CD pipelines where:
- Output typically goes to a
productionfolder for deployment - Backups are usually not needed in automated builds
- Simpler commands = fewer errors
cd ~/Workspace/your-project
# Update to v1.0.5
composer update aflorea4/laravel-source-obfuscator
# Verify the update
composer show aflorea4/laravel-source-obfuscator | grep versionsIf you had custom configuration in .env, update it:
Old:
OBFUSCATOR_OUTPUT_DIR=build/obfuscatedNew (or keep old if you prefer):
OBFUSCATOR_OUTPUT_DIR=production/obfuscatedBefore v1.0.5:
# Output went to: build/obfuscated/
# Backup was created automatically
php artisan obfuscate:runAfter v1.0.5:
# Output goes to: production/obfuscated/
# No backup is created
php artisan obfuscate:run
# To create a backup (like before):
php artisan obfuscate:run --backupBefore v1.0.5:
php artisan obfuscate:run --skip-backupAfter v1.0.5:
# Just remove --skip-backup (backups are now disabled by default)
php artisan obfuscate:runOption 1: Command-line flags
php artisan obfuscate:run --destination=build/obfuscated --backupOption 2: Update config file
Edit config/obfuscator.php:
'output_dir' => env('OBFUSCATOR_OUTPUT_DIR', 'build/obfuscated'),
'backup' => [
'enabled' => true, // Change from false to true
// ...
],# Obfuscate to production/obfuscated, no backup
php artisan obfuscate:run
# Same, but with backup
php artisan obfuscate:run --backup
# Dry run to preview
php artisan obfuscate:run --dry-run
# CI/CD mode (non-interactive)
php artisan obfuscate:run --force# Custom destination
php artisan obfuscate:run --destination=build/production
# Custom sources
php artisan obfuscate:run --source=app --source=routes
# Both
php artisan obfuscate:run --source=app --destination=dist --backup --forceBefore:
- name: Obfuscate
run: php artisan obfuscate:run --skip-backup --forceAfter (simpler):
- name: Obfuscate
run: php artisan obfuscate:run --forceUpdate artifact paths:
- uses: actions/upload-artifact@v3
with:
name: obfuscated-code
path: production/obfuscated/ # Changed from build/obfuscated/Update .gitlab-ci.yml:
artifacts:
paths:
- production/obfuscated/ # Changed from build/obfuscated/Update Jenkinsfile:
archiveArtifacts artifacts: 'production/obfuscated/**/*'- PHPBolt extension requirements
- Configuration file location (
config/obfuscator.php) - All other commands (
obfuscate:check,obfuscate:status,obfuscate:clear) - Include/exclude path configuration
- Encryption key handling
- Laravel version support (8.x - 12.x)
- Documentation: README.md
- Quick Start: QUICK_START.md
- CI/CD Examples: docs/CI-CD-EXAMPLES.md
- Issues: https://github.com/aflorea4/laravel-source-obfuscator/issues
After updating, verify everything works:
- Package updated:
composer show aflorea4/laravel-source-obfuscator - Config cleared:
php artisan config:clear - Dry run works:
php artisan obfuscate:run --dry-run - Check output directory: Should show
production/obfuscated - Backup shows "No": Unless you use
--backupflag - CI/CD pipeline updated (if applicable)
Version: 1.0.5
Release Date: January 7, 2026
Author: Alexandru Florea (@aflorea4)