You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- After the next major release, `main` will track React 19, and React 18 will move to `react-18` for legacy maintenance.
77
+
-`master`: This is the **primary development branch** for the library. It is currently optimized for **React 19** and leverages **Tailwind CSS v4**. All new features, major improvements, and active development efforts are focused here.
78
+
-`legacy/react-18`: This branch serves as a **legacy support line** for **React 18**. It will receive critical bug fixes and security updates but is not intended for new feature development.
79
+
80
+
### Strategy for Branch Transition
81
+
82
+
This diagram illustrates the process of transitioning the primary development line:
80
83
81
84
```mermaid
82
85
sequenceDiagram
83
-
participant Master
84
-
participant Beta
85
-
Master->>Beta: Create sync branch
86
-
Beta->>Beta: Resolve React 19 conflicts
87
-
Beta->>Beta: Update dependencies
88
-
Beta->>Beta: Verify functionality
86
+
participant OldMaster as master (React 18)
87
+
participant Beta as beta (React 19 Development)
88
+
participant NewMaster as master (React 19)
89
+
participant LegacyBranch as legacy/react-18
90
+
91
+
OldMaster->>LegacyBranch: Renamed to legacy/react-18
92
+
Beta->>NewMaster: Renamed to master (now main development branch)
93
+
94
+
Note over NewMaster, LegacyBranch: After transition:
95
+
NewMaster->>NewMaster: Active development for React 19
96
+
LegacyBranch->>LegacyBranch: Support and critical fixes for React 18
89
97
```
90
98
99
+
### Current Synchronization Strategy
100
+
101
+
While `master` (React 19) is the primary branch, if critical fixes or foundational changes are applied to `legacy/react-18` that also benefit `master`, synchronization will occur.
102
+
103
+
```mermaid
104
+
sequenceDiagram
105
+
participant Master(React 19)
106
+
participant Legacy/react-18(React 18)
107
+
108
+
Legacy/react-18->>Master(React 19): If critical fixes occur, synchronize
During the parallel development phase—when the beta branch (now `master`) was being prepared for React 19 while the `master` branch (now `legacy/react-18`) remained active for React 18—we used a specific commit prefix:
115
+
116
+
-[SYNC]: Commits prefixed with [SYNC] indicate changes that were synchronized from the `master` branch (React 18) into the beta branch (React 19). This ensured that critical bug fixes, security updates, or foundational changes from the stable React 18 line were consistently integrated into the upcoming React 19 version.
117
+
118
+
Although the presence of these [SYNC] prefixes can add some noise to the commit history of the current `master` branch, we have chosen to preserve them rather than remove them. This decision was made to maintain the integrity of the repository tree and avoid breaking the commit history between the previous branches (`master` and beta). Removing these prefixes would have resulted in greater issues with traceability and understanding the complete repository history in the future.
119
+
91
120
## Internal Utilities
92
121
93
122
-`@halvaradop/ui-core`: Shared logic (e.g., `merge`, SlotProps, HTML typing).
Copy file name to clipboardExpand all lines: CHANGELOG.md
+36-22Lines changed: 36 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,31 +10,49 @@ Per-package version history is maintained inside each package’s own `CHANGELOG
10
10
11
11
## [Unreleased]
12
12
13
+
---
14
+
15
+
## [legacy] - 2025-06-09
16
+
17
+
> **Release: React 18 Support**
18
+
>
19
+
> Version **0.y.z** marks the official release of our component library with full **React 18** compatibility. This version is a **direct promotion of the latest pre-release (`0.y.z-rc.n`)** and has passed all stability and regression tests in real-world environments. It includes all changes, improvements, and fixes introduced during the `rc` phase.
20
+
>
21
+
> While this release contains substantial updates (such as the complete migration to Tailwind CSS v4 and accessibility enhancements) similar to those in the main (`latest`) version, its purpose is to provide a dedicated support line for projects that still rely on React 18. Active development has moved to the `master` branch, which targets React 19.
22
+
>
23
+
> **Recommended update for React 18 users!**
24
+
>
25
+
> We strongly recommend updating to this version if your project still depends on React 18 to benefit from the latest fixes and optimizations. You can install it using the `legacy` tag on npm:
26
+
>
27
+
> ```bash
28
+
> npm install @halvaradop/ui@legacy
29
+
>```
30
+
>
31
+
> We encourage users to plan their migration to React 19 to take advantage of the latest features and optimizations available in the `master` branch.
32
+
33
+
---
34
+
13
35
## [rc pre-release] - 2025-06-07
14
36
15
37
- Pre-release (`rc`) versions published for all major monorepo packages [#170](https://github.com/halvaradop/ui/pull/170):
16
38
17
-
-@halvaradop/ui-button
18
-
-@halvaradop/ui-checkbox
19
-
-@halvaradop/ui-core
20
-
-@halvaradop/ui-dialog
21
-
-@halvaradop/ui-form
22
-
-@halvaradop/ui-input
23
-
-@halvaradop/ui-label
24
-
-@halvaradop/ui-radio-group
25
-
-@halvaradop/ui-radio
26
-
-@halvaradop/ui-select
27
-
-@halvaradop/ui-slot
28
-
-@halvaradop/ui-submit
29
-
-@halvaradop/ui-template
30
-
-@halvaradop/ui-utils
39
+
- `@halvaradop/ui-button`
40
+
- `@halvaradop/ui-checkbox`
41
+
- `@halvaradop/ui-core`
42
+
- `@halvaradop/ui-dialog`
43
+
- `@halvaradop/ui-form`
44
+
- `@halvaradop/ui-input`
45
+
- `@halvaradop/ui-label`
46
+
- `@halvaradop/ui-radio-group`
47
+
- `@halvaradop/ui-radio`
48
+
- `@halvaradop/ui-select`
49
+
- `@halvaradop/ui-slot`
50
+
- `@halvaradop/ui-submit`
51
+
- `@halvaradop/ui-template`
52
+
- `@halvaradop/ui-utils`
31
53
32
54
Each package incremented its pre-release version (`rc.0`, `rc.1`, etc.) as appropriate. These versions are available on npm under the `rc` tag for testing and validation prior to the stable release.
33
55
34
-
---
35
-
36
-
---
37
-
38
56
## Added
39
57
40
58
- **Theming system with CSS variables**
@@ -72,16 +90,12 @@ Per-package version history is maintained inside each package’s own `CHANGELOG
72
90
After being removed in React 19 migration, `forwardRef` was re-added to restore compatibility with React 18’s `useRef`.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,10 +60,9 @@ pnpm clean # Clean the project
60
60
61
61
## 🌿 Branching Strategy
62
62
63
-
-`master`: Current stable branch (React 18, will become legacy)
64
-
-`beta`: React 19 development branch (will become new `main`)
65
-
66
-
Use `[SYNC]` prefix to indicate synchronization PRs between branches.
63
+
-**`master`**: The main development branch. Represents the latest stable release (currently React 19).
64
+
-**`legacy/react-18`**: Maintains support for React 18. Only accepts critical fixes, bug patches, and minimal changes required for legacy compatibility.
65
+
- Use the `[SYNC]` prefix in pull request titles to clearly indicate synchronization PRs that merge changes between branches (e.g., from `master` to `legacy/react-18`).
67
66
68
67
---
69
68
@@ -144,18 +143,19 @@ chore: upgrade dependencies
144
143
145
144
## 🚀 Pull Request Process
146
145
147
-
1. Use a descriptive title and body
148
-
2. Reference any related issues or PRs
149
-
3. Add screenshots for UI changes
150
-
4. Ensure all tests and builds pass
151
-
5. Label PRs appropriately:
152
-
- `breaking`
153
-
- `accessibility`
154
-
- `[SYNC]`
155
-
6. Get approval from a code owner
146
+
1. Use a descriptive title and body that follow
147
+
2. Reference any related issues or PRs in the body.
148
+
3. Add screenshots or GIFs for UI changes to facilitate review.
Only maintainers listed in the [CODEOWNERS](https://github.com/halvaradop/ui/blob/master/.github/CODEOWNERS) file can approve PRs related to their assigned areas.
158
155
156
+
> Note on [SYNC] commits:
157
+
> Historically, during the transition phase, some commits in the master branch (formerly beta) might be prefixed with [SYNC]. These indicate changes synchronized from the legacy/react-18 branch. As a contributor, you should not use this prefix for new commits; it was specific to a past internal synchronization workflow.
158
+
159
159
---
160
160
161
161
## 🔖 Release Process
@@ -184,10 +184,10 @@ Each package follows [Semantic Versioning](https://semver.org/) independently:
184
184
185
185
Responsibilities:
186
186
187
-
- Review and merge PRs only inassigned scope (see `CODEOWNERS`)
188
-
- Maintain consistency across versions and branches
189
-
- Ensure all packages follow naming and changelog conventions
190
-
- Coordinate `[SYNC]` PRs between `master`, `beta`, and `react-18`
187
+
- Reviewing and merging PRs only within their assigned scope (see `CODEOWNERS`).
188
+
- Maintaining consistency across different versions and branches.
189
+
- Ensuring all packages adhere to naming and changelog conventions.
190
+
- Coordinating any necessary synchronizations between `master`and `legacy/react-18` (though the [SYNC] commit prefix is no longer in active use for new contributions, historical context remains).
Copy file name to clipboardExpand all lines: README.md
+14-9Lines changed: 14 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,15 +1,20 @@
1
-
# @halvaradop/ui
1
+
# @halvaradop/ui@legacy
2
2
3
3
A modern, accessible, and customizable React UI component library, organized as a monorepo and styled with TailwindCSS v4. This library provides pre-styled, reusable components to help you build user interfaces faster and more consistently.
4
4
5
5
## Version Compatibility
6
6
7
7
Supports both `React 18` and `React 19`. Use the table below to select the correct library version for your React version:
Copy file name to clipboardExpand all lines: packages/ui-button/CHANGELOG.md
+24-8Lines changed: 24 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
---
11
+
12
+
## [0.7.0] - 2025-06-09 (Version @legacy for React 18)
13
+
14
+
> **Release: React 18 Support**
15
+
>
16
+
> Version **0.y.z** marks the official release of our component library with full **React 18** compatibility. This version is a **direct promotion of the latest pre-release (`0.y.z-rc.n`)** and has passed all stability and regression tests in real-world environments. It includes all changes, improvements, and fixes introduced during the `rc` phase.
17
+
>
18
+
> While this release contains substantial updates (such as the complete migration to Tailwind CSS v4 and accessibility enhancements) similar to those in the main (`latest`) version, its purpose is to provide a dedicated support line for projects that still rely on React 18. Active development has moved to the `master` branch, which targets React 19.
19
+
>
20
+
> **Recommended update for React 18 users!**
21
+
>
22
+
> We strongly recommend updating to this version if your project still depends on React 18 to benefit from the latest fixes and optimizations. You can install it using the `legacy` tag on npm:
23
+
>
24
+
> ```bash
25
+
> npm install @halvaradop/ui@legacy
26
+
>```
27
+
>
28
+
> We encourage users to plan their migration to React 19 to take advantage of the latest features and optimizations available in the `master` branch.
29
+
30
+
---
31
+
32
+
## [0.6.0-rc.1] - 2025-06-07
33
+
10
34
### Changed
11
35
12
36
- Migrated from Tailwind CSS v3 to v4. Removed deprecated CSS variables and added new auto-generated variables using the `@theme` directive. These changes improve consistency and reduce manual configuration. This change affected the Button component.
@@ -17,14 +41,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
17
41
18
42
### Notes
19
43
20
-
- Tailwind CSS v4 changes impacted most components. The Button component now uses native variants instead of custom `addVariant()` definitions.
21
-
22
-
---
23
-
24
-
## [0.6.0-rc.1] - 2025-06-07
25
-
26
-
### Notes
27
-
28
44
- This is a **release candidate** published under the `rc` tag to validate changes in preparation for the upcoming `1.0.0` major release.
29
45
See [#170](https://github.com/halvaradop/ui/pull/170)
30
46
- Versioning and publishing were automated using the `release.bash` script.
Copy file name to clipboardExpand all lines: packages/ui-checkbox/CHANGELOG.md
+24-8Lines changed: 24 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
---
11
+
12
+
## [0.5.0] - 2025-06-09 - (Version @legacy for React 18)
13
+
14
+
> **Release: React 18 Support**
15
+
>
16
+
> Version **0.y.z** marks the official release of our component library with full **React 18** compatibility. This version is a **direct promotion of the latest pre-release (`0.y.z-rc.n`)** and has passed all stability and regression tests in real-world environments. It includes all changes, improvements, and fixes introduced during the `rc` phase.
17
+
>
18
+
> While this release contains substantial updates (such as the complete migration to Tailwind CSS v4 and accessibility enhancements) similar to those in the main (`latest`) version, its purpose is to provide a dedicated support line for projects that still rely on React 18. Active development has moved to the `master` branch, which targets React 19.
19
+
>
20
+
> **Recommended update for React 18 users!**
21
+
>
22
+
> We strongly recommend updating to this version if your project still depends on React 18 to benefit from the latest fixes and optimizations. You can install it using the `legacy` tag on npm:
23
+
>
24
+
> ```bash
25
+
> npm install @halvaradop/ui@legacy
26
+
>```
27
+
>
28
+
> We encourage users to plan their migration to React 19 to take advantage of the latest features and optimizations available in the `master` branch.
29
+
30
+
---
31
+
32
+
## [0.4.0-rc.1] - 2025-06-07
33
+
10
34
### Changed
11
35
12
36
- Migrated from Tailwind CSS v3 to v4. Deprecated older CSS variables and introduced new ones using the `@theme` directive. This affects the configuration and structure of the Checkbox component.
@@ -22,14 +46,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
22
46
23
47
### Notes
24
48
25
-
- The migration to Tailwind CSS v4 affects all components that relied on older variant definitions or hardcoded variable names.
26
-
27
-
---
28
-
29
-
## [0.4.0-rc.1] - 2025-06-07
30
-
31
-
### Notes
32
-
33
49
- This is a **release candidate** published under the `rc` tag to validate changes in preparation for the upcoming `1.0.0` major release.
34
50
See [#170](https://github.com/halvaradop/ui/pull/170)
35
51
- Versioning and publishing were automated using the `release.bash` script.
0 commit comments