Repository navigation
v6.1.0
See Upgrading to 6.1 for what apps need to
change.
Behaviour changes
- server: S3 storages use aws-lite instead of the AWS SDK and
multer-s3:- Install
@aws-lite/clientand@aws-lite/s3instead of@aws-sdk/client-s3and@aws-sdk/lib-storage. s3needsregionandcredentials, which no longer come from environment variables or~/.aws, see S3StorageConfig.- Object options like
aclorcacheControltake strings only, and apply to imported files too. - Without
url, files get the URL of the bucket. TheMulterS3Filetype is removed.
- Install
- server:
UserMixinrejectshashin all untrusted input, not only inUsersController. - server: Asset signatures cover the files' metadata, so admin pages that were open during the update need a reload before saving files.
- server:
ctx.transactionno longer emits'commit'and'rollback'. - server:
ctx.logIn()andctx.logOut()are removed: usectx.login()andctx.logout(). - admin: Empty values and defaults, see Empty values:
- A
nullwritten while editing stays until saving, e.g. when clearing a number to type another one. Saving and copying replace it with thedefault, or the empty value of the type, in values that aren'tnullable. - The clear button of fields with
nullable: falsesets theirdefault. - Custom types declare their data type with
getProperty().treatsNullAsMissingis removed.
- A
- admin:
requiredarrays need one item everywhere, also in written properties and custom types.minItems: 0accepts none, see Types and limits of fields. - admin: Several fields of the same value take each rule and option, e.g.
minLengthortrim, from the first field that sets it, and validate the value once. - admin: Trees take
detailsinstead ofproperties, with the typeDetails. - admin: Removed:
DitoFormEmbedded(useDitoForm) andcontext.nested. - admin: Renamed classes:
dito-root--overlay-sidebarand--sliding-sidebarare on.dito-pageasdito-page--…,dito-tree-item--draggingisdito-draggable--dragging, and.dito-propertiesof trees is.dito-tree-item__details. - admin: The login dialog shows icons in its fields, and its Forgot? button moves into the password field.
- admin: "is required" shows before the other messages of a value.
- ui: The Sass placeholders are BEM modifiers, e.g.
%field--has-errorsor%icon--clear. - ui:
DitoInputspaces its prefix and suffix by its padding. - router: Routes with several params in one segment, e.g.
/a/:x-:y, throw when added. - router:
getAllowedMethods(path)adds theprefixitself, asfind()does.
New
- admin: Input affixes can be buttons, and affixes with
hover: trueonly show while hovering, as the clear button does now. - admin:
getProperty()of custom types, e.g.getProperty: () => ({ type: 'number' }). - ui: A
lockicon.
Fixes
- server:
$refs inanyOfandoneOfreject unknown properties again, as in 3.5.- Files stored in a transaction that rolls back are removed again, in all transactions.
- Clients can't overwrite stored files by sending asset files back with
data. - S3 storages give imported and copied files a URL.
- admin, forms:
- Removing an item whose form has unsaved changes closes the form, instead of keeping it on the removed item.
- The validation notification lists the errors of hidden fields.
- Enter submits dialogs only once.
- Forms of
useDitoForm()that fail to set up log the error instead of loading. - Panels with an object as
datano longer write into the schema. notify()no longer breaks lists inhtmlparagraphs apart.
- admin, fields:
- Options that are
0,falseor''are selected like other options. - Values without an option show as unavailable for all kinds of options.
- A failed upload keeps the file that was there before.
nullableandtrimcallbacks of text fields are respected.- Empty strings that are options stay
''. DitoSelectFieldandDitoRadioFieldthrow for arrays, pointing to the fields that support them.- A named
DitoCustomFieldemitschangeon blur, and its content fills the field.
- Options that are
- admin, resources:
- Resource functions receive the
methodof the request and return their ownmethodandquery. - Buttons whose resource function reads its
parentsubmit again.
- Resource functions receive the
- admin, trees: Items without children can show their
details, anddetailsrespect theirif. - admin, layout:
- Pages are wide only for
wideforms again. - The menu shows no empty items.
- Back from an object without data no longer loops.
- Large sections and lists open fast again.
- Pages are wide only for
- admin, types: Resources without
typeand all standardautocompletevalues type-check. - ui:
- Collapsible sections open smoothly again.
aria-invalid="false"shows no error.
- schema:
decimalsaccepts numbers in exponent form, e.g.1e-7. - utils:
equals()handles objects without prototype, andhtml([])returns an empty value.
Internal
- admin, schema: The packages no longer publish their tests.