Try Skipper for FREE

No commitment or credit card needed

or choose other version

Other Skipper downloads

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

    Changes in version 3.5.0.1878

  • CLI: apply-patch verb with 36 operations for all model object types (New!)

  • Custom SQL in migrations: raw before/after SQL on up()/down() (Laravel, Knex) - via the GUI Migration SQL editor, the Custom migration tab in Create revision, and the -cli-set-migration-sql verb. (New!)

  • CLI: -license-info command shows current license status (New!)

  • CLI: -license-activate command for headless license activation (no GUI/X server needed) (New!)

  • CLI: 16 command-line verbs for headless schema management (New!)

  • CLI: Three new auto-update verbs: check-update queries Harbor, download-update fetches release, apply-update installs (New!)

  • CLI: SkipperCli.exe console build for CI/CD and scripting use (New!)

  • CLI: AI-ready skill document bundled with installer (DocumentationAi/ folder) (New!)

  • CLI: export-diagram renders schema as PNG or PDF from command line (New!)

  • CLI: create-project, import-project, and import-database verbs (New!)

  • CLI: schema-summary, validate, compare, and export verbs (New!)

  • CLI: apply-merge verb for declarative target-state schema updates (New!)

  • CLI: Enhanced module name resolution with case-insensitive and prefix-match fallbacks

  • CLI: License commands (activate/info/unregister) now return structured JSON for automation instead of GUI dialogs

  • CLI: apply-patch returns per-op ids; add_* ops accept inline orm_attributes (incl. M:N per-side); $ref references within one patch; set_orm_attribute supports all object types.

  • CLI: -cli-export-ops round-trips unsigned columns and required polymorphic associations; write ops report errors on failed generation, unknown region, or bad $ref.

  • CLI: License errors in CLI mode now return structured JSON output instead of attempting to open GUI dialogs

  • CLI: Added -license-unregister command to deactivate and remove license via command line

  • Migration log now stores IANA timezone name (e.g., "Europe/Berlin") for deterministic UTC computation across environments

  • CLI: Added exception handling for std::exception and generic exceptions in patch operations

  • CLI: Automatic headless mode on Linux — QT_QPA_PLATFORM=offscreen set automatically when CLI flags detected without DISPLAY

  • CLI: apply-patch update_index accepts fields to add index columns (idempotent)

  • CLI: NULLABLE_PK and other validation warnings for schema quality checks

  • CLI: schema-summary includes orm_attributes on all object types

  • CLI: new entities auto-create PK, many-to-many auto-creates join entity with composite PK

  • CLI: JSON escape auto-correction and forward-slash namespace conversion for AI tools

  • CLI: lifecycle callbacks configurable in single operation via values parameter

  • CLI: ORM attribute manipulation with Entity.field dotted notation for fields

  • CLI: add_many_to_many and update_many_to_many now persist owner/inverse aliases (previously applied in memory but lost on save, leaving the template-generated aliases)

  • Doctrine 2: PHP 8.4 property hooks ({ get; set; }, including by-reference &get) are now preserved when re-exporting an existing entity. Regression introduced in 3.4.4.

  • CLI: license commands (activate/info/unregister) route trace and message output to stderr, keeping stdout clean JSON for automation

  • CLI: apply-patch rejects unknown field data types (e.g. unsignedBigInteger) at write time instead of failing later during validate

  • CLI: update package extraction now blocks Zip Slip path traversal

  • CLI: -cli-export no longer fails with "Directory []" for a relative project path.

  • Migrations: custom before/after SQL is no longer lost on save; multi-query ordering fixed.

  • CLI: entity/module references resolve by full qualified name (fixes duplicate short names across modules).

  • CLI: add_association links a pre-existing same-named foreign-key column instead of creating a duplicate; a column already used by another association still gets its own column.

  • Fixed an application crash during automatic session-state autosave: when the temporary state database file was locked by another process (e.g. a second running Skipper instance), the backup error escaped into the Qt event loop and terminated the application. Autosave failures are now handled safely and the locked-file situation is avoided.

  • Doctrine 2: Re-exporting an existing entity now preserves custom property visibility (public / protected / private) instead of resetting it. Regression introduced in 3.4.4.

  • CLI: add_field/update_field handle unsigned attribute

  • CLI: INDEX_NO_FIELDS validation warning for indexes without field columns

  • CLI: add_index accepts fields parameter as both string and array (previously string was silently dropped)

  • Fixed migration export producing UTC datetime diffs when exporting on a server with a different timezone than the original author

  • CLI: Removed export-classes and export-migrations verbs; export pipeline generates all files in single pass

  • CLI: Fixed silent crash when module names cannot be resolved; added comprehensive exception handling

  • CLI: Fixed attribute inflation; removed unnecessary export metadata, reducing file size ~5x

  • CLI: Fixed temp directory path leaking into saved project files

  • Doctrine2: Fixed export of has-lifecycle-callbacks attribute to PHP 8 attributes format - was incorrectly placed as ORM\Table parameter instead of standalone #[ORM\HasLifecycleCallbacks] attribute

  • CLI: Fixed Linux CLI crash when X11 display forwarding is broken or unavailable

  • CLI: Fixed headless CLI commands hanging indefinitely on Linux when no license is present

  • Fixed viewer license rejected with MAINTENANCE_EXPIRED (viewer has no maintenance field)

  • Fixed ORM attribute path resolution failing for short entity names and forward-slash paths

  • Fixed many-to-many join entity FK fields missing primary key and NOT NULL constraints

  • Fixed entity rename creating copy in temporary module instead of renaming in-place