Skip to main content

Penpot Sync - Releases

← App details

Nextcloud 34

Penpot Sync 1.0.0
Release Details
UpdatedSept. 3, 2026, 8:39 p.m.
Changelog

The first release. Everything is new, which is why there is no Changed or Fixed below — both are relative to a version somebody is running, and there isn't one. The build history is in saga/.

Added

  • Map a Penpot team to a Nextcloud folder. Its projects arrive as folders and its designs as .penpot files, with the Penpot icon and the design's own dates. Backed by a Team Folder or a plain shared folder.

  • The folder is the project. A folder becomes a Penpot project when a design lands in it, named by its path — so a project called Brand/2026 is two nested folders. Drafts is the mapped folder's root rather than a folder of its own.

  • Every file gesture reaches Penpot: create, rename, move between projects or teams, copy, delete, restore and purge.

  • Two trashes. Trashing a design puts it in Penpot's trash; restoring brings it back with its id, revision and history. Only emptying your Nextcloud trash destroys anything, and only a design still in Penpot's trash.

  • Restore a project folder and the project comes back. Its designs come back with it, keeping the project's id when Penpot still has them and rebuilding it from your archives when it does not.

  • A project that comes back in Penpot reclaims its folder from your Nextcloud trash instead of leaving a second one beside it.

  • Emptying the trash of a project folder destroys its designs in Penpot too, finishing the delete the way emptying the trash of a single design already did.

  • Emptying Penpot's trash clears the matching folders out of your Nextcloud trash. A trashed project folder whose designs are all gone for good has nothing left to be restored to, so it goes too — unless it also holds a file that was never Penpot's, which spares it.

  • Sync or Link, chosen per mapping. sync keeps the real exported archive, so the folder doubles as a backup you can open offline; link keeps a pointer that costs nothing.

  • Sync to Penpot turns .penpot archives Penpot has never seen into real designs. A design Penpot already has is never overwritten.

  • Open in Penpot is the default click on any mirrored design.

  • Scheduled pulls, one-shot buttons for either direction, and a connection test.

  • Every admin action has an occ command, so the app can be configured headlessly.

  • Penpot ids are published over WebDAV and indexed for search.

Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhPzMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwOTAzMTEyMDI3WhcNMzYxMjA5MTEyMDI3WjAWMRQwEgYD
VQQDDAtwZW5wb3Rfc3luYzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMl8eqgNPaMv5mLWWYP6AavnPh3nf2J2CgJN2gUyoRPNZrSaXggrgXW9IlyCJZT7
re2ELPMP/3gAtr+ot3qMeU2Eg/9Mn3r3p5DWzNWs0zE2wk5kVRriGqsx3+Nsbyz/
TqQgbmej9n3FqL8vkIDFz52Sl7oEWeVCsD8Ywh2RKh5mOcqHcf0MeQTAZU9OrkPu
NpJZ0I8C1TltS/0yW6D7YjwtKp4DKSoNIO84gu38injgGtQZXCHG0CoPlYMJnh81
fubbg2Kt+gQbEJyYyoxlSM3xFvcVjaKSqKwoDy1Q+KxCTskg10ZI6tTD3cfnO1s1
rxDMhIHgia8OSlmxW/1wdnMPLFRxLA0U3NkVTHZ8CEmQxK5AfomTudFcU8bKeUT+
Z4qX+8qsCdcgytYXPH0gRHnpuRpMPC1iUiaPy88eqhtfHybF0Rp7CnQHoOBHa+GY
7X0NCMfBsm21XWRfrHGt7gYwd9w4+6fXrZYIHzPEr8izUGgcVdatZ4bm+mKchBWN
LN8dDOfUjImqXgz6vLHBA2cVtR5sZu4v7nFjE+jd4GCsx0reZ0T/PH4aMlgtZuw4
ynl/ZJHi0cuXL6IOC4T1XCuHzv58H2uY3QpD1f26LMveth1zhUmQoXLlNnCzazIt
5P28Fkw5TNET2iLFLCc38ISG2ocKPyZp17vKu3/FeEctAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAD/UQufZHzaojOtFoSuGYq4fLOpSrBqV4R/vAnsDNcbRnrAtaxDQ
bgUNssy5t606piKg64+Q1/PsA0JxbR4E/Zf8oE51xE+fAmaSyMq2WiVOz1ZEZPOO
NhkR6RCMhYDK0ASkcsfF8Fva5cPRWBi5W2KXtYxl8oY/WsHdfwgWUfpoWJog4DK+
s4KNszg3UdvMrwbWA5vyIesNo20EFXpl4Efm7/xO5DPrmhTbybs3Adwz8+L7Y6tg
BBPtB+cxAVczrqL1ENNudW5XrpqN/Qj23loASrWhdlOwqRLjR0B/KdQ1dpNYN4Z6
yBdUjzk7nI1u4VHBJufITSVi3s+fA/pSlYc=
-----END CERTIFICATE-----
Signaturep8C8oETO8xqNqp1qrd+Cz8i6FShHpsipOVC+H8V2IfLmEdfwWwtNW4mi/jGYsyQQD64TD3DLSDOOe/DlKPJxxKeHuii1UDQA5KTb7AaQJz612MDeAQpwb+dR30w3I4fqVjR4imloev+Hg363uMbuTK/+Z2qo00aPSxMKEWiX3+/AAphBrwB35k5pkICZPtdowIuvhCZHSfgXsmgjKx6MFwQJCA4QE28KXWCnC9Tr4FfdPuCWhwE7E6/79CHyVNCCjxqGJQ3bakR8fmd+yv8icGAehtZmfJAxI5AxFooyCjww4vo2QPVBGcjzqws7wvJzhc/k6LGLb74/Mo2ja9+V5v/7jxrm+/1KrVu3HohomPqUeUX/bAVVl4zGNHW/abDjUBBeppKNSBGuFAV7sG3cy31sBBL3ksqI9OYnFmlTOsLKlYs8k4ZhPO45lrzIVatkjAskYAE/r3jas1xpNBxKIRMwfGwukx6xh8yzE3/0Wp4DV9PAyo25Xw9DYRbOELdGdRBiWL9duMry47noaxlnFTzwmc1Gm3Wm+f73wS0PVi6U2ONGJ9vmuLpZoUpF0/d13DU8xFKRFaSAuoN/nVs3S72EYSc09nsbHVwKk/LFO0+DnQVaXOULbjyGKJQk+jMJNsOw9jC1Ic/60JVrk3Yv5JIJbQlecGn+bKgzaw7X2u8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32

Nextcloud 33

Penpot Sync 1.0.0
Release Details
UpdatedSept. 3, 2026, 8:39 p.m.
Changelog

The first release. Everything is new, which is why there is no Changed or Fixed below — both are relative to a version somebody is running, and there isn't one. The build history is in saga/.

Added

  • Map a Penpot team to a Nextcloud folder. Its projects arrive as folders and its designs as .penpot files, with the Penpot icon and the design's own dates. Backed by a Team Folder or a plain shared folder.

  • The folder is the project. A folder becomes a Penpot project when a design lands in it, named by its path — so a project called Brand/2026 is two nested folders. Drafts is the mapped folder's root rather than a folder of its own.

  • Every file gesture reaches Penpot: create, rename, move between projects or teams, copy, delete, restore and purge.

  • Two trashes. Trashing a design puts it in Penpot's trash; restoring brings it back with its id, revision and history. Only emptying your Nextcloud trash destroys anything, and only a design still in Penpot's trash.

  • Restore a project folder and the project comes back. Its designs come back with it, keeping the project's id when Penpot still has them and rebuilding it from your archives when it does not.

  • A project that comes back in Penpot reclaims its folder from your Nextcloud trash instead of leaving a second one beside it.

  • Emptying the trash of a project folder destroys its designs in Penpot too, finishing the delete the way emptying the trash of a single design already did.

  • Emptying Penpot's trash clears the matching folders out of your Nextcloud trash. A trashed project folder whose designs are all gone for good has nothing left to be restored to, so it goes too — unless it also holds a file that was never Penpot's, which spares it.

  • Sync or Link, chosen per mapping. sync keeps the real exported archive, so the folder doubles as a backup you can open offline; link keeps a pointer that costs nothing.

  • Sync to Penpot turns .penpot archives Penpot has never seen into real designs. A design Penpot already has is never overwritten.

  • Open in Penpot is the default click on any mirrored design.

  • Scheduled pulls, one-shot buttons for either direction, and a connection test.

  • Every admin action has an occ command, so the app can be configured headlessly.

  • Penpot ids are published over WebDAV and indexed for search.

Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhPzMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwOTAzMTEyMDI3WhcNMzYxMjA5MTEyMDI3WjAWMRQwEgYD
VQQDDAtwZW5wb3Rfc3luYzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMl8eqgNPaMv5mLWWYP6AavnPh3nf2J2CgJN2gUyoRPNZrSaXggrgXW9IlyCJZT7
re2ELPMP/3gAtr+ot3qMeU2Eg/9Mn3r3p5DWzNWs0zE2wk5kVRriGqsx3+Nsbyz/
TqQgbmej9n3FqL8vkIDFz52Sl7oEWeVCsD8Ywh2RKh5mOcqHcf0MeQTAZU9OrkPu
NpJZ0I8C1TltS/0yW6D7YjwtKp4DKSoNIO84gu38injgGtQZXCHG0CoPlYMJnh81
fubbg2Kt+gQbEJyYyoxlSM3xFvcVjaKSqKwoDy1Q+KxCTskg10ZI6tTD3cfnO1s1
rxDMhIHgia8OSlmxW/1wdnMPLFRxLA0U3NkVTHZ8CEmQxK5AfomTudFcU8bKeUT+
Z4qX+8qsCdcgytYXPH0gRHnpuRpMPC1iUiaPy88eqhtfHybF0Rp7CnQHoOBHa+GY
7X0NCMfBsm21XWRfrHGt7gYwd9w4+6fXrZYIHzPEr8izUGgcVdatZ4bm+mKchBWN
LN8dDOfUjImqXgz6vLHBA2cVtR5sZu4v7nFjE+jd4GCsx0reZ0T/PH4aMlgtZuw4
ynl/ZJHi0cuXL6IOC4T1XCuHzv58H2uY3QpD1f26LMveth1zhUmQoXLlNnCzazIt
5P28Fkw5TNET2iLFLCc38ISG2ocKPyZp17vKu3/FeEctAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAD/UQufZHzaojOtFoSuGYq4fLOpSrBqV4R/vAnsDNcbRnrAtaxDQ
bgUNssy5t606piKg64+Q1/PsA0JxbR4E/Zf8oE51xE+fAmaSyMq2WiVOz1ZEZPOO
NhkR6RCMhYDK0ASkcsfF8Fva5cPRWBi5W2KXtYxl8oY/WsHdfwgWUfpoWJog4DK+
s4KNszg3UdvMrwbWA5vyIesNo20EFXpl4Efm7/xO5DPrmhTbybs3Adwz8+L7Y6tg
BBPtB+cxAVczrqL1ENNudW5XrpqN/Qj23loASrWhdlOwqRLjR0B/KdQ1dpNYN4Z6
yBdUjzk7nI1u4VHBJufITSVi3s+fA/pSlYc=
-----END CERTIFICATE-----
Signaturep8C8oETO8xqNqp1qrd+Cz8i6FShHpsipOVC+H8V2IfLmEdfwWwtNW4mi/jGYsyQQD64TD3DLSDOOe/DlKPJxxKeHuii1UDQA5KTb7AaQJz612MDeAQpwb+dR30w3I4fqVjR4imloev+Hg363uMbuTK/+Z2qo00aPSxMKEWiX3+/AAphBrwB35k5pkICZPtdowIuvhCZHSfgXsmgjKx6MFwQJCA4QE28KXWCnC9Tr4FfdPuCWhwE7E6/79CHyVNCCjxqGJQ3bakR8fmd+yv8icGAehtZmfJAxI5AxFooyCjww4vo2QPVBGcjzqws7wvJzhc/k6LGLb74/Mo2ja9+V5v/7jxrm+/1KrVu3HohomPqUeUX/bAVVl4zGNHW/abDjUBBeppKNSBGuFAV7sG3cy31sBBL3ksqI9OYnFmlTOsLKlYs8k4ZhPO45lrzIVatkjAskYAE/r3jas1xpNBxKIRMwfGwukx6xh8yzE3/0Wp4DV9PAyo25Xw9DYRbOELdGdRBiWL9duMry47noaxlnFTzwmc1Gm3Wm+f73wS0PVi6U2ONGJ9vmuLpZoUpF0/d13DU8xFKRFaSAuoN/nVs3S72EYSc09nsbHVwKk/LFO0+DnQVaXOULbjyGKJQk+jMJNsOw9jC1Ic/60JVrk3Yv5JIJbQlecGn+bKgzaw7X2u8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32

Nextcloud 32

Penpot Sync 1.0.0
Release Details
UpdatedSept. 3, 2026, 8:39 p.m.
Changelog

The first release. Everything is new, which is why there is no Changed or Fixed below — both are relative to a version somebody is running, and there isn't one. The build history is in saga/.

Added

  • Map a Penpot team to a Nextcloud folder. Its projects arrive as folders and its designs as .penpot files, with the Penpot icon and the design's own dates. Backed by a Team Folder or a plain shared folder.

  • The folder is the project. A folder becomes a Penpot project when a design lands in it, named by its path — so a project called Brand/2026 is two nested folders. Drafts is the mapped folder's root rather than a folder of its own.

  • Every file gesture reaches Penpot: create, rename, move between projects or teams, copy, delete, restore and purge.

  • Two trashes. Trashing a design puts it in Penpot's trash; restoring brings it back with its id, revision and history. Only emptying your Nextcloud trash destroys anything, and only a design still in Penpot's trash.

  • Restore a project folder and the project comes back. Its designs come back with it, keeping the project's id when Penpot still has them and rebuilding it from your archives when it does not.

  • A project that comes back in Penpot reclaims its folder from your Nextcloud trash instead of leaving a second one beside it.

  • Emptying the trash of a project folder destroys its designs in Penpot too, finishing the delete the way emptying the trash of a single design already did.

  • Emptying Penpot's trash clears the matching folders out of your Nextcloud trash. A trashed project folder whose designs are all gone for good has nothing left to be restored to, so it goes too — unless it also holds a file that was never Penpot's, which spares it.

  • Sync or Link, chosen per mapping. sync keeps the real exported archive, so the folder doubles as a backup you can open offline; link keeps a pointer that costs nothing.

  • Sync to Penpot turns .penpot archives Penpot has never seen into real designs. A design Penpot already has is never overwritten.

  • Open in Penpot is the default click on any mirrored design.

  • Scheduled pulls, one-shot buttons for either direction, and a connection test.

  • Every admin action has an occ command, so the app can be configured headlessly.

  • Penpot ids are published over WebDAV and indexed for search.

Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhPzMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwOTAzMTEyMDI3WhcNMzYxMjA5MTEyMDI3WjAWMRQwEgYD
VQQDDAtwZW5wb3Rfc3luYzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMl8eqgNPaMv5mLWWYP6AavnPh3nf2J2CgJN2gUyoRPNZrSaXggrgXW9IlyCJZT7
re2ELPMP/3gAtr+ot3qMeU2Eg/9Mn3r3p5DWzNWs0zE2wk5kVRriGqsx3+Nsbyz/
TqQgbmej9n3FqL8vkIDFz52Sl7oEWeVCsD8Ywh2RKh5mOcqHcf0MeQTAZU9OrkPu
NpJZ0I8C1TltS/0yW6D7YjwtKp4DKSoNIO84gu38injgGtQZXCHG0CoPlYMJnh81
fubbg2Kt+gQbEJyYyoxlSM3xFvcVjaKSqKwoDy1Q+KxCTskg10ZI6tTD3cfnO1s1
rxDMhIHgia8OSlmxW/1wdnMPLFRxLA0U3NkVTHZ8CEmQxK5AfomTudFcU8bKeUT+
Z4qX+8qsCdcgytYXPH0gRHnpuRpMPC1iUiaPy88eqhtfHybF0Rp7CnQHoOBHa+GY
7X0NCMfBsm21XWRfrHGt7gYwd9w4+6fXrZYIHzPEr8izUGgcVdatZ4bm+mKchBWN
LN8dDOfUjImqXgz6vLHBA2cVtR5sZu4v7nFjE+jd4GCsx0reZ0T/PH4aMlgtZuw4
ynl/ZJHi0cuXL6IOC4T1XCuHzv58H2uY3QpD1f26LMveth1zhUmQoXLlNnCzazIt
5P28Fkw5TNET2iLFLCc38ISG2ocKPyZp17vKu3/FeEctAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAD/UQufZHzaojOtFoSuGYq4fLOpSrBqV4R/vAnsDNcbRnrAtaxDQ
bgUNssy5t606piKg64+Q1/PsA0JxbR4E/Zf8oE51xE+fAmaSyMq2WiVOz1ZEZPOO
NhkR6RCMhYDK0ASkcsfF8Fva5cPRWBi5W2KXtYxl8oY/WsHdfwgWUfpoWJog4DK+
s4KNszg3UdvMrwbWA5vyIesNo20EFXpl4Efm7/xO5DPrmhTbybs3Adwz8+L7Y6tg
BBPtB+cxAVczrqL1ENNudW5XrpqN/Qj23loASrWhdlOwqRLjR0B/KdQ1dpNYN4Z6
yBdUjzk7nI1u4VHBJufITSVi3s+fA/pSlYc=
-----END CERTIFICATE-----
Signaturep8C8oETO8xqNqp1qrd+Cz8i6FShHpsipOVC+H8V2IfLmEdfwWwtNW4mi/jGYsyQQD64TD3DLSDOOe/DlKPJxxKeHuii1UDQA5KTb7AaQJz612MDeAQpwb+dR30w3I4fqVjR4imloev+Hg363uMbuTK/+Z2qo00aPSxMKEWiX3+/AAphBrwB35k5pkICZPtdowIuvhCZHSfgXsmgjKx6MFwQJCA4QE28KXWCnC9Tr4FfdPuCWhwE7E6/79CHyVNCCjxqGJQ3bakR8fmd+yv8icGAehtZmfJAxI5AxFooyCjww4vo2QPVBGcjzqws7wvJzhc/k6LGLb74/Mo2ja9+V5v/7jxrm+/1KrVu3HohomPqUeUX/bAVVl4zGNHW/abDjUBBeppKNSBGuFAV7sG3cy31sBBL3ksqI9OYnFmlTOsLKlYs8k4ZhPO45lrzIVatkjAskYAE/r3jas1xpNBxKIRMwfGwukx6xh8yzE3/0Wp4DV9PAyo25Xw9DYRbOELdGdRBiWL9duMry47noaxlnFTzwmc1Gm3Wm+f73wS0PVi6U2ONGJ9vmuLpZoUpF0/d13DU8xFKRFaSAuoN/nVs3S72EYSc09nsbHVwKk/LFO0+DnQVaXOULbjyGKJQk+jMJNsOw9jC1Ic/60JVrk3Yv5JIJbQlecGn+bKgzaw7X2u8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32