1 | ## [4.0.15](https://github.com/vuejs/router/compare/v4.0.14...v4.0.15) (2022-05-04)
|
2 |
|
3 | ### Bug Fixes
|
4 |
|
5 | - **matcher:** keep trailing slash on empty optional params ([2f1e9b9](https://github.com/vuejs/router/commit/2f1e9b976d7c5c1ada38c57f276304688d31b7e4)), closes [#1357](https://github.com/vuejs/router/issues/1357)
|
6 | - setup history listeners once ([faa8562](https://github.com/vuejs/router/commit/faa85624d37367c638fb9272a4130d8524143120)), closes [#1344](https://github.com/vuejs/router/issues/1344)
|
7 | - **view:** handle @vue/compat automatically ([92becf6](https://github.com/vuejs/router/commit/92becf6dc6c4ef21985abb52887b4cec626f5c82)), closes [#1315](https://github.com/vuejs/router/issues/1315)
|
8 |
|
9 | ## [4.0.14](https://github.com/vuejs/router/compare/v4.0.13...v4.0.14) (2022-03-10)
|
10 |
|
11 | ### Features
|
12 |
|
13 | - **devtools:** use api.now() ([06ac7bb](https://github.com/vuejs/router/commit/06ac7bbc4caaacaf8f054aa2ee164517b99b18ba))
|
14 |
|
15 | ## [4.0.13](https://github.com/vuejs/router/compare/v4.0.12...v4.0.13) (2022-02-28)
|
16 |
|
17 | ### Bug Fixes
|
18 |
|
19 | - **matcher:** add child before parent when using `addRoute` ([8744bba](https://github.com/vuejs/router/commit/8744bbae7789e236e5308f939fb4b2d946a8ca6d))
|
20 | - **ssr:** reject unfinished initial navigation ([509fc0d](https://github.com/vuejs/router/commit/509fc0d5c78b32cbd5ce0c86f716774ad6163cad)), closes [#1305](https://github.com/vuejs/router/issues/1305)
|
21 |
|
22 | ## [4.0.12](https://github.com/vuejs/router/compare/v4.0.11...v4.0.12) (2021-10-14)
|
23 |
|
24 | ### Bug Fixes
|
25 |
|
26 | - **history:** ensure base is normalized in memory history ([#1112](https://github.com/vuejs/router/issues/1112)) ([198a5bd](https://github.com/vuejs/router/commit/198a5bda8354ea6c3121f5fbf92ed93390e70cfb))
|
27 |
|
28 | ### Features
|
29 |
|
30 | - **devtools:** display router view path ([3ce3834](https://github.com/vuejs/router/commit/3ce383402fbaa1539cdfe32cbdd48dfda5fbfa7b)), closes [#1119](https://github.com/vuejs/router/issues/1119)
|
31 | - **warn:** improve message for onBeforeRoute\*() ([7d5230e](https://github.com/vuejs/router/commit/7d5230e556002b6ddd17c857ad43608590e9a7bd))
|
32 |
|
33 | ## [4.0.11](https://github.com/vuejs/router/compare/v4.0.10...v4.0.11) (2021-08-09)
|
34 |
|
35 | ### Bug Fixes
|
36 |
|
37 | - **query:** empty object with custom stringify ([4dd2fbf](https://github.com/vuejs/router/commit/4dd2fbfeb486800a7d5fbc384eb567c3c6532f41))
|
38 | - **router:** allow null | undefined for params ([ebca15a](https://github.com/vuejs/router/commit/ebca15a0140453c6671fdae7a9864badc650531e))
|
39 | - **router:** invalidate ongoing navigation when unmounting ([d8fb7d0](https://github.com/vuejs/router/commit/d8fb7d0ab1694fe86edbd52668f84fb9bb9f4dcf))
|
40 | - **types:** Support `undefined` in NavigationGuardNext ([#1059](https://github.com/vuejs/router/issues/1059)) ([6cce232](https://github.com/vuejs/router/commit/6cce232ba0dc5d89f6a53c1af674a8e0c6eb8790))
|
41 |
|
42 | ## [4.0.10](https://github.com/vuejs/router/compare/v4.0.9...v4.0.10) (2021-06-21)
|
43 |
|
44 | ### Features
|
45 |
|
46 | - **devtools:** display components using `useLink()` ([aab8c04](https://github.com/vuejs/router/commit/aab8c0414af6784fc0250fb4b81be4186ff4cfec)), closes [#1003](https://github.com/vuejs/router/issues/1003)
|
47 | - **link:** expose useLink on RouterLink as internal ([#1002](https://github.com/vuejs/router/issues/1002)) ([57b1468](https://github.com/vuejs/router/commit/57b1468645248068c76b809efd10f3f42762d52b))
|
48 |
|
49 | ## [4.0.9](https://github.com/vuejs/router/compare/v4.0.8...v4.0.9) (2021-06-16)
|
50 |
|
51 | ### Bug Fixes
|
52 |
|
53 | - **guards:** propagate lazy loading rejections ([3d465cc](https://github.com/vuejs/router/commit/3d465cc128b2f5c109e71386760c7b99e3d71bce))
|
54 | - **hash:** force navigation restore on manual navigation ([#921](https://github.com/vuejs/router/issues/921)) ([e08a0d0](https://github.com/vuejs/router/commit/e08a0d0b64d2798164895da430de7edbb66d7ead)), closes [#916](https://github.com/vuejs/router/issues/916)
|
55 | - **link:** catch errors ([e7b2156](https://github.com/vuejs/router/commit/e7b2156c7436f18d1a08694f502eb00b10029f1c))
|
56 | - **query:** allow arbitrary keys in queries ([a57b5f1](https://github.com/vuejs/router/commit/a57b5f179b8859776550f3b754f972fad8955566)), closes [#880](https://github.com/vuejs/router/issues/880)
|
57 | - **warn:** drop unused params on string redirect ([bed24df](https://github.com/vuejs/router/commit/bed24dff90c19a0ee3e335dbe43ed9ddbfc74542)), closes [#951](https://github.com/vuejs/router/issues/951)
|
58 |
|
59 | ### Features
|
60 |
|
61 | - **devtools:** group navigation errors ([a776a84](https://github.com/vuejs/router/commit/a776a8402b7ae5bdc017409f26d4574bcee4858b))
|
62 | - **errors:** add to and from to router.onError()` ([c76feab](https://github.com/vuejs/router/commit/c76feabf3703f06bff400d7aa84edede48329b82))
|
63 | - **errors:** log errors when no error handlers ([46a354e](https://github.com/vuejs/router/commit/46a354ec5b9359bb1dcd3ac82716e898b3843ae4))
|
64 |
|
65 | ## [4.0.8](https://github.com/vuejs/router/compare/v4.0.6...v4.0.8) (2021-05-13)
|
66 |
|
67 | This release is a correct tag and doesn't contain any extra changes.
|
68 |
|
69 | ## [4.0.7](https://github.com/vuejs/router/compare/v4.0.6...v4.0.7) (2021-05-13)
|
70 |
|
71 | ### Bug Fixes
|
72 |
|
73 | - **$route:** Make $route have an enumerable type ([#912](https://github.com/vuejs/router/issues/912)) ([d90520e](https://github.com/vuejs/router/commit/d90520eb36ca310f52b22caeb88fd8cb06dca04a))
|
74 | - **devtools:** stabilize record id ([#897](https://github.com/vuejs/router/issues/897)) ([c6460f0](https://github.com/vuejs/router/commit/c6460f09aab3a834121dc58fc5880c81a65147ef))
|
75 | - **history:** make properties enumerable ([8e6ebdf](https://github.com/vuejs/router/commit/8e6ebdf75adc1ab662e46835c5b7f078bc68a93b))
|
76 | - **history:** proper destroy in memory history ([9d188aa](https://github.com/vuejs/router/commit/9d188aa165aeb12aa3771aaa56a269f5dad3ccf6))
|
77 | - **query:** filter undefined values in arrays ([df25fb5](https://github.com/vuejs/router/commit/df25fb5c34ae4a1540d375ad078705719b56332b))
|
78 | - **query:** prevent trailing & in query ([#935](https://github.com/vuejs/router/issues/935)) ([885bb06](https://github.com/vuejs/router/commit/885bb06bb590944f2e58176151f7b7a6acbc1b4e))
|
79 | - do not allow invalid hazardous keys in query ([#880](https://github.com/vuejs/router/issues/880)) ([ecd52e0](https://github.com/vuejs/router/commit/ecd52e017ac30fa996d4796974371374f65640d1))
|
80 |
|
81 | ## [4.0.6](https://github.com/vuejs/router/compare/v4.0.5...v4.0.6) (2021-04-06)
|
82 |
|
83 | ### Bug Fixes
|
84 |
|
85 | - **link:** let vue merge attrs ([4142871](https://github.com/vuejs/router/commit/4142871189dbb13e1ce2d6be8d82bd5aa27526a3)), closes [#846](https://github.com/vuejs/router/issues/846)
|
86 | - **link:** use flush post in devtools watcher ([4108814](https://github.com/vuejs/router/commit/41088143c62244fe7b198e0907f4f6f98852df62)), closes [#845](https://github.com/vuejs/router/issues/845)
|
87 |
|
88 | ### Features
|
89 |
|
90 | - **types:** allow currentLocation param in resolve ([add6ce9](https://github.com/vuejs/router/commit/add6ce9677ffd2c636e215ffab5ddbdef22b0158))
|
91 | - **warn:** throws if history is missing ([#844](https://github.com/vuejs/router/issues/844)) ([dd8bf6c](https://github.com/vuejs/router/commit/dd8bf6cf48db352cef72f419a14d1540818eb6ff))
|
92 |
|
93 | ## [4.0.5](https://github.com/vuejs/router/compare/v4.0.4...v4.0.5) (2021-03-11)
|
94 |
|
95 | ### Bug Fixes
|
96 |
|
97 | - **guards:** avoid enter guards between aliases ([0048b9b](https://github.com/vuejs/router/commit/0048b9b1b0fd0a0652fdabb683309fc5c0d5dbe4))
|
98 | - **guards:** ensure beforeRouteUpdate works with aliases ([#819](https://github.com/vuejs/router/issues/819)) ([45ecb20](https://github.com/vuejs/router/commit/45ecb205920be60c9b454dbb55cf4fe213bbc697)), closes [#805](https://github.com/vuejs/router/issues/805)
|
99 | - **view:** correctly reuse instance guards ([#795](https://github.com/vuejs/router/issues/795)) ([d4fde59](https://github.com/vuejs/router/commit/d4fde599803a1be9d4823de0e406c9ce66143e2c))
|
100 |
|
101 | ### Features
|
102 |
|
103 | - **devtools:** group navigations ([d3b5dfb](https://github.com/vuejs/router/commit/d3b5dfb6d8a3da96ee93426dc4b5429581e8a739))
|
104 |
|
105 | ## [4.0.4](https://github.com/vuejs/router/compare/v4.0.3...v4.0.4) (2021-02-19)
|
106 |
|
107 | ### Bug Fixes
|
108 |
|
109 | - **devtools:** id and label ([#742](https://github.com/vuejs/router/issues/742)) ([d034307](https://github.com/vuejs/router/commit/d034307444860fb834b0f5b5a1ddd0cce9d6d842))
|
110 | - **guards:** vue-class-component call guards on first... ([#755](https://github.com/vuejs/router/issues/755)) ([06f942d](https://github.com/vuejs/router/commit/06f942d0fbe1c5c86dc7e17d38c00d595854bd4f))
|
111 | - **matcher:** force leading slash with optional param in multi segments ([11c882f](https://github.com/vuejs/router/commit/11c882f8f3b56d2c87fc095c46eb8050fbbf61df))
|
112 | - **warn:** should not warn missing optional params in aliases ([92f8901](https://github.com/vuejs/router/commit/92f8901f54775cb4b3d1f2415b6a2b3ff77eb440))
|
113 |
|
114 | ### Features
|
115 |
|
116 | - **types:** make meta type safe with unknown ([eef0472](https://github.com/vuejs/router/commit/eef0472e3589ed0a6df0528a7b96f1d7bf316843))
|
117 |
|
118 | ## [4.0.3](https://github.com/vuejs/router/compare/v4.0.2...v4.0.3) (2021-01-11)
|
119 |
|
120 | ### Bug Fixes
|
121 |
|
122 | - **hash:** allow base tag different from base parameter ([85b1bff](https://github.com/vuejs/router/commit/85b1bff96fbb6e21cd556b688f6085b6fbfe993f)), closes [#685](https://github.com/vuejs/router/issues/685)
|
123 | - **link:** use replace prop ([6edba5c](https://github.com/vuejs/router/commit/6edba5cf676bde94e5ebdb370a4146dc8f6b058e)), closes [#702](https://github.com/vuejs/router/issues/702)
|
124 |
|
125 | ### Features
|
126 |
|
127 | - **types:** expose RouteParamsRaw ([09bbc89](https://github.com/vuejs/router/commit/09bbc895cd422af8354664062b29131ae32472d7))
|
128 | - **warn:** more specific warnings ([2cd8d86](https://github.com/vuejs/router/commit/2cd8d867beda6f7c54578d40934774547866e069))
|
129 | - **warn:** warn defineAsyncComponent usage in routes ([#682](https://github.com/vuejs/router/issues/682)) ([9520d66](https://github.com/vuejs/router/commit/9520d66112c0f2922f4284cda1e75b316ddf3488))
|
130 |
|
131 | ## [4.0.2](https://github.com/vuejs/router/compare/v4.0.1...v4.0.2) (2020-12-27)
|
132 |
|
133 | ### Bug Fixes
|
134 |
|
135 | - **matcher:** clear customRe after consuming buffer ([#680](https://github.com/vuejs/router/issues/680)) ([4c0b825](https://github.com/vuejs/router/commit/4c0b82507e1f949d55daffd06756615cd704e090)), closes [#679](https://github.com/vuejs/router/issues/679)
|
136 | - **router:** allow replace to have query and hash ([6a8ccb6](https://github.com/vuejs/router/commit/6a8ccb6e3b80aef00dda7e73be2afb433d871a32)), closes [#668](https://github.com/vuejs/router/issues/668)
|
137 | - **router:** do not restore history when ... ([db267be](https://github.com/vuejs/router/commit/db267be72bace7c99a0c65669ab04ce770e1532c)), closes [#662](https://github.com/vuejs/router/issues/662)
|
138 | - **router-view:** disable inheritAttrs ([1e58574](https://github.com/vuejs/router/commit/1e58574e6175f591f7fb24bcfc6e11045e7b0148)), closes [#674](https://github.com/vuejs/router/issues/674)
|
139 | - **types:** add missing exported types ([034c71c](https://github.com/vuejs/router/commit/034c71c72ca46d242daf53ae54ab67e6f7800f91))
|
140 | - spread operator compatible ([a2f3e91](https://github.com/vuejs/router/commit/a2f3e91cb3e3ae61118d803ce938d6f4eea76116))
|
141 |
|
142 | ## [4.0.1](https://github.com/vuejs/router/compare/v4.0.0...v4.0.1) (2020-12-07)
|
143 |
|
144 | ### Bug Fixes
|
145 |
|
146 | - **build:** rollback rollup plugin commonjs ([9486950](https://github.com/vuejs/router/commit/9486950f3399bda34ab2840b83fd123ac5ce7ce9))
|
147 |
|
148 | # [4.0.0](https://github.com/vuejs/router/compare/v4.0.0-rc.6...v4.0.0) (2020-12-07)
|
149 |
|
150 | ### Bug Fixes
|
151 |
|
152 | - **router-view:** properly use route prop when nested ([b74051a](https://github.com/vuejs/router/commit/b74051a6bde7524d1a7cc6cc1daacb213987faa0))
|
153 | - **router-view:** return one node when possible ([d18e500](https://github.com/vuejs/router/commit/d18e500da2ed017be30871628a5cc59324bec15c)), closes [#537](https://github.com/vuejs/router/issues/537)
|
154 |
|
155 | ### Features
|
156 |
|
157 | - expose routerViewLocationKey as internal ([f498646](https://github.com/vuejs/router/commit/f498646c3bc2ad480be7a3d0f11aa11710729911))
|
158 |
|
159 | # [4.0.0-rc.6](https://github.com/vuejs/router/compare/v4.0.0-rc.5...v4.0.0-rc.6) (2020-11-30)
|
160 |
|
161 | ### Bug Fixes
|
162 |
|
163 | - **guards:** correctly reuse guards ([#616](https://github.com/vuejs/router/issues/616)) ([95d44c8](https://github.com/vuejs/router/commit/95d44c8ff2a961e052fd67b2160b87fb32d0ffb4)), closes [#614](https://github.com/vuejs/router/issues/614)
|
164 |
|
165 | ### Features
|
166 |
|
167 | - **devtools:** improve active + match in routes inspector ([9f59489](https://github.com/vuejs/router/commit/9f59489f04cedfca5ba55da019b2dc790e926fd7))
|
168 | - **types:** expose `LocationQueryValueRaw` as internal ([dc02850](https://github.com/vuejs/router/commit/dc028500c3e931ed5fd6beedf58b5425f5115b52))
|
169 |
|
170 | # [4.0.0-rc.5](https://github.com/vuejs/router/compare/v4.0.0-rc.4...v4.0.0-rc.5) (2020-11-21)
|
171 |
|
172 | ### Features
|
173 |
|
174 | - **scroll:** allow modifying scrollBehavior in options ([#602](https://github.com/vuejs/router/issues/602)) ([d6651f5](https://github.com/vuejs/router/commit/d6651f5f954c8ecaf1a77ec209d5aba06343e867))
|
175 |
|
176 | # [4.0.0-rc.4](https://github.com/vuejs/router/compare/v4.0.0-rc.3...v4.0.0-rc.4) (2020-11-20)
|
177 |
|
178 | ### Features
|
179 |
|
180 | - expose symbols as internals ([ef62d96](https://github.com/vuejs/router/commit/ef62d9645c456f069699480ae3f2c3dd97b9d30d))
|
181 |
|
182 | # [4.0.0-rc.3](https://github.com/vuejs/router/compare/v4.0.0-rc.2...v4.0.0-rc.3) (2020-11-14)
|
183 |
|
184 | ### Bug Fixes
|
185 |
|
186 | - trigger redirect on popstate ([#592](https://github.com/vuejs/router/issues/592)) ([18dbdc2](https://github.com/vuejs/router/commit/18dbdc2745cf7bd2516d4576a8d6a21de78516ec))
|
187 | - **query:** encode space as + ([4d3dd5f](https://github.com/vuejs/router/commit/4d3dd5fd523cefc675aa7e61ed9b06b66e42b80c)), closes [#561](https://github.com/vuejs/router/issues/561)
|
188 |
|
189 | # [4.0.0-rc.2](https://github.com/vuejs/router/compare/v4.0.0-rc.1...v4.0.0-rc.2) (2020-11-05)
|
190 |
|
191 | ### Features
|
192 |
|
193 | - expose injection symbols as internals ([0056aca](https://github.com/vuejs/router/commit/0056aca5b251df2a18bab79e18874a18e0204b4d))
|
194 | - **devtools:** add devtools plugin ([894d50d](https://github.com/vuejs/router/commit/894d50d351a40df95a3227840f5485f7e8b90432))
|
195 | - **devtools:** add more ([ee07302](https://github.com/vuejs/router/commit/ee0730254522d6162114968e4d62b93e8b6f7f93))
|
196 | - **devtools:** better search ([5d68a29](https://github.com/vuejs/router/commit/5d68a29386f34363b38c4138fbeae01ec538285e))
|
197 | - **devtools:** support multiple router instances ([2e5d0d4](https://github.com/vuejs/router/commit/2e5d0d4d726ee6329745f34ca463a74820c5aa29))
|
198 |
|
199 | # [4.0.0-rc.1](https://github.com/vuejs/router/compare/v4.0.0-beta.13...v4.0.0-rc.1) (2020-10-23)
|
200 |
|
201 | ### Features
|
202 |
|
203 | - **warn:** improve warning for invalid components ([5985b65](https://github.com/vuejs/router/commit/5985b6560d40412d67311df10343ee6a119a0535)), closes [#517](https://github.com/vuejs/router/issues/517)
|
204 |
|
205 | # [4.0.0-beta.13](https://github.com/vuejs/router/compare/v4.0.0-beta.12...v4.0.0-beta.13) (2020-10-02)
|
206 |
|
207 | ### Bug Fixes
|
208 |
|
209 | - **encoding:** decode hash in string location ([11acb3d](https://github.com/vuejs/router/commit/11acb3dea072592f00a23b912d39c3fcf72dc6c3))
|
210 | - **encoding:** differentiate keys and values in query ([a967e42](https://github.com/vuejs/router/commit/a967e427ab3bc5c1e6236b01f484a87b74a92be1))
|
211 | - **encoding:** keep decoded hash when resolving ([1a8ffc1](https://github.com/vuejs/router/commit/1a8ffc19b0d2bfc17daec4cb04b96d174c73dd9d))
|
212 | - **hash:** only pushState the hash part ([2a14c19](https://github.com/vuejs/router/commit/2a14c19e4f0313996fd075a6821f85d30c5cad66)), closes [#495](https://github.com/vuejs/router/issues/495)
|
213 |
|
214 | ### Features
|
215 |
|
216 | - **warn:** help migrating catch all routes ([14e1eb9](https://github.com/vuejs/router/commit/14e1eb96485f74669f582a87f522d3b13b567c9c))
|
217 | - print errors from lazy loading ([f6db91a](https://github.com/vuejs/router/commit/f6db91aaf496b85c80e74727575cc1c2b1d06282)), closes [#497](https://github.com/vuejs/router/issues/497)
|
218 |
|
219 | # [4.0.0-beta.12](https://github.com/vuejs/router/compare/v4.0.0-beta.11...v4.0.0-beta.12) (2020-09-25)
|
220 |
|
221 | ### Bug Fixes
|
222 |
|
223 | - **types:** extend @vue/runtime-core module ([#473](https://github.com/vuejs/router/issues/473)) ([556cd4b](https://github.com/vuejs/router/commit/556cd4b4af3d7ac1aa1c66848f5ab1bc33d13153))
|
224 |
|
225 | # [4.0.0-beta.11](https://github.com/vuejs/router/compare/v4.0.0-beta.10...v4.0.0-beta.11) (2020-09-20)
|
226 |
|
227 | ### Bug Fixes
|
228 |
|
229 | - use post flush in modal example ([2024281](https://github.com/vuejs/router/commit/2024281902d62454d9159c87d4288d691cd0bce8))
|
230 | - **guards:** use post watcher for instances ([3234c59](https://github.com/vuejs/router/commit/3234c5924f39fd9497866bfd160407256dc91bfe))
|
231 |
|
232 | # [4.0.0-beta.10](https://github.com/vuejs/router/compare/v4.0.0-beta.9...v4.0.0-beta.10) (2020-09-18)
|
233 |
|
234 | ### Bug Fixes
|
235 |
|
236 | - **history:** gracefully handle empty state ([cbcf2a9](https://github.com/vuejs/router/commit/cbcf2a95a2af001c8aea96f3c76c4c4ef139219f)), closes [#366](https://github.com/vuejs/router/issues/366)
|
237 | - **types:** better type for navigate ([0384cb0](https://github.com/vuejs/router/commit/0384cb062d50f6be37512410b4c2d170896dc9cb))
|
238 | - **types:** explicit types on navigate ([36d218c](https://github.com/vuejs/router/commit/36d218c15268d0d3d15d4ed3adc75c8cb09ed68b))
|
239 | - **types:** fix types for redirect records ([a77f148](https://github.com/vuejs/router/commit/a77f1485323ef3b654077ecb227fd5a0373d3a2f))
|
240 | - **warn:** correctly warn against unused next ([47cd7b9](https://github.com/vuejs/router/commit/47cd7b97bb7a3999178a26a4ca1af955178ea5d6))
|
241 |
|
242 | ### Code Refactoring
|
243 |
|
244 | - **types:** Rename ScrollBehavior to RouterScrollBehavior ([9fc0996](https://github.com/vuejs/router/commit/9fc09969db854bc0201454fbecd546637b76213a))
|
245 |
|
246 | ### Features
|
247 |
|
248 | - **router:** remove partial Promise from router.go ([6ed6eee](https://github.com/vuejs/router/commit/6ed6eee38b59eb0b6dec0bcb7d73e24203e20ba4))
|
249 | - **types:** allow extending meta fields ([#407](https://github.com/vuejs/router/issues/407)) ([706e84f](https://github.com/vuejs/router/commit/706e84f0099a2a04485dfa98449fdc875442bb49))
|
250 | - **warn:** point to scrollBehavior in message ([70ce7fe](https://github.com/vuejs/router/commit/70ce7feefac3fddd2a9641fcc2ccc66b4b108775))
|
251 |
|
252 | ### BREAKING CHANGES
|
253 |
|
254 | - **router:** The `router.go()` methods doesn't return anything
|
255 | (like in Vue Router 3) anymore. The existing implementation was wrong as it
|
256 | would resolve the promise for the following navigation if `router.go()`
|
257 | was called with something that wasn't possible e.g. `router.go(-20)`
|
258 | right after entering the application would not do anything. Even worse,
|
259 | the promise returned by that call would resolve **after the next
|
260 | navigation**. There is no proper native API to implement this
|
261 | promise-based api properly, but one can write a version that should work
|
262 | in most scenarios by setting up multiple hooks right before calling
|
263 | `router.go()`:
|
264 |
|
265 | ```js
|
266 | export function go(delta) {
|
267 | return new Promise((resolve, reject) => {
|
268 | function popStateListener() {
|
269 | clearTimeout(timeout)
|
270 | }
|
271 | window.addEventListener('popstate', popStateListener)
|
272 |
|
273 | function clearHooks() {
|
274 | removeAfterEach()
|
275 | removeOnError()
|
276 | window.removeEventListener('popstate', popStateListener)
|
277 | }
|
278 |
|
279 | // if the popstate event is not called, consider this a failure
|
280 | const timeout = setTimeout(() => {
|
281 | clearHooks()
|
282 | reject(new Error('Failed to use router.go()'))
|
283 | // It's unclear of what value would always work here
|
284 | }, 10)
|
285 |
|
286 | setImmediate
|
287 |
|
288 | const removeAfterEach = router.afterEach((_to, _from, failure) => {
|
289 | clearHooks()
|
290 | resolve(failure)
|
291 | })
|
292 | const removeOnError = router.onError(err => {
|
293 | clearHooks()
|
294 | reject(err)
|
295 | })
|
296 |
|
297 | router.go(delta)
|
298 | })
|
299 | }
|
300 | ```
|
301 |
|
302 | - **types:** there is already an existing type named `ScrollBehavior`,
|
303 | so we are renaming our type to avoid any confusions and allow the user
|
304 | to use both types at the same type (which given what the existing
|
305 | `ScrollBehavior` type is designed for, will likely happen).
|
306 |
|
307 | # [4.0.0-beta.9](https://github.com/vuejs/router/compare/v4.0.0-beta.8...v4.0.0-beta.9) (2020-09-01)
|
308 |
|
309 | Build related fixes
|
310 |
|
311 | # [4.0.0-beta.8](https://github.com/vuejs/router/compare/v4.0.0-beta.7...v4.0.0-beta.8) (2020-09-01)
|
312 |
|
313 | ### Bug Fixes
|
314 |
|
315 | - **router-view:** reuse saved instances in different records ([#446](https://github.com/vuejs/router/issues/446)) ([6554171](https://github.com/vuejs/router/commit/65541718b0d5af665fd87dc0e48770cba832a2bb))
|
316 | - **types:** add HTML attributes for JSX ([06f3f8f](https://github.com/vuejs/router/commit/06f3f8fd7c3a32da331802fe5d3d19ced17200a3)), closes [#435](https://github.com/vuejs/router/issues/435)
|
317 | - **types:** allow components defined via defineComponent ([#421](https://github.com/vuejs/router/issues/421)) ([e47c84c](https://github.com/vuejs/router/commit/e47c84c74a97ae7bb9095ea75f98a6fa8a216532))
|
318 |
|
319 | ### BREAKING CHANGES
|
320 |
|
321 | - **router-view:** `onBeforeRouteLeave` and `onBeforeRouteUpdate` used to
|
322 | have access to the component instance through `instance.proxy` but given
|
323 | that:
|
324 | 1. It has been marked as `internal` (https://github.com/vuejs/vue-next/pull/1849)
|
325 | 2. When using `setup`, all variables are accessible on the scope (and
|
326 | should be accessed that way because the code minimizes better)
|
327 | It has been removed to prevent wrong usage and lighten Vue Router
|
328 |
|
329 | # [4.0.0-beta.7](https://github.com/vuejs/router/compare/v4.0.0-beta.6...v4.0.0-beta.7) (2020-08-19)
|
330 |
|
331 | ### Bug Fixes
|
332 |
|
333 | - **encoding:** encode partial params ([eb04117](https://github.com/vuejs/router/commit/eb041175c02ab0dac093823574a85bbbbf2056eb))
|
334 | - **matcher:** avoid trailing slash with optional params ([faf0aab](https://github.com/vuejs/router/commit/faf0aab6451848e5b4330e1d01033137a0c42a5a))
|
335 | - **types:** append declare module ([50ad404](https://github.com/vuejs/router/commit/50ad404ae45086f051b01ac552e4a3ab98535633)), closes [#419](https://github.com/vuejs/router/issues/419)
|
336 | - **vetur:** update tags/attributes definition ([#408](https://github.com/vuejs/router/issues/408)) ([df8b2b1](https://github.com/vuejs/router/commit/df8b2b140155d1e4ad5d00cd17d57ab2046a75e2))
|
337 |
|
338 | ### Features
|
339 |
|
340 | - **warn:** warn against infinite redirections ([e3dcc8d](https://github.com/vuejs/router/commit/e3dcc8d9477e17f9b92e22787b750edc4658b77a))
|
341 |
|
342 | # [4.0.0-beta.6](https://github.com/vuejs/router/compare/v4.0.0-beta.5...v4.0.0-beta.6) (2020-08-05)
|
343 |
|
344 | ### Bug Fixes
|
345 |
|
346 | - **router:** stack overflow with redirect ([3594011](https://github.com/vuejs/router/commit/359401107078348f0410abbd36cffb3b8d4d8f85)), closes [#404](https://github.com/vuejs/router/issues/404)
|
347 |
|
348 | ### Features
|
349 |
|
350 | - **router-link:** add ariaCurrentValue prop ([23e6e9c](https://github.com/vuejs/router/commit/23e6e9c10b4f9cb9f074ebb4f56d2d99acac9097))
|
351 | - add Vetur support ([1f1189f](https://github.com/vuejs/router/commit/1f1189fd23dc6ec318edd5d7e8f225b467d4d386)), closes [#381](https://github.com/vuejs/router/issues/381)
|
352 |
|
353 | # [4.0.0-beta.5](https://github.com/vuejs/router/compare/v4.0.0-beta.4...v4.0.0-beta.5) (2020-08-03)
|
354 |
|
355 | ### Features
|
356 |
|
357 | - resolve simple relative links ([af1deaa](https://github.com/vuejs/router/commit/af1deaab5e0fd1597a7cf7ee9a6d01cac507970d))
|
358 | - **url:** simple resolve relative location ([69c44db](https://github.com/vuejs/router/commit/69c44db3fd5363a833675b4b0ef14f97ac691af6))
|
359 | - **warn:** warn if guard returns without calling next ([6e16bdd](https://github.com/vuejs/router/commit/6e16bdd6338ea3b7da1f8a0b3000ec880be840d6))
|
360 |
|
361 | # [4.0.0-beta.4](https://github.com/vuejs/router/compare/v4.0.0-beta.3...v4.0.0-beta.4) (2020-07-25)
|
362 |
|
363 | ### Bug Fixes
|
364 |
|
365 | - **router-view:** render the slot when there is no match ([bae42d4](https://github.com/vuejs/router/commit/bae42d41c2240947e5b649e568cad274214c6346)), closes [#385](https://github.com/vuejs/router/issues/385)
|
366 | - work on Edge by adding an argument to catch ([#383](https://github.com/vuejs/router/issues/383)) ([9580bea](https://github.com/vuejs/router/commit/9580bead1f03f1be95473e965daa1f1ee78921f3))
|
367 |
|
368 | # [4.0.0-beta.3](https://github.com/vuejs/router/compare/v4.0.0-beta.2...v4.0.0-beta.3) (2020-07-21)
|
369 |
|
370 | ### Bug Fixes
|
371 |
|
372 | - **guards:** call beforeRouteEnter once per named view ([f2846ff](https://github.com/vuejs/router/commit/f2846ff2a0796e58a9b04593909f7a30b7b68bb1))
|
373 | - **guards:** remove registered update guards after leaving ([41bffda](https://github.com/vuejs/router/commit/41bffda49c24d560cfe555aa88bcebbbd1d03d68))
|
374 | - **guards:** skip update and leave guards of unmounted views ([f22e70a](https://github.com/vuejs/router/commit/f22e70a6d15ce9834c9eb841d9fe9547c5d21e24))
|
375 | - **hash:** allow url to contain search params before hash ([ae8b289](https://github.com/vuejs/router/commit/ae8b28934b1c9a092174ebd6fb5aa10aefe1de44)), closes [#378](https://github.com/vuejs/router/issues/378)
|
376 |
|
377 | ### Features
|
378 |
|
379 | - **errors:** export isNavigationFailure ([28a9b25](https://github.com/vuejs/router/commit/28a9b25d976c325d3193cada8034a6e42297e665))
|
380 | - **guards:** allow guards to return a value instead of calling next ([#343](https://github.com/vuejs/router/issues/343)) ([5cb209f](https://github.com/vuejs/router/commit/5cb209f3bb53ac0ddf62152f695da610facf4724))
|
381 | - **guards:** wip context support in multi apps ([34d7390](https://github.com/vuejs/router/commit/34d7390b946644a128ab6fd03fd821a91fd4782c))
|
382 |
|
383 | # [4.0.0-beta.2](https://github.com/vuejs/router/compare/v4.0.0-beta.1...v4.0.0-beta.2) (2020-07-07)
|
384 |
|
385 | Fix build cache issues
|
386 |
|
387 | # [4.0.0-beta.1](https://github.com/vuejs/router/compare/v4.0.0-alpha.14...v4.0.0-beta.1) (2020-07-03)
|
388 |
|
389 | ### Bug Fixes
|
390 |
|
391 | - **hash:** manual changes should trigger a navigation ([93891ab](https://github.com/vuejs/router/commit/93891abf02fc24d66c6f43926a28f275560fb714)), closes [#346](https://github.com/vuejs/router/issues/346)
|
392 | - **router-link:** add missing prop custom in jsx ([c6274ae](https://github.com/vuejs/router/commit/c6274aeaf5ad4ba4f97c82aad3e1819ef20f5d69))
|
393 | - **router-view:** preserve keep-alive route guard this context ([#344](https://github.com/vuejs/router/issues/344)) ([994c073](https://github.com/vuejs/router/commit/994c073fd90add30bf16b5268332277f8b082a74))
|
394 | - **warn:** warn when RouterView is wrapped with transition ([e4b3fbe](https://github.com/vuejs/router/commit/e4b3fbe8b799b6621537afe365267a18eab9d3cd))
|
395 |
|
396 | ### Code Refactoring
|
397 |
|
398 | - **history:** simplify location as a string ([10a071c](https://github.com/vuejs/router/commit/10a071c85c62b6674929162aa36220bd8c167f27))
|
399 | - **router:** remove history property ([aba3a3f](https://github.com/vuejs/router/commit/aba3a3f3a0d860f76d75938ae09616a329c7c13c))
|
400 |
|
401 | ### Features
|
402 |
|
403 | - **guards:** next callback beforeRouteEnter ([d9dad0b](https://github.com/vuejs/router/commit/d9dad0b9467fee9478406899043ee35f30cdf1fb))
|
404 |
|
405 | ### BREAKING CHANGES
|
406 |
|
407 | - **router:** the history property was marked as internal already. Since we
|
408 | need to pass the history instance to the router, we always have access to it,
|
409 | differently from Vue Router 3 where the history was instantiated internally.
|
410 | The history API was also internal (it wasn't documented), so this change
|
411 | shouldn't be a problem as people shouldn't be relying on `router.history` in
|
412 | their apps. If you think this property is needed, please open an issue to
|
413 | discuss the use case. Note it's already accessible as you have to create it:
|
414 |
|
415 | ```js
|
416 | export const history = createWebHistory()
|
417 | export const router = createRouter({ history, routes: [] })
|
418 | ```
|
419 |
|
420 | - **history:** HistoryLocation is just a string now. It was pretty much an
|
421 | internal property but it could be used inside `history.state`. It used to be an
|
422 | object `{ fullPath: '/the-url' }`. And it's now just the `fullPath` property.
|
423 |
|
424 | # [4.0.0-alpha.14](https://github.com/vuejs/router/compare/v4.0.0-alpha.13...v4.0.0-alpha.14) (2020-07-01)
|
425 |
|
426 | ### Bug Fixes
|
427 |
|
428 | - **hash:** use relative links in hash mode ([32c9590](https://github.com/vuejs/router/commit/32c9590db89e69c8f7c61905a5eaf19df2054e42)), closes [#342](https://github.com/vuejs/router/issues/342)
|
429 | - **query:** do not normalize query with custom stringifyQuery ([ea65066](https://github.com/vuejs/router/commit/ea65066e8511d8320ad8de37b32ea9a8028fa9d5)), closes [#328](https://github.com/vuejs/router/issues/328)
|
430 | - **query:** isSameRouteLocation compares queries by string ([6e1f0ea](https://github.com/vuejs/router/commit/6e1f0eacf60c7e3d465dd0af68f79dc649269b17)), closes [#328](https://github.com/vuejs/router/issues/328)
|
431 |
|
432 | ### Features
|
433 |
|
434 | - **redirect:** allow redirect on routes witch children ([e57b875](https://github.com/vuejs/router/commit/e57b875dd9d375778a847627434803f4ec79a818))
|
435 | - **router:** support multiple apps at the same time ([565ec9d](https://github.com/vuejs/router/commit/565ec9d489b4aad347ee466b781ca85aff76bf2d))
|
436 |
|
437 | # [4.0.0-alpha.13](https://github.com/vuejs/router/compare/v4.0.0-alpha.12...v4.0.0-alpha.13) (2020-06-18)
|
438 |
|
439 | ### Bug Fixes
|
440 |
|
441 | - allow arbitrary selectors starting with # ([14b859d](https://github.com/vuejs/router/commit/14b859dfa6fa5ccefe42c6f834ddd24dd9921a1b))
|
442 | - use assign to align with Vue browser support ([#311](https://github.com/vuejs/router/issues/311)) ([f80b670](https://github.com/vuejs/router/commit/f80b670d4dac30323221fcb2f93137ffd874c51b)), closes [#304](https://github.com/vuejs/router/issues/304)
|
443 | - **hash:** use location.pathname ([0078147](https://github.com/vuejs/router/commit/007814745dd98bb8cfa53f44d5c308193b2fbb60)), closes [#261](https://github.com/vuejs/router/issues/261)
|
444 | - **matcher:** correct check when removing existing records on add ([2c267f5](https://github.com/vuejs/router/commit/2c267f5aceec899c84514571e4fa75dc61441ed4))
|
445 | - **matcher:** override records by name when adding ([07100fc](https://github.com/vuejs/router/commit/07100fc1386fb636da3eb1c8196a36f6538eb91f))
|
446 | - **scroll:** avoid reusing scroll position ([dfc1fb3](https://github.com/vuejs/router/commit/dfc1fb34a761138a3390ccd5a8a042863018222a))
|
447 |
|
448 | ### Features
|
449 |
|
450 | - **scroll:** allow passing behavior option ([12e9209](https://github.com/vuejs/router/commit/12e92094df46129ddf75d0fa8e3d9816644200de))
|
451 | - **scroll:** replace selector with el ([ab8a01c](https://github.com/vuejs/router/commit/ab8a01c0a6eda1bafc293b39cb6c77ed10fb359e))
|
452 | - **warn:** warn if component is a promise ([4b2bfa8](https://github.com/vuejs/router/commit/4b2bfa80cd3440441d71e690ca85d0532a4b8428))
|
453 | - **warn:** warn when routes are not found ([#279](https://github.com/vuejs/router/issues/279)) ([d125356](https://github.com/vuejs/router/commit/d125356e0f67f906f5f602f0b485f9e1e4f5bf51))
|
454 | - allow props for named views ([dbe2344](https://github.com/vuejs/router/commit/dbe2344af5fed39aa4aa8fbfe48b195580d9538b))
|
455 | - **warn:** warn multiple params with same name ([5c8cd6e](https://github.com/vuejs/router/commit/5c8cd6e8ae1223e9871252cc617b19424f01c5c2))
|
456 |
|
457 | ### BREAKING CHANGES
|
458 |
|
459 | - **scroll:** this change follows the RFC at
|
460 | https://github.com/vuejs/rfcs/pull/176:
|
461 |
|
462 | * `selector` is renamed into `el`
|
463 | * `el` also accepts an `Element`
|
464 | * `left` and `top` are passed along `el` instead of inside an object
|
465 | passed as `offset`
|
466 |
|
467 | - **scroll:** `scrollBehavior` doesn't accept an object with `x` and `y`
|
468 | coordinates anymore. Instead it accepts an object like
|
469 | [`ScrollToOptions`](https://developer.mozilla.org/en-US/docs/Web/API/ScrollToOptions)
|
470 | with `left` and `top` properties. You can now also pass the
|
471 | [`behavior`](https://developer.mozilla.org/en-US/docs/Web/API/ScrollToOptions/behavior)
|
472 | property to enable smooth scrolling in most browsers.
|
473 | - It is now necessary to escape id selectors like
|
474 | explained at https://mathiasbynens.be/notes/css-escapes. This was
|
475 | necessary to allow selectors like `#container > child`.
|
476 |
|
477 | # [4.0.0-alpha.12](https://github.com/vuejs/router/compare/v4.0.0-alpha.11...v4.0.0-alpha.12) (2020-05-19)
|
478 |
|
479 | ### Bug Fixes
|
480 |
|
481 | - **hash:** allow base with non trailing slash ([f5cc050](https://github.com/vuejs/router/commit/f5cc0505f9e0cc30ff94e362ceb24d300afd684d)), closes [#247](https://github.com/vuejs/router/issues/247)
|
482 | - prevent error on initial navigation to //invalid ([e72e4ba](https://github.com/vuejs/router/commit/e72e4ba1cc7b80aa44d3958db259d9e3a351d0fd))
|
483 |
|
484 | ### Features
|
485 |
|
486 | - **warn:** warn multiple leading slashes ([87c5e53](https://github.com/vuejs/router/commit/87c5e53b43c218c83f9db986ac7538d74525ea5b))
|
487 |
|
488 | ### BREAKING CHANGES
|
489 |
|
490 | - **hash:** When providing a base for hash histories, it is now necessary
|
491 | to include a trailing slash to create a url that starts with `/#/`, otherwise it
|
492 | will result in a url starting with `#/`. This allows users to use the routing
|
493 | system directly in simple files without needing to configure a server at all:
|
494 | - `https://example.com/file.html` + `base: 'file.html` will produce a final
|
495 | url of `https://example.com/file.html#/`
|
496 | - `https://example.com/folder` + `base: 'folder` will produce a final url of
|
497 | `https://example.com/folder#/`
|
498 | - `https://example.com/folder` + `base: 'folder/` will produce a final url of
|
499 | `https://example.com/folder/#/`
|
500 |
|
501 | # [4.0.0-alpha.11](https://github.com/vuejs/router/compare/v4.0.0-alpha.10...v4.0.0-alpha.11) (2020-05-12)
|
502 |
|
503 | ### Bug Fixes
|
504 |
|
505 | - **scroll:** change scrollRestoration if scrollBehavior is provided ([5cf2e61](https://github.com/vuejs/router/commit/5cf2e611de2477e92699121573cb162ff98a7b8d))
|
506 | - match base in a non-sensitive way ([7087bbc](https://github.com/vuejs/router/commit/7087bbc9c479f2955381d8a823a3ef8f9eed7b5a))
|
507 | - **router:** allow multiple router instance ([24d3d49](https://github.com/vuejs/router/commit/24d3d49babcdea751f4c4e7e9a87625f8744a122))
|
508 | - **router:** unique first navigation with multi app ([33172af](https://github.com/vuejs/router/commit/33172aff03b7c302699753a8abe5750094bdde26))
|
509 |
|
510 | ### Features
|
511 |
|
512 | - **types:** export NavigationGuardNext ([#229](https://github.com/vuejs/router/issues/229)) ([888bf4d](https://github.com/vuejs/router/commit/888bf4df33d718d74e5835e99d0f1ac4ce3a0ccf))
|
513 | - explicit injection symbols in dev mode ([#228](https://github.com/vuejs/router/issues/228)) ([fab88ee](https://github.com/vuejs/router/commit/fab88ee261c49b739545918deab583757aab561e))
|
514 | - support jsx and tsx for RouterLink and RouterView ([1d3dce3](https://github.com/vuejs/router/commit/1d3dce3106af700fc95a403f1c229644fe8d85b8)), closes [#226](https://github.com/vuejs/router/issues/226)
|
515 | - **router:** allow functional components for routes ([096d864](https://github.com/vuejs/router/commit/096d86498e954345c6bd4d8e82fe54c37d3f869b))
|
516 | - **scroll:** scroll to the same location like regular links ([5f22d4f](https://github.com/vuejs/router/commit/5f22d4fa39171906802cc20ada00ec57bdfce880))
|
517 | - **warn:** warn if next was called multiple times ([dce2612](https://github.com/vuejs/router/commit/dce2612e495b1d5789cd993a54d24599967a8cf4))
|
518 |
|
519 | # [4.0.0-alpha.10](https://github.com/vuejs/router/compare/v4.0.0-alpha.9...v4.0.0-alpha.10) (2020-05-05)
|
520 |
|
521 | ### Bug Fixes
|
522 |
|
523 | - **scroll:** do not restore on push ([3f79195](https://github.com/vuejs/router/commit/3f7919585117048c379b6dee8af1cc1de5996af0))
|
524 |
|
525 | ### Features
|
526 |
|
527 | - **warn:** warn invalid hash ([fcf2365](https://github.com/vuejs/router/commit/fcf2365556dffa87153c13d31a684070f123ea0e))
|
528 | - allow numbers as params ([ef0920a](https://github.com/vuejs/router/commit/ef0920a86574bca10836214015c2317ed11a29b7)), closes [#206](https://github.com/vuejs/router/issues/206)
|
529 | - **router:** allow global router classes ([388735b](https://github.com/vuejs/router/commit/388735bc752852e2a9a24f971207fd81fae45fcf))
|
530 | - **router:** go, back and forward can be awaited ([eb87757](https://github.com/vuejs/router/commit/eb87757ed189958c8c9955a10ece9306fa99f6d8))
|
531 | - **warn:** detect missing param in nested absolute paths ([f5b5949](https://github.com/vuejs/router/commit/f5b59493a4e27bf07bd5a0d2e109bc6750f6f1a9))
|
532 | - **warn:** warn for invalid path+params and redirect ([91f4de9](https://github.com/vuejs/router/commit/91f4de9aab99231fb39ed4cc5b4052979afda216))
|
533 | - **warn:** warn missing params in alias ([186e275](https://github.com/vuejs/router/commit/186e2755ec0488ff80bdde11a53b0ddc9ee9fc03))
|
534 | - **warn:** warn when params are provided alongside path ([8a8ddf1](https://github.com/vuejs/router/commit/8a8ddf1a5e5f2d29733da4fe25e4ddb447b0df30))
|
535 |
|
536 | # [4.0.0-alpha.9](https://github.com/vuejs/router/compare/v4.0.0-alpha.8...v4.0.0-alpha.9) (2020-04-29)
|
537 |
|
538 | - Removed sourcemaps from build
|
539 |
|
540 | # [4.0.0-alpha.8](https://github.com/vuejs/router/compare/v4.0.0-alpha.7...v4.0.0-alpha.8) (2020-04-29)
|
541 |
|
542 | ### Bug Fixes
|
543 |
|
544 | - default matcher options ([cea397b](https://github.com/vuejs/router/commit/cea397b7402cd27ff06013f846bf35966aff6952))
|
545 | - **guards:** preserve navigation options when redirecting ([9effd81](https://github.com/vuejs/router/commit/9effd816c51b58cb1103d878799aed6992f78454))
|
546 | - **html5:** correctly preserve current history.state ([0586394](https://github.com/vuejs/router/commit/05863948ee86e0f1c9c9ec31c02ad7af17923743)), closes [#180](https://github.com/vuejs/router/issues/180)
|
547 | - **link:** make alias of empty child active ([cfe5993](https://github.com/vuejs/router/commit/cfe5993332cc7dc94c5de2f2edb7f2e15c9b7049))
|
548 | - encode hash ([85bb7e1](https://github.com/vuejs/router/commit/85bb7e11b1a4326f5048a823ae7d49654b308cdd))
|
549 | - **link:** preserve the alias path ([fffa585](https://github.com/vuejs/router/commit/fffa58585ac89e9fb6b648e61e499a9ee3a9e217))
|
550 | - **matcher:** merge params ([d8a6b25](https://github.com/vuejs/router/commit/d8a6b2591ac2e37388fb7f4ce8c70922389cedb5)), closes [#189](https://github.com/vuejs/router/issues/189)
|
551 | - **router:** make redirect relative to target location ([e878e91](https://github.com/vuejs/router/commit/e878e91af217fde6d2e934857ce895e7abbd5920))
|
552 | - **router:** preserve navigation options with redirects ([9732758](https://github.com/vuejs/router/commit/9732758d076eef252f2940ffa44e44fa94e794a0))
|
553 | - **view:** render slot with no match ([5873296](https://github.com/vuejs/router/commit/5873296ec96df15f13b0cf02b685ebb36f4e0a41))
|
554 |
|
555 | ### Code Refactoring
|
556 |
|
557 | - Link and View renamed to RouterLink and RouterView ([030bbc4](https://github.com/vuejs/router/commit/030bbc4c3f68d29a9e9d23ee01603394427427a3))
|
558 |
|
559 | ### Features
|
560 |
|
561 | - **link:** make empty child active with adjacent children ([4b813b1](https://github.com/vuejs/router/commit/4b813b1ec387f8be9506f1400b7e83fd5794c7af))
|
562 | - **router:** add global pathOptions ([7383564](https://github.com/vuejs/router/commit/73835649f450ffc378b906c72aa5ae8a6a03feb2))
|
563 | - add navigation duplicated failure ([9570416](https://github.com/vuejs/router/commit/9570416c75f904a172af07bcf10956fe3385ec13))
|
564 | - add onBeforeRouteUpdate ([96c9503](https://github.com/vuejs/router/commit/96c95035653a52f94781808fccbf262a02a3cd79))
|
565 | - resolve relative paths ([eae833e](https://github.com/vuejs/router/commit/eae833e0fc1c8e549f2b4cd47b3dcb90484d17d5))
|
566 | - **router:** add back,forward,go ([5e927b5](https://github.com/vuejs/router/commit/5e927b5ab8a09c2941edbec7c6af145323c6d3eb))
|
567 | - **router:** add beforeResolve ([9697134](https://github.com/vuejs/router/commit/9697134c05f0f4c6fde48a773880946074e95666))
|
568 | - **scroll:** handle scroll on reload ([617f131](https://github.com/vuejs/router/commit/617f131d2473952072f345000c3d43556dfe9761))
|
569 |
|
570 | ### Performance Improvements
|
571 |
|
572 | - use index access for strings ([971fea4](https://github.com/vuejs/router/commit/971fea415fcce84ce86d8ace67b65115af3b7ac2))
|
573 |
|
574 | ### BREAKING CHANGES
|
575 |
|
576 | - exported components Link and View have been renamed to be
|
577 | include the _Router_ prefix and to have the same export name as their component
|
578 | name
|
579 |
|
580 | # [4.0.0-alpha.7](https://github.com/vuejs/router/compare/v4.0.0-alpha.6...v4.0.0-alpha.7) (2020-04-17)
|
581 |
|
582 | ### Features
|
583 |
|
584 | - add `$route` and `$router` types ([a4f80aa](https://github.com/vuejs/router/commit/a4f80aaaafb1bf29a3f4d992e8c6a2bec0f70d62))
|
585 | - add guards types ([c7ccd5a](https://github.com/vuejs/router/commit/c7ccd5a0e67d88467fc661474308fbdf55b947ec))
|
586 | - refactor navigation to comply with vuejs/rfcs[#150](https://github.com/vuejs/router/issues/150) ([290c3be](https://github.com/vuejs/router/commit/290c3be1f6cb476016f23b77d6fc49987dd84751))
|
587 |
|
588 | ### BREAKING CHANGES
|
589 |
|
590 | - This follows the RFC at https://github.com/vuejs/rfcs/pull/150
|
591 | Summary: `router.afterEach` and `router.onError` are now the global equivalent of
|
592 | `router.push`/`router.replace` as well as navigation through the interface
|
593 | (`history.go()`). A navigation only rejects if there was an unexpected error.
|
594 | A navigation failure will still resolve the promise returned by `router.push`
|
595 | and be exposed as the resolved value.
|
596 |
|
597 | # [4.0.0-alpha.6](https://github.com/vuejs/router/compare/v4.0.0-alpha.5...v4.0.0-alpha.6) (2020-04-17)
|
598 |
|
599 | ### Bug Fixes
|
600 |
|
601 | - **history:** allow base with / and base tag ([d7c71b5](https://github.com/vuejs/router/commit/d7c71b55ee4a11ecaf3a72f25eb126d118829d3f)), closes [#164](https://github.com/vuejs/router/issues/164)
|
602 | - **history:** allow hash history with no origin ([760d216](https://github.com/vuejs/router/commit/760d21672051b6338d40f2cdfdac80dc16209e13)), closes [#163](https://github.com/vuejs/router/issues/163)
|
603 | - **scroll:** only apply on browser ([cf53192](https://github.com/vuejs/router/commit/cf53192b77d619b1e43c8decda76d4083d9c17ea))
|
604 | - revert history navigation if navigation is cancelled ([d8a0d11](https://github.com/vuejs/router/commit/d8a0d117dbede9b177f06c8ebab201d12dfca0c0))
|
605 |
|
606 | ### Code Refactoring
|
607 |
|
608 | - **router:** merge createHref into resolve ([66b2db9](https://github.com/vuejs/router/commit/66b2db95b6b73433dc3abbe6c6f7f07959429d78))
|
609 |
|
610 | ### Features
|
611 |
|
612 | - add this.\$route ([92dc18d](https://github.com/vuejs/router/commit/92dc18d448ffeb57d9b3f3b303b8ec2991175eb5))
|
613 | - add this.\$router ([1807f30](https://github.com/vuejs/router/commit/1807f301053ac93db1e50991f67dcf532990d5c9))
|
614 | - **scroll:** handle scroll on popstate ([181efe9](https://github.com/vuejs/router/commit/181efe9f29a200b03e2d8f4759e7854047936824))
|
615 | - merge meta fields ([72a052f](https://github.com/vuejs/router/commit/72a052fdf4a198e3ac72779f1b7b8b80d0ac018d))
|
616 | - **guards:** support errors in navigation guards ([23ed08d](https://github.com/vuejs/router/commit/23ed08d983f308b7b118f2a235e58d29bf1994ec))
|
617 | - **router:** hasRoute ([ca02444](https://github.com/vuejs/router/commit/ca02444c91c8f6b21caf6a71dee5d0f2e3f7e51b))
|
618 |
|
619 | ### Reverts
|
620 |
|
621 | - Revert "test: only call browser.end on the last test" ([d3221f1](https://github.com/vuejs/router/commit/d3221f16978186b09531f7ea0cb5b92b20147181))
|
622 |
|
623 | ### BREAKING CHANGES
|
624 |
|
625 | - **router:** createHref is removed from the router. Instead, resolve
|
626 | returns a location object with the corresponding `href` property
|
627 |
|
628 | # [4.0.0-alpha.5](https://github.com/vuejs/router/compare/v4.0.0-alpha.4...v4.0.0-alpha.5) (2020-04-08)
|
629 |
|
630 | ### Bug Fixes
|
631 |
|
632 | - **link:** not active when matched is empty ([acd644d](https://github.com/vuejs/router/commit/acd644db70793da7719b321b2dcdd537ec358f9c))
|
633 | - check query and hash when navigating ([3862ad9](https://github.com/vuejs/router/commit/3862ad924bbc734a835577c3a3c71bc3550db29c))
|
634 | - ignore order of keys in query and params ([643bd15](https://github.com/vuejs/router/commit/643bd15ceaf9d6314434b15b169171b599b58e1c))
|
635 | - skip initial guards with static redirect ([c76bb93](https://github.com/vuejs/router/commit/c76bb938a2c9a1790be98b6ce44ccd153a342141))
|
636 | - **types:** add missing exported types ([ec241f7](https://github.com/vuejs/router/commit/ec241f7a93107815d9ffd25d36cbf00b47cb7318)), closes [#147](https://github.com/vuejs/router/issues/147)
|
637 |
|
638 | ### Features
|
639 |
|
640 | - allow symbols as route record name ([f42ab3f](https://github.com/vuejs/router/commit/f42ab3fecfaecddcef0ccf8bb0f7f44ca24d6160))
|
641 | - **link:** activeClass and exactActiveClass props ([d53b383](https://github.com/vuejs/router/commit/d53b3832b50131cb83b8c567015780e60addb6c8))
|
642 | - **link:** allow `custom` prop ([874510b](https://github.com/vuejs/router/commit/874510be69c3b068970e8a90ae251cf487d6acf9))
|
643 |
|
644 | ### BREAKING CHANGES
|
645 |
|
646 | - Renamed types by removing suffix Normalized and using Raw instead
|
647 | - `RouteLocation` -> `RouteLocationRaw`
|
648 | - `RouteLocationNormalized` -> `RouteLocation`
|
649 | - `RouteLocationNormalized` is now a location that can be displayed (not a static redirect)
|
650 | - `RouteLocationNormalizedResolved` -> `RouteLocationNormalizedLoaded`
|
651 | - `RouteRecord` -> `RouteRecordRaw`
|
652 | - `RouteRecordNormalized` -> `RouteRecord`
|
653 | - `RouteRecordNormalized` is now a record that is not a static redirect
|
654 |
|
655 | # [4.0.0-alpha.4](https://github.com/vuejs/router/compare/v4.0.0-alpha.3...v4.0.0-alpha.4) (2020-03-28)
|
656 |
|
657 | ### Bug Fixes
|
658 |
|
659 | - **history:** use current history state when replacing ([5d80209](https://github.com/vuejs/router/commit/5d802094923851102557bfb2583835cc135e16b8))
|
660 | - export more types ([1583d48](https://github.com/vuejs/router/commit/1583d480fff2da1caa35c2dd7892c36b57dad734)), closes [#137](https://github.com/vuejs/router/issues/137)
|
661 | - **guards:** free instances only if navigation is confirmed ([d0514e1](https://github.com/vuejs/router/commit/d0514e192839c54c4181f80286602e9d37459f4d))
|
662 | - **hash:** fix base position for hash routing ([ba40b8f](https://github.com/vuejs/router/commit/ba40b8f0cf2d6d85533e0e7e7daaadd088298f19))
|
663 | - initial location with base ([d05208b](https://github.com/vuejs/router/commit/d05208b6c9457931bda8205ba6d9f1d5e39a54c7))
|
664 | - **router:** prevent duplicated navigation on aliases ([e825586](https://github.com/vuejs/router/commit/e82558684c0b6b688065032df65604b2c245d395))
|
665 |
|
666 | ### Features
|
667 |
|
668 | - allow passing state to history ([ac1c96f](https://github.com/vuejs/router/commit/ac1c96f176dcad8aac03a86a1dccfbaab4b66520))
|
669 | - improve route access ([baf266c](https://github.com/vuejs/router/commit/baf266cd1bd6cafd32d244f185e340bee10af32c))
|
670 | - **history:** expose state on html5 ([3f83607](https://github.com/vuejs/router/commit/3f83607c8798960f49cdb5eed8fdfe8adc52fabf))
|
671 | - **matcher:** remove aliases alongside the original record ([26b71b2](https://github.com/vuejs/router/commit/26b71b285b743ab8af94b9297fa7037872ae0de6))
|
672 | - **router:** support custom parseQuery and stringifyQuery ([#136](https://github.com/vuejs/router/issues/136)) ([5dce7bc](https://github.com/vuejs/router/commit/5dce7bcbfbb4a80bd1edbe061a250fa646f2afd7))
|
673 | - **view:** add props option as boolean ([7fe1e7d](https://github.com/vuejs/router/commit/7fe1e7dc7406bddd0924bf7f01709b9113582472))
|
674 | - **view:** allow passing props as a function ([494fc5e](https://github.com/vuejs/router/commit/494fc5efb6add93c68ed467bb9a8dc7b3b149fff))
|
675 | - **view:** useView to customize router-view ([06b0c34](https://github.com/vuejs/router/commit/06b0c34ee5018aa9d76c0bfcd32ff2c12cd94277))
|
676 | - allow true in `next` ([d76c6aa](https://github.com/vuejs/router/commit/d76c6aae115110e2d9c4c072748bd9403080c8bd))
|
677 | - invoke guards with the right context ([7053413](https://github.com/vuejs/router/commit/7053413c93bc715d5c2179378367dc12f60a118d))
|
678 | - lazy loading ([6ecdc70](https://github.com/vuejs/router/commit/6ecdc70baa6361b8614368196ff2652560b6a0ba))
|
679 | - **view:** allow props as object in record ([fd4dc06](https://github.com/vuejs/router/commit/fd4dc0630bdf856f972ed6e9020b70a70ac582b4))
|
680 |
|
681 | ### BREAKING CHANGES
|
682 |
|
683 | - `useRoute` now retrieves a reactive RouteLocationNormalized instead of a Ref<RouteLocationNormalized>.
|
684 | This means there is no need to use `.value` when accessing the route. You still need to wrap it with `toRefs` if you want to expose parts of the route:
|
685 | ```js
|
686 | setup () {
|
687 | return { params: toRefs(useRoute()).params }
|
688 | }
|
689 | ```
|
690 |
|
691 | # [4.0.0-alpha.3](https://github.com/vuejs/router/compare/v4.0.0-alpha.2...v4.0.0-alpha.3) (2020-03-14)
|
692 |
|
693 | ### Bug Fixes
|
694 |
|
695 | - add missing type definitions
|
696 |
|
697 | # [4.0.0-alpha.2](https://github.com/vuejs/router/compare/v4.0.0-alpha.1...v4.0.0-alpha.2) (2020-03-14)
|
698 |
|
699 | ### Bug Fixes
|
700 |
|
701 | - **history:** correct url when replacing current location ([704b45e](https://github.com/vuejs/router/commit/704b45ea52b10099a765c93ced37d03393a72d17))
|
702 | - **link:** allow attrs to override behavior ([4cae9db](https://github.com/vuejs/router/commit/4cae9dbede993a79577691e1df4444a8fe5ca3a0))
|
703 | - **link:** allow custom classes ([#134](https://github.com/vuejs/router/issues/134)) ([392c295](https://github.com/vuejs/router/commit/392c295552e5b7dbe1d494c1c3168571e3339153)), closes [#133](https://github.com/vuejs/router/issues/133)
|
704 | - **link:** navigate to the alias path ([3284110](https://github.com/vuejs/router/commit/328411079e1aa8a5dc3903ae76a55d634946d9fd))
|
705 | - **link:** non active repeatable params ([0ccbc1e](https://github.com/vuejs/router/commit/0ccbc1e9af07a30a149ab14c007f63cbc35a8126))
|
706 |
|
707 | ### Features
|
708 |
|
709 | - add aliasOf to normalized records ([d9f3174](https://github.com/vuejs/router/commit/d9f31748802c39572254691108b0667cfd40e911))
|
710 | - handle active/exact in Link ([6f49dce](https://github.com/vuejs/router/commit/6f49dcea35a63785ae08d08787913ab8391cae67))
|
711 | - **matcher:** link aliases to their original record ([e9eb648](https://github.com/vuejs/router/commit/e9eb6481e21de61080a96f66fbd8640157d0fd27))
|
712 |
|
713 | # [4.0.0-alpha.1](https://github.com/vuejs/router/compare/v4.0.0-alpha.0...v4.0.0-alpha.1) (2020-02-26)
|
714 |
|
715 | ### Code Refactoring
|
716 |
|
717 | - rename createHistory and createHashHistory ([7dbebb6](https://github.com/vuejs/router/commit/7dbebb6e2d75ab4aa77019712f2ed251ad62464f))
|
718 |
|
719 | ### Features
|
720 |
|
721 | - add dynamic routing at router level ([a7943c6](https://github.com/vuejs/router/commit/a7943c64383bced7ff90ae92c0498827acdb71f6))
|
722 |
|
723 | ### BREAKING CHANGES
|
724 |
|
725 | - `createHistory` is now named `createWebHistory`.
|
726 | `createHashHistory` is now named `createWebHashHistory`.
|
727 |
|
728 | Both createHistory and createHashHistory are renamed to
|
729 | better reflect that they must be used in a browser environment while
|
730 | createMemoryHistory doesn't.
|
731 |
|
732 | # [4.0.0-alpha.0](https://github.com/vuejs/router/compare/v0.0.11...v4.0.0-alpha.0) (2020-02-26)
|
733 |
|
734 | ## Known issues
|
735 |
|
736 | ### Breaking changes compared to vue-router@3.x
|
737 |
|
738 | - `mode: 'history'` -> `history: createHistory()`
|
739 | - Catch all routes (`/*`) must now be defined using a parameter with a custom regex: `/:catchAll(.*)`
|
740 |
|
741 | ### Missing features
|
742 |
|
743 | - `keep-alive` is not yet supported
|
744 | - Partial support of per-component navigation guards. No `beforeRouteEnter` yet
|
745 |
|
\ | No newline at end of file |