]> git.ipfire.org Git - thirdparty/vuejs/core.git/log
thirdparty/vuejs/core.git
5 days agochore: Merge branch 'minor' into edison/testVapor
daiwei [Tue, 29 Jul 2025 05:59:41 +0000 (13:59 +0800)] 
chore: Merge branch 'minor' into edison/testVapor

12 days agotest(runtime-vapor): port tests from rendererChildren.spec.ts (#13649)
edison [Tue, 22 Jul 2025 07:00:41 +0000 (15:00 +0800)] 
test(runtime-vapor): port tests from rendererChildren.spec.ts (#13649)

2 weeks agorelease: v3.6.0-alpha.2 v3.6.0-alpha.2
daiwei [Fri, 18 Jul 2025 09:37:08 +0000 (17:37 +0800)] 
release: v3.6.0-alpha.2

2 weeks agofix(runtime-vapor): handle v-model vdom interop error (#13643)
edison [Fri, 18 Jul 2025 09:34:50 +0000 (17:34 +0800)] 
fix(runtime-vapor): handle v-model vdom interop error (#13643)

2 weeks agofix(runtime-vapor): remove access globalProperties warning (#13609)
zhiyuanzmj [Fri, 18 Jul 2025 09:15:20 +0000 (17:15 +0800)] 
fix(runtime-vapor): remove access globalProperties warning (#13609)

2 weeks agofix(reactivity): allow collect effects in EffectScope (#13657)
zhiyuanzmj [Fri, 18 Jul 2025 09:01:58 +0000 (17:01 +0800)] 
fix(reactivity): allow collect effects in EffectScope (#13657)

close #13656

2 weeks agofix(reactivity): remove link check to align with 3.5 (#13654)
Doctor Wu [Fri, 18 Jul 2025 07:28:01 +0000 (15:28 +0800)] 
fix(reactivity): remove link check to align with 3.5 (#13654)

close #13620

2 weeks agofix(runtime-core): use __vapor instead of vapor to identify Vapor components (#13652)
zhiyuanzmj [Fri, 18 Jul 2025 07:26:05 +0000 (15:26 +0800)] 
fix(runtime-core): use __vapor instead of vapor to identify Vapor components (#13652)

2 weeks agofix(compiler-vapor): handle empty interpolation (#13592)
Rizumu Ayaka [Fri, 18 Jul 2025 07:24:52 +0000 (15:24 +0800)] 
fix(compiler-vapor): handle empty interpolation (#13592)

2 weeks agofix(compiler-vapor): handle special characters in cached variable names (#13626)
zhiyuanzmj [Fri, 18 Jul 2025 07:03:36 +0000 (15:03 +0800)] 
fix(compiler-vapor): handle special characters in cached variable names (#13626)

2 weeks agofix(compiler-vapor): selectors was not initialized in time when the initial value...
Johnson Chu [Fri, 18 Jul 2025 07:00:04 +0000 (15:00 +0800)] 
fix(compiler-vapor): selectors was not initialized in time when the initial value of createFor source was not empty (#13642)

2 weeks agofix(runtime-vapor): component emits vdom interop (#13498)
edison [Wed, 16 Jul 2025 05:49:52 +0000 (13:49 +0800)] 
fix(runtime-vapor): component emits vdom interop (#13498)

2 weeks agochore: fix typo
daiwei [Tue, 15 Jul 2025 03:49:20 +0000 (11:49 +0800)] 
chore: fix typo

3 weeks agochore: fix incorrect package.json repo link
Evan You [Sat, 12 Jul 2025 08:09:19 +0000 (16:09 +0800)] 
chore: fix incorrect package.json repo link

3 weeks agorelease: v3.6.0-alpha.1 v3.6.0-alpha.1
Evan You [Sat, 12 Jul 2025 08:00:05 +0000 (16:00 +0800)] 
release: v3.6.0-alpha.1

3 weeks agofix(reactivity): add back STOP flag (#13605)
Johnson Chu [Thu, 10 Jul 2025 09:14:59 +0000 (17:14 +0800)] 
fix(reactivity): add back STOP flag (#13605)

3 weeks agofix(deps): add estree-walker (#13604)
edison [Thu, 10 Jul 2025 02:53:25 +0000 (10:53 +0800)] 
fix(deps): add estree-walker (#13604)

3 weeks agofix(runtime-vapor): fix error when props are not provided
zhiyuanzmj [Thu, 10 Jul 2025 02:38:21 +0000 (10:38 +0800)] 
fix(runtime-vapor): fix error when props are not provided

3 weeks agofix(type): remove internal doc for refs (#13589)
edison [Thu, 10 Jul 2025 02:08:13 +0000 (10:08 +0800)] 
fix(type): remove internal doc for refs (#13589)

3 weeks agoperf(vapor): more efficient renderList update algorithm (#13279)
Johnson Chu [Thu, 10 Jul 2025 01:48:39 +0000 (09:48 +0800)] 
perf(vapor): more efficient renderList update algorithm (#13279)

3 weeks agofeat(runtime-vapor): support functional slot in vdom component (#13576)
zhiyuanzmj [Thu, 10 Jul 2025 01:46:41 +0000 (09:46 +0800)] 
feat(runtime-vapor): support functional slot in vdom component (#13576)

3 weeks agofeat(vapor): add vapor flag for createVaporApp (#13360)
zhiyuanzmj [Thu, 10 Jul 2025 01:12:22 +0000 (09:12 +0800)] 
feat(vapor): add vapor flag for createVaporApp (#13360)

3 weeks agofeat(vapor): generate more efficient runtime code for specific interpolation patterns...
Johnson Chu [Thu, 10 Jul 2025 01:06:13 +0000 (09:06 +0800)] 
feat(vapor): generate more efficient runtime code for specific interpolation patterns (#13278)

3 weeks agorefactor(reactivity, runtime-core): improve performance-critical code (#13274)
Johnson Chu [Thu, 10 Jul 2025 00:56:19 +0000 (08:56 +0800)] 
refactor(reactivity, runtime-core): improve performance-critical code (#13274)

3 weeks agofeat(runtime-vapor): expose isVaporComponent (#13307)
zhiyuanzmj [Thu, 10 Jul 2025 00:31:28 +0000 (08:31 +0800)] 
feat(runtime-vapor): expose isVaporComponent (#13307)

3 weeks agofeat(runtime-vapor): support HMR for non-compiled setup component (#13102)
zhiyuanzmj [Thu, 10 Jul 2025 00:30:25 +0000 (08:30 +0800)] 
feat(runtime-vapor): support HMR for non-compiled setup component (#13102)

3 weeks agofix(devtools): allow setting devtools hook after createApp (#13580)
edison [Wed, 9 Jul 2025 00:45:09 +0000 (08:45 +0800)] 
fix(devtools): allow setting devtools hook after createApp (#13580)

3 weeks agofix(compiler-vapor): add missing dependency for @babel/parser in package.json (#13581)
edison [Wed, 9 Jul 2025 00:44:41 +0000 (08:44 +0800)] 
fix(compiler-vapor): add missing dependency for @babel/parser in package.json (#13581)

3 weeks agofix(scheduler): improve error handling in job flushing (#13587)
edison [Wed, 9 Jul 2025 00:44:24 +0000 (08:44 +0800)] 
fix(scheduler): improve error handling in job flushing (#13587)

3 weeks agofix(parse): make 'vapor' property optional (#13590)
edison [Wed, 9 Jul 2025 00:43:57 +0000 (08:43 +0800)] 
fix(parse): make 'vapor' property optional (#13590)

3 weeks agoMerge branch 'vapor' into minor
daiwei [Mon, 7 Jul 2025 00:37:12 +0000 (08:37 +0800)] 
Merge branch 'vapor' into minor

3 weeks agoRevert "feat: Vapor mode (#12359)" (#13578)
edison [Mon, 7 Jul 2025 00:34:02 +0000 (08:34 +0800)] 
Revert "feat: Vapor mode (#12359)" (#13578)

This reverts commit bfe5ce309c6fc16bb49cca78e141862bc12708ac.

3 weeks agofeat: Vapor mode (#12359)
Evan You [Mon, 7 Jul 2025 00:06:20 +0000 (08:06 +0800)] 
feat: Vapor mode (#12359)

3 weeks agofix(reactivity): avoid unwrapping `.value` when the proxy is a direct wrapper of...
Johnson Chu [Mon, 7 Jul 2025 00:05:18 +0000 (08:05 +0800)] 
fix(reactivity): avoid unwrapping `.value` when the proxy is a direct wrapper of Ref (#13569)

4 weeks agofix: format 12359/head 13579/head
daiwei [Fri, 4 Jul 2025 06:28:15 +0000 (14:28 +0800)] 
fix: format

4 weeks agochore: Merge branch 'minor' into vapor
daiwei [Fri, 4 Jul 2025 06:20:10 +0000 (14:20 +0800)] 
chore: Merge branch 'minor' into vapor

4 weeks agochore: Merge branch 'main' into minor
daiwei [Fri, 4 Jul 2025 05:52:08 +0000 (13:52 +0800)] 
chore: Merge branch 'main' into minor

4 weeks agochore(deps): update build (#13542)
renovate[bot] [Fri, 4 Jul 2025 03:47:51 +0000 (11:47 +0800)] 
chore(deps): update build (#13542)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
4 weeks agotest(runtime-vapor): add vdomInterop tests (#13563)
edison [Fri, 4 Jul 2025 03:29:51 +0000 (11:29 +0800)] 
test(runtime-vapor): add vdomInterop tests (#13563)

4 weeks agofix(css-vars): nullish v-bind in style should not lead to unexpected inheritance...
GU Yiling [Thu, 3 Jul 2025 08:20:28 +0000 (16:20 +0800)] 
fix(css-vars): nullish v-bind in style should not lead to unexpected inheritance (#12461)

close #12434
close #12439
close #7474
close #7475

4 weeks agochore(deps): update all non-major dependencies (#13541)
renovate[bot] [Thu, 3 Jul 2025 00:16:56 +0000 (08:16 +0800)] 
chore(deps): update all non-major dependencies (#13541)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
4 weeks agowip: hydration
daiwei [Wed, 25 Jun 2025 14:55:37 +0000 (22:55 +0800)] 
wip: hydration

5 weeks agofix(compiler-vapor): handle variable name substring edge cases (#13520)
edison [Thu, 26 Jun 2025 07:41:25 +0000 (15:41 +0800)] 
fix(compiler-vapor): handle variable name substring edge cases (#13520)

5 weeks agofix(compiler-vapor): properly handle static ref in inline mode (#13257)
edison [Thu, 26 Jun 2025 07:35:27 +0000 (15:35 +0800)] 
fix(compiler-vapor): properly handle static ref in inline mode (#13257)

5 weeks agofix(runtime-vapor): ensure props are shallow reactive in VDOM component (#13502)
edison [Thu, 26 Jun 2025 07:34:47 +0000 (15:34 +0800)] 
fix(runtime-vapor): ensure props are shallow reactive in VDOM component (#13502)

5 weeks agofix(compiler-sfc): always use defineComponent in SSR mode (#13525)
edison [Thu, 26 Jun 2025 06:46:21 +0000 (14:46 +0800)] 
fix(compiler-sfc): always use defineComponent in SSR mode (#13525)

5 weeks agofix(compiler-vapor): properly cache variable with optional chaining (#13519)
edison [Thu, 26 Jun 2025 06:44:39 +0000 (14:44 +0800)] 
fix(compiler-vapor): properly cache variable with optional chaining (#13519)

5 weeks agochore: Merge branch 'edison/feat/vaporHydration' into edison/testVapor
daiwei [Wed, 25 Jun 2025 06:52:10 +0000 (14:52 +0800)] 
chore: Merge branch 'edison/feat/vaporHydration' into edison/testVapor

5 weeks agochore: update
daiwei [Wed, 25 Jun 2025 06:48:07 +0000 (14:48 +0800)] 
chore: update

remove unnecessary locateHydrationNode for DynamicFragment

5 weeks agoMerge branch 'edison/fix/ssrScriptCodegen' into edison/testVapor
daiwei [Wed, 25 Jun 2025 03:08:35 +0000 (11:08 +0800)] 
Merge branch 'edison/fix/ssrScriptCodegen' into edison/testVapor

5 weeks agofix(compiler-sfc): always use defineComponent in SSR mode 13525/head
daiwei [Wed, 25 Jun 2025 03:06:33 +0000 (11:06 +0800)] 
fix(compiler-sfc): always use defineComponent in SSR mode

5 weeks agoMerge branch 'edison/feat/setScopeId' into edison/testVapor
daiwei [Tue, 24 Jun 2025 09:12:38 +0000 (17:12 +0800)] 
Merge branch 'edison/feat/setScopeId' into edison/testVapor

5 weeks agochore: update edison/feat/setScopeId 13422/head
daiwei [Tue, 24 Jun 2025 09:11:47 +0000 (17:11 +0800)] 
chore: update

5 weeks agochore: Merge branch 'edison/fix/cacheSameExpr' into edison/testVapor
daiwei [Tue, 24 Jun 2025 07:58:39 +0000 (15:58 +0800)] 
chore: Merge branch 'edison/fix/cacheSameExpr' into edison/testVapor

5 weeks agofix(compiler-vapor): handle variable name substring edge cases
daiwei [Tue, 24 Jun 2025 03:37:53 +0000 (11:37 +0800)] 
fix(compiler-vapor): handle variable name substring edge cases

5 weeks agoMerge branch 'edison/fix/cacheOptionalMemberExpr' into edison/testVapor
daiwei [Mon, 23 Jun 2025 13:43:46 +0000 (21:43 +0800)] 
Merge branch 'edison/fix/cacheOptionalMemberExpr' into edison/testVapor

5 weeks agofix(compiler-vapor): properly cache variable with optional chaining 13519/head
daiwei [Mon, 23 Jun 2025 13:39:23 +0000 (21:39 +0800)] 
fix(compiler-vapor): properly cache variable with optional chaining

5 weeks agochore: Merge branch 'edison/feat/vaporAsyncComponent' into edison/testVapor
daiwei [Mon, 23 Jun 2025 07:53:10 +0000 (15:53 +0800)] 
chore: Merge branch 'edison/feat/vaporAsyncComponent' into edison/testVapor

5 weeks agochore: Merge branch 'edison/feat/vaporTeleport' into edison/testVapor
daiwei [Mon, 23 Jun 2025 07:22:11 +0000 (15:22 +0800)] 
chore: Merge branch 'edison/feat/vaporTeleport' into edison/testVapor

5 weeks agochore(deps): update dependency vite to v5.4.19 [security] (#13517)
renovate[bot] [Mon, 23 Jun 2025 06:33:04 +0000 (14:33 +0800)] 
chore(deps): update dependency vite to v5.4.19 [security] (#13517)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
5 weeks agochore(deps): update build (#13516)
renovate[bot] [Mon, 23 Jun 2025 06:32:41 +0000 (14:32 +0800)] 
chore(deps): update build (#13516)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
5 weeks agochore(deps): update all non-major dependencies (#13515)
renovate[bot] [Mon, 23 Jun 2025 06:04:52 +0000 (14:04 +0800)] 
chore(deps): update all non-major dependencies (#13515)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
6 weeks agochore: Merge branch 'edison/feat/setScopeId' into edison/testVapor
daiwei [Fri, 20 Jun 2025 07:33:00 +0000 (15:33 +0800)] 
chore: Merge branch 'edison/feat/setScopeId' into edison/testVapor

6 weeks agochore: Merge branch 'edison/feat/fowardedSlots' into edison/feat/setScopeId
daiwei [Fri, 20 Jun 2025 07:24:11 +0000 (15:24 +0800)] 
chore: Merge branch 'edison/feat/fowardedSlots' into edison/feat/setScopeId

6 weeks agochore: Merge branch 'vapor' into edison/feat/fowardedSlots
daiwei [Fri, 20 Jun 2025 06:22:23 +0000 (14:22 +0800)] 
chore: Merge branch 'vapor' into edison/feat/fowardedSlots

6 weeks agochore: Merge branch 'vapor' into edison/feat/vaporAsyncComponent
daiwei [Fri, 20 Jun 2025 06:09:36 +0000 (14:09 +0800)] 
chore: Merge branch 'vapor' into edison/feat/vaporAsyncComponent

6 weeks agochore: Merge branch 'vapor' into edison/feat/vaporHydration
daiwei [Fri, 20 Jun 2025 06:00:11 +0000 (14:00 +0800)] 
chore: Merge branch 'vapor' into edison/feat/vaporHydration

6 weeks agochore: Merge branch 'vapor' into edison/feat/vaporTeleport
daiwei [Fri, 20 Jun 2025 03:29:36 +0000 (11:29 +0800)] 
chore: Merge branch 'vapor' into edison/feat/vaporTeleport

6 weeks agowip: fix e2e test
daiwei [Fri, 20 Jun 2025 02:40:31 +0000 (10:40 +0800)] 
wip: fix e2e test

6 weeks agoMerge branch 'edison/feat/fowardedSlots' into edison/testVapor
daiwei [Fri, 20 Jun 2025 02:23:43 +0000 (10:23 +0800)] 
Merge branch 'edison/feat/fowardedSlots' into edison/testVapor

6 weeks agochore: Merge branch 'vapor' into edison/testVapor
daiwei [Fri, 20 Jun 2025 01:35:45 +0000 (09:35 +0800)] 
chore: Merge branch 'vapor' into edison/testVapor

6 weeks agoMerge branch 'edison/fix/emitVdomInterop' into edison/testVapor
daiwei [Fri, 20 Jun 2025 01:23:18 +0000 (09:23 +0800)] 
Merge branch 'edison/fix/emitVdomInterop' into edison/testVapor

6 weeks agofix(vapor): component emits vdom interop
daiwei [Thu, 19 Jun 2025 08:52:37 +0000 (16:52 +0800)] 
fix(vapor): component emits vdom interop

6 weeks agochore: update snap
daiwei [Fri, 20 Jun 2025 00:59:51 +0000 (08:59 +0800)] 
chore: update snap

6 weeks agofix(compiler-vapor): correct execution order of operations (#13351)
zhiyuanzmj [Fri, 20 Jun 2025 00:55:50 +0000 (08:55 +0800)] 
fix(compiler-vapor): correct execution order of operations (#13351)

6 weeks agofix(runtime-vapor): should not warn invalid watch source when directly watching props...
edison [Fri, 20 Jun 2025 00:44:35 +0000 (08:44 +0800)] 
fix(runtime-vapor): should not warn invalid watch source when directly watching props (#13384)

6 weeks agofix(compiler-vapor): remove types for expressions (#13395)
zhiyuanzmj [Fri, 20 Jun 2025 00:43:15 +0000 (08:43 +0800)] 
fix(compiler-vapor): remove types for expressions (#13395)

6 weeks agofix(runtime-vapor): dynamic component attrs fallthrough (#13466)
edison [Fri, 20 Jun 2025 00:40:52 +0000 (08:40 +0800)] 
fix(runtime-vapor):  dynamic component attrs fallthrough (#13466)

6 weeks agofix(runtime-vapor): dynamic component work with insertionState (#13142)
edison [Fri, 20 Jun 2025 00:38:24 +0000 (08:38 +0800)] 
fix(runtime-vapor): dynamic component work with insertionState (#13142)

6 weeks agochore(compiler-vapor): use compiler-dom instead of compiler-core (#13364)
zhiyuanzmj [Fri, 20 Jun 2025 00:30:36 +0000 (08:30 +0800)] 
chore(compiler-vapor): use compiler-dom instead of compiler-core (#13364)

6 weeks agofix(runtime-vapor): properly mount component when using setInsertionState (#13041)
edison [Fri, 20 Jun 2025 00:29:50 +0000 (08:29 +0800)] 
fix(runtime-vapor): properly mount component when using setInsertionState (#13041)

6 weeks agofix(compiler-vapor): prevent v-for components from being single root (#13149)
Runyasak Chaengnaimuang [Fri, 20 Jun 2025 00:17:54 +0000 (07:17 +0700)] 
fix(compiler-vapor): prevent v-for components from being single root (#13149)

6 weeks agofix(compiler-vapor): prevent caching UpdateExpression (#13346)
zhiyuanzmj [Fri, 20 Jun 2025 00:16:47 +0000 (08:16 +0800)] 
fix(compiler-vapor): prevent caching UpdateExpression (#13346)

6 weeks agofix(runtime-vapor): dynamic component fallback rendering with insertion state (#13492)
edison [Fri, 20 Jun 2025 00:11:40 +0000 (08:11 +0800)] 
fix(runtime-vapor): dynamic component fallback rendering with insertion state (#13492)

6 weeks agofix(compiler-vapor): don't generate default slot for whitespace when preserved (...
zhiyuanzmj [Fri, 20 Jun 2025 00:11:05 +0000 (08:11 +0800)] 
fix(compiler-vapor): don't generate default slot for whitespace when preserved (#13009)

6 weeks agofix(runtime-vapor): should not fallthrough emit handlers to vdom child (#13500)
edison [Fri, 20 Jun 2025 00:08:34 +0000 (08:08 +0800)] 
fix(runtime-vapor): should not fallthrough emit handlers to vdom child (#13500)

6 weeks agochore: update
daiwei [Thu, 19 Jun 2025 07:02:51 +0000 (15:02 +0800)] 
chore: update

6 weeks agoMerge branch 'edison/feat/vaporTransition' into edison/testVapor
daiwei [Thu, 19 Jun 2025 06:59:12 +0000 (14:59 +0800)] 
Merge branch 'edison/feat/vaporTransition' into edison/testVapor

6 weeks agofix: mark single root for transition block
daiwei [Thu, 19 Jun 2025 06:41:06 +0000 (14:41 +0800)] 
fix: mark single root for transition block

6 weeks agoMerge branch 'edison/feat/vaporTransition' into edison/testVapor
daiwei [Thu, 19 Jun 2025 06:41:56 +0000 (14:41 +0800)] 
Merge branch 'edison/feat/vaporTransition' into edison/testVapor

6 weeks agofix: mark single root for transition block
daiwei [Thu, 19 Jun 2025 06:41:06 +0000 (14:41 +0800)] 
fix: mark single root for transition block

6 weeks agochore: Merge branch 'edison/fix/vhtmlAndvTextWithDynamicComponent' into edison/testVapor
daiwei [Thu, 19 Jun 2025 03:30:14 +0000 (11:30 +0800)] 
chore: Merge branch 'edison/fix/vhtmlAndvTextWithDynamicComponent' into edison/testVapor

6 weeks agofeat(runtime-vapor): dynamic components work with v-html and v-text
daiwei [Thu, 19 Jun 2025 03:23:54 +0000 (11:23 +0800)] 
feat(runtime-vapor): dynamic components work with v-html and v-text

6 weeks agochore: Merge branch 'edison/fix/dynamicComponentWithVHtml' into edison/testVapor
daiwei [Wed, 18 Jun 2025 09:36:39 +0000 (17:36 +0800)] 
chore: Merge branch 'edison/fix/dynamicComponentWithVHtml' into edison/testVapor

6 weeks agorelease: v3.5.17 v3.5.17
daiwei [Wed, 18 Jun 2025 13:14:18 +0000 (21:14 +0800)] 
release: v3.5.17

6 weeks agofix(ssr): handle initial selected state for select with v-model + v-for/v-if option...
edison [Wed, 18 Jun 2025 12:54:32 +0000 (20:54 +0800)] 
fix(ssr): handle initial selected state for select with v-model + v-for/v-if option (#13487)

close #13486

6 weeks agofix(compiler-sfc): improved type resolution for function type aliases (#13452)
Tycho [Wed, 18 Jun 2025 12:54:09 +0000 (20:54 +0800)] 
fix(compiler-sfc): improved type resolution for function type aliases (#13452)

close #13444

6 weeks agofix(slots): make cache indexes marker non-enumerable (#13469)
edison [Wed, 18 Jun 2025 12:53:48 +0000 (20:53 +0800)] 
fix(slots): make cache indexes marker non-enumerable (#13469)

close #13468

6 weeks agofix(compat): allow v-model built in modifiers on component (#12654)
Mark Florian [Wed, 18 Jun 2025 12:53:25 +0000 (13:53 +0100)] 
fix(compat): allow v-model built in modifiers on component (#12654)

close #12652

6 weeks agofix(runtime-vapor): dynamic component fallback rendering with insertion state 13492/head
daiwei [Wed, 18 Jun 2025 09:28:38 +0000 (17:28 +0800)] 
fix(runtime-vapor): dynamic component fallback rendering with insertion state