From Atsushi Toyokura in pkgsrc-wip
This LaTeX package provides commands to convert from the
Gregorian calendar (e. g. 2018/8/28) to the Japanese rendering
of the Japanese calendar (e. g. Heisei 30 nen 8 gatsu 28 nichi;
actually with kanji characters). You can choose whether the
numbers are written in Western numerals or kanji numerals. Note
that the package only deals with dates in the year 1873 or
later, where the Japanese calendar is really a Gregorian
calendar with a different notation of years.
From Atsushi Toyokura in pkgsrc-wip
This LaTeX package provides a command to convert dates to names
of Japanese holidays. Another command, converting dates to the
day of the week in Japanese, is available as a free gift.
Further (lower-level) APIs are provided for expl3. The package
supports pdfTeX, XeTeX, LuaTeX, pTeX, and upTeX.
4.3.3 (2021-02-13)
No release note nor changelog. Here is quote from commit log.
* Fix development workflow.
* Remove comment from gemspec.
* Add priority queue class
* Add #size method and change to actual minheap
* Add some tests for priority heap
* Rename first and insert to peek and push for naming consistency
* Switch to a PriorityHeap instead of array for storing Handles
* Refactor Handle class to use Comparable mixin
* Add extra performance test for timer queue insertion speed
* Reduce required accuracy for tests, because macOS on GitHub Actions i… …
* Updated code formatting & specs.
Changes 8.1.1:
Deprecate running tests with python setup.py tests as the test suite support in Setuptools is deprecated
Add version to __init__.py
Cleaner reading of README.rst into the long_description field of setup.py
Define long_description_content_type as text/x-rst
Simplify Sphinx configuration
Add compat.is_string method, returns True for str, unicode types, False otherwise
0.1.14
Add GitHub build actions for project
Add project URLs in setup.py
Update README links
Fix handling of README in setup.py (encoding fun in 3.5, 3.6 and pypy3)
Fix README links
Add Python 3.9 to test matrix
Add type hints
Derive ParseError from ValueError
2.46 2020-12-22
- This release is based on version 2020e of the Olson database. This release
includes contemporary changes for Russia (Volograd).
2.45 2020-12-21
- Fixed handling of Etc/GMT[+-]XX zones. Confusingly, the POSIX interpretation
is that Etc/GMT+1 is 1 hour _behind_ UTC, and Etc/GMT-1 is 1 hour
ahead. This is the opposite of what this module started doing in the 2.38
release when it added support for these zones. Reportd by Matthew Horsfall
(#47). Changes are based on his PR #48.
## Version 2.0.4 - 16-Dec-2020
* Fixed an incorrect InvalidTimezoneIdentifier exception raised when loading a
zoneinfo file that includes rules specifying an additional transition to the
final defined offset (for example, Africa/Casablanca in version 2018e of the
Time Zone Database). #123.
Version 1.2.9 - 16-Dec-2020
---------------------------
* Fixed an incorrect InvalidTimezoneIdentifier exception raised when loading a
zoneinfo file that includes rules specifying an additional transition to the
final defined offset (for example, Africa/Casablanca in version 2018e of the
Time Zone Database). #123.
A command line application written in Rust that integrates with cron to execute
tasks relative to sunset, sunrise and other such solar events.
Heliocron is capable of delaying execution of other programs for time periods
relative to sunrise and sunset.
aniso8601 8.1.0
Empty string arguments to get_date_resolution and parse_date now raise ISOFormatError, fixes 26
None and non-string arguments to get_date_resolution and parse_date now raise ValueError
Empty string arguments to parse_duration now raise ISOFormatError
None and non-string arguments to parse_duration now raise ValueError
Empty string arguments to parse_interval and parse_repeating_interval now raise ISOFormatError
None and non-string arguments to parse_interval and parse_repeating_internval now raise ValueError
Empty string arguments to get_time_resolution and parse_time now raise ISOFormatError
None and non-string arguments to parse_time now raise ValueError
None and non-string arguments to parse_timezone now raise ValueError
Empty string arguments to parse_datetime now raise ISOFormatError
None and non-string arguments to parse_datetime now raise ValueError
Missing delimiter in datetime strings when calling parse_datetime now raises ISOFormatError
Missing delimiter in regular and repeating interval strings when calling parse_interval and parse_repeating_interval now raises ISOFormatError
get_time_resolution now correctly throws ISOFormatError when a time component has too many characters in a time using ":" as a separator
1.4 - Released 150824
- The dockapp wmtime uses the new version of libdockapp and do
not use libwmgeneral.
- Add note about libdockapp to INSTALL.
1.3 - Released 150525
- Update to latest version of wmgeneral library.
- Fix typos. Ran `codespell -w`.
- Tidy #includes based on results of include-what-you-use.
- Add -c command line option allowing users to set color.
- Fix overflow warning; mask bitmap should be unsigned.
- Use #defines to avoid variable length arrays.
- Replace C++ style comments.
- Fix "ordered comparison of pointer with integer zero" warning.
Also take the opportunity to add an error message when
iconv_open fails.
- Update TODO. In particular,
+ Remove note about version 1.0 (was never released).
+ Remove note about LED colors (implemented).
+ Remove note about language files (unnecessary with locale
support).
+ Update email address.
- Add proper copyright header.
- Update README. In particular,
+ Fix typo.
+ Mention newer command line options.
+ Drop 17-year-old architecture information.
- Update HINTS. In particular,
+ Add newer command line options.
+ Update Window Maker instructions.
1.2 - Released 150103
- Remove unused variables.
- Use rm -f in make clean.
- Update FSF address.
- Update GPLv2 from
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
- Update README contact information; remove trailing
whitespaces.
- Remove trailing whitespace.
- Remove unnecessary Imakefile.
- Move source files to top directory.
- Update Makefile.
- Add -l option to specify locale.
- Remove unnecessary references to current version number.
1.1 - Released 131013
- Incorporated many patches from Debian, including
+ Added manual page
+ Added -geometry and -noseconds options
+ Improved locale support
0.5 * wmitime uses now the new library libdockapp that includes the
old wmgeneral library.
* Add note about libdockapp to README.
0.4 * Update GPL text and Free Software Foundation address.
* Remove trailing whitespace.
* Allow -display option with no argument. Previously, if a user
ran wmitime with the -display option and no argument, a
segmentation fault would occur. Print a warning instead.
(Patch from Debian to fix bug #716466.)
* Update Makefile. In particular,
- Remove reference to deprecated X11R6 directory.
- Replace FLAGS variable with CFLAGS, CPPFLAGS, and LDFLAGS.
- Honor CC, PREFIX, and DESTDIR variables.
- Use INSTALL instead of cp for installation.
- Remove redundant -lXext flag.
- Move contents of wmitime directory to top directory to ease
the building process.
* Improve locale support. Previously, wmitime only had support
for English, French, and (in Debian only) Hungarian. In
addition, the choice was made at compile time.
Add run-time support for any language using the Latin
alphabet. The locale is determined by the user's environment
or may be specified on the command line with the "-l" option.
Note that users whose environment specifies a non-Latin locale
may wish to use, e.g., "-l C", as otherwise no date will
appear.
Note that, for simplicity, the month and day are now displayed
as "01 JAN" as opposed to "JAN 01". (Previously, the former
format was used for English and the latter for French.)
* Remove C++ style comments.
* Remove references to config file in source; nonexistent
feature.
* Update contact information. wmitime is now maintained by the
Window Maker Developers Team
<wmaker-dev@lists.windowmaker.org>.
* Add manpage and desktop file, both adapted from Debian.
* Remove wmitime-master-led.xpm; unused duplicate file.
* Do not include or compile unused wmgeneral files.
2.44 25-Dec-2018 OSX:
- Functions properly on macOS 10.14.
- Requires macOS 10.7 or later. Sigh.
- Upgraded Sparkle (the "Check for Updates" library).
- Signed, and available in the Mac App Store.
- Removed the "On top of screen saver" option since
it can't be made to work on recent macOSes.
- Full resolution on Retina displays.
iOS:
- Rotation works again.
- Requires iOS 8.0 or later. Sigh.
1.2.8 (2020-11-08)
* Added support for handling "slim" format zoneinfo files that are produced
by default by zic version 2020b and later. The POSIX-style TZ string is
now used calculate DST transition times after the final defined transition
in the file. The 64-bit section is now always used regardless of whether
Time has support for 64-bit times. #120.
* Rubinius is no longer supported.
## Version 2.0.3 - 8-Nov-2020
* Added support for handling "slim" format zoneinfo files that are produced by
default by zic version 2020b and later. The POSIX-style TZ string is now used
calculate DST transition times after the final defined transition in the file.
#120.
* Fixed `TimeWithOffset#getlocal` returning a `TimeWithOffset` with the
`timezone_offset` still assigned when called with an offset argument on JRuby
9.3.
* Rubinius is no longer supported.
Upstream changes:
1.11 2020-09-23 <schubiger@cpan.org>
- Merged development version to stable.
1.10_04 2020-09-22 <schubiger@cpan.org>
- Fail when parsing month/day with an explicit ymd-format.
1.10_03 2020-09-19 <schubiger@cpan.org>
- Clarify meaning of format option.
[rt #133200 - Ricardo Signes]
1.10_02 2020-09-05 <schubiger@cpan.org>
- Allow mm/dd and dd/mm as valid formats and amend tests.
- Improve format matching regexes.
- List example with new format under examples section.
1.10_01 2020-08-21 <schubiger@cpan.org>
- Allow configuration to make "8/10" mean October 8.
[rt #133140 - Ricardo Signes]
- Minor tweaks.
Upstream changes:
0.15 2020-10-24
- Fixed the SYNOPSIS, which showed calling parse_time with a string that would
cause an error. Reported by Yuki Yoshida. GH #12.
Upstream changes:
2.44 2020-11-06
- The DateTime::TimeZone->offset_as_string now accepts an optional separator
string.
2.43 2020-10-21
- This release is based on version 2020d of the Olson database. This release
includes contemporary changes for Palestine.
devel/p5-namespace-autoclean is a runtime dependency, not a tool or
test dependency. Ride previous update; this would have already been
broken before my commit.
pkgsrc-specific change: while here, express test dependencies as such.
2.42 2020-10-16
- This release is based on version 2020c of the Olson database. This release
includes contemporary changes for Fiji.
2.41 2020-10-07
- The last release was missing all the generated data files. Oops! Reported by
Paul Howarth. GH #43.
- Added a custom dzil plugin to make sure that the release has all of the
generated data files.
2.40 2020-10-07
- This release is based on version 2020b of the Olson database. This release
includes contemporary changes for Morocco, Casey Station, and the
Yukon. This release also removes the very long-deprecated "US/Pacific-New"
zone name.
Install the new interchangeable BLAS system created by Thomas Orgis,
currently supporting Netlib BLAS/LAPACK, OpenBLAS, cblas, lapacke, and
Apple's Accelerate.framework. This system allows the user to select any
BLAS implementation without modifying packages or using package options, by
setting PKGSRC_BLAS_TYPES in mk.conf. See mk/blas.buildlink3.mk for details.
This commit should not alter behavior of existing packages as the system
defaults to Netlib BLAS/LAPACK, which until now has been the only supported
implementation.
Details:
Add new mk/blas.buildlink3.mk for inclusion in dependent packages
Install compatible Netlib math/blas and math/lapack packages
Update math/blas and math/lapack MAINTAINER approved by adam@
OpenBLAS, cblas, and lapacke will follow in separate commits
Update direct dependents to use mk/blas.buildlink3.mk
Perform recursive revbump
2.33 -- Wed May 19 11:34:00 MT 2020
* Remove PAX Headers in tarball using GNU tar
2.32 -- Wed Mar 04 14:41:00 MT 2020
* Fix t/date.t to run on leap years [arc]
2.31 -- Thu Jan 16 14:00:00 MT 2020
* Fix year 2020 bug from t/getdate.t [Prajith]
* Fix warnings from t/date.t
* Fix pod issue in lib/Date/Parse.pm
* Fix for French language using English day suffixes in %o [mitchjacksontech]
* RT#84075: Fix Date::Parse::str2time century issue. [perlpilot]
* Adds Occitan language. [Quenty31]
* Migrate GitHub repo and bugtracker to atoomic/perl-TimeDate
1.16 2020 February 19
- Fix a bug in the interface to Time::Format_XS.
Using the time_format function with only a format argument (i.e., to use
the current time) would fail (fatally) because the XS interface code for
time_format requires two arguments.
0.44 2020-08-10T07:10:35Z
- Check tzdata before test
0.43 2020-07-26T07:23:50Z
- Test issues with space in perl path name #9
- microoptimization: check for invalid number of parameters later #5
1.28 2020-08-28
- Move a test that was added in 1.27 to xt. This test is a sensitive to small
variations in error message text, and testing it locally and in CI is
sufficient. Reported by Kent Fredric. GH #27.
1.27 2020-08-28
- The $locale->locale_data method now returns a deep clone of the locale's
data. This allows you to safely modify any elements of the returned hash
without breaking the original locale. Implemented by Alexander Pankoff. GH
#26.
- We now support loading locale data from relative directories in
@INC. Implemented by Alexander Pankoff. GH #25.
- When loading locale data, we now check $! for read errors, as well as
checking for an error eval'ing the file's contents in $@. Fixed by Alexander
Pankoff. GH #24.
1.26 2020-07-03
- Rebuilt all locale data with CLDR 37, released on 2020-04-23.
1.77 2020-02-29
* When the parsed string contained an invalid time zone offset (parsed with
"%z") like "-9999", the error handling set in the parser's constructor was
ignored and an exception was always thrown. Reported by x-qq. GH #25.
1.10 2020-06-26 <schubiger@cpan.org>
- Merged development version to stable.
1.09_01 2020-06-21 <schubiger@cpan.org>
- Support common unit abbreviations. [github #8 - grr]
1.09 2020-05-17 <schubiger@cpan.org>
- Merged development version to stable.
1.08_02 2020-05-01 <schubiger@cpan.org>
- Require Params::Validate >=1.15 to fix test failures with
older versions. [testers #112427415 - Alexandr Ciornii]
1.08_01 2020-04-17 <schubiger@cpan.org>
- Prefer the future even stronger with demand_future.
[rt #92189 - Ricardo Signes]
- When advancing to future times, consider also minutes/seconds.
1.08 2019-12-07 <schubiger@cpan.org>
- Merged development version to stable.
0.14 2020-08-16
- Require DateTime 1.45, which added a year_length() method that this package
is now using. Reported by Slaven Rezić. GH #11.
0.13 2020-08-15
- Added support for a few more incomplete formats, YYYYMMDDThhmmZ,
YYYY-MM-DDThh:mmZ, YYYYDDDThhmm, YYYY-DDDThh:mm. Includes a patch from
Stuart Browne. Fixed GH #3.
0.12 2020-08-15
- Fixed handling of ISO week parsing in some years. Reported by Kent
Fredric. GH #6.
- This release includes changes from 0.09-0.11 trial releases to switch from
Params::Validate and Params::ValidationCompiler. Relevant release notes from
those trial releases are repeated here for clarity.
- Replace Params::Validate with Params::ValidationCompiler.
- Fixed a bug introduced in 0.09 where calling parse_datetime() as a class
method with some formats would throw an exception.
- Add a format_datetime() method, which makes this class play nicer with
DateTime.pm. Implemented by Doug
Bell. https://github.com/jhoblitt/DateTime-Format-ISO8601/pull/2
- Add support for the `YYYY-MM-DDThh:mm:ss.ss[+-]hh` and
`YYYYMMDDThhmmss.ss[+-]hh` formats. Implemented by Thomas
Klausner. https://github.com/jhoblitt/DateTime-Format-ISO8601/pull/3
0.11 2020-07-26 (TRIAL RELEASE)
- Replace Params::Validate with Params::ValidationCompiler.
0.10 2020-07-25 (TRIAL RELEASE)
- Fixed a bug introduced in 0.09 where calling parse_datetime() as a class
method with some formats would throw an exception.
0.09 2020-07-25 (TRIAL RELEASE)
- Add a format_datetime() method, which makes this class play nicer with
DateTime.pm. Implemented by Doug
Bell. https://github.com/jhoblitt/DateTime-Format-ISO8601/pull/2
- Add support for the `YYYY-MM-DDThh:mm:ss.ss[+-]hh` and
`YYYYMMDDThhmmss.ss[+-]hh` formats. Implemented by Thomas
Klausner. https://github.com/jhoblitt/DateTime-Format-ISO8601/pull/3
0.102 2019-11-09 T. R. Wyant
- Add optional separator arg to datetime(). This tracks the same
change in DateTime version 1.43 dated 2017-05-29. Thanks to Jean
Forget for finding, isolating, and reporting this.
- NOTE that the above change restores the 'T' separator in
stringification, as it was before DateTime 1.43.
- Add tests for datetime() method.
- Eliminate redirections in POD URL links
1.52 2020-02-29
- Added a $dt->is_between($dt1, $dt2) method. Based on GH #97 by philip r
brenan.
- Simplify the calculation of leap seconds in XS. This is a little more
efficient for most use cases (anything with future or recent past
datetimes). Contributed by Mark Overmeer. GH #91.
0.10.2
======
2020-07-29
* NEW Parse `X-ANNIVERSARY`, `ANNIVERSARY` and `X-ABDATE` fields from vcards
* NEW Add ability to change default event duration with
`default_event_duration` and `default_dayevent_duration` for an day-long
event
* NEW Add `{uid}` property to template options in `--format`
* FIX No warning when importing event with Windows timezone format
* FIX Launching an external editor no longer crashes `ikhal`
* UPDATED DEPENDENCY urwid>=1.3.0
* FIX Wrong left pane width calculation in ikal when `frame` is `width` or
`color` in configuration.
* CHANGE Remove check for timezones in `UNTIL` that aren't in `DTSTART` and
vice-versa. The check wasn't fulfilling its purpose and was raising warnings
when no `UNTIL` value was set.
== 2020-05-23: 1.1.9 ==
Correctly parse ntpq :config output on Python 3 and check return MACs.
Add AES and other algorithm support to ntpq and ntpdig, from OpenSSL.
Remove support for NetInfo. NetInfo was last supported in Mac OS X v10.4
The configure step now supports --disable-nts for running
on systems with older versions of OpenSSL.
The default restrictions now start with noquery and limited
to reduce the opportunities for being used for DDoS-ing.
The draft RFC for NTS has dropped support for TLSv1.2
We now need OpenSSL with TLSv1.3 support (version 1.1.1 or newer).
The config keyword +tlsciphers+ has been removed.
Additional filtering and sort options have been added to ntpq/mrulist
Details are in the man page.
Rate limiting has been cleaned up.
With "restrict limited", traffic is now limited to
an average of 1 packet per second with bursts of 20.
(needs doc and maybe config)
SIGHUP and hourly checks have been unified. Both now
check for a new log file
check for a new certificate file
check for a new leap file
SIGHUP also restarts all pending DNS and NTS probes.
NTS client now requires ALPN on TLSv1.3.
asciidoctor (1.5.8 or newer) is now supported and is the preferred AsciiDoc
processor. asciidoc is still supported, but the minimum supported version
has been raised from 8.6.0 to 8.6.8. asciidoc3 (3.0.2 or newer) is also
supported.
HTML docs are now built by default if an AsciiDoc processor is installed. If
you do not want HTML docs, configure with --disable-doc. (Note: Man pages
are controlled by a separate --disable-manpage.)
Analysis shows that CVE-2020-11868, affecting NTP Classic,
cannot affect us, as the peer mode involved has been removed.
== 2019-11-17: 1.1.8 ==
Fix bug in NTS-KE client so that NTP server names work.
Fix/tweak several NTS logging messages.
== 2019-09-02: 1.1.7 ==
The numeric literal argument of the 'time1' fudge option on a clock
can now have one or more letter suffixes that compensate for era
rollover in a GPS device. Each "g" adds the number of seconds in a
1024-week (10-bit) GPS era. Each "G" adds the number of seconds in a
8192-week (13-bit) GPS era.
The neoclock4x driver has been removed, due to the hardware and the
vendor having utterly vanished from the face of the earth.
The NTS ALPN negotiation sequence has been modified for improved
interoperability with other NTS implementations.
NTS key rotation now happens every 24 hours. It used to rotate
every hour to enable testing of recovery from stale cookies.
== 2019-07-10: 1.1.6 ==
Fixes to code quality checks.
Fixes to NTS server list.
Fix to bug #600.
== 2019-06-30: 1.1.5 ==
Add ALPN for the NTS server, as required by the NTP draft.
Revert some ntpq behavior.
== 2019-06-21: 1.1.4 ==
NTS is now implemented. See .../devel/nts.adoc
https://tools.ietf.org/html/draft-ietf-ntp-using-nts-for-ntp
We thank Cisco for sponsoring the NTS development.
Lots of fixes and cleanups to PPS, both implementation and documentation.
Pthread support is now required. --disable-dns-lookup is gone.
NIST lockclock mode is now a runtime option set by the (previously unused)
flag1 mode bit of the local-clock driver.
As always, lots of minor fixups and cleanups everywhere. See the git log.
Changes:
2.12.0
------
### Added
- Added default priority variable `TODOTXT_PRIORITY_ON_ADD` ([#246])
- Added `done` option as alias of `do` ([#169])
- Added macOS 10.15.x support ([#300])
- Highlighting of dates, metadata and item numbers ([#264])
- Minimal config file / default filenames (todo.txt, done.txt, report.txt)
([#289])
- Enable file completion for add-on actions via `_todo_file{1,2,3}_actions`
([#270])
- Allow to customize what can be before / inside / after `+project` and
`@context` ([#271])
### Changed
- Read the task's name and uses as default ([#249])
- Updated interpreter reference to use environment variable ([#160])
- Allow setting of bash completion path ([#301])
### Fixes
- Fixed no end-of-line bug. Supports todos with no end-of-line. ([#295])
Functions to work with date-times and time-spans: fast and user
friendly parsing of date-time data, extraction and updating of
components of a date-time (years, months, days, hours, minutes, and
seconds), algebraic manipulation on date-time and time-span objects.
The 'lubridate' package has a consistent and memorable syntax that
makes working with dates easy and fun. Parts of the 'CCTZ' source
code, released under the Apache 2.0 License, are included in this
package. See <https://github.com/google/cctz> for more details.
This package provides lazy translations for names used for localization
purposes, e.g. places and timezones. The name l18n is a contraction of
i18n and l10n (internationalisation and localization).
0.15.8
- [WARN] arrow will **drop support** for Python 2.7 and 3.5 in the 1.0.0 release in late September. The 0.15.x and 0.16.x releases are the last to support Python 2.7 and 3.5.
- [NEW] Added ``humanize`` week granularity translation for Czech.
- [FIX] ``arrow.get`` will now pick sane defaults when weekdays are passed with particular token combinations.
- [INTERNAL] Moved arrow to an organization. The repo can now be found `here <https://github.com/arrow-py/arrow>`_.
- [INTERNAL] Started issuing deprecation warnings for Python 2.7 and 3.5.
- [INTERNAL] Added Python 3.9 to CI pipeline.
Version 0.16.8
==============
*released 09 June 2020*
- Support Python 3.7 and 3.8.
This release is functionally identical to 0.16.7.
It's been tested with recent Python versions, and has been marked as supporting
them. It will also be the final release supporting Python 3.5 and 3.6.
A lua library for time and date manipulation.
Features include:
- Normalisation of broken down date objects
- allows for complex time/date manipulation logic, e.g.
"What day is it in 2 days, 5 hours from now?"
- Conversion between locations (time zones) using your local
zoneinfo database.
- `strftime` style formatting
Date and Time module for Lua 5.x.
Features:
* Date and Time string parsing.
* Time addition and subtraction.
* Time span calculation.
* Support ISO 8601 Dates.
* Local time support.
* Lua module (not binary).
* Formats Date and Time like strftime.
Instead:
1. Package makefiles including their own options.mk
2. Packages say "SUBST_CLASSES+=djberrno" to get the hack, if needed
3. Packages adjust SUBST_FILES.djberrno, if needed
Should fix bulk build failures due to multiple inclusions of options.mk
and/or incorrect definitions of DJB_ERRNO_HACK.
Approved during the freeze by wiz@.
0.15.7:
- [NEW] Added a number of built-in format strings. See the `docs <https://arrow.readthedocs.io/#built-in-formats>`_ for a complete list of supported formats. For example:
.. code-block:: python
>>> arw = arrow.utcnow()
>>> arw.format(arrow.FORMAT_COOKIE)
'Wednesday, 27-May-2020 10:30:35 UTC'
- [NEW] Arrow is now fully compatible with Python 3.9 and PyPy3.
- [NEW] Added Makefile, tox.ini, and requirements.txt files to the distribution bundle.
- [NEW] Added French Canadian and Swahili locales.
- [NEW] Added ``humanize`` week granularity translation for Hebrew, Greek, Macedonian, Swedish, Slovak.
- [FIX] ms and μs timestamps are now normalized in ``arrow.get()``, ``arrow.fromtimestamp()``, and ``arrow.utcfromtimestamp()``. For example:
.. code-block:: python
>>> ts = 1591161115194556
>>> arw = arrow.get(ts)
<Arrow [2020-06-03T05:11:55.194556+00:00]>
>>> arw.timestamp
1591161115
- [FIX] Refactored and updated Macedonian, Hebrew, Korean, and Portuguese locales.
0.7.6:
Improvements:
* Rename ``scripts`` to ``dateparser_scripts`` to avoid name collisions with modules from other packages or projects
0.7.5:
New features:
* Add Python 3.8 support
* Implement a ``REQUIRE_PARTS`` setting
* Add support for subscript and superscript numbers
* Extended French support
* Extended German support
Improvements:
* Migrate test suite to Pytest
* Add test to check the `yaml` and `json` files content
* Add flake8 pipeline with pytest-flake8
* Add partial support for 8-digit dates without separators
* Fix possible ``OverflowError`` errors and explicitly avoid to raise ``ValueError`` when parsing relative dates
* Fix double-digit GMT and UTC parsing
* Fix bug when using ``DATE_ORDER``
* Fix bug when parsing relative time with timezone
* Fix milliseconds parsing
* Fix wrong values to be interpreted as ``'future'`` in ``PREFER_DATES_FROM``
* Other small improvements
5.67
Update holidays and add flagdays and namedays for Sweden
5.68
Update Japanese holidays
holiday_jp_ja - fix spelling for National Foundation Day
5.70
Nicaragua Holidays
Taiwanese holidays
Updated Romanian holidays
v2.6 release
Polished README.rst
fix pyicu import to suppress warnings
Fixed missing comma in seconds strings
Updated Pipfile and Makefile to:
- update and move packages to the "dev" section
- use Python 3.7 for pipenv
- install tox-pipenv plugin to try and fix Tox (currently doesn't)
- simplify tox.ini to try and fix Tox (didn't)
- move ci makefile target to the circle config
ciso8601 converts ISO 8601 or RFC 3339 date time strings into Python datetime
objects. Since it's written as a C module, it is much faster than other Python
libraries.
This package provides commands for formatting dates, times and
time zones and redefines \today to use the same formatting
style. In addition to \today, you can also use \DTMcurrenttime
(current time) or \DTMnow (current date and time). Dates and
times can be saved for later use. The accompanying
datetime2-calc package can be used to convert date-times to
UTC+00:00. Language and regional support is provided by
independently maintained and installed modules. The
datetime2-calc package uses the pgfcalendar package (part of
the PGF/TikZ bundle).
Version 3.0.8 is a patch release.
This release is binary and source compatible with version 3.0.0.
Note that the libical-glib library is considered unstable; therefore not binary compatible with previous releases
ReleaseNotes:
- Fix for icalattach_new_from_data() and the 'free_fn' argument
- Fix if recurrencetype contains both COUNT and UNTIL (only output UNTIL in the RRULE)
2.1:
- No changes.
2.1b1:
- 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.
These PLIST files have been autogenerated by mk/haskell.mk using
HS_UPDATE_PLIST=yes during a bulk build. They will help to track changes
to the packages. The Haskell packages didn't have PLIST files because
their paths contained package hashes. These hashes are now determined by
mk/haskell.mk, which makes it easy to generate easy to read PLIST files.
0.15.6:
- [NEW] Added support for parsing and formatting `ISO 8601 week dates <https://en.wikipedia.org/wiki/ISO_week_date>`_ via a new token ``W``, for example:
.. code-block:: python
>>> arrow.get("2013-W29-6", "W")
<Arrow [2013-07-20T00:00:00+00:00]>
>>> utc=arrow.utcnow()
>>> utc
<Arrow [2020-01-23T18:37:55.417624+00:00]>
>>> utc.format("W")
'2020-W04-4'
- [NEW] Formatting with ``x`` token (microseconds) is now possible, for example:
.. code-block:: python
>>> dt = arrow.utcnow()
>>> dt.format("x")
'1585669870688329'
>>> dt.format("X")
'1585669870'
- [NEW] Added ``humanize`` week granularity translation for German, Italian, Polish & Taiwanese locales.
- [FIX] Consolidated and simplified German locales.
- [INTERNAL] Moved testing suite from nosetest/Chai to pytest/pytest-mock.
- [INTERNAL] Converted xunit-style setup and teardown functions in tests to pytest fixtures.
- [INTERNAL] Setup Github Actions for CI alongside Travis.
- [INTERNAL] Help support Arrow's future development by donating to the project on `Open Collective <https://opencollective.com/arrow>`_.
Update ruby-tzinfo to 2.0.2.
## Version 2.0.2 - 2-Apr-2020
* Fixed 'wrong number of arguments' errors when running on JRuby 9.0. #114.
* Fixed warnings when running on Ruby 2.8. #113.
Update ruby-tzinfo1 to 1.2.7.
Version 1.2.7 - 2-Apr-2020
--------------------------
* Fixed 'wrong number of arguments' errors when running on JRuby 9.0. #114.
* Fixed warnings when running on Ruby 2.8. #112.
GNOME Pomodoro is a small application that helps managing time
according to Pomodoro Technique. It intenss to improve productivity
and focus by taking short breaks. It uses GNOME technologies, and
so it has complete integration with the GNOME desktop environment.
Changes since 4.7:
"Pcal" Version 4.11.0
This release of 'pcal' includes additional functionality, some bug fixes,
and an update of the associated documentation.
Major changes:
1) New functionality:
- Support for the following languages has been added:
- Slovak ("-a sk")
Thanks to Zdenko Podobny for this patch and for a new calendar
configuration file with Slovak holidays ('calendar_sk.txt'),
which is now included in the 'examples' directory.
- Hawaiian ("-a ha")
Thanks to Eric Nichols for this patch.
- Added a sample Spanish calendar configuration file, with Spanish
holidays ('calendar_es.txt'), generously provided by Francisco José
Marín Pérez.
Aside: The file was renamed from his original name of
'calendar_sp.txt' to 'calendar_es.txt', in order to match the
convention of using ISO 3166 (country codes) for 'pcal' sample
configuration files.
- Allow the drawing of moon phase icons ('-m' or '-M') and Julian
dates ('-j' or '-J') on yearly-format calendars.
Previously, these features were only allowed on monthly-format
calendars. If someone has eyes good enough to see these things,
they should be allowed to add them to their yearly-format
calendars! :^)
Since moon phase icons and Julian dates were automatically disabled
on yearly-format calendars in older releases, you might be
surprised to suddenly find these (possibly unwanted) items on your
yearly-format calendars, assuming you have a 'pcal' configuration
file (loaded with '-f') with one of those 4 options enabled
(i.e. 'opt -m', 'opt -M', 'opt -j', and/or 'opt -J'). If you want
to see moon phases or Julian dates _only_ on your monthly-format
calendars, simply modify your configuration file(s) to use a check
such as this:
#
# Display moon phase icons on every day of the month.
#
# Beginning with version 4.11.0, this works on yearly-format (1
# year per page) calendars too. But it can be disabled as shown
# below.
#
ifndef whole_year
opt -M
endif
Note that the 'pcal-cfg.txt' sample configuration file (distributed
with 'pcal' in the 'examples' subdirectory) has some examples of
this too.
- Added a new preposition -- 'on'.
The use of this preposition is similar to the existing prepositions
like 'on_or_before' and 'on_or_after', but it requires that the
event occur exactly on the specified day.
Some examples to clarify:
Sat on Jul 4 Huge party!
This example causes the text "Huge party!" to be displayed
only if July 4th (for that year) occurs on a Saturday.
Fri on all 13 Avoid black cats!
This example causes the text "Avoid black cats!" to be
displayed on Friday the 13th, for every month ("all") in
which it occurs.
This new feature was added based on a request from (and partially
based on a patch from) Erkki Petsalo.
- Added a new option -- '-W [ left | center | right ]' -- to specify
the horizontal alignment of the month/year title displayed at the
top of monthly-format calendars.
The default is, of course, 'center'.
Thanks to Todd Foster for providing a complete and thorough patch
to provide this new feature. He uses it to avoid splitting the
month/year label as he cuts a monthly-format calendar apart to fit
into a 6x9-inch notebook, but this feature might be useful to
others as well.
- Per a request from Stefan Haubenthal, who provided a small patch
and a proper makefile ('Makefile.Amiga'), re-added support for the
Amiga platform, which had been removed in the last release (due to
unavailability of someone to test on that platform).
2) Removed functionality:
- Removed the long-obsolete external 'moon file' concept. Now, we
depend solely on the algorithmic determination of moon phases,
which has been in place for many years and seems to be plenty
accurate.
The 'moon98' file (with manual entries of the dates and times of
the 4 primary moon phases for all of 1998) was also removed from
the 'examples' subdirectory, since it no longer serves any purpose.
- The 'F13' pre-defined event has been removed. It is unnecessary
now that 'pcal' has support for the new 'on' preposition (described
above).
Replace any occurrence of 'F13' in your configuration file(s) with
this:
Fri on all 13
The 'examples/pcal-cfg.txt' and 'examples/calendar_nl.txt' files
were altered accordingly, intelligently using a pre-processor
'ifdef' directive and the pre-defined 'pcal' version symbol ('ifdef
v4_8_0 | v4_9_0 | v4_9_1 | v4_10_0') to use the appropriate format
for this event specification, depending upon which version of
'pcal' is being used.
3) Bug fixes:
- Fixed a bug present since the 4.10.0 release of 'pcal' whereby the
use of the '-J' (capital 'J') option to display both the Julian
date (day of year) and the number of remaining days in the year
erroneously caused garbage text (PostScript commands) to appear in
place of the number of days remaining in the year.
- Fixed a long-standing bug whereby the last line of a 'pcal'
configuration file was silently ignored if it ended without a 'line
feed' (ASCII 10 character).
Thanks to Thomas Zastrow for reporting this bug.
- Fixed a long-standing bug in the 'moon phase' calculations.
This bug only affected the pure DOS build (i.e. made with
'Makefile.DOS'). It did not affect the Linux/Unix builds or the
DJGPP-based or Cygwin-based builds.
This bug was causing the major phases of the moon (new, 1Q, full,
3Q) to be erroneously detected on 2 adjacent days instead of on
just the single day on which they actually occurred.
This in turn caused 2 of the same moon phase icons to appear on
adjacent days on monthly-format calendars when the '-m' option was
used.
Thanks to Eric Nichols who helped to confirm the presence of this
bug.
4) Other changes:
- In the USA calendar example file and the generic 'pcal-cfg.txt'
example file, commented out the pre-2007 rules for Daylight Saving
Time (DST) and added new rules for 2007 and beyond.
- Made some tweaks to the 'examples/pcal-cfg.txt' 'pcal' sample
configuration file, in some cases to demonstrate more 'pcal'
functionality.
- Added the Polish calendar ('examples/calendar_pl.txt'), provided by
Dominik 'Chiron' Derlatka in the previous 'pcal' release, to the
release package.
It had been inadvertently omitted from the 4.10.0 release (but was
available via CVS checkout since then).
- Added 2 Unix shell scripts to a new 'scripts' directory in the
'pcal' distribution:
- my_daily_reminder_script.sh
This script provides daily email schedule reminders.
- group_calendaring.sh
This script allows a simple 'group calendaring' capability.
These scripts were written and generously provided by Kristofer
Bergstrom. They help automate his usage of 'pcal' and should prove
useful to others.
Kris' detailed explanation of the usage of these scripts is
available as a link on the main 'pcal'/'lcal' website, but here's
the direct link:
http://pcal.sourceforge.net/scripts.html
- Modified the Unix makefile to allow use of a user-specified
destination directory ('$DESTDIR') on the installation step.
For example:
make DESTDIR=$HOME/test install
Thanks to "Jonathan" (who's packaging 'pcal' for Gentoo) for this
idea and a related patch.
- Made various tweaks and updates to the 'man pcal' page.
Some of these are intended to provide more guidance and examples in
the use of 'pcal'.
Added a long-missing description of the pre-defined symbols for
paper size and page orientation, which can be used to advantage in
the 'pcal' configuration file.
- Fixed up a few errors (wrong credits, etc) and made various
required changes to previous release notes in this 'ReadMe.txt'
file.
Credits:
The original calendar PostScript was Copyright (c) 1987 by Patrick Wood
and Pipeline Associates, Inc. with permission to modify and
redistribute.
The following people contributed to Pcal v4.11.0:
Bug fixes, support for moon icons and
Julian dates on yearly-format calendars,
and various other fixes: Bill Marr
Slovak language support and config file: Zdenko Podobny
Hawaiian language support: Eric Nichols
Spanish config file: Francisco José Marín Pérez
Useful Unix scripts: Kristofer Bergstrom
New 'on' preposition: Erkki Petsalo
Title alignment option: Todd Foster
Amiga support: Stefan Haubenthal
For a list of all known contributors to date, see the 'Authors' section
of the 'man' page.
Bill Marr (marr99@users.sourceforge.net)
18 Dec 2007
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
"Pcal" Version 4.10.0
This release of 'pcal' includes additional functionality, some bug fixes,
and an update of the associated documentation.
Major changes:
1) New functionality:
- Support for the following languages has been added:
- Danish ("-a da")
- Dutch ("-a nl")
- Polish ("-a pl")
- Romanian ("-a ro")
Thanks to Ewald Beekman, a new calendar configuration file with
Dutch holidays ('calendar_nl.txt') is included in the 'examples'
directory.
Thanks to Dominik 'Chiron' Derlatka, a new calendar configuration
file with Polish holidays ('calendar_pl.txt') is included in the
'examples' directory.
2) Removed functionality:
- Support for the OS/2, Amiga, and Vax/VMS platforms has been
removed.
These platforms are essentially obsolete and the files and code
needed to accommodate these platforms was cluttering things up and
interfering with further progress by needlessly complicating the
code.
Anyone needing support for these platforms is advised to continue
using the 4.9.1 release of 'pcal'.
3) Bug fixes:
- Fixed a couple of long-standing, recently-uncovered bugs in the use
of the timezone ('-z') option, which is used in the 'moon phase'
calculations:
(1) Negative timezone arguments, used for areas east of
(i.e. later than) UTC/Greenwich (e.g. '-z-5'), were not
being processed correctly. (They were erroneously adjusted
by adding a full 24 hours to make them positive.)
Thanks to Lalit Chhabra for reporting this bug.
(2) The user-specified timezone offset was being normalized to
+/- 12 hours.
Although this works for the vast majority of users, there
are places in the world which are outside that range. For
example, Christmas Island (aka 'Kiritimati', in the Pacific
Ocean) is in the UTC+14 timezone. The local time there is 14
hours ahead of UTC, so the 'pcal' option would be
'-z-14'. Obviously, with such places in the world, we can no
longer normalize the user-specified timezone offset to +/-
12 hours.
- Fixed a problem whereby certain installations of Cygwin were unable
to compile 'pcal', due to a namespace collision between the
'getline()' routine in 'pcal' and the standard C library function
'getline()'.
Thanks to Daniela ('Dani') Duerbeck for reporting this and to
Stefan Fronzek for confirming that the fix worked.
- Worked around a problem whereby a 'segmentation fault' crash can
occur when a single entry in the 'pcal' configuration file has more
than 100 'words' defining an event. Thanks to Eric Herrera for the
crash report.
For now, the limit has been increased from from 100 to 300, which
should solve the problem for the vast majority of 'pcal' users.
4) Other changes:
- Eliminated certain compile-time warnings that occur in a "GCC 3.4.2
+ Solaris" build environment, thanks to a report from David Mathog.
This involved adding a bunch casting operations to the argument of
certain function calls like 'isdigit()' and 'islower()'.
- Eliminated the voluminous description of the syntax and operations
for the 'pcal' configuration file from the 'pcal -h' output,
leaving just the detailed description of the command-line
parameters.
The long description of the use of 'pcal' configuration file was
somewhat out-of-date and basically just (badly) duplicated the
content of the 'man pcal' page (or its HTML, PostScript, or ASCII
equivalent file).
The 'man pcal' page should be treated as the authoritative
reference for detailed aspects of 'pcal' operation.
- Changed the format for the timestamp in the PostScript comment
output ('%%CreationDate:') to one which is more thorough and less
ambiguous.
- Provide the URL to the 'pcal'/'lcal' website in the header
(comment) section ('%%Creator:') of the PostScript output.
- In the USA calendar example file, a couple of out-of-date URLs were
repaired and some erroneous comment information about the date of
George Washington's birthday was fixed.
5) Of interest to 'pcal' hackers and installers:
- Made a major change to 'pcal' design.
Previously, the PostScript output was generated in part using an
external program ('pcalinit[.c]') which read the PostScript
template file ('pcalinit.ps') and automatically generated a C
header file ('pcalinit.h').
This old method had a few disadvantages:
(1) The PostScript output that it generated was ugly, with no
whitespace (vertically or horizontally) and devoid of the
(useful) comments that were part of the PostScript template
file.
This made reading the PostScript much harder.
(2) It was harder to take advantage of patterns in the
PostScript output, causing redundancy.
(3) It was harder to compile (especially as the size of the
PostScript template file grew) under limited environments,
like DOS.
The new method generates all the PostScript output using C code
only.
Minor optimizations in the code can be made this way, without
needlessly replicating similar chunks of PostScript code. This
puts some of the logic behind the PostScript output back into C
code, where it's easier to see what's happening.
In truth, this change was first made (recently) to the 'lcal'
application, where the inefficiencies are greater. Logically,
however, 'pcal' benefited from the same change.
- Renamed the 'Makefile' flag 'EPS' to 'EPS_DSC' in order to more
clearly show its purpose (i.e. to use different PostScript Document
Structuring Conventions [DSC]) and to avoid confusion with the
embedded EPS image capability for monthly calendars.
Credits:
The original calendar PostScript was Copyright (c) 1987 by Patrick Wood
and Pipeline Associates, Inc. with permission to modify and
redistribute.
The following people contributed to Pcal v4.10.0:
Bug fixes, various other fixes: Bill Marr
Polish language support: Dominik 'Chiron' Derlatka
Dutch language support: Ewald Beekman
Romanian language support: Claudiu Costin
Danish language support: Kenneth Geisshirt
For a list of all known contributors to date, see the 'Authors' section
of the 'man' page.
Bill Marr (marr99@users.sourceforge.net)
06 Aug 2006
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
"Pcal" Version 4.9.1
This release of 'pcal' includes no new functionality. It contains only a
simple bug fix.
Major changes:
1) Bug fixes:
- Fixed a bug which inadvertently slipped into the 4.9.0 release at
the last minute.
This bug is only encountered when building for the Unix/Linux,
OS/2, or DOS+DJGPP environments (i.e. when using the 'Makefile'
file). It causes a syntax error if you attempt to install 'pcal'
using the 'make install' command.
Bill Marr (marr99@users.sourceforge.net)
24 Aug 2005
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
"Pcal" Version 4.9.0
This release of 'pcal' includes additional functionality, some bug fixes,
and an update of the associated documentation.
Major changes:
1) New functionality:
- Added new PostScript encoding vectors to support the following
character sets:
- KOI8-R -- Russian
- ISO 8859-2 -- Latin2 (East European)
- ISO 8859-3 -- Latin3 (South European)
- ISO 8859-4 -- Latin4 (North European)
- ISO 8859-5 -- Cyrillic
- ISO 8859-7 -- Greek
- ISO 8859-9 -- Latin5 (Turkish)
- ISO 8859-10 -- Latin6 (Nordic)
- ISO 8859-11 -- Thai
- ISO 8859-13 -- Latin7 (Baltic Rim)
- ISO 8859-14 -- Latin8 (Celtic)
- ISO 8859-15 -- Latin9 (adds euro, etc)
Note that not all of these new encodings are currently used, simply
because a language which requires the use of a given encoding may
not yet be supported by 'pcal'. Any of these encodings which are
not yet used have been added with the intent of simplifying the
future addition of support for other languages.
Furthermore, encodings for Arabic (ISO 8859-6), Hebrew (ISO 8859-8),
and Latin10 (ISO 8859-16) are not currently supported at all, but
placeholders have been added to the 'pcal' source code to allow
easier entry of those encodings in the future, if someone comes up
with the necessary PostScript encoding vectors.
- Support for the following languages has been added:
- Czech ("-a cz")
- Hungarian ("-a hu")
- Catalan ("-a ca")
- Russian language support is no longer considered "experimental", now
that 'pcal' properly supports the KOI8-R character encoding.
The default encoding for Russian is now KOI8-R instead of KOI8-U
(which was used in v4.8.0 as a crude, temporary method).
Latvian and Lithuanian language support is no longer considered
"experimental", now that 'pcal' properly supports the 'Latin7' (ISO
8859-13) character encoding.
The default encoding for both Latvian and Lithuanian is now 'Latin4'
instead of 'Latin1' (which was used in v4.8.0 as a crude, temporary
method).
2) New date file functionality:
- Based on a patch from Bill Bogstad, added the capability to delete
specific events, thereby allowing one to exclude one or more events
that were inserted as a group of events, by using the new 'delete'
keyword.
More details are in the 'man' page.
The sample configuration file ('examples/pcal-cfg.txt') also
includes an example of the usage of this new capability.
3) Other changes:
- Changed the date/event separator character from a space to a tab
when using the '-c' option (to output text lines which are
compatible with the Unix 'calendar' program).
This was done at the behest of a user who found that the space
character was inadequate as a separator. In fact, the 'calendar'
program from a recent stable version (6.0.17) of the Debian
'bsdmainutils' package proves that the space character is truly
inadequate as a separator when running 'pcal -c > pcal-output.txt;
calendar -f pcal-output.txt'.
- Added a Perl script ('html/pcal.pl') from David Mathog which is an
alternate way (compared to the existing 'pcal.cgi' Bourne shell
script) to generate calendars via HTML/CGI.
- Now that new character encodings are available, the default
Greek-language character encoding was changed from 'Latin-1' (ISO
8859-1) to 'Greek' (ISO 8859-7) to prevent having to specify '-r
none' in order to get a usable Greek calendar.
- Added new 'pcal' calendar configuration files to the 'examples/'
directory:
- 'calendar_us.txt'
This example, provided by J. Rhett Hooper, contains events
for users in the USA.
- 'calendar_hu.txt'
This example, provided by Ferenc Kruzslicz, contains events
for users in Hungary.
- Now that the Latin3 (ISO 8859-3) character encoding is provided,
there's no need to use the previous (customized) method of
supporting the Esperanto language. Because of this, the custom
'Esperanto' encoding has been eliminated.
Esperanto speakers/users should now just use the standard 'Latin3'
(ISO 8859-3) characters, which fully support the unique characters
in the Esperanto language.
This change cleans up the code in several spots.
- Tweaked several of the sample calendar configuration files in the
'examples/' directory to not specify any fonts.
The specification of fonts is better left to the command line,
since the necessary fonts to display/print a given language's
calendar will undoubtedly differ amongst various users.
- Added several new 'examples/fonttest_*' files to support testing
of the various character encodings. These 'font test' files can
be used as shown in this example to check any of your fonts for
use with the specified character encoding:
pcal -f examples/fonttest_koi8r -n some_koi8_fontname
Renamed old 'examples/fonttest_x' files to be more explicit,
thereby avoiding confusion with newly-added 'fonttest' files.
- Fixed a long-standing misrepresentation of the Spanish word for
'Saturday'. The word is 'Sábado', but the acute accent on the
first 'a' was missing.
- Fixed misrepresentations of the Lithuanian word for 'August' and
the Latvian words for 'June' and 'July'. Since these languages
were added in the previous release, these months erroneously used a
'u'+circumflex instead of the proper 'u'+macron.
4) Bug fixes:
- Fixed a bug introduced in version 4.8.0 whereby the specification
of a plural form of the day-of-week name was not being properly
detected, reporting an 'unrecognized line in file' error. Here's
an example:
all Fridays in Oct xxxxx
Thanks to Pedro I. Sanchez <pedro.sanchez at rogers.com> for
reporting this bug.
A work-around for this bug was to simply change the plural form to
the singular form (e.g. "Fridays" to "Friday" or just "Fri").
- Fix a long-standing bug whereby a centered "footer" specification
with 'strftime()'-like date specifiers used in an HTML yearly
calendar was using/showing the correct date values for the HTML
'title' but the wrong date values for the centered header string at
the start of the actual displayed (HTML) content.
5) Documentation changes:
- Added an entry to this 'ReadMe.txt' file in the v4.8.0 'Bug fixes'
section due to a last-minute v4.8.0 change to fix a couple of
security holes which accidentally went undocumented in this file.
- Various updates throughout.
6) Of interest to 'pcal' hackers and installers:
- All PostScript encoding vectors used to define the various
character encodings were defined as 'readonly'. This is mostly a
cosmetic change rather than a functional change.
- Made changes to the 'Makefile.DOS' file to accommodate the separate
directories for the source, the objects, and the executables. That
change should have been part of the v4.8.0 release but was
accidentally neglected.
Make further changes to the DOS build process (via 'Makefile.DOS'):
- Define '-DEPS' so that EPS-compatible PostScript is generated,
just like has been done for the Unix build for a while. This
allows PostScript utilities to process pages more
intelligently (e.g. so that a preview utility can page up and
down properly).
- Define several compile-time flags to prevent certain warnings.
- Define the '-DPROTOS' compile-time flag to include full
prototypes, thereby preventing many warnings about 'missing
prototype'.
- Define the '-DSTDLIB' compile-time flag to prevent warnings
about multiply-defined prototypes.
- To enhance compatibility with the Debian GNU/Linux distribution,
made a change to the (Unix, OS/2, DOS+DJGPP) 'Makefile' file
(specifically, to the 'D_SEARCH_PCAL_DIR' variable) to default to
_not_ searching the directory with the 'pcal' executable file when
searching for the 'calendar' ('pcal' configuration) file.
- Made a minor change to the (Unix, OS/2, DOS+DJGPP) 'Makefile' file
based on a patch from Thiago F.G. Albuquerque to prevent an error
when building in the DOS+DJGPP environment when the directory
specified by 'CATDIR' does not exist.
- Remove obsolete comment in the 'Makefile' file about separate
directories for the source, the objects, and the executables. This
comment was accidentally left in place for the v4.8.0 release.
- In 'pcallang.h', to be consistent, converted all high-order
characters in the language string specifications to simple octal
format, to match the octal format used in the PostScript encoding
vector specifications of 'pcalinit.ps'. This makes it easier to
edit the 'pcallang.h' file in any editor. It also makes checking
of the language strings against the character encodings simpler.
Credits:
The original calendar PostScript was Copyright (c) 1987 by Patrick Wood
and Pipeline Associates, Inc. with permission to modify and
redistribute.
The following people contributed to Pcal v4.9.0:
Bug fixes, 12 new character encodings,
language support, various other fixes: Bill Marr
Event deletion capability: Bill Bogstad
Czech language support: Peter Cernoch
Hungarian language support: Ferenc Kruzslicz
Catalan language support: Carles Sadurní Anguita
Perl script for HTML/CGI: David Mathog
US example calendar: J. Rhett Hooper
DOS/DJGPP build fix/support: Thiago F.G. Albuquerque
For a list of all known contributors to date, see the 'Authors' section
of the 'man' page.
Bill Marr (marr99@users.sourceforge.net)
18 Aug 2005
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
"Pcal" Version 4.8.0
This release of 'pcal' includes additional functionality, some bug fixes,
and a thorough update of the associated documentation.
Major changes:
1) New functionality:
- A method of adding Encapsulated PostScript (EPS) images to any
given day(s) on a monthly-format calendar has been incorporated.
Now you can have (e.g.) photos of a person on their birthday and/or
icons for various holiday events, etc.
For details, see the expanded documentation in the 'man' file, but
briefly, to add an EPS image (photo, icon, etc) to a day, use an
event entry like this (for the Thanksgiving holiday event):
4th Thu in Nov* image:/eps-path/turkey.eps 1.0 1.0 0 0
The 'image:' text is a keyword which precedes the EPS image
filename. As shown, a path to the file can be specified.
The first 2 values after the EPS image name are X/Y scaling values,
in case the output of the EPS file is not sized properly (which is
almost always the case) to fit in the 'day box'. The last 2 values
are X/Y translations, in case you want to move the EPS image around
within the 'day box'.
Note: Your EPS images will not be directly usable! As a minimum,
you'll first need to remove/comment-out the PostScript 'showpage'
command near the end of the EPS image file! Depending upon the
source of the EPS image, you may also want to remove/comment-out
some of the PostScript 'translate' commands too.
Again, much more information about all this can be found in the
'man' page for 'pcal', so please read that first!
A sample EPS image (the 'recycle' icon, with 3 green arrows in a
circle) has been provided with the 'pcal' distribution (under the
'eps/' directory) as a quick way to test the EPS image embedding
capability on one of your calendars. This file was converted from
a '.WMF' image file (using the 'libwmf'/'wmf2eps' library/utility
mentioned in the 'man' file) and the string '%%% DISABLED: ' was
prepended in 3 spots to disable the PostScript 'translate' and
'showpage' commands associated with those lines. This file is
intended as a guide for what needs to be done to make your own EPS
images usable by 'pcal'.
To test with this sample EPS icon, add lines like these to your
'pcal' configuration file:
second Sat in all RECYCLE!
second Sat in all image:/path-to-eps/recycle.eps 0.029 0.029 66 -28
With the provided X/Y scaling and X/Y translation values, it should
place the symbol in the lower right corner of the 'day box',
assuming you're using letter-sized paper and landscape orientation
on a monthly calendar.
- Support for 'legal' (8.5 x 14.0 inch) and 'tabloid' (11.0 x 17.0
inch) paper has been added.
Specifying the paper size is now done differently than in the past.
See the section 'New command-line options' (below) for details.
- Added new automatically-defined symbols based on the current paper
size:
- "PAPERSIZE_LETTER"
- "PAPERSIZE_LEGAL"
- "PAPERSIZE_A4"
- "PAPERSIZE_TABLOID"
These can be useful for providing alternate values in the 'pcal'
configuration file for EPS image placement and scaling, based on
paper size.
- Added new automatically-defined symbols based on the current page
orientation:
- "ORIENTATION_PORTRAIT"
- "ORIENTATION_LANDSCAPE"
These can be useful for providing alternate values in the 'pcal'
configuration file for EPS image placement and scaling, based on the
page orientation.
- Support the definition of a symbol value along with a symbol name in
'define' pre-processor directives in the 'pcal' configuration file.
For example:
define sem_start 8/23 # Beginning of semester
sem_start CIS136 Start
7th day after sem_start CIS136 Quiz 1
14th day after sem_start CIS136 Quiz 2
undef sem_start
This capability came from an unknown author via the Debian Bug
Tracking System for 'pcal'. It was somewhat buggy in the Debian
implementation, but was (completely?) repaired prior to inclusion in
this release of 'pcal'.
- Support for the following languages has been added:
- Swedish ("-a sv")
- Ukrainian ("-a uk")
- Portuguese ("-a pt")
- Estonian ("-a et")
- Russian ("-a ru")
- Latvian ("-a lv")
- Lithuanian ("-a lt")
Note: The support for Russian, Latvian, and Lithuanian is
considered "experimental". The day-of-week names and month names
have been provided for these languages, but the character encodings
have not been provided. Russian support has been set up to use the
KOI8-U (Ukrainian) character encoding instead of the KOI8-R
encoding that it should use. Latvian and Lithuanian support have
been set up to use the Latin-1 (ISO-8859-1) encoding instead of the
ISO-8859-13 character encoding that they should use. From a
practical standpoint, this probably means that these languages will
appear mostly correct (i.e. for characters which can be
displayed/printed in the encoding used) but will not be 100%.
Patches would be gratefully accepted from anyone with the expertise
to provide the necessary character encodings!
UPDATE:
As of 'pcal-4.9.0', Russian, Latvian, and Lithuanian language
support is no longer considered "experimental" due to the
addition of the proper character encodings for those languages.
See the 'pcal-4.9.0' release notes (above) for details.
- Substantial changes were made to the HTML user interface used to
generate calendars.
Added the appropriate option for the (already-existing) Finnish
language support.
Changed the 'Language:' selection in HTML calendar generation files
('pcal.html' and 'pcalw.html') to support the new languages. Also,
make this a 'drop-down' list instead of a series of 'radio
buttons', which makes for a cleaner interface now that there are 12
language options.
Added a new 'Paper Size' option to correspond to the new '-P'
option to 'pcal'.
Changed the description of the last option ('Holidays:') to 'Bypass
Date File Processing:' to more accurately reflect what it really
does! Changed the interface for this item to a 'check box' instead
of 2 'radio buttons' to match common user interface guidelines and
to clean-up the interface.
Changed references to 'gray' date numerics to instead say "'date
shade' color (default = gray)" to reflect the fact that a user can
override the 'grey' default color in his/her 'pcal' options file
(via the 'opt -s ...' command/switch).
Provide a new 'default' option for all the 'Day Numerics' (Weekday,
Sat/Sun, Holiday) selection sets. This allows the CGI script to
bypass the specification of the '-g', '-O', '-G', and '-b' options.
This is needed because of odd interactions between these switches
which prevented the creation of a simple colored calendar. For
example, there was no way to generate a monthly or yearly calendar
with the defaults (Mon-Fri in black, Sat/Sun in the 'date shade'
[gray by default] color, and holidays in the 'date shade' [gray by
default] color, even though this is the common case when PostScript
calendars are generated from the command line version of 'pcal'.
Make separate entries for 'day numerics' font and 'title (etc)
font' to the user interface since these are distinct and therefore
separately controllable in 'pcal'. Previously, whatever font the
user selected was used in both cases.
Overhauled each group of 'radio buttons', changing from a
horizontal set of options (which was long and difficult to discern
for some entries) to a nicer, more-readable set of
vertically-aligned options in a clean, captioned table for each
group of radio buttons.
Provide the user interface option to generate HTML-format calendars
instead of PostScript-format calendars.
2) New command-line options:
- In the past, the paper size could only be specified via the
'Makefile', which required recompiling if you wanted to change
paper sizes. This is somewhat bothersome, but even more so now
that 'pcal' supports more paper sizes (i.e. not just 'letter' and
'A4').
Beginning with this release of 'pcal', a new '-P' option is now
supported to declare the 'paper size'. This option takes a value
which can be any of the following (case-insensitive) values:
- "letter"
- "legal"
- "a4"
- "tabloid"
This option can be specified using any of the 3 methods: (1) via
the 'PCAL_OPTS' environment variable, (2) via the 'pcal'
configuration file (aka '.calendar', aka the 'date' file), or (3)
via the command line itself.
3) New date file functionality:
- Added support for "Friday the 13th" events. Use the keyword 'F13'
on the event specification. For example:
F13 Avoid black cats!
- Added a new 'input-language' directive for the 'pcal' configuration
file. It takes a single parameter -- the 2-letter version of the
ISO 639 (language code) standard. This 'input language' will be
used when deciphering any month names and/or day-of-week names when
processing the event entries in the 'pcal' configuration file. The
default language is currently the same as the default 'output'
language (English).
An example entry in the 'pcal' configuration file:
input-language fr # interpret event dates in French
In previous versions of 'pcal', which had no concept of 'input' and
'output' languages, both the default language (English) and the
currently-selected ('output') language were checked when parsing
and checking for month names and day-of-week names during event
processing. For the same reason as the creation of this new
'input-language' directive (i.e. to avoid conflicts), the default
language is no longer checked in addition to the current (input)
language. Only the current 'input' language is checked.
Note that the input language only makes sense in the 'pcal'
configuration file, so it can only be specified there.
Note also that the 'input language' can be changed as needed at any
time during processing of the 'pcal' configuration file, for the
rare case where someone has multiple language event definitions
within the same file.
4) Other changes:
- The 2-letter language code for Greek was re-assigned from 'gr' to
'el' to be compatible with ISO 639 (2-letter and 3-letter language
codes).
This means that you need to (for example) use '-a el' on the 'pcal'
command line to generate a Greek-language calendar rather than the
old '-a gr'.
- Added the '-p' and '-l' flags ('portrait' and 'landscape' paper
orientations) to the list of those processed from the command line
prior to the processing of the 'pcal' configuration file.
This is needed so that directives like 'ifdef ORIENTATION_PORTRAIT'
in the configuration file work as expected.
- Fixed a flaw in the sizing of calendars generated in the 'portrait'
page orientation. They were not using as much of the physical page
space as they should have been.
- Collected all sample 'calendar options' files for various countries
(some which were on the 'pcal' website or in the mailing list
archives but weren't part of the actual distribution) and named
them all 'calendar_XX.txt' where 'XX' is the 2-letter country name
code based on the ISO 3166 standard. This required a change to the
Greek ('gk' to 'gr') and Estonian ('et' to 'ee') 2-letter codes
used in the filenames.
Since 'pcal' can be run under DOS, converted sample 'calendar
options' files from Unix-style to DOS-style line-endings (as
needed) for maximum portability.
- The '%a' format specifier (which is used to represent the
abbreviated day-of-week name [e.g. 'Wed']) was using a simplified
method of generating the abbreviated name from the full name -- by
using just the first 3 characters.
With the addition of Ukrainian and (later) Estonian language
support, this simple scheme became inadequate because those
languages don't use 3-character abbreviations for the day-of-week
names.
Instead, a new array (with entries for each supported language) of
the abbreviated day-of-week names was created. The '%a' format
specifier uses this new array to derive abbreviated day-of-week
names.
5) Bug fixes:
- Fixed a design flaw whereby certain languages (like Italian,
French, Esperanto, and Spanish) which have a day-of-the-week name
with the same first 3 letters as a month name can cause problems
detecting events in the 'pcal' configuration file.
Aside: When parsing unknown tokens, day-of-week names are compared
before month names.
For example, French has the day 'Mardi' (Tuesday) and the month
'Mars' (March). Finnish has the day 'Maanantai' (Monday) and the
month 'Maaliskuu' (March). The following event in the configuration
file will yield an error because the string intended as an
abbreviated month name 'Mar' (for 'Mars'/March) is erroneously
interpreted as a weekday name 'Mardi':
Mar 21 Event for March 21st
It should be possible to specify the full month name ('Mars') to
avoid the conflict, but 'pcal' was only examining the first 3
letters of the weekday names when looking for a matching token.
The code which looks for matching weekday names has now been
modified to use the full length of the specified token string from
the configuration file, which allows one to specify the full name
of the month to avoid any conflict.
Note: A similar change was made to the month name comparison,
because an event of 'Mars 21' (French) was being erroneously
detected in an English-language setting! This ties in with the new
'input-language' directive (described above).
- Fix bug whereby 'Holidays:' option in 'pcalw.html' was using older,
incorrect name, causing that option to be completely ignored.
- Fixed the bug (present since v4.7.1 of 'pcal', and previously
documented on the 'pcal' website) whereby use of the '-q' option to
generate 1-column-per-month HTML output required one to use the '-F
1' flag to force the day-of-week to begin with 'Monday'. This
restriction is now removed and one can generate HTML
1-column-per-month calendars with any value for the '-F' flag (or
without using the '-F' flag at all).
- Fixed a couple of security holes whereby a malicious calendar file
(e.g from an external source) could cause an exploitable buffer
overflow attack.
6) Documentation changes:
- Made major changes to the 'pcal.man' file to bring it up-to-date
and make it more useful and/or readable, both in raw format and as
a rendered 'man' page.
Those changes are described in detail in a newly-added comment
section at the beginning of that file, which acts as a 'ChangeLog'
section. See that file for details.
- Provided a new sample 'pcal' configuration file ('pcal-cfg.txt') in
the new 'examples/' subdirectory.
This file attempts to demonstrate the various features that are
possible with 'pcal' in a manner which is well-documented and can
be easily incorporated by others into their own 'pcal'
configuration file(s). It was created with the idea that "an
example (or two, or three) is worth a thousand words".
Among other things, it demonstrates the use of various format
specifiers, the use of the 'Notes' box, the use of pre-processor
directives and conditional processing, and the use of some
predefined events.
- Removed the 'Pcal.hlp' file, which was essentially just a duplicate
of the 'pcal.man' content in a human-readable form. The content of
the 'pcal.man' file is intended to be pre-rendered (by the 'pcal'
maintainer / release manager) into other human-readable forms
(PostScript, HTML, ASCII text) as described in the 'Overview:'
section at the beginning of this file.
Now, there are essentially just 2 files which need to be updated to
document 'pcal' operation: 'pcal.man' and 'ReadMe.txt'.
Renamed 'ReadMe' to 'ReadMe.txt' and merged all the old versions of
'ReadMe.4.x' into that single file for clarity, consistency, and
ease of access.
- Moved old 'pscalendar' file into the new 'doc/obsolete/' directory
since it only has historical significance.
7) Of interest to 'pcal' hackers and installers:
- Created new subdirectories to better organize the 'pcal'
distribution files:
- 'src/'
all 'pcal' source code (*.c, *.h, *.ps)
- 'obj/'
empty subdirectory which will contain all object code and the
single C header file ('pcalinit.h') which is auto-generated
at compile time
- 'exec/'
empty subdirectory which will contain all executable code
('pcal[.exe]' and 'pcalinit[.exe]')
- 'doc/' and 'doc/obsolete/'
various documentation (current and historical)
- 'examples/'
several sample 'calendar options' files, mostly for various
holidays in each of several countries; also includes various
'calendar options' files used to test the fonts and character
mappings
- 'html/'
files used to generate calendars using the HTML/CGI (web
browser) interface
- Added build instructions for the various platforms that 'pcal'
supports to this file ('ReadMe.txt').
- Added a new compile-time flags setting ('CFLAGS = -O2 -Wall -W') to
the Unix 'Makefile'. The first 2 of those flags were already in
the OS/2 'make' file (which was almost identical to the Unix
'Makefile'), but for some unknown reason they were not in the Unix
'Makefile'.
Added a brief description of each flag ('-O2' and '-Wall' and '-W')
used on the 'CFLAGS = ...' line to the Unix 'make' file.
For those not familiar with these flags, '-O2' provides code
optimization, '-Wall' enables many compile-time warning messages,
and '-W' enables more compile-time warning messages.
Made several minor code modifications to prevent the compile-time
warning messages that resulted from enabling those flags.
- Merged the OS/2 'make' file ('Makefile.os2') into the Unix 'make'
file ('Makefile'). These files were almost identical and did not
merit separate files.
Added support for the DOS+DJGPP environment to this same file.
Use these commands:
Unix/Linux: make
OS/2: make OS=OS2
DOS+DJGPP: make OS=DJGPP
- Added a (commented-out) '# PACK = gzip' option in the Unix 'make'
file for those who don't have the 'compress' utility.
- Modified the existing 'man' target in the Unix 'make' file
('Makefile') to generate the content of the 'pcal' 'man' page in
HTML, PostScript, and raw text formats.
Before a new release of 'pcal', the 'pcal' maintainer should run
'make man' to generate these help files.
These files should also be placed on the 'pcal' website, since the
main page provides links to these files.
- Removed Control-L ('^L', page eject) characters from C and
PostScript source code. Who puts that in source files?!?
- Remove obsolete, unused targets and definitions (used to compress
and 'uuencode' the source) from Unix and OS/2 'Makefile' files.
- Changed 'find_sym()' routine to 'find_sym_name()' to be distinct
from new 'find_sym_val()' routine in code searches.
- Removed extraneous files from previous distribution ('Makefile~'
and 'pcal' [pre-built DOS executable binary file]). If anyone
really needs a pre-built 'pcal.exe' DOS executable file, it can
always be provided separately on the project webpage.
- Change sense of and provide proper comment for 'SEARCH_PCAL_DIR'
flag setting in Unix and OS/2 'make' files.
- Provide comments in the 'Makefile' for the '-DEPS' option,
describing what it does and why it's useful.
- Removed executable permission from various text files:
moon98 Readme writefil.c Pcal.hlp
In general, fixed up the permissions on several files. For
example, some makefiles had 'rw' permission and others had just 'r'
permission!
- Changed the misleading name of array 'holidays[]' to
'predef_events[]' to reflect the fact that this is a list of
'predefined events', which are often, but not necessarily, holiday
events. For example, this includes the new 'Friday the 13th'
events, which, like every other event in this array, are not
treated as a 'holiday' event unless the user specifies a '*' after
the date portion of the event specification in the 'pcal' options
file.
- Converted the 'Makefile.DOS' file from Unix-style line-endings to
DOS-style.
Tweaked the same file to successfully compile under MS-DOS using
the Borland C++ v5.0 compiler.
Credits:
The original calendar PostScript was Copyright (c) 1987 by Patrick Wood
and Pipeline Associates, Inc. with permission to modify and
redistribute.
The following people contributed to Pcal v4.8.0:
EPS images, 'paper size' option,
new paper sizes, HTML UI update,
various other fixes: Bill Marr
"Friday the 13th" events: Don Laursen
Swedish language support: Joel Fredrikson
Ukrainian language support: Volodymyr M. Lisivka
Portuguese language support: Pedro Zorzenon Neto
Estonian, Russian, Lithuanian, and
Latvian language support: Neeme Praks
Enhanced 'define' capability: unknown (requested by
Louis Taber)
French example calendar: Valéry Bruniaux
DOS/DJGPP build support: Thiago F.G. Albuquerque
Detection of security holes: Danny Lungstrom
For a list of all known contributors to date, see the 'Authors' section
of the 'man' page.
Bill Marr (marr99@users.sourceforge.net)
15 Dec 2004
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
"Pcal" Version 4.7.1
This is a new release of "Pcal", the PostScript calendar program. It has
minor changes to the 4.7 version: the -q flag that allows the printing of
a yearplanner and an additional Finnish languages support with the -a flag.
The -q flag gives prints out as one column per month resulting in table
that gives a quicker overview over several months and which can be used
as a yearplanner. As a yearplanner obviously has less space for text, only
the first character of the weekday and the first 5 characters of each calendar
entry are printed. Holidays are marked red but the text of the calendar
entry is not printed. The yearplanner gives output at the moment only in
HTML and therefore has effect only when used the -H flag.
To print a half-yearplanner of the first six months:
pcal -H -q 1 2003 6 > yearplanner_I_2003.html
The Finnish language is switched on with "-a fi".
For more general information see the readme-file of version 4.7 below.
Stefan Fronzek (stefan@fronzek.akshor.com), January 15 2003