Try Rector
Docs
Hire Team
Find Rule
Blog
Contact
AST
Try Rector
Docs
Hire Team
Find Rule
Blog
Contact
AST
Learn about Rector, Upgrades and Planning
How to install old or new PHP on non-LTS Ubuntu
2025-04-25
How to Strangle your Project with Strangle Anti-Pattern
2025-03-03
Road to Hell is Paved with Strings
2025-03-02
Evolution of New Rector Logo
2024-12-16
5 New Features in Rector 2.0
2024-12-12
Introducing Composer Version-Based Sets
2024-11-13
Improving Rector Performance by 20-30 %
2024-09-11
Rector is joining the Open Source Pledge
2024-09-09
How to Migrate CodeIgniter to Symfony or Laravel
2024-08-19
Introducing Rule Finder
2024-06-24
Introducing Type Perfect for extra Safety
2024-06-04
5 Tricks to Write Better Custom Rules
2024-05-29
Migrate DateTime to Carbon
2024-05-22
7 Traits of Successful Upgrade Companies
2024-05-15
Introducing Play with AST page
2024-05-07
Upgrade Legacy Framework or Change it for Another?
2024-05-04
How to Upgrade Zend Legacy Project
2024-05-02
How to Upgrade Phalcon project
2024-02-15
Rector 1.0 is Here
2024-02-08
What to expect when you plan to Migrate Away from CakePHP 2
2024-02-05
Grab Fresh Book Release with Rector 1.0
2024-01-30
Modernize Symfony Configs
2024-01-22
5 Common Mistakes in Rector Config and How to Avoid Them
2023-09-04
Rector 0.17 - Using Scoped Traverse to Locate Specific Node
2023-08-27
Rector 0.18 - From Symfony Container to Laravel and How to Upgrade your Extensions
2023-08-24
Rector 0.18 - How we made tests Seven Times Faster
2023-08-21
Rector 0.18 - Refocus on PHP
2023-08-16
Rector 0.17 brings More Robust and Lighter Node Tree
2023-08-14
Faster Rector on 0.15.22
2023-03-23
New command to add Rector to your CI in seconds
2023-03-03
How to Upgrade to PHPUnit 10 in Diffs
2023-02-03
New in Rector 0.15: Complete Safe and Known Type Declarations
2022-12-10
Separating Laravel and CakePHP as Community Packages
2022-11-08
Support for Nested Doctrine Annotation to Flat Attributes in Rector 0.14
2022-09-09
Tests Made Simpler in Rector 0.14
2022-09-02
Interview: Legacy Code, Javascript Transpilers and Rector Challenges
2022-08-20
Separating Typo3 and Nette as Community Packages
2022-08-05
How to Automatically Add Return Type Declarations without Breaking Your Code
2022-07-04
New in Rector 0.13 - Refresh Scope for Changed Nodes
2022-05-12
New in Rector 0.12 - Introducing Rector Config with Autocomplete
2022-04-26
Success Story of Automated Framework Migration from FuelPHP to Laravel of 400k+lines Application
2022-02-07
How to Migrate Legacy PHP Applications Without Stopping Development of New Features
2022-01-21
New in Rector 0.12 - Much Simpler and Safer Rule Configuration
2022-01-07
New in Rector 0.12 - The Latest PHP in a Single Import
2021-12-31
How all Frameworks can Bump to PHP 8.1 and You can Keep Using Older PHP
2021-10-18
How to Upgrade Annotations to Attributes
2021-10-11
Dropping Docker in Favor of Composer Install for Better Developer Experience
2021-08-09
How to bump Minimal PHP Version without Leaving Anyone Behind?
2021-05-10
Prefixed Rector by Default
2021-05-03
From Doctrine Annotations Parser to Static Reflection
2021-04-05
Rector 0.10 Released - with PHP 7.1 Support
2021-03-22
Legacy Refactoring made Easy with Static Reflection
2021-03-15
How much does Single Type Declaration Know?
2021-02-15
How to Instantly Decouple Symfony Doctrine Repository Inheritance to Clean Composition
2021-02-08
How to Instantly Refactor Symfony Action Injects to Constructor Injection
2021-02-01
Smooth Upgrade to Nette 3.1 in Diffs
2021-01-18
Switch Symfony String Route Names to Constants
2021-01-11
7 Valuable Lessons We Learned from our Clients in 2020
2021-01-04
Rector 0.9 Released ❄️
2020-12-28
4 Configurable PHPStan rules that Help Rector Merge 188 pull-requests a Month
2020-12-14
Laravel Facades to Constructor Injection: Replace Facade Aliases with Full Classes in 2 hours
2020-12-07
Smooth Upgrade to PHP 8 in Diffs
2020-11-30
How to make Rector Contribute Your Pull Requests Every Day
2020-10-05
How to Inline Value Object in Symfony PHP Config
2020-09-07
Rector is Moving From YAML to PHP Configs - What Changes and How to Get Ready?
2020-08-31
How to Migrate From PHPExcel to PHPSpreadsheet with Rector in 30 minutes
2020-04-16
Upgrading Glami to PSR-4, part 1: What and why?
2020-03-10
How to install Rector despite Composer Conflicts
2020-01-20