Releases: cipi-sh/api
Releases · cipi-sh/api
Version 1.6.9
[1.6.9] - 2026-04-03
Changed
- Welcome page (
/): Restyled to match Laravel’s default framework error-page layout (inline Tailwind-style utilities, two-column header: Cipi | Easy Laravel Deployments, API Swagger link below). Supportsprefers-color-scheme: darkalongside the light theme. - OpenAPI
info.version1.6.9.
Version 1.6.8
[1.6.8] - 2026-04-03
Changed
- Welcome page (
/): Minimal landing with the title Cipi - Easy Laravel Deployments and a single link to API Swagger (/docs); removed marketing copy, theme toggle, and external links. - OpenAPI
info.version1.6.8.
Version 1.6.7
[1.6.7] - 2026-04-03
Added
CipiDatabaseListCliService: runssudo cipi db listviaCipiCliService, parses output withCipiOutputParserforGET /api/dbsand MCPDbList.
Changed
GET /api/dbs: Lists databases through the Cipi server CLI (synchronous), not a background job and not a direct MySQL connection from Laravel—secrets stay inside Cipi.
Removed
CipiMysqlDatabaseListService,CipiServerSecretsService, and relatedconfig/cipi.phpkeys (mysql_list, vault paths,cipi_mysql_listconnection registration) introduced in intermediate iterations.
Version 1.6.5
[1.6.5] - 2026-04-03
Fixed
GET /api/dbs/cipi-cli db list: Listing no longer uses thedb listbackground job orsudo cipi, which could fail (exit code, sudo, CLI environment) even when MySQL was healthy. The endpoint now reads database names and approximate sizes from MySQL/MariaDB using the Laravel DB connection (CIPI_MYSQL_LIST_CONNECTION, defaultmysql), matching howGET /api/appsreadsapps.json.
Added
CipiMysqlDatabaseListServiceand config keysmysql_list_connection,mysql_system_databasesinconfig/cipi.php.MysqlDatabaseListingUnavailableException: returned as JSON 503 when the configured connection is not mysql/mariadb orSHOW DATABASESfails.
Changed
- MCP
DbList: Returns the list inline (no job polling). CipiOutputParser::parseDbList: Completed jobs with an empty list now returndatabases: []instead ofnull.- OpenAPI:
GET /api/dbsdocuments 200 +DbListResponse, 503, andinfo.version1.6.5.
Version 1.6.4
[1.6.4] - 2026-04-03
Fixed
- Database CLI jobs:
CipiCliServicenow allows alldbcommand prefixes (db list,db create,db delete,db backup,db restore,db password). They were missing from the sudo whitelist, so queued jobs failed immediately with “Command not allowed” and clients (includingcipi-cli db list) sawjob failedeven when Cipi on the server was working.
Added
DisallowedCipiCommandException: thrown when application code tries to queue a Cipi CLI command whose prefix is not in the whitelist, so misconfiguration surfaces at dispatch time instead of as a perpetually failing job.CipiJobService::dispatch()validates the command string withCipiCliService::commandIsPermitted()before creating the job record and dispatchingRunCipiCommand.
Changed
CipiCliService:ALLOWED_COMMANDSis a documentedpublic const; deploy matching uses the prefixdeploy(with a trailing space) so it does not collide with other commands starting withdeploy.CipiApiServiceProvider: registers a renderable handler soDisallowedCipiCommandExceptionreturns JSON500with anerrormessage forapi/*and JSON requests.- OpenAPI / Swagger:
public/api-docs/openapi.jsoninfo.versionset to 1.6.4 (aligned with this release).
Version 1.6.3
[1.6.3] - 2026-04-03
Changed
- OpenAPI / Swagger:
public/api-docs/openapi.json(served at/docs) now documents the database REST API (/dbs, backup, restore, password), request bodies, path parameters, and jobtype/JobResultDb*shapes forGET /api/jobs/{id}. Specinfo.versionset to 1.6.3. - README: Swagger section notes what the OpenAPI spec covers (including databases and job
resulttypes).
Version 1.6.2
[1.6.2] - 2026-04-03
Fixed
- Auth redirect without web login:
CipiApiServiceProviderregistersAuthenticate::redirectUsingso installs without a namedloginroute no longer throwRoute [login] not definedwhen Sanctum rejects a request. Unauthenticatedapi/*and JSON requests get a normal 401 flow; browser requests fall back to/(welcome) when nologinroute exists.
Version 1.6.1
[1.6.1] - 2026-03-20
Changed
- Custom apps without Git (SFTP-only):
POST /api/appsand MCPAppCreatealign with Cipi 4.4.4+: forcustom: true,repositoryis optional. Omitrepositoryandbranchto provision a custom app for SFTP upload to~/htdocswith no Git deploy. Laravel (non-custom) apps still requirerepository. - OpenAPI:
AppCreateRequestdocumentscustomanddocroot;repositoryis no longer globally required in the schema (runtime validation enforces it for Laravel apps).
Version 1.6.0
[1.6.0] - 2026-03-19
Added
- Custom app support:
POST /api/appsnow acceptscustom(boolean) anddocroot(string) parameters to create non-Laravel apps with classic deploy (no zero-downtime) - Database management APIs:
GET /api/dbs— list all databases (dbs-view)POST /api/dbs— create a database (dbs-create)DELETE /api/dbs/{name}— delete a database (dbs-delete)POST /api/dbs/{name}/backup— backup a database (dbs-manage)POST /api/dbs/{name}/restore— restore from backup (dbs-manage)POST /api/dbs/{name}/password— regenerate password (dbs-manage)
- MCP tools:
DbList,DbCreate,DbDelete,DbBackup,DbRestore,DbPassword - Output parsers for all database CLI commands
- New token abilities:
dbs-view,dbs-create,dbs-delete,dbs-manage
Version 1.5.2
[1.5.2] - 2026-03-16
Changed
- Package renamed to
cipi/api(fromandreapollastri/cipi-api) - README: updated installation command and MCP tools table formatting