🎉 OxiCloud v0.4.2
🐛 Bug Fixes
- Fix folder trash operation — Added missing
RECURSIVEkeyword inmove_to_trashandrestore_from_trashSQL CTEs, which causedrelation "descendants" does not existerrors when trying to delete folders. - Fix folder permanent delete — Resolved
duplicate key violates unique constraint "idx_files_unique_name_at_root"by explicitly deleting descendant files before removing folders. - Fix schema FK constraint — Changed
files.folder_idforeign key fromON DELETE SET NULLtoON DELETE CASCADEto prevent orphaned file records. - Fix OIDC admin settings — Admin panel now correctly populates OIDC/SSO settings from environment variables.
- Fix database schema startup — Schema is now always applied on startup to ensure consistency.
- Fix upload filename sanitization — Properly sanitize multipart filenames for folder uploads (#121).
- Fix CSS selectors for SVG icons — Updated sidebar navigation CSS selectors to work with SVG icons.
✨ Improvements
- Simplified trash model — Folders are now the only element marked as trashed; child files are implicitly hidden since navigation queries filter
NOT is_trashed. Thetrash_itemsview now only shows top-level trashed items, so the trash bin displays the folder itself instead of hundreds of individual child files. - Trash view icons — Folders and files in the trash now display the same visual icons (yellow folder icon, PDF icon, etc.) as in the main files view.
- Frontend modular architecture — Reorganized all JavaScript into a clean modular folder structure:
app/,core/,features/,views/. - Extract inline CSS/JS — Moved all inline
<style>and<script>blocks fromadmin.htmlandprofile.htmlinto dedicated external files (admin.css,profile.css,admin.js,profile.js). - CSS class-based visibility — Replaced all
style.displayJavaScript assignments and inlinestyle=""attributes with CSS utility classes (hidden,show-block,show-flex). - Dutch translations — Added complete Dutch (NL) language support.
- Brotli + Gzip compression — Enabled Brotli compression for API and static files, plus Cache-Control headers for static assets.
- UI rendering optimizations — Improved rendering performance and event lifecycle management.
- SVG icon system — Frontend optimizations: SVG icons, unified rendering, scoped
translatePage.
👏 Thanks to Our Amazing Contributors
A huge thank you to all the incredible users who contributed to this release — you are the best users in the world! 🌟 Your contributions, bug reports, and ideas make OxiCloud better every day.
We truly appreciate every single contribution. Keep being awesome! ❤️
Full Changelog: v0.4.1...v0.4.2
What's Changed
- Enable brotli compression for API and static files by @gbw in #125
- feat: add Dutch translations by @zjean in #130
- fix: always apply database schema on startup by @gbw in #127
- fix(admin): populate OIDC settings in admin panel from environment variables by @gbw in #128
New Contributors
Full Changelog: v0.4.1...v0.4.2