opening_hours 3.9.0 → 3.10.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,592 @@
1
+ <!--
2
+ SPDX-FileCopyrightText: © 2016 Robin Schneider <ypid@riseup.net>
3
+
4
+ SPDX-License-Identifier: LGPL-3.0-only
5
+ -->
6
+
7
+ # Changelog
8
+
9
+ All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
10
+
11
+ ## [3.10.0-rc.1](https://github.com/opening-hours/opening_hours.js/compare/v3.10.0-rc.0...v3.10.0-rc.1) (2025-12-21)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * include opening_hours.js that is referenced as main in package.json ([bde66e9](https://github.com/opening-hours/opening_hours.js/commit/bde66e9b649dddd158092e4acd20b42e915f1cfe))
17
+
18
+ ## [3.10.0-rc.0](https://github.com/opening-hours/opening_hours.js/compare/v3.9.0...v3.10.0-rc.0) (2025-12-21)
19
+
20
+
21
+ ### Features
22
+
23
+ * Add 24/12 as holiday in pl ([1a979cf](https://github.com/opening-hours/opening_hours.js/commit/1a979cf857b9b67cf432fa2a2f6d26240e175c9c))
24
+ * add script to update German shool holidays ([d9113ff](https://github.com/opening-hours/opening_hours.js/commit/d9113ffe129af8e733089689e41900ca69c3dc6e))
25
+ * **build:** add ESM build to npm package ([79428b4](https://github.com/opening-hours/opening_hours.js/commit/79428b4d9b38fd389547e4d06f32deb6364a00e2))
26
+ * **DE:** update Frauentag states to include Mecklenburg-Vorpommern ([66e71c5](https://github.com/opening-hours/opening_hours.js/commit/66e71c5ffc31e6625c469acc4367a5346a61ca37))
27
+
28
+
29
+ ### Bug Fixes
30
+
31
+ * add missing `country_code` to `xa.yaml` ([e869d1f](https://github.com/opening-hours/opening_hours.js/commit/e869d1fd8c9a932fd1222df0e637449569afd653))
32
+ * handle markdown issues found by new linter plugin ([12a4e61](https://github.com/opening-hours/opening_hours.js/commit/12a4e61276599ca2e1e9b8d981c36bea863763a0))
33
+ * localize expected test strings for German locale ([3f63c97](https://github.com/opening-hours/opening_hours.js/commit/3f63c9758ec74117688ebf545c44bb20852c00a0))
34
+ * resume periodic week schedules mid-range ([84a4e23](https://github.com/opening-hours/opening_hours.js/commit/84a4e23d23ebc0609eff240452b658f04057e46c)), closes [#524](https://github.com/opening-hours/opening_hours.js/issues/524)
35
+ * **test:** correct two `sunrise` test expectations to match SunCalc output ([c0309cf](https://github.com/opening-hours/opening_hours.js/commit/c0309cfbcd2013ab4b78ccd1fb27fc738e9fdd5c))
36
+ * update `package-json-validator` command to use `pjv.js` ([fede2d4](https://github.com/opening-hours/opening_hours.js/commit/fede2d4e82ae2901453d365df2c464955e6acf5d))
37
+ * update script paths and use python for regex search execution ([d12eab6](https://github.com/opening-hours/opening_hours.js/commit/d12eab6ffa3ad4bbbfc590899bf5b220063cd0cc))
38
+ * update syntax in `regex_search.py` ([6fe31e5](https://github.com/opening-hours/opening_hours.js/commit/6fe31e5016ed065c65f26a2d48b5dcbd4b47299a))
39
+ * use full date comparison for constrained weekday matching ([e1a91cd](https://github.com/opening-hours/opening_hours.js/commit/e1a91cd3517e27ae088fabe9da4093779aa8f3b2))
40
+
41
+ ## Changelog of v3.9.0 and below
42
+
43
+ For v3.9.0 and below, the changelog was written manually. The project adhered
44
+ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) and
45
+ [human-readable changelog](https://keepachangelog.com/en/0.3.0/).
46
+
47
+ Note that most of the v2.X.Z releases have not been added to the changelog yet.
48
+
49
+ ## Authors
50
+
51
+ - [AMDmi3] - Dmitry Marakasov (original author)
52
+ - [ypid] - Robin Schneider (author, maintainer)
53
+
54
+ ## Contributors
55
+
56
+ - [putnik] - Sergey Leschina
57
+ - [Cactusbone] - Charly Koza
58
+ - [don-vip] - Vincent Privat
59
+ - [sesam] - Simon B.
60
+ - [NonnEmilia]
61
+ - [damjang]
62
+ - [jgpacker] - João G. Packer
63
+ - [openfirmware] - James Badger
64
+ - [burrbull] - Zgarbul Andrey
65
+ - [blorger] - Blaž Lorger
66
+ - [dmromanov] - Dmitrii Romanov
67
+ - [maxerickson]
68
+ - [amenk] - Alexander Menk
69
+ - [edqd]
70
+ - [simon04] - Simon Legner
71
+ - [MKnight] - Michael Knight
72
+ - [elgaard] - Niels Elgaard Larsen
73
+ - [afita] - Adrian Fita
74
+ - [sanderd17]
75
+ - [marcgemis]
76
+ - [drMerry]
77
+ - [endro]
78
+ - [rmikke] - Ryszard Mikke
79
+ - [VorpalBlade] - Arvid Norlander
80
+ - [mmn] - Mikael Nordfeldth
81
+ - [adrianojbr]
82
+ - [AndreasTUHU]
83
+ - [mkyral] - Marián Kyral
84
+ - [pke] - Philipp Kursawe
85
+ - [spawn-guy] - Paul Rysiavets
86
+ - [bugvillage]
87
+ - [ItsNotYou]
88
+ - [chiak597]
89
+ - [skifans] - Alex
90
+ - [shouze] - Sébastien HOUZÉ
91
+ - [Gazer75]
92
+ - [yourock17]
93
+ - [urbalazs] - Balázs Úr
94
+ - [HolgerJeromin] - Holger Jeromin
95
+ - [Gerw88]
96
+ - [sommerluk] - Lukas Sommer
97
+ - [Discostu36] - Michael
98
+ - [debyos] - Gábor Babos
99
+ - [StephanGeorg] - Stephan Georg
100
+ - [hariskar] - Haris K
101
+ - [Virtakuono] - Juho Häppölä
102
+ - [blef00fr]
103
+ - [mstock] - Manfred Stock
104
+ - [emilsivro]
105
+ - [simonpoole] - Simon Poole
106
+ - [jmontane] - Joan Montané
107
+ - [Mortein] - Kiel Hurley
108
+ - [stefanct] - Stefan Tauner
109
+ - [KristjanESPERANTO] - Kristjan
110
+ - [Robot8A] - Héctor Ochoa Ortiz
111
+ - [pietervdvn] - Pieter Vander Vennet
112
+ - [napei] - Nathaniel Peiffer
113
+ - [fodor0205]
114
+ - [goodudetheboy] - Vuong Ho
115
+ - [MerlinPerrotLegler] - Merlin Perrot
116
+
117
+ Thanks very much to all contributors!
118
+
119
+ ### Supporters
120
+
121
+ - [iMi digital]
122
+ - [AddisMap]
123
+
124
+ Thanks for helping by allowing employees to work on the project during
125
+ work hours!
126
+
127
+ ## [v3.9.0](https://github.com/opening-hours/opening_hours.js/compare/v3.8.0...v3.9.0) - 2025-05-31
128
+
129
+ [v3.9.0 milestone](https://github.com/opening-hours/opening_hours.js/issues?q=milestone%3Av3.9.0+is%3Aclosed)
130
+
131
+ ### Added
132
+
133
+ - Public holiday definitions added:
134
+ - Chinese (#406)
135
+ - Croatian
136
+ - Luxembourg (#460)
137
+ - Namibian (#452)
138
+ - School holiday definitions added:
139
+ - Croatian
140
+ - France
141
+ - Luxembourg (#460)
142
+
143
+ ### Changed
144
+
145
+ - Public holiday definitions updated:
146
+ - Argentina (#456)
147
+ - Swedish and Finnish (#465)
148
+ - School holiday definitions updated:
149
+ - Belgium (#457)
150
+ - German (#468)
151
+ - Hungarian (#466)
152
+ - Evaluation tool: Optimize "Error and warning messages" layout
153
+ - chore: Update CI in `ci.yml` (#468)
154
+ - Replace deprecated `set-output`
155
+ - Test with maintained node versions
156
+ - Update actions
157
+ - chore: Upgrade `colors`, `husky` and `eslint` (#468)
158
+ - chore: Update dependencies (#468)
159
+ - chore: Move minification into rollup and remove `esbuild` (#468)
160
+ - chore: Also build sourcemap to minified files (#468)
161
+ - chore: Add code-style-check to CI (#468)
162
+ - chore: Change benchmark script to esm (#468)
163
+ - ci: switch to LTS Node.js version for code style check in workflow (#488)
164
+ - ci: update supported Node.js versions in CI workflow (#488)
165
+
166
+ ### Fixed
167
+
168
+ - JOSM remote control was not working because it was trying to be accessed as <https://localhost:8111/>. Switch to HTTP.
169
+ - Evaluation tool: Fix timebar wrap on certain zoom levels in Firefox (issue \#419)
170
+ - Evaluation tool: Fix Russian and Ukrainian pluralization by updating `i18next` and using API version V4 (#468)
171
+ - chore: Drop `yamlToJson.mjs` (#468) - There are better tools like <https://mikefarah.gitbook.io/yq> that do this. No need to maintain our own.
172
+ - chore: Fix `make list` (#468)
173
+
174
+ ## [v3.8.0](https://github.com/opening-hours/opening_hours.js/compare/v3.7.0...v3.8.0) - 2022-05-18
175
+
176
+ ### Added
177
+
178
+ - Public holiday definitions added:
179
+ - Argentina - Japanese
180
+ - Localizations added:
181
+ - Vietnamese
182
+ - Japanese
183
+
184
+ ### Changed
185
+
186
+ - School holiday definitions updated:
187
+ - Romania
188
+ - France
189
+
190
+ ### Fixed
191
+
192
+ - Typing for typescript
193
+
194
+ ## [v3.7.0](https://github.com/opening-hours/opening_hours.js/compare/v3.6.0...v3.7.0) - 2021-07-24
195
+
196
+ [v3.7.0 milestone](https://github.com/opening-hours/opening_hours.js/issues?q=milestone%3Av3.7.0+is%3Aclosed)
197
+
198
+ ### Added
199
+
200
+ - Typing for typescript \[[MerlinPerrotLegler]]
201
+
202
+ ## [v3.6.0](https://github.com/opening-hours/opening_hours.js/compare/v3.5.0...v3.6.0) - 2021-04-24
203
+
204
+ [v3.6.0 milestone](https://github.com/opening-hours/opening_hours.js/issues?q=milestone%3Av3.6.0+is%3Aclosed)
205
+
206
+ ### Added
207
+
208
+ - Public holiday definitions added:
209
+ - Australia \[[yourock17], [ypid]]
210
+ - England and Wales \[[skifans], [simon04]]
211
+ - Finland \[[Virtakuono]]
212
+ - Greece \[[hariskar]]
213
+ - Ireland \[[Gerw88], [ypid]]
214
+ - Ivory Coast \[[sommerluk], [ypid]]
215
+ - New Zealand \[[Mortein]]
216
+ - Norway \[[Gazer75]]
217
+ - Spain \[[jmontane]]
218
+ - Switzerland \[[mstock], [emilsivro], [simonpoole], [ypid]]
219
+ - Vietnam \[[goodudetheboy]]
220
+ - School holiday definitions added:
221
+ - Austria \[[simon04]]
222
+ - Belgium \[[pietervdvn]]
223
+ - France \[[blef00fr], [ypid]]
224
+ - Germany 2017 until 2024 \[[ypid], [KristjanESPERANTO]]
225
+ - Greece \[[hariskar], [ypid]]
226
+ - Added Easter Sunday to Slovak holidays. \[[chiak597]]
227
+ - Localizations added:
228
+ - Hungarian \[[urbalazs], [debyos]]
229
+ - Spanish \[[Robot8A], [ypid]]
230
+ - Translate error tolerance warnings into German. \[[ypid]]
231
+ - Add +/-1 week button to evaluation tool. \[[stefanct]]
232
+ - Add additional warnings:
233
+ - Misused `.` character. Example: `Jan 01,Dec 24.-25.`. \[[ypid]]
234
+ - Trailing `,` after time selector. Example: `We 12:00-18:00,`. \[[ypid]]
235
+ - Additional rule which evaluates to closed. Example: `Mo-Fr 10:00-20:00, We off`. \[[ypid]]
236
+ - Value consists of multiple rules each only using a time selector. Example: `11:30-14:30;17:30-23:00`. \[[ypid]]
237
+ - Potentially missing use of `<additional_rule_separator>` if the previous rule has a time range which wraps over midnight and the current rule matches one of the following days of the previous rule. One that the warning is not emitted in case wide range selectors are used in both involved rules to avoid a false positive warning where the two rules would never match days directly following each other. Nevertheless this check has false positives and which can be ignored in cases mentioned in the warning. Example: `Fr 22:00-04:00; Sa 21:00-04:00` \[[ypid]]
238
+ - Extend error tolerance:
239
+ - Handle super/subscript digits properly. Example: `Mo 00³°-¹⁴:⁰⁹`. \[[ypid]]
240
+ - Handle misused `.` character following a number. Example: `Jan 01,Dec 24.-25.`. \[[ypid]]
241
+
242
+ ### Changed
243
+
244
+ - Public holiday definitions updated:
245
+ - Germany \[[StephanGeorg]]
246
+ - Migrated to use [ES2015 modules](https://exploringjs.com/es6/ch_modules.html) and [rollup](https://rollupjs.org/) for module bundling. \[[simon04]]
247
+ - Increased NodeJS version requirement to `10.0.0`. \[[ypid]]
248
+ - Update to holiday definition format 2.2.0. Holidays are now maintained in YAML files, one for each country. \[[ypid]]
249
+ - Update to holiday definition format 3.0.0. Use nested key-value pairs instead of arrays with a known structure. \[[ypid]]
250
+ - Rework the way Nominatim responses are handled (used for testing). \[[ypid]]
251
+ - Allow "gaps" in school holiday definitions. This became necessary because countries/states might add/remove holidays like winter holidays from one year to another. \[[ypid]]
252
+ - Error tolerance: For a value such as `Mo-Fr 08:00-12:00 by_appointment` the tool did previously suggest to use `Mo-Fr 08:00-12:00 "on appointment"` but as whether to use `by appointment` or `on appointment` is not defined the tool now just uses the already given variant (`Mo-Fr 08:00-12:00 "by appointment"` in this case). \[[ypid]]
253
+ - Error tolerance: Interpret the German `werktags?` as `Mo-Sa` instead of `Mo-Fr`. Ref: [§ 3 Bundesurlaubsgesetz (BUrlG)](https://www.gesetze-im-internet.de/burlg/__3.html). \[[ypid]]
254
+ - Make error tolerance warnings translatable. \[[ypid]]
255
+ - Improved performance of common constructor calls by factor 6! \[[ypid]]
256
+ - Improve number input in the evaluation tool and other HTML and CSS improvements. Useful for example on mobile devices. \[[HolgerJeromin], [ypid]]
257
+ - Change from localized dates to ISO 8601 in evaluation tool. The syntax has no support for legacy stuff like AM/PM or weirdly written dates anyway. Commit to ISO 8601 all the way regardless of local quirks. \[[ypid]]
258
+ - Merge country into state holidays. This avoids repeating country-wide holidays. \[[simon04]]
259
+ - Update simple HTML usage example for using the library in a website. [[KristjanESPERANTO], [ypid]\]
260
+ - Replaced moment.js with Date.toLocaleString \[[simon04]]
261
+ - Change directory layout of the project. \[[napei], [ypid]]
262
+ - Switch from i18next-client to i18next dependency (no longer as peer dependency). \[[fodor0205], [ypid]]
263
+
264
+ ### Fixed
265
+
266
+ - Fix German public holiday definitions. Since 2018, Reformationstag is also a public holiday in Bremen, Schleswig-Holstein, Niedersachsen and Hamburg. \[[Discostu36], [ypid]]
267
+ - Fix Russian public holiday definitions. Regions where not in local language and thus not matched properly. \[[ypid]]
268
+ - Fix school holiday selector code which caused the main selector traversal function to not advance any further (returning closed for all following dates) after the school holiday selector code hit a holiday definition ending on the last day of the year. \[[ypid]]
269
+ - Fix `check-diff-%.js` Makefile target. `git diff` might not have shown changes or failed to return with an error before. \[[ypid]]
270
+ - Fix support for legacy browsers (IE) with using proper for...in loops. \[[shouze]]
271
+ - Error tolerance: Fix mapping of Spanish weekdays. \[[maxerickson]]
272
+ - Do not zero pad `positive_number` symbols by default in `oh.prettifyValue`. \[[ypid]]
273
+
274
+ ## [v3.5.0](https://github.com/opening-hours/opening_hours.js/compare/v3.4.0...v3.5.0) - 2017-02-17
275
+
276
+ [v3.5.0 milestone](https://github.com/opening-hours/opening_hours.js/issues?q=milestone%3Av3.5.0+is%3Aclosed)
277
+
278
+ ### Added
279
+
280
+ - Public holiday definitions added:
281
+ - Brazil \[[adrianojbr]]
282
+ - Sweden \[[VorpalBlade], [mmn], [ypid]]
283
+ - Poland \[[endro], [rmikke]]
284
+ - Czech \[[mkyral]]
285
+ - Hungary \[[AndreasTUHU]]
286
+ - Slovakia \[[chiak597]]
287
+ - School holiday definitions added: Hungary \[[AndreasTUHU]]
288
+ - Changelog file. \[[ypid]]
289
+ - Holidays definition documentation 2.1.0. \[[ypid]]
290
+ - AMD with RequireJS. \[[ItsNotYou]]
291
+ - Test the package on Travis CI against a version matrix (refer to `.travis.yml` for details). \[[ypid]]
292
+
293
+ ### Changed
294
+
295
+ - Make the evaluation tool prettier. \[[MKnight]]
296
+ - Use `peerDependencies` to allow dependency reuse by other npm packages. \[[pke], [ypid]]
297
+ - Use caret ranges for all npm dependencies. \[[ypid], [pke]]
298
+ - Increased NodeJS version requirement to `0.12.3` which fixes one test case. \[[ypid]]
299
+
300
+ ### Fixed
301
+
302
+ - Public holiday definitions fixed:
303
+ - Germany, Saxony: Add missing "Buß- und Bettag" to the public holiday definition of \[[bugvillage], [ypid]]
304
+ - Fix the `getDateOfWeekdayInDateRange` helper function used to calculate PH of Sweden and Germany Saxony. PH definitions using this functions might have been wrong before. \[[ypid]]
305
+ - Fix timezone problem in `PH_SH_exporter.js` (local time was interpreted as UTC). \[[ypid]]
306
+ - Fix handling of legacy 12-hour clock format. `12:xxAM` and `12:xxPM` was handled incorrectly! \[[ypid]]
307
+ - Fix timezone issue for `PH_SH_exporter.js` unless the `--omit-date-hyphens` option was given. Exported dates which are in DST might be wrong when your system is in a timezone with DST and DST was not active when you run the script. \[[ypid]]
308
+ - Fix current week number calculation which was caused by incorrect use of `new Date()` which is a "Reactive" variable. \[[spawn-guy]]
309
+
310
+ ## [v3.4.0](https://github.com/opening-hours/opening_hours.js/compare/v3.3.0...v3.4.0) - 2016-01-02
311
+
312
+ [v3.4.0 milestone](https://github.com/opening-hours/opening_hours.js/issues?q=milestone%3Av3.4.0+is%3Aclosed)
313
+
314
+ ### Added
315
+
316
+ - Public holiday definitions added:
317
+ - Danish \[[elgaard]]
318
+ - Denmark \[[elgaard]]
319
+ - Belgium \[[sanderd17], [marcgemis]]
320
+ - Romania \[[afita]]
321
+ - Netherlands \[[drMerry]]
322
+ - School holiday definitions added: Romania \[[afita]]
323
+ - Localizations added: Dutch \[[marcgemis]]
324
+ - Added simple HTML usage example for using the library in a website. \[[ypid]]
325
+ - Browserified the library. \[[simon04]]
326
+ - `oh.isEqualTo`: Implemented check if two oh objects have the same meaning (are equal). \[[ypid]]
327
+ - Expose `oh.isEqualTo` in the evaluation tool. \[[ypid]]
328
+
329
+ ### Changed
330
+
331
+ - Changed license to LGPL-3.0-only. \[[ypid]]
332
+ - Refer to YoHours in the evaluation tool. \[[ypid]]
333
+ - Use HTTPS everywhere (in the documentation and in code comments). \[[ypid]]
334
+
335
+ ### Fixed
336
+
337
+ - Lots of small bugs and typos fixes. \[[ypid]]
338
+ - No global locale change. \[[ypid]]
339
+
340
+ ## [v3.3.0](https://github.com/opening-hours/opening_hours.js/compare/v3.2.0...v3.3.0) - 2015-08-02
341
+
342
+ [v3.3.0 milestone](https://github.com/opening-hours/opening_hours.js/issues?q=milestone%3Av3.3.0+is%3Aclosed)
343
+
344
+ ### Added
345
+
346
+ - Public holiday definitions added: Czech Republic \[[edqd]]
347
+ - Support for localized error and warning messages. \[[amenk] funded by [iMi digital] and [AddisMap]]
348
+ - Support to localize oh.prettifyValue opening_hours value. \[[amenk] funded by [iMi digital] and [AddisMap]]
349
+ - Wrote SH_batch_exporter.sh and added support to write (SH) definitions for all states in Germany. \[[ypid]]
350
+ - Added more tests to the test framework. \[[ypid]]
351
+
352
+ ### Changed
353
+
354
+ - Updated translation modules to latest versions.
355
+
356
+ ### Fixed
357
+
358
+ - Fixed false positive warning for missing PH for value 'PH'.
359
+ - Fixed evaluation of SH after year wrap (of by one).
360
+
361
+ ## [v3.2.0](https://github.com/opening-hours/opening_hours.js/compare/v3.1.1...v3.2) - 2015-05-16
362
+
363
+ [v3.2.0 milestone](https://github.com/opening-hours/opening_hours.js/issues?q=milestone%3Av3.2+is%3Aclosed)
364
+
365
+ ### Added
366
+
367
+ - Show warning for missing PH. Required API extension (fully backwards compatible, upgrade recommended).
368
+ - Show warning for year in past, not year range.
369
+ - Added more error checking and tests for: Wrong constructor call, e.g bad parameters.
370
+ - Added more tests to the test framework.
371
+
372
+ ### Changed
373
+
374
+ - Improved input/error tolerance.
375
+ - Refactored source code.
376
+ - Updated examples in evaluation tool.
377
+ - Statistics: Optimized Overpass import.
378
+ - Statistics: Fixed wrong stats for 'not prettified'.
379
+ - Statistics: real_test.js: Implemented punchcard weekly report generation. See [blog post](https://www.openstreetmap.org/user/ypid/diary/34881).
380
+ - Statistics: Wrote `gen_weekly_task_report`.
381
+
382
+ ## [v3.1.1](https://github.com/opening-hours/opening_hours.js/compare/v3.1.0...v3.1.1) - 2015-04-12
383
+
384
+ [v3.1.1 milestone](https://github.com/opening-hours/opening_hours.js/issues?q=milestone%3Av3.1.1+is%3Aclosed)
385
+
386
+ ### Added
387
+
388
+ - Public holiday definitions added: Italian \[[damjang], [ypid]]
389
+ - Added support to use data from the Overpass API to generate statistics.
390
+
391
+ ### Changed
392
+
393
+ - Give better error message for wrong usage of `<additional_rule_separator>`.
394
+ - Always use strict `===` comparison in JavaScript.
395
+
396
+ ## [v3.1.0](https://github.com/opening-hours/opening_hours.js/compare/v3.0.2...v3.1.0) - 2015-02-15
397
+
398
+ [v3.1.0 milestone](https://github.com/opening-hours/opening_hours.js/issues?q=milestone%3Av3.1.0+is%3Aclosed)
399
+
400
+ ### Added
401
+
402
+ - Public holiday definitions added:
403
+ - USA and python script for testing the holiday JSON (ref: [us_holidays](https://github.com/maxerickson/us_holidays)) \[[maxerickson]]
404
+
405
+ ### Fixed
406
+
407
+ - Public holiday definitions fixed: France
408
+
409
+ ## [v3.0.2](https://github.com/opening-hours/opening_hours.js/compare/v3.0.1...v3.0.2) - 2015-01-24
410
+
411
+ ### Added
412
+
413
+ - Added `make release` target.
414
+
415
+ ### Changed
416
+
417
+ - package.json: Narrowed down version of dependencies.
418
+ - Enhanced Makefile.
419
+ - Updated README.md
420
+
421
+ ## [v3.0.1](https://github.com/opening-hours/opening_hours.js/compare/v3.0.0...v3.0.1) - 2015-01-24
422
+
423
+ [v3.0.1 milestone](https://github.com/opening-hours/opening_hours.js/issues?q=milestone%3Av3.0.1+is%3Aclosed)
424
+
425
+ ### Added
426
+
427
+ - Public holiday definitions added: Russian \[[dmromanov]]
428
+ - Improved error tolerance for values `bis open end` and `Sonn- und Feiertags`.
429
+ - real_test.js: Added the following OSM tags to the evaluation: - Key:happy_hours - Key:delivery_hours - Key:opening_hours:delivery
430
+ - Evaluation tool: Added `noscript` tag to give a hint to the user to enable JavaScript.
431
+
432
+ ### Fixed
433
+
434
+ - Fixed up README.md.
435
+ - Fixed error when parsing input value `SH off; Mo-Sa 18:00+`.
436
+ - Require 2.7.x of the moment library because of API change in recent versions.
437
+
438
+ ## [v3.0.0](https://github.com/opening-hours/opening_hours.js/compare/v2.1.9...v3.0.0) - 2014-09-08
439
+
440
+ [v3.0.0 milestone](https://github.com/opening-hours/opening_hours.js/issues?q=milestone%3Av3.0.0+is%3Aclosed)
441
+
442
+ ### Added
443
+
444
+ - Release notes.
445
+ - `oh.prettifyValue`: Implemented selector reordering.
446
+ - `oh.prettifyValue`: Changed API for optional parameters. API is backwards compatible in case you are not using any of the optional parameters.
447
+ - Evaluation tool: Highlight selectors and other tokens and give more information.
448
+ - real_test.js: Write verbose log file for all values and states.
449
+ - real_test.js: Added tag filter command line parameter and csv stats output.
450
+ - Created favicon.
451
+ - Bundle (and test) minified version as `opening_hours.min.js`.
452
+ - More unit tests:
453
+ - Rule has no time selector.
454
+ - Changed default state not first rule like `Mo 12:00-14:00; closed`.
455
+ - Valid use of `<separator_for_readability>`.
456
+ - And more.
457
+
458
+ ### Changed
459
+
460
+ - `oh.getMatchingRule`: Changed API. Not backwards compatible.
461
+ - Week selector rework. Using ISO 8601 week dates.
462
+ - Made second rule of '07:00+,12:00-16:00; 16:00-24:00 closed "needed because of open end"' obsolete.
463
+ - Improved error tolerance.
464
+ - real_test.js: Enhanced implementation.
465
+
466
+ ### Fixed
467
+
468
+ - Fixed evaluation for some (not to often used) values.
469
+ - Optimized source code with JSHint. Some internal variables where defined in global scope.
470
+ - Removed duplicate warnings for `test.addShouldWarn` in test framework.
471
+
472
+ ## [v2.1.9](https://github.com/opening-hours/opening_hours.js/compare/v2.1.8...v2.1.9) - 2014-08-17
473
+
474
+ ### Added
475
+
476
+ - Many more unit tests.
477
+ - Internal tokens array documentation.
478
+ - Using moment.js for date localization.
479
+
480
+ ### Changed
481
+
482
+ - Many improve error tolerance: comments, am/pm time format, …
483
+ - Updated examples in the evaluation tool.
484
+ - Internal refactoring and enhancements.
485
+
486
+ ### Fixed
487
+
488
+ - Fixed problems reported by `real_test`
489
+ - Fixed bug in test framework.
490
+
491
+ ## [v2.1.8](https://github.com/opening-hours/opening_hours.js/compare/v2.1.7...v2.1.8) - 2014-04-26
492
+
493
+ ### Added
494
+
495
+ - Public holiday definitions added: Canadian \[[openfirmware]], Ukraine \[[burrbull]], Slovenian \[[blorger]]
496
+ - Localizations added: Ukrainian \[[burrbull]]
497
+
498
+ ### Fixed
499
+
500
+ - Localizations fixed: Russian \[[openfirmware]]
501
+
502
+ ## [v2.1.0](https://github.com/opening-hours/opening_hours.js/compare/v2.0.0...v2.1.0) - 2014-03-03
503
+
504
+ ### Added
505
+
506
+ - Public holiday definitions added: French \[[don-vip]]
507
+ - Localizations added: French \[[don-vip]], Ukrainian \[[jgpacker]], Italian \[[NonnEmilia]]
508
+
509
+ ### Fixed
510
+
511
+ - Docs: Improved understandability of overlapping rules in README.md. \[[sesam]]
512
+
513
+ ## [v2.0.0](https://github.com/opening-hours/opening_hours.js/compare/v1.0.0...v2.0.0) - 2013-10-27
514
+
515
+ ### Added
516
+
517
+ - `package.json` file. \[[Cactusbone]]
518
+
519
+ ## v1.0.0 - 2013-01-12
520
+
521
+ ### Added
522
+
523
+ - Initial coding and design. \[[AMDmi3]]
524
+
525
+ ### Changed
526
+
527
+ - demo page (now called evaluation tool) improvements. \[[putnik]]
528
+
529
+ [AMDmi3]: https://github.com/AMDmi3
530
+ [ypid]: https://me.ypid.de/
531
+ [putnik]: https://github.com/putnik
532
+ [Cactusbone]: https://github.com/Cactusbone
533
+ [don-vip]: https://github.com/don-vip
534
+ [sesam]: https://github.com/sesam
535
+ [NonnEmilia]: https://github.com/NonnEmilia
536
+ [damjang]: https://github.com/damjang
537
+ [jgpacker]: https://github.com/jgpacker
538
+ [openfirmware]: https://github.com/openfirmware
539
+ [burrbull]: https://github.com/burrbull
540
+ [blorger]: https://github.com/blorger
541
+ [dmromanov]: https://github.com/dmromanov
542
+ [maxerickson]: https://github.com/maxerickson
543
+ [amenk]: https://github.com/amenk
544
+ [edqd]: https://github.com/edqd
545
+ [simon04]: https://github.com/simon04
546
+ [MKnight]: https://github.com/dex2000
547
+ [elgaard]: https://github.com/elgaard
548
+ [afita]: https://github.com/afita
549
+ [sanderd17]: https://github.com/sanderd17
550
+ [marcgemis]: https://github.com/marcgemis
551
+ [drMerry]: https://github.com/drMerry
552
+ [endro]: https://github.com/endro
553
+ [rmikke]: https://github.com/rmikke
554
+ [VorpalBlade]: https://github.com/VorpalBlade
555
+ [mmn]: https://blog.mmn-o.se/
556
+ [adrianojbr]: https://github.com/adrianojbr
557
+ [AndreasTUHU]: https://github.com/AndreasTUHU
558
+ [mkyral]: https://github.com/mkyral
559
+ [pke]: https://github.com/pke
560
+ [spawn-guy]: https://github.com/spawn-guy
561
+ [bugvillage]: https://github.com/bugvillage
562
+ [ItsNotYou]: https://github.com/ItsNotYou
563
+ [chiak597]: https://github.com/chiak597
564
+ [skifans]: https://github.com/skifans
565
+ [shouze]: https://github.com/shouze
566
+ [Gazer75]: https://github.com/Gazer75
567
+ [yourock17]: https://github.com/yourock17
568
+ [urbalazs]: https://github.com/urbalazs
569
+ [HolgerJeromin]: https://github.com/HolgerJeromin
570
+ [Gerw88]: https://github.com/Gerw88
571
+ [sommerluk]: https://github.com/sommerluk
572
+ [Discostu36]: https://github.com/Discostu36
573
+ [debyos]: https://github.com/debyos
574
+ [StephanGeorg]: https://github.com/StephanGeorg
575
+ [hariskar]: https://github.com/hariskar
576
+ [Virtakuono]: https://github.com/Virtakuono
577
+ [blef00fr]: https://github.com/blef00fr
578
+ [mstock]: https://github.com/mstock
579
+ [emilsivro]: https://github.com/emilsivro
580
+ [simonpoole]: https://github.com/simonpoole
581
+ [jmontane]: https://github.com/jmontane
582
+ [Mortein]: https://github.com/Mortein
583
+ [stefanct]: https://github.com/stefanct
584
+ [KristjanESPERANTO]: https://github.com/KristjanESPERANTO
585
+ [Robot8A]: https://www.openstreetmap.org/user/Robot8A
586
+ [pietervdvn]: https://github.com/pietervdvn
587
+ [napei]: https://nathaniel.peiffer.com.au/
588
+ [fodor0205]: https://github.com/fodor0205
589
+ [goodudetheboy]: https://github.com/goodudetheboy
590
+ [MerlinPerrotLegler]: https://github.com/MerlinPerrotLegler
591
+ [iMi digital]: https://www.imi-digital.de/
592
+ [AddisMap]: https://www.addismap.com/
package/Makefile CHANGED
@@ -75,8 +75,14 @@ list:
75
75
 
76
76
  ## defaults {{{
77
77
  .PHONY: build
78
- build: build/opening_hours.js \
79
- build/opening_hours+deps.js
78
+ build: build/opening_hours+deps.min.js
79
+
80
+ build/opening_hours.js \
81
+ build/opening_hours.min.js \
82
+ build/opening_hours.esm.mjs \
83
+ build/opening_hours+deps.js \
84
+ build/opening_hours+deps.min.js: src/index.js
85
+ node_modules/.bin/rollup -c
80
86
 
81
87
  .PHONY: check
82
88
  check: qa-quick check-fast check-package.json
@@ -131,11 +137,11 @@ ready-for-hosting: dependencies-get build/opening_hours+deps.min.js
131
137
 
132
138
  ## command line programs {{{
133
139
  .PHONY: run-regex_search
134
- run-regex_search: export.$(SEARCH).json interactive_testing.js regex_search.py
135
- $(NODEJS) regex_search.py "$<"
140
+ run-regex_search: export.$(SEARCH).json ./scripts/interactive_testing.js scripts/regex_search.py
141
+ python3 ./scripts/regex_search.py "$<"
136
142
 
137
143
  .PHONY: run-interactive_testing
138
- run-interactive_testing: interactive_testing.js opening_hours.js
144
+ run-interactive_testing: ./scripts/interactive_testing.js ./build/opening_hours.js
139
145
  $(NODEJS) "$<" --locale "$(CHECK_LANG)"
140
146
  ## }}}
141
147
 
@@ -207,7 +213,7 @@ benchmark-%.js: build/%.js scripts/benchmark.mjs
207
213
 
208
214
  .PHONY: check-package.json
209
215
  check-package.json: package.json
210
- ./node_modules/package-json-validator/lib/bin/pjv.mjs --warnings --recommendations --filename "$<"
216
+ ./node_modules/package-json-validator/lib/bin/pjv.js --warnings --recommendations --filename "$<"
211
217
 
212
218
  .PHONY: check-holidays
213
219
  check-holidays: scripts/PH_SH_exporter.js
@@ -226,19 +232,24 @@ check-html:
226
232
 
227
233
  ## release {{{
228
234
 
229
- # Run `npx commit-and-tag-version`.
235
+ .PHONY: release-prepare
236
+ release-prepare: package.json taginfo.json check-holidays doctoc check
230
237
 
231
238
  .PHONY: release-local
232
239
  release-local: package.json
233
- git tag --sign --local-user "$(RELEASE_OPENPGP_FINGERPRINT)" --message "chore(release): $(shell jq --raw-output '.version' $<)" "v$(shell jq --raw-output '.version' $<)"
240
+ npx commit-and-tag-version
241
+ $(MAKE) $(MAKE_OPTIONS) release-local-resign-tag
242
+
243
+ # Recreate git tag signed with release key because commit-and-tag-version cannot use a different key for signing the tag.
244
+ .PHONY: release-local-resign-tag
245
+ release-local-resign-tag: package.json
246
+ git tag --delete "v$(shell jq --raw-output '.version' $<)"
247
+ git tag --sign --local-user="$(RELEASE_OPENPGP_FINGERPRINT)" --message="chore(release): $(shell jq --raw-output '.version' $<)" "v$(shell jq --raw-output '.version' $<)"
234
248
 
235
249
  .PHONY: release-publish
236
- # First source file is referenced!
237
- # Might be better: https://docs.npmjs.com/cli/version
238
250
  release-publish:
239
251
  git push --follow-tags
240
252
  npm publish
241
- @echo "Manually create release on https://github.com/opening-hours/opening_hours.js/releases"
242
253
  # $(MAKE) $(MAKE_OPTIONS) publish-website-on-all-servers
243
254
 
244
255
  .PHONY: release
@@ -483,14 +494,6 @@ osm-tag-data-gen-stats-sort:
483
494
  done
484
495
  ## }}}
485
496
 
486
- build/opening_hours.js: build/opening_hours.min.js
487
- build/opening_hours.min.js:
488
- DEPS=NO node_modules/.bin/rollup -c
489
-
490
- build/opening_hours+deps.js: build/opening_hours+deps.min.js
491
- build/opening_hours+deps.min.js:
492
- DEPS=YES node_modules/.bin/rollup -c
493
-
494
497
  README.html:
495
498
 
496
499
  %.html: %.md