The KosherJava Zmanim API version 2.5.0 was released on June 9, 2023 י״ג סיון תשפ״ג in Maven and GitHub.
New in Version 2.5.0
- Update AstronomicalCalendar and ComplexZmanimCalendar to support astronomical noon and astronomical midnight. This increases the precision in all locations (see The Definition of Chatzos post) and allows chatzos (and chatzos derived zmanim) calculations even in the Arctic/Antarctic. Some poskim are of the opinion that astronomical noon and midnight are the day-night boundaries in locations where there is no alos and tzais. The change calculates astronomical noon/midnight based on longitude alone, not as halfway between sunrise and sunset, something that may not happen in the Arctic and Antarctic.
- Note: This mistakenly created a backwards compatibility break by changing the default calculation of chatzos time. In order not to break it again, this will remain, but a new isUseAstronomicalChatzos() and supporting methods were added that controls this. There is also a getChatzosAsHalfDay() method that will return half-day chatzos regardless of the setting. These changes will be part of the v2.6.0 release.
- Add special Shabbasos/Parshiyos Shuva, Shira, Hagadol, Chazon and Nachamu to the JewishCalendar class.
- Correct isYomTov() to return false on Erev Shavuos. Thanks Eitan Adler.
- Correct spelling of Bein Hashmashos methods the ComplexZmanimCalendar (was missing the second H). being a minor release, this was a non-breaking change with the misspelled version kept in place until the next major release (3.0.0). Thanks Yaakov Schlachter.
- Various Daf Yomi Yerushalmi fixes from Elazar Rosenthal including:
- Added number of IS methods such as isYomKippur(), isSuccos(), isPesach() etc. to the JewishCalendar class.
- Add isAlHanissimRecited(JewishCalendar) and isYaalehVeyavoRecited(JewishCalendar) to the TefilaRules class. Thanks Yaakov Schlachter.
- A number of other small changes.
See the full list of changes between v2.4.0 and v2.5.0 in GitHub. I would like to thank Eli Julian for his continued release support skills.
The KosherJava Zmanim API version 2.4.0 was released on Nov 27, 2022 ד׳ כסלו תשפ״ג in Maven and GitHub.
New in Version 2.4.0
The KosherJava Zmanim API version 2.3.0 was released on Dec 7th, 2021 ג׳ טבת תשפ״ב in Maven and GitHub. While there have been numerous releases over the years, this is the first release-related post since the v1.3.0 release in 2013. If you have not updated since that time, you can expect some changes. The most significant changes (besides a lot of new functionality) are the simple to fix breaking changes listed below.
New in Version 2.3.0
The list of significant changes in this and previous releases can be seen in the KosherJava Zmanim API changelog.
Breaking Changes since v1.3
The KosherJava zmanim library originally went live in 2004. There was an existing C/C++ zmanim project by Ken Bloom hosted on SourceForge (that was at the time the equivalent of what GitHub is today). The Java package structure name net.sourceforge.zmanim was based on the one used by Ken’s project (despite not being hosted there), and remained that way for 16 years.
On August 3, 2020, Eli Julian modernized the library’s build process from the previously used Ant, to Maven & Gradle. This change simplified the workflow for many developers using the zmanim API. As part of the change, the package name was updated to com.kosherjava.zmanim. The KosherJava zmanim Maven / Gradle artifacts are available at the KosherJava zmanim Maven Central page. A direct Jar download is available at Maven Central (see the KosherJava Downloads page for instructions). The old code was branched into zmanim-1.5 and will allow people who do not want to upgrade to continue to use the old structure (and Ant build process) while continuing to receive emergency bug fixes. This will allow the codebase to use more modern Java language features, without impacting users who want to remain on the legacy code. The new code has a minimum Java 8 requirement (a version released in March 2014). Releases based on the new build process will use SemVer (Semantic Versioning) to make things simpler for developers.
The upgraded build process also allowed automated GitHub’s CodeQL vulnerability scanning for the KosherJava Zmanim project.
You can add the KosherJava zmanim library as a Maven or Gradle dependency. For Maven add the following to your pom.xml.
For Gradle, add the following to your build.gradle file.
implementation group: 'com.kosherjava', name: 'zmanim', version: '2.0.3'
The Zmanim API version 1.3.0 was released on March 4th, 2013 כ״א אדר תשע״ג. Various changes in the new release VS the previous version 1.2.1 that was released in May 2010 can be seen below. This release includes beta support for Jewish Calendar calculations as well as a number of updated zmanim and refactored code. The Jewish Calendar support in the Zmanim API is based on Avrom Finkelstien’s HebrewDate project released in 2002. Unlike the Zmanim code, the Jewish calendar interfaces may change significantly in the future (see Jay Gindin’s various changes that may make it into this API) and should therefore be considered beta.
Changes in the Zmanim API 1.3.0 release
Changes since March 23, 2011 have been in SVN and detailed changes can be seen there.