What's Changed
- Replace salvo-acme with certon for enhanced ACME support by @chrislearn in #1339
- chore(deps): update sha2 requirement from 0.10 to 0.11 by @dependabot[bot] in #1343
- chore(deps): update chardetng requirement from 0.1 to 1.0 by @dependabot[bot] in #1344
- fix(oapi): replace utoipa:: path references with correct salvo crate paths by @chrislearn in #1346
- fix(oapi): preserve doc comment indentation and split summary by paragraph by @chrislearn in #1347
- fix(oapi): parse serde with attribute for double_option detection by @chrislearn in #1348
- fix(oapi): make enum_values and Content.schema optional per OpenAPI spec by @chrislearn in #1349
- fix(oapi): propagate serde attribute parsing errors instead of silently ignoring by @chrislearn in #1350
- fix(oapi): handle tagged enum variants with flattened fields by @chrislearn in #1351
- fix(oapi): wrap $ref schemas in allOf when title or description is needed by @chrislearn in #1352
- fix(oapi): support nullable values in Map types by @chrislearn in #1354
- feat(oapi): add discriminator schema attribute for enum types by @chrislearn in #1369
- feat(oapi): add missing KnownFormat variants and Array content fields by @chrislearn in #1359
- feat(oapi): use $ref for non-primitive generic type parameters by @chrislearn in #1367
- feat(oapi): use prefixItems for tuple schema representation by @chrislearn in #1362
- feat(oapi): add ToSchema impls for collections and smart pointers by @chrislearn in #1358
- fix(oapi): Option in parameters means optional, not nullable by @chrislearn in #1355
- feat(oapi): add encoding support for multipart request bodies by @chrislearn in #1366
- fix(oapi): restore uint16 format and remove debug eprintln in test by @chrislearn in #1370
- fix(oapi): support negative values in schema validation attributes by @chrislearn in #1353
- feat(oapi): support description and title on unit struct schemas by @chrislearn in #1368
- feat(oapi): add nest() method for prefixing and merging OpenApi documents by @chrislearn in #1365
- feat(oapi): add extensions field to all OpenAPI types per specification by @chrislearn in #1364
- feat(oapi): add property_names support for typed map keys by @chrislearn in #1360
- feat(oapi): support conditional field ignore with bool or function path by @chrislearn in #1363
- feat(oapi): add Number type for correct integer serialization by @chrislearn in #1356
- feat(oapi): add License.identifier field (OpenAPI 3.1) by @chrislearn in #1357
- feat(oapi): add no_recursion attribute to prevent infinite schema recursion by @chrislearn in #1361
- feat(oapi): add ComposeSchema trait and real generics support by @chrislearn in #1371
- [codex] fix(oapi): compose defaults for flattened schemas by @chrislearn in #1372
- fix(oapi): add example/examples methods to AllOf/OneOf/AnyOf schemas by @chrislearn in #1373
- fix(core): support unicode characters in Redirect URLs by @chrislearn in #1374
- fix(oapi): handle ref keyword in PathType parsing for all contexts by @chrislearn in #1375
- docs(cors): clarify that CORS handler must be on Service, not Router by @chrislearn in #1376
- fix: update multer references to multra for compatibility by @chrislearn in #1377
Full Changelog: v0.89.3...v0.90.1