-
Notifications
You must be signed in to change notification settings - Fork 24
Release 7.0.0 #258
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release 7.0.0 #258
Conversation
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughAdds Lychee v7 release materials (release notes and blog post), a rewritten v6→v7 Docker upgrade guide (FrankenPHP / Laravel Octane) with volume/service/worker details, navigation and announcement updates pointing to v7, homepage teaser link change, roadmap release metadata updates, and a FAQ note about .env restarts. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
Pre-merge checks✅ Passed checks (1 passed)
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
public/blog/Lychee7.jpgis excluded by!**/*.jpg
📒 Files selected for processing (7)
docs/releases.mddocs/upgrade.mdgen.pysrc/components/widgets/Announcement.astrosrc/content/post/2025-12-31-version-7.mdxsrc/navigation.jssrc/pages/roadmap.astro
🧰 Additional context used
🪛 LanguageTool
src/content/post/2025-12-31-version-7.mdx
[grammar] ~26-~26: Ensure spelling is correct
Context: ... boot time drops from 40-60ms to just 4-6ms per request, with 3-4x better throughpu...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
docs/upgrade.md
[grammar] ~258-~258: Ensure spelling is correct
Context: ...ing requirements Check that the server satisfifes the [requirements](installation.html#we...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🔇 Additional comments (6)
gen.py (1)
51-51: LGTM! Title update reflects expanded upgrade documentation.The change from 'Upgrade from v3' to 'Upgrade Lychee' is appropriate since the upgrade documentation now covers multiple version migrations (v3→v4 and v6→v7).
src/components/widgets/Announcement.astro (1)
13-14: LGTM! Announcement banner updated for v7.0.0 release.The banner correctly references the v7.0.0 GitHub release tag and displays the updated version message.
docs/releases.md (1)
31-41: LGTM! Version 7 section added correctly.The new Version 7 section follows the established format and clearly documents the major release. The scheduled release date (Dec 31, 2025) and feature highlights are appropriate.
src/content/post/2025-12-31-version-7.mdx (1)
1-66: Excellent release announcement! Well-written and comprehensive.The blog post effectively communicates the major changes in v7, including:
- Architectural shift to FrankenPHP with Laravel Octane
- Performance improvements with specific metrics
- New features (Star Rating System and Webshop)
- Clear references to upgrade documentation
The future publish date (Dec 31, 2025) is appropriate for a scheduled release.
src/navigation.js (1)
12-15: LGTM! Navigation updated consistently for v7 release.The changes appropriately:
- Add a navigation link to the new v7 release blog post
- Update the "Current developments" tag reference from v6 to v7
Also applies to: 26-26
docs/upgrade.md (1)
1-252: Outstanding v6→v7 upgrade documentation!This is comprehensive, well-structured documentation covering all critical aspects of the v6→v7 migration:
Strengths:
- Clear explanation of breaking architectural changes (FrankenPHP with Laravel Octane)
- Detailed volume mount migration guide with before/after examples
- Well-documented worker service configuration with scaling options
- Step-by-step migration process
- Comprehensive troubleshooting section addressing common issues
- Critical configuration requirements clearly highlighted (QUEUE_CONNECTION, LYCHEE_MODE)
The documentation provides users with everything they need for a successful migration.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/pages/index.astro (1)
259-310: Add keyboard accessibility and ARIA attributes.The teaser overlay lacks keyboard support and semantic markup for assistive technologies:
- No Escape key handler for keyboard users to dismiss the overlay
- Missing ARIA role and labels for screen readers
- No focus management (focus should be trapped or moved to the overlay)
While the auto-dismiss after ~6 seconds prevents a permanent keyboard trap, this still creates a degraded experience for keyboard and screen reader users.
🔎 Recommended accessibility improvements
Add Escape key handling and ARIA attributes:
document.addEventListener('DOMContentLoaded', () => { const teaser = document.createElement('div'); teaser.id = 'teaser'; + teaser.setAttribute('role', 'dialog'); + teaser.setAttribute('aria-modal', 'true'); + teaser.setAttribute('aria-label', 'Lychee Version 7 Release Announcement'); teaser.style.position = 'fixed'; // ... existing styles ... const a = document.createElement('a'); a.href = '/2025-12-31-version-7'; const img = document.createElement('img'); img.src = '/Lychee-v7-teasing.png'; - img.alt = 'Teaser Image'; + img.alt = 'Lychee Version 7 Release - Click to learn more'; img.style.maxWidth = '90%'; // ... existing styles ... a.appendChild(img); teaser.appendChild(a); document.body.appendChild(teaser); + // Focus the anchor for keyboard navigation + a.focus(); // Start the zoom animation setTimeout(() => { img.style.opacity = '1'; img.style.transform = 'scale(1.5)'; }, 0); // Fade out the teaser after the zoom animation setTimeout(() => { teaser.style.opacity = '0'; img.style.opacity = '0'; setTimeout(() => { teaser.remove(); }, 3000); }, 3000); teaser.addEventListener('click', () => { teaser.remove(); }); + // Allow Escape key to dismiss + const handleKeyDown = (e) => { + if (e.key === 'Escape') { + teaser.remove(); + document.removeEventListener('keydown', handleKeyDown); + } + }; + document.addEventListener('keydown', handleKeyDown); });
🧹 Nitpick comments (1)
src/pages/index.astro (1)
259-310: Consider showing the teaser only once per session.The teaser displays on every page load, which may become repetitive for returning visitors. Consider using
sessionStorageorlocalStorageto show it only once.🔎 Example implementation
document.addEventListener('DOMContentLoaded', () => { + // Show teaser only once per session + if (sessionStorage.getItem('v7TeaserShown')) { + return; + } + sessionStorage.setItem('v7TeaserShown', 'true'); + const teaser = document.createElement('div'); // ... rest of the code ... });Alternatively, use
localStorageinstead ofsessionStorageto persist across browser sessions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
docs/upgrade.md (1)
261-261: Fix typo in requirements check section.The word "satisfifes" should be "satisfies".
🔎 Proposed fix
-Check that the server satisfifes the [requirements](installation.html#web-server-configuration). In particular pay attention the PHP extensions. +Check that the server satisfies the [requirements](installation.html#web-server-configuration). In particular pay attention the PHP extensions.
🧹 Nitpick comments (2)
docs/faq_troubleshooting.md (1)
7-10: Consider simplifying the wording (optional).The FAQ entry is clear and helpful. For slightly more concise phrasing, consider these alternatives:
- "the changes are not recognized" instead of "not taken into account"
- "to recognize changes" or "to apply changes" instead of "to take into account changes"
🔎 Optional simplification
-### When I update my .env with Lychee v7, the changes are not taken into account, what can I do? +### When I update my .env with Lychee v7, the changes are not applied, what can I do? -Lychee v7 with FrankenPHP requires a container restart to take into account changes made to the `.env` file. +Lychee v7 with FrankenPHP requires a container restart to apply changes made to the `.env` file.src/content/post/2025-12-31-version-7.mdx (1)
64-64: Consider adding a specific documentation link (optional).While the call to action mentions "our documentation," consider adding the specific upgrade documentation URL for user convenience:
🔎 Optional enhancement
-**Ready to upgrade?** Visit our documentation to learn how to update to Version 7 and start experiencing these improvements today. +**Ready to upgrade?** Visit our [upgrade documentation](https://lycheeorg.github.io/docs/upgrade.html) to learn how to update to Version 7 and start experiencing these improvements today.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
docs/faq_troubleshooting.mddocs/upgrade.mdsrc/content/post/2025-12-31-version-7.mdx
🧰 Additional context used
🪛 LanguageTool
docs/upgrade.md
[grammar] ~261-~261: Ensure spelling is correct
Context: ...ing requirements Check that the server satisfifes the [requirements](installation.html#we...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
docs/faq_troubleshooting.md
[style] ~7-~7: ‘taken into account’ might be wordy. Consider a shorter alternative.
Context: ...env with Lychee v7, the changes are not taken into account, what can I do? Lychee v7 with Franken...
(EN_WORDINESS_PREMIUM_TAKEN_INTO_ACCOUNT)
[style] ~9-~9: ‘take into account’ might be wordy. Consider a shorter alternative.
Context: ...nkenPHP requires a container restart to take into account changes made to the .env file. ### W...
(EN_WORDINESS_PREMIUM_TAKE_INTO_ACCOUNT)
src/content/post/2025-12-31-version-7.mdx
[grammar] ~26-~26: Ensure spelling is correct
Context: ... boot time drops from 40-60ms to just 4-6ms per request, with 3-4x better throughpu...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🔇 Additional comments (9)
src/content/post/2025-12-31-version-7.mdx (3)
16-23: LGTM!The introduction provides excellent context for the Version 7 release, highlighting the year's achievements and setting the stage for the major announcement.
35-54: LGTM!The features section clearly describes the new capabilities, appropriately calls out the Pro-only nature of the Webshop, and acknowledges community supporters.
26-26: Claim verified as accurate.The statement about FrankenPHP gaining official support from the PHP Foundation in May 2025 is correct. The PHP Foundation announced this support on May 15, 2025, with FrankenPHP's source moving into the php GitHub organization.
docs/upgrade.md (6)
1-18: LGTM!Excellent introduction that clearly warns users about breaking changes and provides a concise overview of major architectural shifts. The prominent note about configuration updates is critical for users upgrading from v6.
19-44: LGTM!The before/after volume structure comparison is clear and helpful. The read-only mount for
.envis a good security practice, and the optional custom asset mounts provide flexibility.
45-134: LGTM!The service architecture examples are comprehensive and production-ready. The repeated emphasis on critical configuration requirements (QUEUE_CONNECTION and LYCHEE_MODE) will help prevent common setup errors.
135-171: LGTM!The worker scaling documentation provides clear guidance on both replica-based and manual scaling approaches, giving users flexibility based on their orchestration setup.
173-231: LGTM!The migration steps are well-structured, starting with critical backup procedures and providing concrete commands for each step. The verification section ensures users can confirm successful migration.
232-255: LGTM!The troubleshooting section addresses common post-migration issues with actionable solutions and provides clear paths to community support.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
src/content/post/2025-12-31-version-7.mdx (1)
57-57: Consider clarifying the Pro access model.The sentence "It is now available at the $10/month tier or with any one-time support contribution" follows "we've granted Lychee Pro access to all our existing supporters." This might be slightly unclear about whether existing supporters automatically receive Pro access or if they need to meet the tier requirements.
Consider rephrasing to clarify whether:
- Existing supporters automatically have Pro access (as a goodwill gesture)
- New users need the $10/month tier or one-time contribution
- Existing supporters need to upgrade to these tiers
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
docs/releases.mdsrc/content/post/2025-12-31-version-7.mdxsrc/pages/roadmap.astro
🚧 Files skipped from review as they are similar to previous changes (2)
- docs/releases.md
- src/pages/roadmap.astro
🧰 Additional context used
🪛 LanguageTool
src/content/post/2025-12-31-version-7.mdx
[grammar] ~26-~26: Ensure spelling is correct
Context: ... boot time drops from 40-60ms to just 4-6ms per request, with 3-4x better throughpu...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🔇 Additional comments (4)
src/content/post/2025-12-31-version-7.mdx (4)
1-23: LGTM! Excellent introduction and metadata.The front matter is properly structured with comprehensive metadata, and the introduction effectively sets the context for the Version 7 release with appropriate contributor recognition and year-in-review highlights.
24-36: LGTM! Clear architectural changes and upgrade guidance.The section effectively communicates the major architectural shift to FrankenPHP, performance improvements, and critical upgrade requirements. The warnings about PHP 8.4 and .env behavior changes are properly emphasized. The reference to upgrade documentation (line 30) is excellent practice.
Note: The static analysis hint about "4-6ms" on line 26 is a false positive—the hyphenated range notation is correct.
67-78: LGTM! Strong closing and call to action.The closing section effectively summarizes the release's significance and maintains the positive, community-focused tone. The call to action appropriately references the documentation (with a specific link already provided at line 30).
59-59: No action needed. The URL keygen.lycheeorg.dev is live and accessible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (1)
docs/upgrade.md (1)
16-17: Minor: Improve phrasing for clarity."Do note that this change also has consequences" reads awkwardly. Prefer the more direct "Note that this change also has consequences" for better English flow.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/upgrade.md
🔇 Additional comments (1)
docs/upgrade.md (1)
3-258: Strong documentation for v6→v7 migration.The new Docker upgrade guide is comprehensive and well-structured. The critical breaking-changes notice is prominent, volume mount comparisons are clear, and the multi-service examples (basic and advanced) with worker scaling guidance provide practical value. The troubleshooting section addresses common pain points effectively. The .env read-only mounting and emphasis on
QUEUE_CONNECTIONconsistency across services are particularly helpful for avoiding configuration mistakes.
Summary by CodeRabbit
New Features
Documentation
Style
✏️ Tip: You can customize this high-level summary in your review settings.