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:
- Correct calculation of the daf number.
- Correct the order of transliterated Yerushalmi masechtos.
- Correct the Hebrew spelling of the masechta Kilayim.
- 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.
Hi! Thank you for the best open source Zmanim API that has helped so many thousands of yidden around the globe. It is truly an amazing project!!!
From my understanding I can choose between the USNO and NOAA algorithm when using the zmanim API, is this correct, and if so, can you point me toward the documentation or tell me how to do it?
Thanks so much!!!
Shlomo,
The relevant method is setAstronomicalCalculator.
Hi, thanks for answering my previous question. Methods in complexzmanimcalculator for erev pesach are returning times. This is in my output
I think it also gave me a candle lighting time. I’m assuming it’s because that would the time if it were erev pesach today. In other words, the API just calculates the zmanim without checking if that zman applies that day? Can you please confirm or deny?
(Sorry for the silly question, I’m a beginner in both Zmanim and Java, and made a simple program to output all (most) methods from ComplexZmanimCalender.)
Shlomo,
You are correct. As of the current version, chametz zmanim will be returned on any date. In a code comment you can see that it is planned for the future. Looking a few lines later you will see that it is already coded but commented out. A change like this would break backwards compatibility and can’t be included until v3.0.0. Candle lighting has documentation specific to this scenario.
Thanks for the detailed answer and thanks for all your work.
(BTW is there an RSS feed or something where I can keep track of comments on this site)
never mind I found it https://kosherjava.com/comments/feed/
Eliyahu, tanks for the great library. It helps me a lot.
I just downloaded the latest 2.5.0 version from Gradle using:
implementation group: ‘com.kosherjava’, name: ‘zmanim’, version: ‘2.5.0’ and found that the code is not the same as in GitHub.
For example:
AstronomicalCalendar class in downloaded version is missing getSolarMidnight() method.
Moishe,
Thanks for reaching out. v2.5.0 was released on 2023-06-09. The example that you point out is listed in the CHANGELOG as being part of the future v2.6.0 release. You can see the full list of changes that includes this in the list of the KosherJava commits in GitHub. Once something is formally released, I have to support it long term, and I try to avoid rushing releases unless there is an important bug fix. Let me know if this answers your question.
Thanks Eliyahu
I ended up building local library from your GitHub and installing into my gradle.build as a local file. Everything wars fine.
needed that feature from 2.6.0 in order to calculate Shabbos times for Alaska.