docs: update changelog for v1.3.1
This commit is contained in:
+14
-10
@@ -13,24 +13,28 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed File Manager operations on directories without a `.keep` marker. A directory a file was
|
||||
uploaded into, or one that exists in the bucket but was not created through the app, was listed
|
||||
but could not be renamed, deleted or resolved (`E_DIR_NOT_FOUND`); directory existence now falls
|
||||
back to the prefix holding any entry instead of relying on the marker alone.
|
||||
### Removed
|
||||
|
||||
## [1.3.1] - 2026-08-31
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed Web Studio site settings rejecting empty optional fields. The backend bodyparser converts
|
||||
empty strings to `null`, so a cleared menu title, footer copyright or legal path failed
|
||||
validation; those fields are now optional in the vine schema (stored without the key) and the
|
||||
admin maps them back to empty strings via `SiteSettingsMapper`.
|
||||
- Backend validation errors on the settings page no longer disappear silently: the shared 422
|
||||
handler skips them expecting the caller to map field errors, which the page never did. Structured
|
||||
field errors are now set on the matching form inputs, the tab holding the first error is opened,
|
||||
and message-only 422s surface as a toast.
|
||||
- Fixed renaming or deleting a folder destroying sibling folders whose name shares its prefix
|
||||
(renaming `aa` overwrote and then deleted `aab`). Drive strips the trailing slash off a listing
|
||||
prefix, so a directory's contents are now filtered on the real `<path>/` prefix, and the S3
|
||||
service deletes the listed keys instead of passing that prefix to `deleteAll`.
|
||||
- Moving, copying and deleting a folder now follow the listing pagination token, so folders holding
|
||||
more than 1000 objects are no longer processed only in part.
|
||||
- Fixed `getEntry` raising a bare `Error` (HTTP 500) for a path that is neither a file nor a
|
||||
directory; it now raises the `E_DIR_NOT_FOUND` 404.
|
||||
- Fixed the web container running against the host's `node_modules`: the `web` service keeps
|
||||
`apps/web/node_modules` in an anonymous volume, so the bind mount no longer shadows the
|
||||
dependencies installed in the image.
|
||||
|
||||
### Removed
|
||||
|
||||
## [1.3.0] - 2026-08-28
|
||||
|
||||
### Added
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@crux-kit/admin-app",
|
||||
"private": true,
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@crux-kit/backend",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"license": "UNLICENSED",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@crux-kit/web-app",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
|
||||
Generated
+13
-13
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "crux",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "crux",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"license": "UNLICENSED",
|
||||
"workspaces": [
|
||||
"apps/*",
|
||||
@@ -44,7 +44,7 @@
|
||||
},
|
||||
"apps/admin": {
|
||||
"name": "@crux-kit/admin-app",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"dependencies": {
|
||||
"@crux-kit/editor-tiptap": "*",
|
||||
"@crux-kit/hooks": "*",
|
||||
@@ -210,7 +210,7 @@
|
||||
},
|
||||
"apps/backend": {
|
||||
"name": "@crux-kit/backend",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"license": "UNLICENSED",
|
||||
"dependencies": {
|
||||
"@adonisjs/auth": "^10.1.0",
|
||||
@@ -788,7 +788,7 @@
|
||||
},
|
||||
"apps/web": {
|
||||
"name": "@crux-kit/web-app",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"dependencies": {
|
||||
"@crux-kit/hooks": "*",
|
||||
"@crux-kit/intl-date": "*",
|
||||
@@ -24085,7 +24085,7 @@
|
||||
},
|
||||
"packages/design-system/editor-tiptap": {
|
||||
"name": "@crux-kit/editor-tiptap",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"dependencies": {
|
||||
"@crux-kit/utils": "*",
|
||||
"@tiptap/core": "^3.29.2",
|
||||
@@ -24103,12 +24103,12 @@
|
||||
},
|
||||
"packages/design-system/keenicon": {
|
||||
"name": "@crux-kit/keenicon",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"devDependencies": {}
|
||||
},
|
||||
"packages/hooks": {
|
||||
"name": "@crux-kit/hooks",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"dependencies": {
|
||||
"@crux-kit/types": "*"
|
||||
},
|
||||
@@ -24116,7 +24116,7 @@
|
||||
},
|
||||
"packages/services/intl-date": {
|
||||
"name": "@crux-kit/intl-date",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"dependencies": {
|
||||
"@crux-kit/types": "*"
|
||||
},
|
||||
@@ -24124,7 +24124,7 @@
|
||||
},
|
||||
"packages/services/intl-name": {
|
||||
"name": "@crux-kit/intl-name",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"dependencies": {
|
||||
"@crux-kit/types": "*"
|
||||
},
|
||||
@@ -24132,17 +24132,17 @@
|
||||
},
|
||||
"packages/services/local-storage": {
|
||||
"name": "@crux-kit/local-storage",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"devDependencies": {}
|
||||
},
|
||||
"packages/types": {
|
||||
"name": "@crux-kit/types",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"devDependencies": {}
|
||||
},
|
||||
"packages/utils": {
|
||||
"name": "@crux-kit/utils",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"dependencies": {
|
||||
"@crux-kit/types": "*"
|
||||
},
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "crux",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"license": "UNLICENSED",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@crux-kit/editor-tiptap",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"type": "module",
|
||||
"types": "src/index.ts",
|
||||
"private": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@crux-kit/keenicon",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"type": "module",
|
||||
"types": "src/index.ts",
|
||||
"private": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@crux-kit/hooks",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"type": "module",
|
||||
"types": "src/index.ts",
|
||||
"private": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@crux-kit/intl-date",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"type": "module",
|
||||
"types": "src/index.ts",
|
||||
"private": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@crux-kit/intl-name",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"type": "module",
|
||||
"types": "src/index.ts",
|
||||
"private": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@crux-kit/local-storage",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"type": "module",
|
||||
"types": "src/index.ts",
|
||||
"private": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@crux-kit/types",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"type": "module",
|
||||
"types": "src/index.ts",
|
||||
"private": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@crux-kit/utils",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"type": "module",
|
||||
"types": "src/index.ts",
|
||||
"private": true,
|
||||
|
||||
Reference in New Issue
Block a user