Skip to content

Merge 3-0-modernization to master#270

Merged
KosherJava merged 122 commits into
masterfrom
3-0-modernization
May 15, 2026
Merged

Merge 3-0-modernization to master#270
KosherJava merged 122 commits into
masterfrom
3-0-modernization

Conversation

@KosherJava
Copy link
Copy Markdown
Owner

No description provided.

KosherJava and others added 30 commits March 13, 2026 17:38
* Migrate AstronomicalCalendar to use LocalDate - Fix Timezone Bug - Use correct SUNRISE enum in getInstantFromTime

* Fix Javadocs
* Migrate AstronomicalCalendar to use LocalDate - Fix Timezone Bug - Use correct SUNRISE enum in getInstantFromTime

* Fix Javadocs

* Rename getSunrise to getSunriseWithElevation.
Fix javadoc on `isUseElevation`

* Rename getElevationAdjustedSunset/rise to avoid further confusion.
- Remove Instant constructors and methods
- Rename setDate to setGregorianDate
- Use LocalDate instead of ZonedDateTime where possible
- Remove Instant constructor
Pass LocalDate to JewishCalendar constructor
* Migrate AstronomicalCalendar to use LocalDate - Fix Timezone Bug - Use correct SUNRISE enum in getInstantFromTime

* Fix Javadocs

* Rename getSunrise to getSunriseWithElevation.
Fix javadoc on `isUseElevation`

* Rename getElevationAdjustedSunset/rise to avoid further confusion.

* Fix incorrect adjustment for getFixedLocalChatzos

* Update date

* revert

* implement jewishdate

* some eq changes

* nuller

* fix formaterr, etc.

* more changes

* configure addYears

* more date changes

* Fix molad

* Modifying a JewishDate no longer resets the molad date

* add est jewish month

* Remove get local mean time fix.
- This creates a generic the getMinchaGedolaGreaterThan30(Instant) from what had been a generically named one that returned mincha gedolaGRA  and another one for the Baal Hatanya. This now works for any mincha gedola passed in.
- Also removed two unused import statements.
Thanks @dickermoshe for the extensive set of changes
Thanks @dickermoshe for the extensive set of changes
KosherJava and others added 29 commits April 30, 2026 23:18
…evation()

* This restores getSunrise() and getSunset() to their previous implementation (that was only recently changed on the 3-0-modernization branch)
…tSunsetWithElevation()

* This restores getSunrise() and getSunset() to their previous implementation (that was only recently changed on the 3-0-modernization branch)
* Revert "fix RegressionTestFileWriter for recent sunrise / sunset method name changes"

This reverts commit 242deaa.

* Revert "fix test case for recent sunrise/sunset name changes"

This reverts commit 37cb93b.

* Revert "ComprehensiveZmanimCalendar - Remove getSunriseWithElevation() and getSunsetWithElevation()"

This reverts commit 628328a.

* Revert "ZmanimCalendar - Remove getSunriseWithElevation() and getSunsetWithElevation()"

This reverts commit d8870e8.

* Revert "JavaDoc changes for recent AstronomicalCalendar changes"

This reverts commit e5b6076.

* Revert "AstronomicalCalendar - Remove getSunriseWithElevation() and getSunsetWithElevation()"

This reverts commit 6f1da01.

* rename getSunsetWithElevation/getSunriseWithElevation
## Summary
This fixes Daf Yomi Yerushalmi calculation bugs around cycle boundaries and skipped days.
The previous implementation could return `null` on the first day of a new cycle, and could drift by one daf in later cycles because cycle lengths and skipped days were handled inconsistently.
## Bugs Fixed
The first issue was an exact cycle-boundary bug. For example, `1984-05-13` should be the first day of the next Yerushalmi cycle, returning `Berachos 1`. Instead, the calculator treated it as still belonging to the previous cycle. Since the offset was exactly one past the final daf, no masechta matched and the method returned `null`.
The second issue was skipped-day drift. The calculator counted special days using a strictly-between range and used the nominal `9 Av` date rather than the observed fast date when Tisha B’Av is delayed. Over many cycles, this could shift the computed daf by a day.
…ation()

- This is not needed for zmanim or tefila direction calculation. If someone comes up with a good use case for it, it can be restored.
- Clean up validation and error messages.
- Remove inaccurate and incomplete note about cloning
* add synchronize to the JewishCalendar and JewishDate.

One day we will try to make the classes immutable.
- Add # back to JavaDoc method names (best practice and better IDE support)
Remove logic that exists in the getMinchaGedolaGreaterThan30(Instant) method.
Will be used for calculating zmanim in the Arctic according to some opinions.
This implementation is very initial and does not work for all locations. It is especially problematic in areas between the tropics. The need for this method in the library is for the Arctic/Antarctic areas, and while not perfect or efficient, it for the most part works there. Future enhancements are expected over the next few weeks.
- Add defensive code in getShaahZmanisBasedZman()
and getSunriseOrEasternmostSolarAzimuth()
@KosherJava KosherJava merged commit e50116c into master May 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants