-
Notifications
You must be signed in to change notification settings - Fork 58
/
CHANGES.txt
392 lines (224 loc) · 9.04 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
Changes
=======
5.3 (unreleased)
----------------
- Nothing changed yet.
5.2 (2023-10-22)
----------------
- Added a pre-commit config
- Updated python versions [hugovk]
- Added type hints for the public functions
- Moved to using pyproject.toml for project config.
5.1 (2023-10-04)
----------------
- The Unicode data doesn't change tz names when IANA does, so what is current
in IANA is treated as an alias in Unicode data. This version handles that.
5.0.1 (2023-05-15)
------------------
- The logging info under windows made it look like it looked up the registry
info even when you had a TZ environment, but it doesn't actually do that.
- Improved the handling of loggers.
5.0 (2023-05-14)
----------------
- Fixed a bug in the new assert_tz_offset method.
5.0b2 (2023-04-11)
------------------
- Change how the system offset is calculated to deal with non-DST
temporary changes, such as Ramadan time in Morocco.
- Change the default to only warn when the timezone offset and system
offset disagree (but still not even warn if TZ is set)
- Add the assert_tz_offset() method to the top level for those who want
to explicitly check and fail.
5.0b1 (2023-04-07)
------------------
- Removed the deprecation shim.
4.4b1 (2023-03-20)
------------------
- Added debug logging
4.3 (2023-03-18)
----------------
- Improved the error message when the ZoneInfo cannot be found
- Don't error out because we find multiple possible timezones for
a symlink.
- More stable on Android/Termux with proot
4.2 (2022-04-02)
----------------
- If TZ environment variable is set to /etc/localhost, and that's a link to
a zoneinfo file, then tzlocal will now find the timezone name, and not
just return a localtime TZ object.
4.1 (2021-10-29)
----------------
- No changes from 4.1b1.
4.1b1 (2021-10-28)
------------------
- It turns out a lot of Linux distributions make the links between zoneinfo
aliases backwards, so instead of linking GB to Europe/London it actually
links the other way. When /etc/localtime then links to Europe/London, and you
also have a config file saying Europe/London, the code that checks if
/etc/localtime is a symlink ends up at GB instead of Europe/London and
we get an error, as it thinks GB and Europe/London are different zones.
So now we check the symlink of all timezones in the uniqueness test. We still
return the name in the config file, though, so you would only get GB or Zulu
returned as the time zone instead of Europe/London or UTC if your only
configuration is the /etc/localtime symlink, as that's checked last, and
tzlocal will return the first configuration found.
- The above change also means that GMT and UTC are no longer seen as synonyms,
as zoneinfo does not see them as synonyms. This might be controversial,
but you just have to live with it. Pick one and stay with it. ;-)
4.0.2 (2021-10-26)
------------------
- Improved the error message when you had a conflict including a
/etc/localtime symlink.
4.0.1 (2021-10-19)
------------------
- A long time bug in Ubuntu docker images seem to not get fixed,
so I added a workaround.
4.0.1b1 (2021-10-18)
--------------------
- Handle UCT and Zulu as synonyms for UTC, while treating GMT and
UTC as different.
4.0 (2021-10-18)
----------------
- No changes.
4.0b5 (2021-10-18)
------------------
- Fixed a bug in the Windows DST support.
4.0b4 (2021-10-18)
------------------
- Added support for turning off DST in Windows. That only works in
whole hour timezones, and honestly, if you need to turn off DST,
you should just use UTC as a timezone.
4.0b3 (2021-10-08)
------------------
- Returning pytz_deprecation_shim zones to lower the surprise for pytz users.
- The Windows OS environment variable 'TZ' will allow an override for
setting the timezone. The override timezone will be asserted for
timezone validity bit not compared against the systems timezone offset.
This allows for overriding the timezone when running tests.
- Dropped support for Windows 2000, XP and Vista, supports Windows 7, 8 and 10.
4.0b2 (2021-09-26)
------------------
- Big refactor; Implemented get_localzone_name() functions.
- Adding a Windows OS environment variable 'TZ' will allow an override for
setting the timezone (also see 4.0b3).
4.0b1 (2021-08-21)
------------------
- Now finds and compares all the configs (under Unix-like systems) and
tells you what files it found and how they conflict. This should make
it a lot easier to figure out what goes wrong.
3.0 (2021-08-13)
----------------
- Modernized the packaging, moving to setup.cfg etc.
- Handles if the text config files incorrectly is a TZ file. (revanSZ)
3.0b1 (2020-09-21)
------------------
- Dropped Python 2 support
- Switched timezone provider from pytz to zoneinfo (PEP 615)
2.1 (2020-05-08)
----------------
- No changes.
2.1b1 (2020-02-08)
------------------
- The is_dst flag is wrong for Europe/Dublin on some Unix releases.
I changed to another way of determining if DST is in effect or not.
- Added support for Python 3.7 and 3.8. Dropped 3.5 although it still works.
2.0.0 (2019-07-23)
------------------
- No differences since 2.0.0b3
Major differences since 1.5.1
.............................
- When no time zone configuration can be find, tzlocal now return UTC.
This is a major difference from 1.x, where an exception would be raised.
This change is because Docker images often have no configuration at all,
and the unix utilities will then default to UTC, so we follow that.
- If tzlocal on Unix finds a timezone name in a /etc config file, then
tzlocal now verifies that the timezone it fouds has the same offset as
the local computer is configured with. If it doesn't, something is
configured incorrectly. (Victor Torres, regebro)
- Get timezone via Termux `getprop` wrapper on Android. It's not officially
supported because we can't test it, but at least we make an effort.
(Jean Jordaan)
Minor differences and bug fixes
...............................
- Skip comment lines when parsing /etc/timezone. (Edward Betts)
- Don't load timezone from current directory. (Gabriel Corona)
- Now verifies that the config files actually contain something before
reading them. (Zackary Welch, regebro)
- Got rid of a BytesWarning (Mickaël Schoentgen)
- Now handles if config file paths exists, but are directories.
- Moved tests out from distributions
- Support wheels
1.5.1 (2017-12-01)
------------------
- 1.5 had a bug that slipped through testing, fixed that,
increased test coverage.
1.5 (2017-11-30)
----------------
- No longer treats macOS as special, but as a unix.
- get_windows_info.py is renamed to update_windows_mappings.py
- Windows mappings now also contain mappings from deprecated zoneinfo names.
(Preston-Landers, regebro)
1.4 (2017-04-18)
----------------
- I use MIT on my other projects, so relicensing.
1.4b1 (2017-04-14)
------------------
- Dropping support for Python versions nobody uses (2.5, 3.1, 3.2), adding 3.6
Python 3.1 and 3.2 still works, 2.5 has been broken for some time.
- Ayalash's OS X fix didn't work on Python 2.7, fixed that.
1.3.2 (2017-04-12)
------------------
- Ensure closing of subprocess on OS X (ayalash)
- Removed unused imports (jwilk)
- Closes stdout and stderr to get rid of ResourceWarnings (johnwquarles)
- Updated Windows timezones (axil)
1.3 (2016-10-15)
----------------
- #34: Added support for /var/db/zoneinfo
1.2.2 (2016-03-02)
------------------
- #30: Fixed a bug on OS X.
1.2.1 (2016-02-28)
------------------
- Tests failed if TZ was set in the environment. (EdwardBetts)
- Replaces os.popen() with subprocess.Popen() for OS X to
handle when systemsetup doesn't exist. (mckabi, cewing)
1.2 (2015-06-14)
----------------
- Systemd stores no time zone name, forcing us to look at the name of the file
that localtime symlinks to. (cameris)
1.1.2 (2014-10-18)
------------------
- Timezones that has 3 items did not work on Mac OS X.
(Marc Van Olmen)
- Now doesn't fail if the TZ environment variable isn't an Olsen time zone.
- Some timezones on Windows can apparently be empty (perhaps the are deleted).
Now these are ignored.
(Xiaokun Zhu)
1.1.1 (2014-01-29)
------------------
- I forgot to add Etc/UTC as an alias for Etc/GMT.
1.1 (2014-01-28)
----------------
- Adding better support for OS X.
- Added support to map from tzdata/Olsen names to Windows names.
(Thanks to Benjamen Meyer).
1.0 (2013-05-29)
----------------
- Fixed some more cases where spaces needs replacing with underscores.
- Better handling of misconfigured /etc/timezone.
- Better error message on Windows if we can't find a timezone at all.
0.3 (2012-09-13)
----------------
- Windows 7 support.
- Python 2.5 supported; because it only needed a __future__ import.
- Python 3.3 tested, it worked.
- Got rid of relative imports, because I don't actually like them,
so I don't know why I used them in the first place.
- For each Windows zone, use the default zoneinfo zone, not the last one.
0.2 (2012-09-12)
----------------
- Python 3 support.
0.1 (2012-09-11)
----------------
- Initial release.