aerogear/graphback
### [`v0.16.2`](https://togithub.com/aerogear/graphback/releases/tag/0.16.2)
[Compare Source](https://togithub.com/aerogear/graphback/compare/0.16.1...0.16.2)
##### Bug Fixes
- Primary key with `ID` ScalarType and field name different to `id` isn't auto-incrementable. Fixed in [#1997](https://togithub.com/aerogear/graphback/pull/1997)
- Logical OR operator is not working correctly in MongoDB query builder. ([#1963](https://togithub.com/aerogear/graphback/issues/1963)), fixed by ([059a0ae](https://togithub.com/aerogear/graphback/commit/059a0aebe36a33477bf87c808086d8c396e75ef9))
### [`v0.16.1`](https://togithub.com/aerogear/graphback/releases/tag/0.16.1)
[Compare Source](https://togithub.com/aerogear/graphback/compare/0.16.0...0.16.1)
##### Bug Fixes
- Correct main file and types paths of `graphql-serve` package ([d4d918e](https://togithub.com/aerogear/graphback/commit/d4d918e189b9dd03b84d9a8d29194664fe8a898f)).
### [`v0.16.0`](https://togithub.com/aerogear/graphback/releases/tag/0.16.0)
[Compare Source](https://togithub.com/aerogear/graphback/compare/0.15.1...0.16.0)
##### New Features
- Use any `knex` 0.20.x or 0.21.x version in your application ([d826b6f](https://togithub.com/aerogear/graphback/commit/d826b6fcb3ffb753140f5135d53c56c032cb2503)[#1903](https://togithub.com/aerogear/graphback/pull/1903))
- Ability to specify composite unique columns in GraphQL Migrations ([#1658](https://togithub.com/aerogear/graphback/issues/1658)), fixed by ([9c6f34a231e2645c34533d58ea4427ff8f8f634e](https://togithub.com/aerogear/graphback/commit/9c6f34a231e2645c34533d58ea4427ff8f8f634e))
- Requiring `_id: GraphbackObjectID` primary key for MongoDB ([#1769](https://togithub.com/aerogear/graphback/pull/1769)).
This fixes issues below related to primary key in MongoDB:
- [#1731](https://togithub.com/aerogear/graphback/issues/1732), [#1626](https://togithub.com/aerogear/graphback/issues/1626) Ineffecient and wrong mapping of the `id` field
- [#1625](https://togithub.com/aerogear/graphback/issues/1625) Filters on "id: ID" field not working
> NOTE: If you are migrating from [0.15](#0150) or previous versions of Graphback, you may be required to update relationship fields so that their values (previous stored as `String`) are of type [`ObjectID`](https://docs.mongodb.com/manual/reference/method/ObjectId/).
- Add a `@transient` field annotation to ignore fields during input type creation and migrations [4076fa26](https://togithub.com/aerogear/graphback/commit/4076fa26ae9b770d5c38d6b21ebf8251578643b7)
##### DataSync
- Using a `_lastUpdatedAt` field with a proper `GraphbackTimestamp` scalar and other minor fixes ([#1771](https://togithub.com/aerogear/graphback/pull/1771)) including:
- disabling conflicts in default configuration
- adding a `limit` argument to `sync` Queries
##### Bug Fixes
- Failure to map enum values in field directives ([#1767](https://togithub.com/aerogear/graphback/issues/1462)), fixed by ([a9ca21e1405dba14dab249af2f8d146ac2306803](https://togithub.com/aerogear/graphback/commit/a9ca21e1405dba14dab249af2f8d146ac2306803))
- invalid input syntax for type timestamp: "null" ([#1837](https://togithub.com/aerogear/graphback/issues/1837)), fixed by ([37cdc1d12410a1fafb27877b97b54ea308acecb1](https://togithub.com/aerogear/graphback/commit/37cdc1d12410a1fafb27877b97b54ea308acecb1))
- Do not remove directives on Object Types in generated schema ([#1767](https://togithub.com/aerogear/graphback/issues/1767)), fixed by ([22c7a1da62e2752a21db4e4552e970aa93ba37ae](https://togithub.com/aerogear/graphback/pull/1810/commits/22c7a1da62e2752a21db4e4552e970aa93ba37ae))
- Do not silently overrides createdAt/updatedAt custom fields when model contains [@versioned](https://togithub.com/versioned) annotation [#1597](https://togithub.com/aerogear/graphback/issues/1597)
##### Breaking Changes
- Use `GraphbackDateTime` scalar for generated createdAt updatedAt fields ([#1349](https://togithub.com/aerogear/graphback/issues/1349), fixed by [#1862](https://togithub.com/aerogear/graphback/pull/1862))
##### Disable filter input generation for unknown custom scalars
Graphback disabled generation of unknown custom scalars, except for `Timestamp`, `Time`, `Date`, `DateTime`, as we cannot reliably support scalars we do not know.
See [Graphback Scalars](https://graphback.dev/docs/model/scalars/) for the list of officially supported scalars.
- Replace `@db(skip: true)` field annotation with `@transient` [85d50f3c](https://togithub.com/aerogear/graphback/commit/85d50f3c332ee35c46fbe8e6c3e81d97ae60db7b)
##### Changed GraphbackCRUDService `findBy` method signature. This also applies to all services that implement this interface.
```patch
- findBy(filter: QueryFilter, context: GraphbackContext, page?: GraphbackPage, orderBy?: any): Promise>;
+ findBy(args?: FindByArgs, context?: GraphbackContext, info?: GraphQLResolveInfo, path?: string): Promise>;
```
**args**
`findBy` now accepts a new interface, `FindByArgs`, which wraps the `filter`, `page` and `orderBy` optional arguments.
```ts
await noteService.findBy({
filter: {
id: {
gt: 100
}
},
page: {
offset: 0,
limit: 10
},
orderBy: {
field: 'id'
}
})
```
**context (optional)**
The context parameter is now optional.
**info**
You can now optionally pass the `GraphQLResolveInfo` info object to the CRUD service, to perform extra optimizations like retrieving only the selected fields from the query.
```ts
await noteService.findBy(filter, context, info);
```
**path (optional)**
The root path of the query to get the selected fields from. For example, to get `id`, `title`, `description` fields from the following query, you would set the path to `items`.
```graphql
query findNotes {
findNotes {
items {
id
title
description
}
}
}
```
The path variable is optional, as it will automatically resolve to the root field of the entire query.
##### `context` parameter removed from `subscribeToCreate`, `subscribeToDelete`, `subscribeToUpdate` methods in GraphbackCRUDService.
This method was unused.
##### Removed `context` parameter from all GraphbackDataProvider methods. This also applies to all providers that implement this interface.
All CRUD methods in `GraphbackDataProvider` had a `context` parameter used to get the selected fields.
These have been replaced with (optional) `selectedFields` - you can pass a string array of the fields you want to select from the database.
```ts
await noteProvider.findBy(filter, ['id', 'name']);
```
##### Changed GraphbackDataProvider `findBy` method signature. This also applies to all providers that implement this interface.
**args**
`findBy` now accepts a new interface, `FindByArgs`, which wraps the `filter`, `page` and `orderBy` optional arguments.
```ts
await noteService.findBy({
filter: {
id: {
gt: 100
}
},
page: {
offset: 0,
limit: 10
},
orderBy: {
field: 'id'
}
})
```
##### Remove resolver options from GraphbackContext
Resolver options (`context.graphback.options`) was removed from the context because the `count` aggregation and `selectedFields` extraction logic was moved to the CRUDService method.
##### Removed graphback key from GraphbackContext
The `graphback.services` property has been removed from `GraphbackContext`, and `graphback` is now the service map property.
```patch
export interface GraphbackContext {
- graphback: {
- graphback: GraphbackServiceConfigMap
- }
+ graphback: GraphbackServiceConfigMap
}
```
Now you can reach the Graphback service map by calling `context.graphback.Note.findBy(...)`.
##### CRUDService, DataSyncCRUDService now accepts a `ModelDefinition` as the first constructor parameter.
To instantiate a CRUDService you must pass the full `ModelDefinition` instead of the model name.
```ts
const myService = new CRUDService(modelDefinition, ...);
```
##### KeycloakCrudService now accepts a `ModelDefinition` as the first constructor parameter.
To instantiate a CRUDService you must pass the full `ModelDefinition` instead of the model name.
```ts
const myService = new KeycloakCrudService(modelDefinition, ...);
```
##### DataSyncProvider `sync` method signature has been changed
```patch
- sync(lastSync: Date, context: GraphbackContext, filter?: any, limit?: number): Promise;
+ sync(lastSync: Date, selectedFields?: string[], filter?: QueryFilter, limit?: number): Promise;
```
The `context` argument has been replaced with (optional) `selectedFields`.
##### `context` parameter is removed from the `create` method in `MongoDBDataProvider` and `DatasyncMongoDBDataProvider` providers.
This parameter did not do anything.
### [`v0.15.1`](https://togithub.com/aerogear/graphback/releases/tag/0.15.1)
[Compare Source](https://togithub.com/aerogear/graphback/compare/0.15.0...0.15.1)
##### Bug Fixes
- ensure field directives are mapped to the schema on relationship fields ([#1797](https://togithub.com/aerogear/graphback/pull/1797)) ([e8bf5c8](https://togithub.com/aerogear/graphback/commit/e8bf5c80633e51c3c9365a92f4f1ae6271ed6d2c))
### [`v0.15.0`](https://togithub.com/aerogear/graphback/releases/tag/0.15.0)
[Compare Source](https://togithub.com/aerogear/graphback/compare/0.14.1...0.15.0)
##### New Features
- add in-memory subscription filtering ([#1748](https://togithub.com/aerogear/graphback/pull/1748)
- add support for common scalar types ([#1749](https://togithub.com/aerogear/graphback/pull/1749))
##### Bug Fixes
- `create-graphback` was not correctly creating a fullstack application ([#1778](https://togithub.com/aerogear/graphback/pull/1778)) ([685aa4c](https://togithub.com/aerogear/graphback/commit/685aa4c8a359111d87a5e54079ee4be2922be5f6))
- throw an error if relationship annotation are missing ([#1766](https://togithub.com/aerogear/graphback/pull/1766)). This fixes [#1604](https://togithub.com/aerogear/graphback/issues/1604) where when no relationship annotation is defined, invalid input fields are added to input type.
- When no relationship annotation is defined, invalid input fields are added to input type
### [`v0.14.1`](https://togithub.com/aerogear/graphback/releases/tag/0.14.1)
[Compare Source](https://togithub.com/aerogear/graphback/compare/0.14.0...0.14.1)
##### Bug Fixes
- allow model field on non-model types ([#1e64b3eb](https://togithub.com/aerogear/graphback/pull/1753)) ([2756b29a](https://togithub.com/aerogear/graphback/commit/1e64b3eb2a155d87091cffca206f2dbf3280a413))
ionic-team/ionic
### [`v5.9.4`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.9.4)
[Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.9.3...v5.9.4)
##### Bug Fixes
- **core:** inherit aria attributes on host elements ([#25156](https://togithub.com/ionic-team/ionic/issues/25156)) ([#25169](https://togithub.com/ionic-team/ionic/issues/25169)) ([ffb056d](https://togithub.com/ionic-team/ionic/commit/ffb056d50e126a1b89f5133de1e7516d0c29a61a))
### [`v5.9.3`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.9.3): 5.9.3
[Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.9.2...v5.9.3)
##### Bug Fixes
- **vue:** improve query params handling in tabs ([#24355](https://togithub.com/ionic-team/ionic/issues/24355)) ([1c28750](https://togithub.com/ionic-team/ionic/commit/1c2875044ad4d93fdca866017159a89f4dc8872d)), closes [#24353](https://togithub.com/ionic-team/ionic/issues/24353)
- **vue:** tabs no longer get unmounted when navigating back to a tabs context ([#24337](https://togithub.com/ionic-team/ionic/issues/24337)) ([4aab72b](https://togithub.com/ionic-team/ionic/commit/4aab72b06159729d2dcd18b2ef0b76f693e5a74e)), closes [#24332](https://togithub.com/ionic-team/ionic/issues/24332)
##### Performance Improvements
- **content:** remove global click listener to improve interaction performance ([#24360](https://togithub.com/ionic-team/ionic/issues/24360)) ([9c9e28c](https://togithub.com/ionic-team/ionic/commit/9c9e28ccc9f899c403c757d911ac02d9099415af)), closes [#24359](https://togithub.com/ionic-team/ionic/issues/24359)
### [`v5.9.2`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.9.2): 5.9.2
[Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.9.1...v5.9.2)
##### Bug Fixes
- **angular:** improve typing when compiling with legacy View Engine ([#24221](https://togithub.com/ionic-team/ionic/issues/24221)) ([816096f](https://togithub.com/ionic-team/ionic/commit/816096f89747e943a4a273175d384189f25e4628))
- **content:** ensure fixed slot renders on top of content in iOS ([#24300](https://togithub.com/ionic-team/ionic/issues/24300)) ([e41b0e0](https://togithub.com/ionic-team/ionic/commit/e41b0e0cf2a794972d7f4d8943a0bec3d1e08016)), closes [#24286](https://togithub.com/ionic-team/ionic-framework/issues/24286)
- **popover:** improve scrolling in popover when using header and footer ([#24294](https://togithub.com/ionic-team/ionic/issues/24294)) ([f6a00ea](https://togithub.com/ionic-team/ionic/commit/f6a00ea9544aa70620b5f8f65a7702fa3bedd974))
- **react:** present and dismiss hooks return promises ([#24299](https://togithub.com/ionic-team/ionic/issues/24299)) ([4b26fea](https://togithub.com/ionic-team/ionic/commit/4b26feaa47efed4806aba565a52554db232b99e2)), closes [#24293](https://togithub.com/ionic-team/ionic-framework/issues/24293)
- **react:** properly check for custom elements to avoid errors in unit tests ([#24156](https://togithub.com/ionic-team/ionic/issues/24156)) ([8f188ea](https://togithub.com/ionic-team/ionic/commit/8f188eaae7422c9e81053868b9dd93b4ac738e98)), closes [#24149](https://togithub.com/ionic-team/ionic/issues/24149)
- **router:** popping route now accounts for route params ([#24315](https://togithub.com/ionic-team/ionic/issues/24315)) ([5e5054d](https://togithub.com/ionic-team/ionic/commit/5e5054d369ad68c9ac43e12439d71fb42d6ca26b)), closes [#24223](https://togithub.com/ionic-team/ionic-framework/issues/24223)
- **slides:** update swiper instance after initialization ([#24257](https://togithub.com/ionic-team/ionic/issues/24257)) ([89e4bc5](https://togithub.com/ionic-team/ionic/commit/89e4bc56a1c3cd4fb26fc5514f38c6a01f047297)), closes [#19638](https://togithub.com/ionic-team/ionic-framework/issues/19638)
- **vue:** ionic lifecycle hooks now run when using vue 3.2 setup syntax ([#24253](https://togithub.com/ionic-team/ionic/issues/24253)) ([fb96ab5](https://togithub.com/ionic-team/ionic/commit/fb96ab5a26d87818a8b64ee82df0020355054183)), closes [#23824](https://togithub.com/ionic-team/ionic/issues/23824)
- **vue:** switching between tabs preserves query string ([#24297](https://togithub.com/ionic-team/ionic/issues/24297)) ([047d3c7](https://togithub.com/ionic-team/ionic/commit/047d3c77729db08e4fd84f426f6c5c2af0eacc52)), closes [#23699](https://togithub.com/ionic-team/ionic/issues/23699)
### [`v5.9.1`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.9.1): 5.9.1
[Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.9.0...v5.9.1)
##### Bug Fixes
- **angular:** build is now in correct directory ([#24236](https://togithub.com/ionic-team/ionic/issues/24236)) ([1d983fa](https://togithub.com/ionic-team/ionic/commit/1d983fa4b3ef0457dc192f376e380c77b611d058))
### [`v5.9.0`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.9.0): 5.9.0
[Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.8.5...v5.9.0)
##### Bug Fixes
- **action-sheet:** safe area is now accounted for in MD mode ([#24176](https://togithub.com/ionic-team/ionic/issues/24176)) ([642255e](https://togithub.com/ionic-team/ionic/commit/642255e514fd67238d9bd8ea90781111687c6d03)), closes [#24175](https://togithub.com/ionic-team/ionic/issues/24175)
- **input:** date type in ion-input now aligns correctly on iOS 15 ([#24217](https://togithub.com/ionic-team/ionic/issues/24217)) ([0566ec0](https://togithub.com/ionic-team/ionic/commit/0566ec0da3b8a66a1a1ebb1b235e7297ec483c79))
- **vue:** canGoBack method now works correctly ([#24188](https://togithub.com/ionic-team/ionic/issues/24188)) ([7c43589](https://togithub.com/ionic-team/ionic/commit/7c43589b0a486f71ee2ae5a4cdcd73071fcd31b9)), closes [#24109](https://togithub.com/ionic-team/ionic/issues/24109)
##### Features
- **slides:** add support for Swiper 7 ([#24190](https://togithub.com/ionic-team/ionic/issues/24190)) ([d0b6130](https://togithub.com/ionic-team/ionic/commit/d0b61307c6b7ff1589646c43f989260b59db1473))
### [`v5.8.5`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.8.5): 5.8.5
[Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.8.4...v5.8.5)
##### Bug Fixes
- **menu:** added focus trapping, improved compatibility with screen readers ([#24076](https://togithub.com/ionic-team/ionic/issues/24076)) ([bdb268a](https://togithub.com/ionic-team/ionic/commit/bdb268aa12c5bf411c96529672486d35e018cefa))
- **vue:** back button now selects correct route when navigating from view multiple times ([#24060](https://togithub.com/ionic-team/ionic/issues/24060)) ([a09d7d4](https://togithub.com/ionic-team/ionic/commit/a09d7d4ab6dd0d90204015eaaf232ed190753c56)), closes [#23987](https://togithub.com/ionic-team/ionic/issues/23987)
- **vue:** mount correct views when navigating ([#24056](https://togithub.com/ionic-team/ionic/issues/24056)) ([24659a5](https://togithub.com/ionic-team/ionic/commit/24659a527abe0c70df7e8ae6da3dcb4017bf500c)), closes [#23914](https://togithub.com/ionic-team/ionic/issues/23914)
### [`v5.8.4`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.8.4): 5.8.4
[Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.8.3...v5.8.4)
##### Bug Fixes
- **angular:** setup config properly ([#24054](https://togithub.com/ionic-team/ionic/issues/24054)) ([e001f24](https://togithub.com/ionic-team/ionic/commit/e001f24f2ca99abbc98b923dd1a132cc83b3b23f)), closes [#24051](https://togithub.com/ionic-team/ionic/issues/24051) [#24052](https://togithub.com/ionic-team/ionic/issues/24052)
- **back-button:** pass aria-label to native element ([#24027](https://togithub.com/ionic-team/ionic/issues/24027)) ([68a7e43](https://togithub.com/ionic-team/ionic/commit/68a7e43345a0261fdeed6054198c5a22fbbcb584))
### [`v5.8.3`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.8.3): 5.8.3
[Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.8.2...v5.8.3)
##### Bug Fixes
- **react:** overlay hooks dismiss method now works ([#24038](https://togithub.com/ionic-team/ionic/issues/24038)) ([655631d](https://togithub.com/ionic-team/ionic/commit/655631ddf059ce58066d5384d0ae186d7abc09a9)), closes [#24030](https://togithub.com/ionic-team/ionic/issues/24030)
### [`v5.8.2`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.8.2): 5.8.2
[Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.8.1...v5.8.2)
##### Bug Fixes
- **alert:** made it easier to tell if alert is scrollable in MD mode ([#23976](https://togithub.com/ionic-team/ionic/issues/23976)) ([a262753](https://togithub.com/ionic-team/ionic/commit/a26275378f10835343ad8a6cdea50303e6c10a14))
- **angular:** use initialize function when setting up ionic angular to avoid config errors ([#24004](https://togithub.com/ionic-team/ionic/issues/24004)) ([f112ad4](https://togithub.com/ionic-team/ionic/commit/f112ad4490dc4a179dc3feab495530e14e655e5a)), closes [#22853](https://togithub.com/ionic-team/ionic/issues/22853)
- **item-sliding:** closing an item can no longer be interrupted ([#23973](https://togithub.com/ionic-team/ionic/issues/23973)) ([3ca0419](https://togithub.com/ionic-team/ionic/commit/3ca04197a4186c85d04cdf04fa9cb2689ca1bbfb)), closes [#23969](https://togithub.com/ionic-team/ionic/issues/23969)
- **react:** overlay hooks memorised properly to prevent re-renders ([#24010](https://togithub.com/ionic-team/ionic/issues/24010)) ([2c97712](https://togithub.com/ionic-team/ionic/commit/2c977126012ae0231d4e4fa63cc76a528bde699b)), closes [#23741](https://togithub.com/ionic-team/ionic/issues/23741)
- **select-popover:** non-scrollable popovers no longer have forced overscroll ([#23972](https://togithub.com/ionic-team/ionic/issues/23972)) ([aa4ba89](https://togithub.com/ionic-team/ionic/commit/aa4ba890e9c18e8a911c5188b3e2e85433658be9)), closes [#23971](https://togithub.com/ionic-team/ionic/issues/23971)
- **status-bar:** tapping status bar correctly scrolls content to top ([#24001](https://togithub.com/ionic-team/ionic/issues/24001)) ([25eb8cd](https://togithub.com/ionic-team/ionic/commit/25eb8cdf98fe455433ca6185e89d9e1223a6d3ae)), closes [#20423](https://togithub.com/ionic-team/ionic/issues/20423)
### [`v5.8.1`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.8.1): 5.8.1
[Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.8.0...v5.8.1)
##### Bug Fixes
- **angular:** select method now has correct types ([#23953](https://togithub.com/ionic-team/ionic/issues/23953)) ([3c1be89](https://togithub.com/ionic-team/ionic/commit/3c1be89112d464e77d65c875223138aaedf350cd)), closes [#23952](https://togithub.com/ionic-team/ionic/issues/23952)
- **item-sliding:** item-sliding accounts for multiple ion-item elements ([#23943](https://togithub.com/ionic-team/ionic/issues/23943)) ([8108edd](https://togithub.com/ionic-team/ionic/commit/8108edd876b10834015016385dc3cd5b8f31fbfa)), closes [#19312](https://togithub.com/ionic-team/ionic/issues/19312)
- **label:** only inherit color if color property is set on ion-item ([#23944](https://togithub.com/ionic-team/ionic/issues/23944)) ([ae1325c](https://togithub.com/ionic-team/ionic/commit/ae1325cee698066a71aae4e7deb953c4185c0926)), closes [#20125](https://togithub.com/ionic-team/ionic/issues/20125)
### [`v5.8.0`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.8.0): 5.8.0 Calcium
[Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.7.0...v5.8.0)
##### Bug Fixes
- **angular:** nested tabs now go to correct page ([#23902](https://togithub.com/ionic-team/ionic/issues/23902)) ([1ed9f07](https://togithub.com/ionic-team/ionic/commit/1ed9f07060736d0c951910427fb12b250d7dd9af)), closes [#23897](https://togithub.com/ionic-team/ionic/issues/23897)
- **header:** role attribute can now be customized ([#23888](https://togithub.com/ionic-team/ionic/issues/23888)) ([8888e2b](https://togithub.com/ionic-team/ionic/commit/8888e2bafd76b59f32b932b5d4a6a961b52894d9)), closes [#21327](https://togithub.com/ionic-team/ionic/issues/21327)
- **react:** modal now mounts child component independently of other modals ([#23903](https://togithub.com/ionic-team/ionic/issues/23903)) ([1e13429](https://togithub.com/ionic-team/ionic/commit/1e13429731c1d4b5200af7f5ca20aff1f3078bfe)), closes [#23904](https://togithub.com/ionic-team/ionic/issues/23904)
- **tab-bar:** safe area padding now added when slot="top" ([#23895](https://togithub.com/ionic-team/ionic/issues/23895)) ([4782969](https://togithub.com/ionic-team/ionic/commit/47829690b538903b70ad4fe77657404013270263)), closes [#23893](https://togithub.com/ionic-team/ionic/issues/23893)
##### Features
- **action-sheet, loading, modal, picker, popover:** pass HTML attributes to host element ([#23929](https://togithub.com/ionic-team/ionic/issues/23929)) ([bd96a81](https://togithub.com/ionic-team/ionic/commit/bd96a81ff80ffe32914804ba9b6234c0286a33db))
- **alert, toast:** pass arbitrary HTML attributes to host element ([#23891](https://togithub.com/ionic-team/ionic/issues/23891)) ([73a1daf](https://togithub.com/ionic-team/ionic/commit/73a1daf0aaf6ffe8c7871619f2aec5f6fca1321a)), closes [#23825](https://togithub.com/ionic-team/ionic/issues/23825)
### [`v5.7.0`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.7.0): 5.7.0 Potassium
[Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.6.14...v5.7.0)
##### Bug Fixes
- **alert:** AlertButton role now has correct types ([#23791](https://togithub.com/ionic-team/ionic/issues/23791)) ([864212b](https://togithub.com/ionic-team/ionic/commit/864212b0f28d33daede5f4767aa03efa37c219ae))
- **label:** label now only takes up as much space as needed when slotted ([#23807](https://togithub.com/ionic-team/ionic/issues/23807)) ([9932e26](https://togithub.com/ionic-team/ionic/commit/9932e26a2ef28317bc85761e71a8fc4d881b8ae8)), closes [#23806](https://togithub.com/ionic-team/ionic/issues/23806)
- **reorder-group:** dragging reorder item to bottom no longer gives out of bounds index ([#23797](https://togithub.com/ionic-team/ionic/issues/23797)) ([02409f2](https://togithub.com/ionic-team/ionic/commit/02409f2abfa8acbab05d0f1217b9d1c13721746e)), closes [#23796](https://togithub.com/ionic-team/ionic/issues/23796)
- **vue:** router guards are now fire correctly when written in a component ([#23821](https://togithub.com/ionic-team/ionic/issues/23821)) ([3c44222](https://togithub.com/ionic-team/ionic/commit/3c442228ff746165fd823687a2661a24edd08820)), closes [#23820](https://togithub.com/ionic-team/ionic/issues/23820)
##### Features
- **slides:** add IonicSlides module for Swiper migration, deprecate ion-slides ([#23844](https://togithub.com/ionic-team/ionic/issues/23844)) ([11fda41](https://togithub.com/ionic-team/ionic/commit/11fda41420343886dabd97096690be38f1c40524)), closes [#23447](https://togithub.com/ionic-team/ionic/issues/23447)
##### Code Refactoring
- **virtual-scroll:** deprecated virtual scroll in favor of solutions provided by JS frameworks ([#23854](https://togithub.com/ionic-team/ionic-framework/pull/23854)) ([a0229bc](https://togithub.com/ionic-team/ionic-framework/commit/a0229bc7b2edb061510de0f2042e7910d04accc0))
### [`v5.6.14`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.6.14): 5.6.14
[Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.6.13...v5.6.14)
##### Bug Fixes
- **back-button:** MD ripple now accounts for --ripple-color ([#23749](https://togithub.com/ionic-team/ionic/issues/23749)) ([6b18a89](https://togithub.com/ionic-team/ionic/commit/6b18a89ac2c446082ce7faebe329157eedb13a0e)), closes [#23748](https://togithub.com/ionic-team/ionic/issues/23748)
- **img:** correctly determine when to load image when scrolling quickly on slower devices ([#23704](https://togithub.com/ionic-team/ionic/issues/23704)) ([067e621](https://togithub.com/ionic-team/ionic/commit/067e621bbc3865184ae114b8c91122188c13c860)), closes [#23703](https://togithub.com/ionic-team/ionic/issues/23703)
- **item-sliding:** prevent scrolling during slide gesture ([#23774](https://togithub.com/ionic-team/ionic/issues/23774)) ([e0c4ad3](https://togithub.com/ionic-team/ionic/commit/e0c4ad30bec3f2bd325d65b210ffb0437149810f)), closes [#19564](https://togithub.com/ionic-team/ionic/issues/19564)
- **nav:** custom animation is now used correctly ([#23779](https://togithub.com/ionic-team/ionic/issues/23779)) ([f9415ef](https://togithub.com/ionic-team/ionic/commit/f9415ef8a689e26078bdd01623348c79f9f818ad)), closes [#23777](https://togithub.com/ionic-team/ionic/issues/23777)
- **vue:** using router.go now shows correct view ([#23773](https://togithub.com/ionic-team/ionic/issues/23773)) ([621f4fa](https://togithub.com/ionic-team/ionic/commit/621f4faa1ab03137158127a56c7fe0aa1f7ae489)), closes [#22563](https://togithub.com/ionic-team/ionic/issues/22563)
### [`v5.6.13`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.6.13): 5.6.13
[Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.6.12...v5.6.13)
##### Bug Fixes
- **checkbox, radio:** change event interfaces correctly use TypeScript generics for value ([#23044](https://togithub.com/ionic-team/ionic/issues/23044)) ([8a941fd](https://togithub.com/ionic-team/ionic/commit/8a941fd24cd138817a2e91c42898878a919538e4))
- **gesture:** onEnd now correctly fires even if the event target was removed from the DOM ([#23713](https://togithub.com/ionic-team/ionic/issues/23713)) ([4edb5e2](https://togithub.com/ionic-team/ionic/commit/4edb5e2fed55c8ea21eae50821d16d351bf3aebf)), closes [#22819](https://togithub.com/ionic-team/ionic/issues/22819)
- **item-sliding:** opening item while other items are open no longer requires multiple swipes ([#23683](https://togithub.com/ionic-team/ionic/issues/23683)) ([792864f](https://togithub.com/ionic-team/ionic/commit/792864f8ab21dc178c1836a8a0d4fe2d305cc142)), closes [#21579](https://togithub.com/ionic-team/ionic/issues/21579)
- **react:** IonTabs no longer causes SSR to fail ([#23696](https://togithub.com/ionic-team/ionic/issues/23696)) ([f2a05be](https://togithub.com/ionic-team/ionic/commit/f2a05bed1e2a1150e8f1823bfed2d12a219d6ad0)), closes [#23651](https://togithub.com/ionic-team/ionic/issues/23651)
- **vue:** improve accuracy of ion-page dev warning ([#23677](https://togithub.com/ionic-team/ionic/issues/23677)) ([fb260a9](https://togithub.com/ionic-team/ionic/commit/fb260a9e09e6f3912b30ef2ebf581d3216483fea))
This PR contains the following updates:
0.14.0
->0.16.2
0.14.0
->0.16.2
0.14.0
->0.16.2
5.1.1
->5.9.4
5.1.1
->5.9.4
5.9.0
->5.16.5
11.0.4
->11.2.7
12.1.5
->12.8.3
2.8.6
->2.8.13
4.17.6
->4.17.17
12.12.47
->12.20.55
5.1.7
->5.1.20
5.1.5
->5.3.3
0.2.7
->0.2.10
8.2.0
->8.6.0
4.17.1
->4.18.2
1.17.1
->1.17.3
0.14.0
->0.16.2
0.14.0
->0.16.2
15.3.0
->15.8.0
1.1.3
->1.21.3
1.1.0
->1.2.1
5.0.1
->5.5.4
0.6.0
->0.7.0
11.0.2
->11.0.3
3.5.9
->3.7.3
0.16.0-alpha2
->0.16.0-dev2
0.16.0-alpha2
->0.16.0-beta1
0.16.0-alpha2
->0.16.0-beta1
3.4.1
->3.4.4
0.9.16
->0.11.0
9.0.0
->9.1.1
1.0.0-pre.44
->1.1.8
6.1.2
->6.1.3
4.0.2
->4.9.5
3.0.0-alpha.4
->3.10.2
3.0.0-alpha.4
->3.10.2
Release Notes
aerogear/graphback
### [`v0.16.2`](https://togithub.com/aerogear/graphback/releases/tag/0.16.2) [Compare Source](https://togithub.com/aerogear/graphback/compare/0.16.1...0.16.2) ##### Bug Fixes - Primary key with `ID` ScalarType and field name different to `id` isn't auto-incrementable. Fixed in [#1997](https://togithub.com/aerogear/graphback/pull/1997) - Logical OR operator is not working correctly in MongoDB query builder. ([#1963](https://togithub.com/aerogear/graphback/issues/1963)), fixed by ([059a0ae](https://togithub.com/aerogear/graphback/commit/059a0aebe36a33477bf87c808086d8c396e75ef9)) ### [`v0.16.1`](https://togithub.com/aerogear/graphback/releases/tag/0.16.1) [Compare Source](https://togithub.com/aerogear/graphback/compare/0.16.0...0.16.1) ##### Bug Fixes - Correct main file and types paths of `graphql-serve` package ([d4d918e](https://togithub.com/aerogear/graphback/commit/d4d918e189b9dd03b84d9a8d29194664fe8a898f)). ### [`v0.16.0`](https://togithub.com/aerogear/graphback/releases/tag/0.16.0) [Compare Source](https://togithub.com/aerogear/graphback/compare/0.15.1...0.16.0) ##### New Features - Use any `knex` 0.20.x or 0.21.x version in your application ([d826b6f](https://togithub.com/aerogear/graphback/commit/d826b6fcb3ffb753140f5135d53c56c032cb2503)[#1903](https://togithub.com/aerogear/graphback/pull/1903)) - Ability to specify composite unique columns in GraphQL Migrations ([#1658](https://togithub.com/aerogear/graphback/issues/1658)), fixed by ([9c6f34a231e2645c34533d58ea4427ff8f8f634e](https://togithub.com/aerogear/graphback/commit/9c6f34a231e2645c34533d58ea4427ff8f8f634e)) - Requiring `_id: GraphbackObjectID` primary key for MongoDB ([#1769](https://togithub.com/aerogear/graphback/pull/1769)). This fixes issues below related to primary key in MongoDB: - [#1731](https://togithub.com/aerogear/graphback/issues/1732), [#1626](https://togithub.com/aerogear/graphback/issues/1626) Ineffecient and wrong mapping of the `id` field - [#1625](https://togithub.com/aerogear/graphback/issues/1625) Filters on "id: ID" field not working > NOTE: If you are migrating from [0.15](#0150) or previous versions of Graphback, you may be required to update relationship fields so that their values (previous stored as `String`) are of type [`ObjectID`](https://docs.mongodb.com/manual/reference/method/ObjectId/). - Add a `@transient` field annotation to ignore fields during input type creation and migrations [4076fa26](https://togithub.com/aerogear/graphback/commit/4076fa26ae9b770d5c38d6b21ebf8251578643b7) ##### DataSync - Using a `_lastUpdatedAt` field with a proper `GraphbackTimestamp` scalar and other minor fixes ([#1771](https://togithub.com/aerogear/graphback/pull/1771)) including: - disabling conflicts in default configuration - adding a `limit` argument to `sync` Queries ##### Bug Fixes - Failure to map enum values in field directives ([#1767](https://togithub.com/aerogear/graphback/issues/1462)), fixed by ([a9ca21e1405dba14dab249af2f8d146ac2306803](https://togithub.com/aerogear/graphback/commit/a9ca21e1405dba14dab249af2f8d146ac2306803)) - invalid input syntax for type timestamp: "null" ([#1837](https://togithub.com/aerogear/graphback/issues/1837)), fixed by ([37cdc1d12410a1fafb27877b97b54ea308acecb1](https://togithub.com/aerogear/graphback/commit/37cdc1d12410a1fafb27877b97b54ea308acecb1)) - Do not remove directives on Object Types in generated schema ([#1767](https://togithub.com/aerogear/graphback/issues/1767)), fixed by ([22c7a1da62e2752a21db4e4552e970aa93ba37ae](https://togithub.com/aerogear/graphback/pull/1810/commits/22c7a1da62e2752a21db4e4552e970aa93ba37ae)) - Do not silently overrides createdAt/updatedAt custom fields when model contains [@versioned](https://togithub.com/versioned) annotation [#1597](https://togithub.com/aerogear/graphback/issues/1597) ##### Breaking Changes - Use `GraphbackDateTime` scalar for generated createdAt updatedAt fields ([#1349](https://togithub.com/aerogear/graphback/issues/1349), fixed by [#1862](https://togithub.com/aerogear/graphback/pull/1862)) ##### Disable filter input generation for unknown custom scalars Graphback disabled generation of unknown custom scalars, except for `Timestamp`, `Time`, `Date`, `DateTime`, as we cannot reliably support scalars we do not know. See [Graphback Scalars](https://graphback.dev/docs/model/scalars/) for the list of officially supported scalars. - Replace `@db(skip: true)` field annotation with `@transient` [85d50f3c](https://togithub.com/aerogear/graphback/commit/85d50f3c332ee35c46fbe8e6c3e81d97ae60db7b) ##### Changed GraphbackCRUDService `findBy` method signature. This also applies to all services that implement this interface. ```patch - findBy(filter: QueryFilterionic-team/ionic
### [`v5.9.4`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.9.4) [Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.9.3...v5.9.4) ##### Bug Fixes - **core:** inherit aria attributes on host elements ([#25156](https://togithub.com/ionic-team/ionic/issues/25156)) ([#25169](https://togithub.com/ionic-team/ionic/issues/25169)) ([ffb056d](https://togithub.com/ionic-team/ionic/commit/ffb056d50e126a1b89f5133de1e7516d0c29a61a)) ### [`v5.9.3`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.9.3): 5.9.3 [Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.9.2...v5.9.3) ##### Bug Fixes - **vue:** improve query params handling in tabs ([#24355](https://togithub.com/ionic-team/ionic/issues/24355)) ([1c28750](https://togithub.com/ionic-team/ionic/commit/1c2875044ad4d93fdca866017159a89f4dc8872d)), closes [#24353](https://togithub.com/ionic-team/ionic/issues/24353) - **vue:** tabs no longer get unmounted when navigating back to a tabs context ([#24337](https://togithub.com/ionic-team/ionic/issues/24337)) ([4aab72b](https://togithub.com/ionic-team/ionic/commit/4aab72b06159729d2dcd18b2ef0b76f693e5a74e)), closes [#24332](https://togithub.com/ionic-team/ionic/issues/24332) ##### Performance Improvements - **content:** remove global click listener to improve interaction performance ([#24360](https://togithub.com/ionic-team/ionic/issues/24360)) ([9c9e28c](https://togithub.com/ionic-team/ionic/commit/9c9e28ccc9f899c403c757d911ac02d9099415af)), closes [#24359](https://togithub.com/ionic-team/ionic/issues/24359) ### [`v5.9.2`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.9.2): 5.9.2 [Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.9.1...v5.9.2) ##### Bug Fixes - **angular:** improve typing when compiling with legacy View Engine ([#24221](https://togithub.com/ionic-team/ionic/issues/24221)) ([816096f](https://togithub.com/ionic-team/ionic/commit/816096f89747e943a4a273175d384189f25e4628)) - **content:** ensure fixed slot renders on top of content in iOS ([#24300](https://togithub.com/ionic-team/ionic/issues/24300)) ([e41b0e0](https://togithub.com/ionic-team/ionic/commit/e41b0e0cf2a794972d7f4d8943a0bec3d1e08016)), closes [#24286](https://togithub.com/ionic-team/ionic-framework/issues/24286) - **popover:** improve scrolling in popover when using header and footer ([#24294](https://togithub.com/ionic-team/ionic/issues/24294)) ([f6a00ea](https://togithub.com/ionic-team/ionic/commit/f6a00ea9544aa70620b5f8f65a7702fa3bedd974)) - **react:** present and dismiss hooks return promises ([#24299](https://togithub.com/ionic-team/ionic/issues/24299)) ([4b26fea](https://togithub.com/ionic-team/ionic/commit/4b26feaa47efed4806aba565a52554db232b99e2)), closes [#24293](https://togithub.com/ionic-team/ionic-framework/issues/24293) - **react:** properly check for custom elements to avoid errors in unit tests ([#24156](https://togithub.com/ionic-team/ionic/issues/24156)) ([8f188ea](https://togithub.com/ionic-team/ionic/commit/8f188eaae7422c9e81053868b9dd93b4ac738e98)), closes [#24149](https://togithub.com/ionic-team/ionic/issues/24149) - **router:** popping route now accounts for route params ([#24315](https://togithub.com/ionic-team/ionic/issues/24315)) ([5e5054d](https://togithub.com/ionic-team/ionic/commit/5e5054d369ad68c9ac43e12439d71fb42d6ca26b)), closes [#24223](https://togithub.com/ionic-team/ionic-framework/issues/24223) - **slides:** update swiper instance after initialization ([#24257](https://togithub.com/ionic-team/ionic/issues/24257)) ([89e4bc5](https://togithub.com/ionic-team/ionic/commit/89e4bc56a1c3cd4fb26fc5514f38c6a01f047297)), closes [#19638](https://togithub.com/ionic-team/ionic-framework/issues/19638) - **vue:** ionic lifecycle hooks now run when using vue 3.2 setup syntax ([#24253](https://togithub.com/ionic-team/ionic/issues/24253)) ([fb96ab5](https://togithub.com/ionic-team/ionic/commit/fb96ab5a26d87818a8b64ee82df0020355054183)), closes [#23824](https://togithub.com/ionic-team/ionic/issues/23824) - **vue:** switching between tabs preserves query string ([#24297](https://togithub.com/ionic-team/ionic/issues/24297)) ([047d3c7](https://togithub.com/ionic-team/ionic/commit/047d3c77729db08e4fd84f426f6c5c2af0eacc52)), closes [#23699](https://togithub.com/ionic-team/ionic/issues/23699) ### [`v5.9.1`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.9.1): 5.9.1 [Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.9.0...v5.9.1) ##### Bug Fixes - **angular:** build is now in correct directory ([#24236](https://togithub.com/ionic-team/ionic/issues/24236)) ([1d983fa](https://togithub.com/ionic-team/ionic/commit/1d983fa4b3ef0457dc192f376e380c77b611d058)) ### [`v5.9.0`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.9.0): 5.9.0 [Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.8.5...v5.9.0) ##### Bug Fixes - **action-sheet:** safe area is now accounted for in MD mode ([#24176](https://togithub.com/ionic-team/ionic/issues/24176)) ([642255e](https://togithub.com/ionic-team/ionic/commit/642255e514fd67238d9bd8ea90781111687c6d03)), closes [#24175](https://togithub.com/ionic-team/ionic/issues/24175) - **input:** date type in ion-input now aligns correctly on iOS 15 ([#24217](https://togithub.com/ionic-team/ionic/issues/24217)) ([0566ec0](https://togithub.com/ionic-team/ionic/commit/0566ec0da3b8a66a1a1ebb1b235e7297ec483c79)) - **vue:** canGoBack method now works correctly ([#24188](https://togithub.com/ionic-team/ionic/issues/24188)) ([7c43589](https://togithub.com/ionic-team/ionic/commit/7c43589b0a486f71ee2ae5a4cdcd73071fcd31b9)), closes [#24109](https://togithub.com/ionic-team/ionic/issues/24109) ##### Features - **slides:** add support for Swiper 7 ([#24190](https://togithub.com/ionic-team/ionic/issues/24190)) ([d0b6130](https://togithub.com/ionic-team/ionic/commit/d0b61307c6b7ff1589646c43f989260b59db1473)) ### [`v5.8.5`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.8.5): 5.8.5 [Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.8.4...v5.8.5) ##### Bug Fixes - **menu:** added focus trapping, improved compatibility with screen readers ([#24076](https://togithub.com/ionic-team/ionic/issues/24076)) ([bdb268a](https://togithub.com/ionic-team/ionic/commit/bdb268aa12c5bf411c96529672486d35e018cefa)) - **vue:** back button now selects correct route when navigating from view multiple times ([#24060](https://togithub.com/ionic-team/ionic/issues/24060)) ([a09d7d4](https://togithub.com/ionic-team/ionic/commit/a09d7d4ab6dd0d90204015eaaf232ed190753c56)), closes [#23987](https://togithub.com/ionic-team/ionic/issues/23987) - **vue:** mount correct views when navigating ([#24056](https://togithub.com/ionic-team/ionic/issues/24056)) ([24659a5](https://togithub.com/ionic-team/ionic/commit/24659a527abe0c70df7e8ae6da3dcb4017bf500c)), closes [#23914](https://togithub.com/ionic-team/ionic/issues/23914) ### [`v5.8.4`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.8.4): 5.8.4 [Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.8.3...v5.8.4) ##### Bug Fixes - **angular:** setup config properly ([#24054](https://togithub.com/ionic-team/ionic/issues/24054)) ([e001f24](https://togithub.com/ionic-team/ionic/commit/e001f24f2ca99abbc98b923dd1a132cc83b3b23f)), closes [#24051](https://togithub.com/ionic-team/ionic/issues/24051) [#24052](https://togithub.com/ionic-team/ionic/issues/24052) - **back-button:** pass aria-label to native element ([#24027](https://togithub.com/ionic-team/ionic/issues/24027)) ([68a7e43](https://togithub.com/ionic-team/ionic/commit/68a7e43345a0261fdeed6054198c5a22fbbcb584)) ### [`v5.8.3`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.8.3): 5.8.3 [Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.8.2...v5.8.3) ##### Bug Fixes - **react:** overlay hooks dismiss method now works ([#24038](https://togithub.com/ionic-team/ionic/issues/24038)) ([655631d](https://togithub.com/ionic-team/ionic/commit/655631ddf059ce58066d5384d0ae186d7abc09a9)), closes [#24030](https://togithub.com/ionic-team/ionic/issues/24030) ### [`v5.8.2`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.8.2): 5.8.2 [Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.8.1...v5.8.2) ##### Bug Fixes - **alert:** made it easier to tell if alert is scrollable in MD mode ([#23976](https://togithub.com/ionic-team/ionic/issues/23976)) ([a262753](https://togithub.com/ionic-team/ionic/commit/a26275378f10835343ad8a6cdea50303e6c10a14)) - **angular:** use initialize function when setting up ionic angular to avoid config errors ([#24004](https://togithub.com/ionic-team/ionic/issues/24004)) ([f112ad4](https://togithub.com/ionic-team/ionic/commit/f112ad4490dc4a179dc3feab495530e14e655e5a)), closes [#22853](https://togithub.com/ionic-team/ionic/issues/22853) - **item-sliding:** closing an item can no longer be interrupted ([#23973](https://togithub.com/ionic-team/ionic/issues/23973)) ([3ca0419](https://togithub.com/ionic-team/ionic/commit/3ca04197a4186c85d04cdf04fa9cb2689ca1bbfb)), closes [#23969](https://togithub.com/ionic-team/ionic/issues/23969) - **react:** overlay hooks memorised properly to prevent re-renders ([#24010](https://togithub.com/ionic-team/ionic/issues/24010)) ([2c97712](https://togithub.com/ionic-team/ionic/commit/2c977126012ae0231d4e4fa63cc76a528bde699b)), closes [#23741](https://togithub.com/ionic-team/ionic/issues/23741) - **select-popover:** non-scrollable popovers no longer have forced overscroll ([#23972](https://togithub.com/ionic-team/ionic/issues/23972)) ([aa4ba89](https://togithub.com/ionic-team/ionic/commit/aa4ba890e9c18e8a911c5188b3e2e85433658be9)), closes [#23971](https://togithub.com/ionic-team/ionic/issues/23971) - **status-bar:** tapping status bar correctly scrolls content to top ([#24001](https://togithub.com/ionic-team/ionic/issues/24001)) ([25eb8cd](https://togithub.com/ionic-team/ionic/commit/25eb8cdf98fe455433ca6185e89d9e1223a6d3ae)), closes [#20423](https://togithub.com/ionic-team/ionic/issues/20423) ### [`v5.8.1`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.8.1): 5.8.1 [Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.8.0...v5.8.1) ##### Bug Fixes - **angular:** select method now has correct types ([#23953](https://togithub.com/ionic-team/ionic/issues/23953)) ([3c1be89](https://togithub.com/ionic-team/ionic/commit/3c1be89112d464e77d65c875223138aaedf350cd)), closes [#23952](https://togithub.com/ionic-team/ionic/issues/23952) - **item-sliding:** item-sliding accounts for multiple ion-item elements ([#23943](https://togithub.com/ionic-team/ionic/issues/23943)) ([8108edd](https://togithub.com/ionic-team/ionic/commit/8108edd876b10834015016385dc3cd5b8f31fbfa)), closes [#19312](https://togithub.com/ionic-team/ionic/issues/19312) - **label:** only inherit color if color property is set on ion-item ([#23944](https://togithub.com/ionic-team/ionic/issues/23944)) ([ae1325c](https://togithub.com/ionic-team/ionic/commit/ae1325cee698066a71aae4e7deb953c4185c0926)), closes [#20125](https://togithub.com/ionic-team/ionic/issues/20125) ### [`v5.8.0`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.8.0): 5.8.0 Calcium [Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.7.0...v5.8.0) ##### Bug Fixes - **angular:** nested tabs now go to correct page ([#23902](https://togithub.com/ionic-team/ionic/issues/23902)) ([1ed9f07](https://togithub.com/ionic-team/ionic/commit/1ed9f07060736d0c951910427fb12b250d7dd9af)), closes [#23897](https://togithub.com/ionic-team/ionic/issues/23897) - **header:** role attribute can now be customized ([#23888](https://togithub.com/ionic-team/ionic/issues/23888)) ([8888e2b](https://togithub.com/ionic-team/ionic/commit/8888e2bafd76b59f32b932b5d4a6a961b52894d9)), closes [#21327](https://togithub.com/ionic-team/ionic/issues/21327) - **react:** modal now mounts child component independently of other modals ([#23903](https://togithub.com/ionic-team/ionic/issues/23903)) ([1e13429](https://togithub.com/ionic-team/ionic/commit/1e13429731c1d4b5200af7f5ca20aff1f3078bfe)), closes [#23904](https://togithub.com/ionic-team/ionic/issues/23904) - **tab-bar:** safe area padding now added when slot="top" ([#23895](https://togithub.com/ionic-team/ionic/issues/23895)) ([4782969](https://togithub.com/ionic-team/ionic/commit/47829690b538903b70ad4fe77657404013270263)), closes [#23893](https://togithub.com/ionic-team/ionic/issues/23893) ##### Features - **action-sheet, loading, modal, picker, popover:** pass HTML attributes to host element ([#23929](https://togithub.com/ionic-team/ionic/issues/23929)) ([bd96a81](https://togithub.com/ionic-team/ionic/commit/bd96a81ff80ffe32914804ba9b6234c0286a33db)) - **alert, toast:** pass arbitrary HTML attributes to host element ([#23891](https://togithub.com/ionic-team/ionic/issues/23891)) ([73a1daf](https://togithub.com/ionic-team/ionic/commit/73a1daf0aaf6ffe8c7871619f2aec5f6fca1321a)), closes [#23825](https://togithub.com/ionic-team/ionic/issues/23825) ### [`v5.7.0`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.7.0): 5.7.0 Potassium [Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.6.14...v5.7.0) ##### Bug Fixes - **alert:** AlertButton role now has correct types ([#23791](https://togithub.com/ionic-team/ionic/issues/23791)) ([864212b](https://togithub.com/ionic-team/ionic/commit/864212b0f28d33daede5f4767aa03efa37c219ae)) - **label:** label now only takes up as much space as needed when slotted ([#23807](https://togithub.com/ionic-team/ionic/issues/23807)) ([9932e26](https://togithub.com/ionic-team/ionic/commit/9932e26a2ef28317bc85761e71a8fc4d881b8ae8)), closes [#23806](https://togithub.com/ionic-team/ionic/issues/23806) - **reorder-group:** dragging reorder item to bottom no longer gives out of bounds index ([#23797](https://togithub.com/ionic-team/ionic/issues/23797)) ([02409f2](https://togithub.com/ionic-team/ionic/commit/02409f2abfa8acbab05d0f1217b9d1c13721746e)), closes [#23796](https://togithub.com/ionic-team/ionic/issues/23796) - **vue:** router guards are now fire correctly when written in a component ([#23821](https://togithub.com/ionic-team/ionic/issues/23821)) ([3c44222](https://togithub.com/ionic-team/ionic/commit/3c442228ff746165fd823687a2661a24edd08820)), closes [#23820](https://togithub.com/ionic-team/ionic/issues/23820) ##### Features - **slides:** add IonicSlides module for Swiper migration, deprecate ion-slides ([#23844](https://togithub.com/ionic-team/ionic/issues/23844)) ([11fda41](https://togithub.com/ionic-team/ionic/commit/11fda41420343886dabd97096690be38f1c40524)), closes [#23447](https://togithub.com/ionic-team/ionic/issues/23447) ##### Code Refactoring - **virtual-scroll:** deprecated virtual scroll in favor of solutions provided by JS frameworks ([#23854](https://togithub.com/ionic-team/ionic-framework/pull/23854)) ([a0229bc](https://togithub.com/ionic-team/ionic-framework/commit/a0229bc7b2edb061510de0f2042e7910d04accc0)) ### [`v5.6.14`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.6.14): 5.6.14 [Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.6.13...v5.6.14) ##### Bug Fixes - **back-button:** MD ripple now accounts for --ripple-color ([#23749](https://togithub.com/ionic-team/ionic/issues/23749)) ([6b18a89](https://togithub.com/ionic-team/ionic/commit/6b18a89ac2c446082ce7faebe329157eedb13a0e)), closes [#23748](https://togithub.com/ionic-team/ionic/issues/23748) - **img:** correctly determine when to load image when scrolling quickly on slower devices ([#23704](https://togithub.com/ionic-team/ionic/issues/23704)) ([067e621](https://togithub.com/ionic-team/ionic/commit/067e621bbc3865184ae114b8c91122188c13c860)), closes [#23703](https://togithub.com/ionic-team/ionic/issues/23703) - **item-sliding:** prevent scrolling during slide gesture ([#23774](https://togithub.com/ionic-team/ionic/issues/23774)) ([e0c4ad3](https://togithub.com/ionic-team/ionic/commit/e0c4ad30bec3f2bd325d65b210ffb0437149810f)), closes [#19564](https://togithub.com/ionic-team/ionic/issues/19564) - **nav:** custom animation is now used correctly ([#23779](https://togithub.com/ionic-team/ionic/issues/23779)) ([f9415ef](https://togithub.com/ionic-team/ionic/commit/f9415ef8a689e26078bdd01623348c79f9f818ad)), closes [#23777](https://togithub.com/ionic-team/ionic/issues/23777) - **vue:** using router.go now shows correct view ([#23773](https://togithub.com/ionic-team/ionic/issues/23773)) ([621f4fa](https://togithub.com/ionic-team/ionic/commit/621f4faa1ab03137158127a56c7fe0aa1f7ae489)), closes [#22563](https://togithub.com/ionic-team/ionic/issues/22563) ### [`v5.6.13`](https://togithub.com/ionic-team/ionic-framework/releases/tag/v5.6.13): 5.6.13 [Compare Source](https://togithub.com/ionic-team/ionic/compare/v5.6.12...v5.6.13) ##### Bug Fixes - **checkbox, radio:** change event interfaces correctly use TypeScript generics for value ([#23044](https://togithub.com/ionic-team/ionic/issues/23044)) ([8a941fd](https://togithub.com/ionic-team/ionic/commit/8a941fd24cd138817a2e91c42898878a919538e4)) - **gesture:** onEnd now correctly fires even if the event target was removed from the DOM ([#23713](https://togithub.com/ionic-team/ionic/issues/23713)) ([4edb5e2](https://togithub.com/ionic-team/ionic/commit/4edb5e2fed55c8ea21eae50821d16d351bf3aebf)), closes [#22819](https://togithub.com/ionic-team/ionic/issues/22819) - **item-sliding:** opening item while other items are open no longer requires multiple swipes ([#23683](https://togithub.com/ionic-team/ionic/issues/23683)) ([792864f](https://togithub.com/ionic-team/ionic/commit/792864f8ab21dc178c1836a8a0d4fe2d305cc142)), closes [#21579](https://togithub.com/ionic-team/ionic/issues/21579) - **react:** IonTabs no longer causes SSR to fail ([#23696](https://togithub.com/ionic-team/ionic/issues/23696)) ([f2a05be](https://togithub.com/ionic-team/ionic/commit/f2a05bed1e2a1150e8f1823bfed2d12a219d6ad0)), closes [#23651](https://togithub.com/ionic-team/ionic/issues/23651) - **vue:** improve accuracy of ion-page dev warning ([#23677](https://togithub.com/ionic-team/ionic/issues/23677)) ([fb260a9](https://togithub.com/ionic-team/ionic/commit/fb260a9e09e6f3912b30ef2ebf581d3216483fea))