Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge 2.3.2 into master #121

Merged
merged 8 commits into from
Jul 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
# manually.
steps:
- name: Checkout AceTime
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Checkout Additional Repos
run: |
Expand All @@ -37,10 +37,10 @@ jobs:
git clone --depth 1 https://github.com/bxparks/acetimepy
git clone https://github.com/eggert/tz

- name: Set up Python 3.7
uses: actions/setup-python@v2
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: '3.7'
python-version: '3.10'

- name: Display Python version
run: python -c "import sys; print(sys.version)"
Expand Down
1,502 changes: 755 additions & 747 deletions CHANGELOG.md

Large diffs are not rendered by default.

67 changes: 45 additions & 22 deletions DEVELOPER.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ library.
* [Step 3: Fix Transition Times](#Step3FixTransitionTimes)
* [Step 4: Generate Start Until Times](#Step4GenerateStartUntilTimes)
* [Step 5: Calculate Abbreviations](#Step5CalculateAbbreviations)
* [Upgrading ZoneInfo Files to a New TZDB Version](#UpgradingZoneInfoFiles)
* [Upgrading TZDB](#UpgradingZoneInfoFiles)
* [Release Process](#ReleaseProcess)

<a name="ProjectRepoDependency"></a>
Expand Down Expand Up @@ -792,7 +792,7 @@ field is a static array of 7 characters (to account for the terminating NUL
character).

<a name="UpgradingZoneInfoFiles"></a>
## Upgrading ZoneInfo Files to a New TZDB Version
## Upgrading TZDB

About 2-4 times a year, a new TZDB version is released. Here are some notes
(mostly for myself) on how to create a new release after a new TZDB version is
Expand All @@ -805,29 +805,48 @@ available.
- `$ git pull`
- Check that the correct tag is pulled (e.g. `2020c` tag if that's the
version that we want to upgrade to).
- Update the Hinnant date repo (https://github.com:HowardHinnant/date). This
- Update the Hinnant `date` repo (https://github.com:HowardHinnant/date). This
should be a sibling to the `AceTime` repo:
- `$ cd ../date`
- `$ git pull`
- Update the zonedb files for `acetimepy` (needed by AcetzBasicTest and
AcetzExtendedTest):
- `$ cd acetimepy/src/acetime`
- `$ vi zonedb*/Makefile`
- `$ cd acetimepy`
- `$ vi src/zonedb*/Makefile`
- Update the `TZ_VERSION` variable in the various makefiles.
- `$ make zonedbs`
- `$ make all`
- Update the zonedb files for `acetimec` (needed by AcetimecBasicTest and
AcetimecExtendedTest)
- `$ cd acetimec/src`
- `$ vi zonedb*/Makefile`
- Update the `TZ_VERSION` variable in the various makefiles.
- `$ make zonedbs`
- `$ make` to update the `acetimec.a` lib file
- `$ cd ../tests`
- `$ make -j2`
- `$ make runtests`
- Update the zonedb files for `acetimego`
- `$ cd acetimego`
- `$ vi zonedb*/Makefile`
- Update the `TZ_VERSION` variable in the various makefiles.
- `$ make zonedbs`
- `$ make all`
- `$ make test`
- Update the zonedb files for `AceTime`:
- `$ cd AceTime/src`
- `$ vi zonedb*/Makefile`
- Update the `TZ_VERSION` variable in the makefiles.
- `$ make zonedbs`
- `$ cd ../tests`
- `$ make clean`
- `$ make -j2 tests`
- `$ make runtests`
- Recompile the binaries in `AceTimeValidation` tools
- `$ cd AceTimeValidation/tools`
- `$ make clean`
- `$ make`
- Verify that `AceTimeValidation` passes. This compares AceTime with 3 other
libraries: acetimec, acetimepy, and the Hinnant `date` library:
- `$ make -j2`
- Verify that `AceTimeValidation/tests` pass.
- `$ cd AceTimeValidation/tests`
- `$ make clean`
- `$ vi {Acetimec,Acetz,Hinnant}{Basic,Extended}*/Makefile`
Expand All @@ -838,28 +857,32 @@ available.
- `AcetzExtendedTest/Makefile`
- `HinnantBasicTest/Makefile`
- `HinnantExtendedTest/Makefile`
- Validate against one library, acetimec:
- `$ vi AcetimecExtendedTest/Makefile`
- Validate against the other libraries:
- `$ make -j2 tests`
- `$ make runtests`
- (Debugging) To validate against one library, e.g. acetimec:
- `$ make -C AcetimecExtendedTest clean`
- `$ make -C AcetimecExtendedTest all`
- `$ make -C AcetimecExtendedTest run`
- Validate against the other libraries:
- `$ make clean`
- `$ make -j4 tests`
- `$ make runtests`
- Update the various zoneinfo files for AceTime:
- `$ cd AceTime/src`
- `$ vi zonedb*/Makefile`
- Update the `TZ_VERSION` variable in the makefiles.
- `$ make zonedbs`
- Verify that `AceTimeValidation/validation` passes.
- `$ cd AceTimeValidation/validation`
- `$ make clean`
- `$ make -j2 validation`
- Update CHANGELOGs
- Copy a summary of the TZDB release notes from
https://mm.icann.org/pipermail/tz-announce/ to the various CHANGELOG.md
files.
- AceTime/CHANGELOG.md
- acetimec/CHANGELOG.md
- acetimego/CHANGELOG.md
- acetimepy/CHANGELOG.md
- AceTimeValidation/CHANGELOG.md
- Commit the changes to git
- `$ git add ...`
- `$ git commit -m "..."`
- Commit and push the changes for the following repos:
- AceTime
- acetimec
- acetimego
- acetimepy
- AceTimeValidation

There are 12 other validation tests in the AceTimeValidation project that
compare AceTime with various other third party libraries:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ and the `zonedbc` database to support all timezones, for all transitions defined
in the IANA TZ database (`[1844,2087]`), and extending the validity of timezone
calculations from `[2000,10000)` to `[0001,10000)`.

**Version**: 2.3.1 (2024-01-12, TZDB version 2023d)
**Version**: 2.3.2 (2024-07-25, TZDB version 2024a)

**Changelog**: [CHANGELOG.md](CHANGELOG.md)

Expand Down
2 changes: 1 addition & 1 deletion USER_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The IANA TZ database is programmatically generated into 3 predefined databases:
databases have different accuracy ranges, and are designed to work with
different `ZoneProcessor` and `ZoneManager` classes.

**Version**: 2.3.1 (2024-01-12, TZDB 2023d)
**Version**: 2.3.2 (2024-07-25, TZDB 2024a)

**Related Documents**:

Expand Down
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name=AceTime
version=2.3.1
version=2.3.2
author=Brian T. Park <[email protected]>
maintainer=Brian T. Park <[email protected]>
sentence=Date, time, timezone classes for Arduino supporting the full IANA TZ Database to convert epoch seconds to date and time components in different time zones.
Expand Down
4 changes: 2 additions & 2 deletions src/AceTime.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
#include "zonedbc/zone_registry.h"

// Version format: xxyyzz == "xx.yy.zz"
#define ACE_TIME_VERSION 20301
#define ACE_TIME_VERSION_STRING "2.3.1"
#define ACE_TIME_VERSION 20302
#define ACE_TIME_VERSION_STRING "2.3.2"

#endif
2 changes: 1 addition & 1 deletion src/zonedb/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ TARGETS := zone_infos.cpp zone_infos.h zone_policies.cpp zone_policies.h

TOOLS := $(abspath ../../../AceTimeTools)
TZ_REPO := $(abspath $(TOOLS)/../tz)
TZ_VERSION := 2023d
TZ_VERSION := 2024a
START_YEAR := 2000
UNTIL_YEAR := 2200

Expand Down
6 changes: 3 additions & 3 deletions src/zonedb/zone_infos.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py
// --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles
// --output_dir /home/brian/src/AceTime/src/zonedb
// --tz_version 2023d
// --tz_version 2024a
// --action zonedb
// --language arduino
// --scope basic
Expand All @@ -23,7 +23,7 @@
// northamerica
// southamerica
//
// from https://github.com/eggert/tz/releases/tag/2023d
// from https://github.com/eggert/tz/releases/tag/2024a
//
// Supported Zones: 446 (227 zones, 219 links)
// Unsupported Zones: 150 (124 zones, 26 links)
Expand Down Expand Up @@ -85,7 +85,7 @@ namespace zonedb {
// ZoneContext
//---------------------------------------------------------------------------

static const char kVersionString[] ACE_TIME_PROGMEM = "2023d";
static const char kVersionString[] ACE_TIME_PROGMEM = "2024a";
const __FlashStringHelper* const kTzDatabaseVersion =
(const __FlashStringHelper*) kVersionString;

Expand Down
4 changes: 2 additions & 2 deletions src/zonedb/zone_infos.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py
// --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles
// --output_dir /home/brian/src/AceTime/src/zonedb
// --tz_version 2023d
// --tz_version 2024a
// --action zonedb
// --language arduino
// --scope basic
Expand All @@ -23,7 +23,7 @@
// northamerica
// southamerica
//
// from https://github.com/eggert/tz/releases/tag/2023d
// from https://github.com/eggert/tz/releases/tag/2024a
//
// Supported Zones: 446 (227 zones, 219 links)
// Unsupported Zones: 150 (124 zones, 26 links)
Expand Down
4 changes: 2 additions & 2 deletions src/zonedb/zone_policies.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py
// --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles
// --output_dir /home/brian/src/AceTime/src/zonedb
// --tz_version 2023d
// --tz_version 2024a
// --action zonedb
// --language arduino
// --scope basic
Expand All @@ -23,7 +23,7 @@
// northamerica
// southamerica
//
// from https://github.com/eggert/tz/releases/tag/2023d
// from https://github.com/eggert/tz/releases/tag/2024a
//
// Supported Zones: 446 (227 zones, 219 links)
// Unsupported Zones: 150 (124 zones, 26 links)
Expand Down
6 changes: 3 additions & 3 deletions src/zonedb/zone_policies.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py
// --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles
// --output_dir /home/brian/src/AceTime/src/zonedb
// --tz_version 2023d
// --tz_version 2024a
// --action zonedb
// --language arduino
// --scope basic
Expand All @@ -23,7 +23,7 @@
// northamerica
// southamerica
//
// from https://github.com/eggert/tz/releases/tag/2023d
// from https://github.com/eggert/tz/releases/tag/2024a
//
// Supported Zones: 446 (227 zones, 219 links)
// Unsupported Zones: 150 (124 zones, 26 links)
Expand Down Expand Up @@ -198,7 +198,7 @@ extern const basic::ZonePolicy kZonePolicyZion;
// NBorneo {unused}
// NT_YK {unused}
// NYC {unused}
// Palestine {Found 2 transitions in year/month '2073-10'}
// Palestine {Found 2 transitions in year/month '2074-10'}
// Perry {unused}
// Pike {unused}
// Poland {unused}
Expand Down
4 changes: 2 additions & 2 deletions src/zonedb/zone_registry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py
// --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles
// --output_dir /home/brian/src/AceTime/src/zonedb
// --tz_version 2023d
// --tz_version 2024a
// --action zonedb
// --language arduino
// --scope basic
Expand All @@ -23,7 +23,7 @@
// northamerica
// southamerica
//
// from https://github.com/eggert/tz/releases/tag/2023d
// from https://github.com/eggert/tz/releases/tag/2024a
//
// Supported Zones: 446 (227 zones, 219 links)
// Unsupported Zones: 150 (124 zones, 26 links)
Expand Down
4 changes: 2 additions & 2 deletions src/zonedb/zone_registry.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py
// --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles
// --output_dir /home/brian/src/AceTime/src/zonedb
// --tz_version 2023d
// --tz_version 2024a
// --action zonedb
// --language arduino
// --scope basic
Expand All @@ -23,7 +23,7 @@
// northamerica
// southamerica
//
// from https://github.com/eggert/tz/releases/tag/2023d
// from https://github.com/eggert/tz/releases/tag/2024a
//
// Supported Zones: 446 (227 zones, 219 links)
// Unsupported Zones: 150 (124 zones, 26 links)
Expand Down
2 changes: 1 addition & 1 deletion src/zonedbc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ TARGETS := zone_infos.cpp zone_infos.h zone_policies.cpp zone_policies.h

TOOLS := $(abspath ../../../AceTimeTools)
TZ_REPO := $(abspath $(TOOLS)/../tz)
TZ_VERSION := 2023d
TZ_VERSION := 2024a
START_YEAR := 1800
UNTIL_YEAR := 2200

Expand Down
Loading
Loading