## Changelog

All notable changes to diff-ymd-package will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
and follows the guidelines from [Keep a Changelog](https://keepachangelog.com/).

### [Unreleased]

#### Added

- Initial implementation of the DatesYMD utility class.
- Support for date formats 'yyyy-mm-dd', 'yyyy/mm/dd', and 'yyyy.mm.dd'.
- Improved handling of empty date inputs.
- Includes methods for creating instances, calculating differences, and formatting results.
- Unit tests using Jest for comprehensive testing.

### [v1.0.0-beta.1]

### [v1.0.0-beta.2]

### [v1.0.0]

#### Fixed

fixed some prerequisites for making package available on npm through "Github Packages"

### [v1.0.1]

#### Fixed

fixed some issues and configured files for v1.0.1

### [v1.0.2]

#### Fixed

fixed some issues and configured files for publishing diff-ymd-package v1.0.2 on npm registry

### [v1.0.3]

#### Fixed

fixed some issues and configured files for publishing diff-ymd-package v1.0.3 on npm registry

### [v1.0.4]

#### Fixed

fixed some issues and configured files for publishing diff-ymd-package v1.0.4 on npm registry

### [v1.0.5]

#### Fixed

fixed some issues and configured files for publishing diff-ymd-package v1.0.5 on npm registry

### [v1.1.0]

#### Added

- Improved handling of customized formatting.
- Includes method for creating customized differrence formats.
- Included Unit test using Jest for customizing method.
- Included through comments in tests script

#### Changed

- Included through comments in tests script

#### Fixed

fixed some issues and configured files for publishing diff-ymd-package v1.1.0 on npm registry

### [v1.1.1]

#### Fixed

fixed some issues and configured files for v1.1.1

### [v1.1.2]

#### Fixed

fixed some issues and configured files for v1.1.2

### [v1.1.3]

#### Fixed

fixed some issues and configured files for v1.1.3

### [v2.0.0] - [2024-01-24]

#### Added

- **Simplification:** Updated the `DatesYMD` class to accept dateString, epoch, and dateObject as well along with string as parameters.
- Added the method `diffInMonths` to calculate the difference in months between two dates.
- Added the method `diffInWeeks` to calculate the difference in weeks between two dates.
- Added the method `diffInDays` to calculate the difference in days between two dates.
- Added the method `diffInYears` to calculate the difference in years between two dates.
- Added the method `diffInHours` to calculate the difference in hours between two dates.
- Added the method `diffInMinutes` to calculate the difference in minutes between two dates.
- Added the method `diffInSeconds` to calculate the difference in seconds between two dates.
- Updated Unit tests: Included comprehensive Jest tests for the newly added methods.
- Updated the README.md documentation to include the new methods.

#### Changed

- Improved algorithm efficiency: Enhanced performance for existing methods to provide faster calculations.
- Modified internal structure: Refactored internal code for better readability and maintainability.

#### Fixed

- Fixed some issues related to the new changes.
- Configured files for publishing diff-ymd-package v2.0.0 on npm registry.

#### Documentation

- README.md updated: Added examples and use cases and api documentation for the new methods.
- Enhanced code comments: Provided thorough inline documentation for better codes understanding.

#### Testing

- Increased test coverage: Expanded Jest test suite to cover all scenarios, ensuring robust functionality.
- Continuous Integration: Integrated automated testing with GitHub Actions for ongoing code quality assurance.

### [v2.0.1]

#### Fixed

fixed some issues and configured files for publishing diff-ymd-package v2.0.1 on npm registry

### [v2.0.2]

#### Fixed

fixed some issues and configured files for publishing diff-ymd-package v2.0.2 on npm registry

### [v2.0.3]

#### Fixed

- formatted readme documentation for better presentation
- added wiki for diff-ymd-package better docummentation
- updated diff-ymd-package gh-pages documention
- updated varaibles keywords to modern Js keywords
- fixed some other issues and configured files for v2.0.3

### [v2.1.0]

#### Added

- **Simplification:** Modularize the diff-ymd-package
- Added the `DatesYMD` class in separate file
- Added the `diffDates` function in separate file
- Updated tests codes
- Updated the README.md documentation for better presentation.
- Enhanced README.md for follwing best practices

#### Changed

- Improved algorithm efficiency: Enhanced performance for existing methods to provide faster calculations.
- Modified internal structure: Refactored internal code for better readability and maintainability.
- Enhanced README.md for follwing best practices

#### Fixed

- Fixed some issues related to the new changes.
- Configured files for publishing diff-ymd-package v2.1.0 on npm registry.

#### Documentation

- README.md updated: Added consistent formating and recommended for best practices.
- Enhanced code comments: Provided thorough inline documentation for better codes understanding.

#### Testing

- Continuous Integration: Integrated automated testing with GitHub Actions for ongoing code quality assurance.

### [v2.1.1]

#### Fixed

- Updated package.json main field for corrected issue in v2.1.0
- fixed some other issues and configured files for v2.1.1

### [v2.2.0] - [2024-02-17]

#### Added

- **Simplification:** README.md documentation of diff-ymd-package
- Updated corrected github registry description in README.md documentation
- Updated the README.md documentation for better presentation.
- Enhanced README.md for follwing best practices

#### Changed

- Corrected github registry description of README.md documentation
- Enhanced README.md for follwing best practices

#### Fixed

- Fixed some issues related to the new changes.
- Configured files for publishing diff-ymd-package v2.2.0 on npm registry.

#### Documentation

- README.md updated: Added correction and consistent formating and recommended for best practices.

#### Testing

- Continuous Integration: Integrated automated testing with GitHub Actions for ongoing code quality assurance.

### [v2.2.1]

#### Fixed

- Updated codebase for delivery library through cdn as well as npm
- fixed some other issues and configured files for v2.2.1

### [v2.3.0]

#### Added

- **Simplification:** Added CDN approach for diff-ymd-package
- Added the doc for CDN approach in readme file
- Added doc for CDN approach in jsdoc live doc

#### Changed

- Improved algorithm efficiency: Enhanced performance for existing methods to provide faster calculations.
- Modified internal structure: Refactored internal code for better readability and maintainability.
- Updated Readme and jsdoc doc for CDN approach

#### Fixed

- Fixed some issues related to the new changes.
- Configured files for publishing diff-ymd-package v2.3.0 on npm registry.

### [v2.3.1]

#### Fixed

- Updated reademe doc for documenting cdn and npm approach following best practices
- fixed some other issues and configured files for v2.3.1

#### Changed

- Updated links to abs url for cross compatibility

### [v2.3.2]

#### Fixed

- updated doc for documenting latest cdn and npm approach following best practices for v2.3.2
- fixed some other issues and configured files for v2.3.2

#### Changed

- added security dependabot
- added codeql

### [v3.0.0] - [2024-02-24]

#### Added

- **Simplification:** Integrated security vurneability support
- Updated the README.md documentation for following the best practices.

#### Changed

- Updated the README.md documentation for following the best practices.
- Updated issue templates with correct descriptions and links

#### Fixed

- Fixed some issues related to the new changes.
- Configured files for publishing diff-ymd-package v3.0.0.

#### Documentation

- README.md updated: Added consistent formating and recommended for best practices.

### [v3.1.0]

#### Added

- **Simplification:** Integrate diff as global Date Object method on importing
- Added source codes for integrating to Date
- Added the README.md codes for documenting integration.

#### Changed

- Updated the README.md documentation for documenting integration.
- Updated source codes
- Enhanced README.md for follwing best practices and recommended practices

#### Fixed

- Fixed some issues related to the new changes.
- Configured files for publishing diff-ymd-package v3.1.0.

#### Documentation

### [v3.1.1]

#### Fixed

- Updated codebase for updating diff to best practiced
- fixed some other issues and configured files for v3.1.1

### [v3.1.2]

#### Fixed

- updated doc for documenting latest Global Date integration following best practices
- fixed some other issues and configured files for v2.3.2

### [v3.1.3]

#### Fixed

- added diff-ymd-package.d.ts to resolve the types issue

### [v3.1.4]

#### Fixed

- added type for global Date integrated diff method in diff-ymd-package.d.ts for hinting in editor

### [v3.1.5]

#### Fixed

- added details about parent developer QuranBookk.com and fixing token to latestes date

### [Next Release] - Collecting issues and new features for next release

### Important changes links:

- [Unreleased](https://github.com/farhan7reza7/diff-ymd-package/compare/v3.1.5...HEAD)
- [v3.1.5](https://github.com/farhan7reza7/diff-ymd-package/releases/tag/v3.1.5)
- [Next Release](https://github.com/farhan7reza7/diff-ymd-package/milestone/2)
