Releases: ProjectAnndromeda/royalehigh-api
Release list
Royale High API v3.0.1-beta
Royale High API v3.0.1-beta
Minor Patch
Changelog
[3.0.1-beta] - 2024-07-26
Overview
Edited README.md file to link to the LICENSE.txt file.
Changelog
[3.0.1-beta] - 2024-07-26
Minor Patch
- README.md Minor Fix
- Edited README.md file to link to the LICENSE.txt file.
Full Changelog: 3.0.0-beta...3.0.1-beta
Royale High API v3.0.0-beta
Royale High API v3.0.0-beta
Major Version
Changelog
[3.0.0-beta] - 2024-07-26
Overview
Changed license to the Apache-2.0 License and added clearer attribution requirements.
Changelog
[3.0.0-beta] - 2024-07-26
Major Changes
-
License Change
- The license for the Royale High API project has been changed to the Apache-2.0 License.
- This change aims to provide a more flexible and permissive licensing option for users and contributors.
- For detailed information about the Apache-2.0 License, please refer to the LICENSE.txt file included in the repository.
-
Addition of Attribution Requirement
- A new file,
ATTRIBUTION.md, has been added to the project. - This file outlines the requirement for users to provide proper attribution to the original creator, Anndromeda™ by Alina Wan, in any use, modification, or distribution of this project.
- The
ATTRIBUTION.mdfile includes specific examples and formats for providing attribution. - For details on how to attribute, refer to the ATTRIBUTION.md file included in the repository.
- A new file,
Important Notes
- Users and contributors are encouraged to review the new license and attribution requirements to ensure compliance.
- The Apache-2.0 License provides clarity on usage rights, distribution, and contributions, facilitating a broader adoption and contribution base.
Full Changelog: 2.0.1-beta...3.0.0-beta
Royale High API v2.0.1-beta
Royale High API v2.0.1-beta
Major Version
Changelog
[2.0.1-beta] - 2024-07-24
Overview
Made returning data over 3 times faster. Migrated from Flask to Quart and replaced Selenium with Playwright.
Breaking Changes
-
Framework Change:
- Migrated from Flask to Quart. Quart is an asynchronous web framework based on Flask, which requires updates to routing, request handling, and middleware usage.
-
Browser Automation Library:
- Replaced Selenium with Playwright for browser automation and web scraping. This change impacts how browser interactions are scripted and managed, including async operations and timeout handling.
Features
-
Asynchronous Support:
- Updated codebase to leverage asynchronous operations using Quart’s
async/awaitsyntax and Playwright’s async API, improving concurrency and responsiveness.
- Updated codebase to leverage asynchronous operations using Quart’s
-
Improved Web Scraping:
- Enhanced web scraping with Playwright, which supports better handling of modern web applications and dynamic content.
-
Dynamic Request Handling:
- Implemented dynamic request management in scraping. Requests are now staggered with a delay, allowing up to a maximum of three concurrent requests, improving efficiency and reducing server load.
Fixes and Improvements
-
Timeout and Retry Logic:
- Improved timeout and retry logic for fetching web pages. Increased timeouts and implemented more robust retry mechanisms to handle network or page loading issues.
-
Error Handling:
- Enhanced error handling for scenarios where pages fail to load or where no items are found. Added checks for specific no-results messages to stop further scraping when necessary.
-
Logging and Debugging:
- Improved logging to provide detailed information on page requests, errors, and the number of items found. This helps in debugging and monitoring the scraping process.
Dependencies
- Updated Dependencies:
- Switched from Selenium WebDriver to Playwright for browser automation.
- Updated web framework dependency from Flask to Quart.
Migration Notes
- Code Updates Required:
- Update route handling and request processing to be compatible with Quart’s asynchronous model.
- Refactor browser automation scripts to use Playwright’s API instead of Selenium’s WebDriver API.
- Ensure all async functions are properly awaited and handle exceptions appropriately in the new async environment.
Royale High API v1.1.3-beta
Royale High API v1.1.3-beta
Minor Change
Improved Page Load Handling
Replaced hard-coded time.sleep delays with dynamic waits using WebDriverWait. This enhancement ensures more reliable and faster page loading detection by waiting for specific elements to be present, reducing unnecessary delays and improving overall scraping efficiency.
Added Information to README.md
Added a consideration in the Key Considerations Section of the README.md to highlight the API’s response time of around 250 seconds. Included guidance on configuring timeout settings to handle potential API client timeouts effectively. This ensures users are aware of performance considerations and can adjust their timeout settings as needed.
Full Changelog: 1.1.2-beta...1.1.3-beta
Royale High API v1.1.2-beta
Royale High API v1.1.2-beta
Minor Change
Added a "Key Considerations" section to the README.md file to provide important information about:
- The use of hard-coded sleep times (
time.sleep(2)) and the recommendation to consider dynamic checks for content loading. - The code currently captures the average value; it is recommended to review and adapt the code if community value is required instead.
Full Changelog: 1.1.0-beta...1.1.2-beta
Royale High API v1.1.0-beta
Royale High API v1.1.0-beta
Minor Version
Overview
Changed page fetching logic from a single-page-fetching logic to a multi-page-fetching logic to significantly improve efficiency. The program now scrapes pages twice as fast. Cleaned up console output and added additional print statements to log page-fetching progress.
Added
- Enhanced scraping capability to process and fetch data from up to 5 pages at once, improving efficiency and speed.
Changed
- Updated page fetching logic to handle multiple pages in a single request, reducing the number of requests needed and improving overall performance.
- Incorporated new headless browser options to optimize performance and reduce resource usage.
- Added a delay between requests to avoid overloading the server and potentially getting blocked.
Fixed
- Removed duplicate print statements that were causing redundancy in the console output.
- Implemented error message suppression for SSL handshake failures and other non-critical warnings to provide cleaner logs and improve readability.
- Adjusted timeout and sleep intervals to ensure pages have sufficient time to load and prevent script from getting stuck.
Deprecated
- Older single-page-fetching logic has been replaced with a more efficient multi-page-fetching approach.
Royale High API v1.0.2-beta
Royale High API v1.0.2-beta
Minor Patch
Fixed issue in logic which caused control to not be returned to the terminal after shutdown.
Full Changelog: 1.0.1-beta...1.0.2-beta
Royale High API v1.0.1-beta
Royale High API v1.0.1-beta
Minor Patch
Extended time.sleep to allow containers more time to load. This will make the program run slightly slower, but reduces the possibility of missing items due to containers not being loaded in time.
Full Changelog: 1.0.0-beta...1.0.1-beta
Royale High API v1.0.0-beta
Royale High API v1.0.0-beta
Initial Release
Released Royale High API
Full Changelog: https://github.com/ProjectAnndromeda/royalehigh-api/commits/1.0.0-beta