Try Skipper for FREE

No commitment or credit card needed

or choose other version

Other Skipper downloads

Release dateOperating systemFile 
04/23/2026Skipper for Windows 32-bitMicrosoft Windows 32-bit Installer Download
04/23/2026Skipper for Windows 32-bitMicrosoft Windows 32-bit Portable version Download
04/23/2026Skipper for OS X 64-bitMac OS X 64-bit Installer Download
04/23/2026Skipper for OS X 64-bitMac OS X 64-bit Portable version Download
04/23/2026Skipper for Linux 64-bitLinux 64-bit Portable version Download

    Changes in version 3.4.4.1854

  • Doctrine2: added module-level 'property-visibility' setting (private/protected/public). Enables using PHP 8.4 property hooks by exporting entity properties as public, removing need for getter/setter boilerplate. Configure per bundle in module's Doctrine2 configuration. (New!)

  • Doctrine2: added module-level "property-visibility" setting (private/protected/public) (New!)

  • PHP 8.1+ readonly support. Added readonly as a recognized PHP property/class modifier. Entities using readonly properties (public readonly string $name) or readonly class declarations now import and export correctly.

  • PHP 8.1 enum support: parser now correctly handles enum declarations, enum cases with values, and enums implementing interfaces

  • PHP 8.1 intersection type support: parser handles Type1&Type2 syntax in property type declarations

  • PHP 8.0+ keyword support: parser recognizes match expressions, arrow functions (fn), and yield statements

  • PHP 8.2 DNF type support: parser handles parenthesized compound types like (Countable&Iterator)|null in property declarations

  • Doctrine2 simple traits support — all traits are imported and flattened directly to the entities

  • Fixed: PHP import now correctly resolves use statement references (e.g., use Entity\User\User) when used in targetEntity and other ::class expressions, instead of incorrectly prepending the current file's namespace.

  • Fixed: PHP import now correctly handles fully qualified class references with leading backslash (e.g., \Application\Entity\File::class) in targetEntity and other annotations, instead of incorrectly prepending the current namespace

  • Doctrine2: Fixed PHP grouped use statement import, Skipper now correctly resolves class references from grouped declarations like use Customer\{User, User\Team}

  • Fixed grammar in error messages (doesn't exists -> doesn't exist) and improved ORM/MVC framework error message wording

  • Fixed case-insensitive annotation import: annotations with non-standard casing (e.g. @ORM\column instead of @ORM\Column) are now correctly recognized during import

  • Fixed empty region remaining after Doctrine2 trait import flattening