Releases: UnSetSoft/Ryunixjs
Releases · UnSetSoft/Ryunixjs
v1.2.4
What's Changed
- Gh/neyunse/canary by @neyunse in #447
- Gh/neyunse/canary by @neyunse in #448
- Canary by @neyunse in #449
- Gh/neyunse/canary by @neyunse in #450
- Gh/neyunse/canary by @neyunse in #451
- Gh/neyunse/canary by @neyunse in #452
- Gh/neyunse/canary by @neyunse in #453
- Gh/neyunse/canary by @neyunse in #454
- Gh/neyunse/canary by @neyunse in #455
- Gh/neyunse/canary by @neyunse in #456
- Gh/neyunse/canary by @neyunse in #457
- Gh/neyunse/canary by @neyunse in #459
- Gh/neyunse/canary by @neyunse in #458
- Gh/neyunse/canary by @neyunse in #462
- Gh/neyunse/canary by @neyunse in #463
- Gh/neyunse/canary by @neyunse in #464
- Gh/neyunse/canary by @neyunse in #465
- Gh/neyunse/canary by @neyunse in #466
- Gh/neyunse/canary by @neyunse in #467
- update CHANGELOG.md, package.json, package.json and package.json upda… by @neyunse in #468
- Canary by @neyunse in #469
- build: update package.json by @neyunse in #470
- Canary by @neyunse in #471
- Gh/neyunse/webpack preset by @neyunse in #472
- Gh/neyunse/canary by @neyunse in #473
- Canary by @neyunse in #474
- Gh/neyunse/canary by @neyunse in #475
- Gh/neyunse/canary by @neyunse in #476
- Gh/neyunse/canary by @neyunse in #477
- Gh/neyunse/canary by @neyunse in #478
- Gh/neyunse/canary by @neyunse in #479
- Gh/neyunse/canary by @neyunse in #481
- Canary by @neyunse in #482
Full Changelog: v1.2.2...v1.2.4
v1.2.3-canary.11
What's Changed
- Dev by @neyunse in #7
- fixed bugs by @neyunse in #9
- update component.js, reconciler.js and ryunix.js by @neyunse in #12
- Dev v1 canary by @neyunse in #13
- v2 by @neyunse in #15
- update files by @neyunse in #16
- Dev v2 canary by @neyunse in #17
- Dev v2 canary by @neyunse in #18
- Dev by @neyunse in #19
- vercel build path by @neyunse in #20
- removed devServer.port by @neyunse in #21
- Alt by @neyunse in #23
- Dev v2 canary by @neyunse in #24
- Global Ryunix by @neyunse in #25
- update main.ryx, main.ryx, main.ryx and main.ryx by @neyunse in #26
- Dev by @neyunse in #27
- Dev by @neyunse in #29
- Dev by @neyunse in #30
- Dev by @neyunse in #31
- Dev by @neyunse in #33
- Dev by @neyunse in #34
- build: update package.json, package.json and package.json by @neyunse in #35
- Dev by @neyunse in #36
- Dev by @neyunse in #37
- Webpack optimization by @neyunse in #38
- Dev by @neyunse in #39
- chore: update .gitignore, .gitignore, .gitignore and .gitignore by @neyunse in #40
- move master to dev by @neyunse in #41
- Dev by @neyunse in #42
- Dev by @neyunse in #43
- Dev by @neyunse in #48
- Dev by @neyunse in #49
- Master by @neyunse in #50
- Removed Magic Strings by @neyunse in #51
- 0.2.29 tests by @neyunse in #54
- build(deps): bump actions/checkout from 3 to 4 by @dependabot[bot] in #57
- update 4 files and delete 4 files by @neyunse in #61
- Experimental by @neyunse in #134
- update packages/ryunix/src/lib/index.js, navigation.js and main.js by @neyunse in #135
- master by @neyunse in #227
- fix by @neyunse in #276
- Master by @neyunse in #277
- fix logo by @neyunse in #278
- Master by @neyunse in #310
- Master by @neyunse in #324
- Router by @neyunse in #325
- move repo changes by @neyunse in #342
- move to dev by @neyunse in #343
- Gh/neyunse/dev by @neyunse in #386
- Rollback by @neyunse in #387
- Gh/neyunse/rollback by @neyunse in #389
- Gh/neyunse/rollback by @neyunse in #390
- Gh/neyunse/canary by @neyunse in #404
- Gh/neyunse/canary by @neyunse in #406
- Gh/neyunse/canary by @neyunse in #409
- Gh/neyunse/canary by @neyunse in #412
- Gh/neyunse/canary by @neyunse in #415
- update package.json and vite.config.js by @neyunse in #418
- repo templates by @neyunse in #446
- Gh/neyunse/canary by @neyunse in #447
- Gh/neyunse/canary by @neyunse in #448
- Canary by @neyunse in #449
- Gh/neyunse/canary by @neyunse in #450
- Gh/neyunse/canary by @neyunse in #451
- Gh/neyunse/canary by @neyunse in #452
- Gh/neyunse/canary by @neyunse in #453
- Gh/neyunse/canary by @neyunse in #454
- Gh/neyunse/canary by @neyunse in #455
- Gh/neyunse/canary by @neyunse in #456
- Gh/neyunse/canary by @neyunse in #457
- Gh/neyunse/canary by @neyunse in #459
- Gh/neyunse/canary by @neyunse in #458
- Gh/neyunse/canary by @neyunse in #462
- Gh/neyunse/canary by @neyunse in #463
- Gh/neyunse/canary by @neyunse in #464
- Gh/neyunse/canary by @neyunse in #465
- Gh/neyunse/canary by @neyunse in #466
- Gh/neyunse/canary by @neyunse in #467
- update CHANGELOG.md, package.json, package.json and package.json upda… by @neyunse in #468
- build: update package.json by @neyunse in #470
- Gh/neyunse/webpack preset by @neyunse in #472
- Gh/neyunse/canary by @neyunse in #473
- Gh/neyunse/canary by @neyunse in #475
- Gh/neyunse/canary by @neyunse in #476
New Contributors
- @dependabot[bot] made their first contribution in #57
Full Changelog: https://github.com/UnSetSoft/Ryunixjs/commits/v1.2.3-canary.11
v1.2.3-canary.1
Full Changelog: v1.2.3-canary.0...v1.2.3-canary.1
v1.2.3-canary.0
Ryunix Framework - Major Improvements
🐛 Critical Bug Fixes
- useReducer double processing: Fixed state updates incrementing by 2 instead of 1
- Memory leaks: Effect cleanup now properly clears references
- Props validation: Fixed
props is undefinederrors in createElement - Component rendering: Fixed broken sibling chains causing missing components
🔄 Core Architecture
- State management: Replaced global mutable
varswithgetState()/resetState() - Test isolation: Tests now fully isolated with state resets
- Error handling: Added try-catch blocks throughout critical operations
- Type safety: Added runtime type checking utilities (
is.object,is.function, etc.)
✨ New Features (Beta)
- memo(): Component memoization to prevent unnecessary re-renders
- lazy() & Suspense: Code splitting and lazy component loading
- batchUpdates(): Group multiple state updates into single render
🎨 SSG Improvements
- Auto-extraction: Routes automatically extracted from routes.ryx via webpack plugin
- Per-route metadata: SEO, Open Graph, Twitter Cards per route
- robots.txt: Automatic generation
- Enhanced sitemap: Granular control with changefreq/priority per route
- Smart prerendering: Skips dynamic routes (
:param) and 404s automatically
📁 File Structure
packages/ryunix/src/
├── utils/index.js (getState, resetState, type utils)
├── lib/
│ ├── createElement.js (improved validation)
│ ├── hooks.js (fixed useReducer, added routing hooks)
│ ├── effects.js (memory leak fixes)
│ ├── dom.js (better error handling)
│ ├── components.js (null handling)
│ ├── reconciler.js (fixed sibling chains)
│ ├── commits.js (error handling)
│ ├── workers.js (try-catch)
│ ├── render.js (validation)
│ ├── memo.js (NEW)
│ ├── lazy.js (NEW)
│ └── batching.js (NEW)
packages/ryunix-presets/webpack/
├── utils/
│ ├── ssg.mjs (NEW - SSG utilities)
│ └── RyunixRoutesPlugin.mjs (NEW - auto route extraction)
└── bin/prerender.mjs (rewritten for auto-extraction)
📝 Usage Examples
Memo:
const MemoizedComponent = memo(ExpensiveComponent)Batching:
batchUpdates(() => {
setCount(c => c + 1)
setName('New')
setActive(true)
})Lazy Loading:
const Heavy = lazy(() => import('./Heavy'))
<Suspense fallback={<div>Loading...</div>}>
<Heavy />
</Suspense>SSG Routes:
const routes = [
{
path: "/",
component: Home,
meta: { title: "Home", description: "..." },
sitemap: { priority: "1.0" }
}
]⚠️ Breaking Changes
None - All changes are backward compatible
🔧 Migration Guide
- Replace 7 core files in
packages/ryunix/src/lib/ - Add
utils-index.jstopackages/ryunix/src/utils/ - Add SSG files to
packages/ryunix-presets/webpack/ - Optional: Add new features (memo, lazy, batching)
What's Changed
- Gh/neyunse/canary by @neyunse in #458
- Gh/neyunse/canary by @neyunse in #465
- Gh/neyunse/canary by @neyunse in #466
- Gh/neyunse/canary by @neyunse in #467
- update CHANGELOG.md, package.json, package.json and package.json upda… by @neyunse in #468
- build: update package.json by @neyunse in #470
- Gh/neyunse/webpack preset by @neyunse in #472
Full Changelog: v1.2.0-canary.69...v1.2.3-canary.0
v1.2.2
v1.2.1
What's Changed
- Gh/neyunse/canary by @neyunse in #447
- Gh/neyunse/canary by @neyunse in #448
- Canary by @neyunse in #449
- Gh/neyunse/canary by @neyunse in #450
- Gh/neyunse/canary by @neyunse in #451
- Gh/neyunse/canary by @neyunse in #452
- Gh/neyunse/canary by @neyunse in #453
- Gh/neyunse/canary by @neyunse in #454
- Gh/neyunse/canary by @neyunse in #455
- Gh/neyunse/canary by @neyunse in #456
- Gh/neyunse/canary by @neyunse in #457
- Gh/neyunse/canary by @neyunse in #459
- Gh/neyunse/canary by @neyunse in #458
- Gh/neyunse/canary by @neyunse in #462
- Gh/neyunse/canary by @neyunse in #463
- Gh/neyunse/canary by @neyunse in #464
- Gh/neyunse/canary by @neyunse in #465
- Gh/neyunse/canary by @neyunse in #466
- Gh/neyunse/canary by @neyunse in #467
- update CHANGELOG.md, package.json, package.json and package.json upda… by @neyunse in #468
- Canary by @neyunse in #469
- build: update package.json by @neyunse in #470
- Canary by @neyunse in #471
Full Changelog: v1.1.37...v1.2.1
v1.2.0-canary.69
Chages
- added eslint
- added lint and lint fix
- refactor experimental.ssg
- eslint updated