Skip to content

Commit

Permalink
Merge pull request #121 from bxparks/develop
Browse files Browse the repository at this point in the history
merge 2.3.2 into master
  • Loading branch information
bxparks authored Jul 27, 2024
2 parents 373ce16 + 58ee9b0 commit 3ee151d
Show file tree
Hide file tree
Showing 49 changed files with 1,261 additions and 1,228 deletions.
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 <brian@xparks.net>
maintainer=Brian T. Park <brian@xparks.net>
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

0 comments on commit 3ee151d

Please sign in to comment.