π₯π₯ κ²ν λκΈ°
π
μ΄ νμ΄μ§λ booster-maxμμ μλμΌλ‘ κ°μ Έμ¨ PR draftλ€μ λͺ¨μλλ 보κ΄ν¨μ
λλ€. κ°μ΄λ μ¬μ΄νΈμλ νμλμ§ μμ΅λλ€.
μ¬μ© λ°©λ²
- μλ μλ μμ±λ draft νμ΄μ§λ€μ κ²ν
- νμ μλ PR β νμ΄μ§ μμ
- κ°μ΄λμ μ¬λ¦΄ PR β μ λͺ©Β·λ΄μ© λ€λ¬κΈ°
- μμ±λ νμ΄μ§λ₯Ό "μ λ°μ΄νΈ λ΄μ" νμ΄μ§ μλλ‘ λλκ·Έ μ΄λ β κ°μ΄λ μ¬μ΄νΈμ μλ κ²μ
π [κ²ν ] PR #5: fix: μ°μ»΄νμ
μ κ±° + μν¬νλ μ΄μ€ μμ± νμ΄μ§ λ‘κ³ κ΅μ²΄
π [κ²ν ] PR #1: fix: μΊλ¦°λ λ·°κ° statusCategory κΈ°λ°μΌλ‘ λμνλλ‘ μμ
π [κ²ν ] PR #4: fix: μ μ¬κ³ κ° μλλΆλ°° λ―Έμ€ν + κ· λ±λΆλ°° μ΄ λΉμ¨ μ€νμ μμ
π [κ²ν ] PR #2: fix: μΈλΆ μ°λ μ€λ³΅ μ²΄ν¬ lead_source μ€μ½ν + source_date μ°μ μ λ ¬
π [κ²ν ] PR #3: fix: μ μ¬κ³ κ° μ νλ²νΈ λ§μ€νΉ μ κ±° + μ°λ½μ² κ²μ μΆκ°
π [κ²ν ] PR #6: fix: μν¬μ€νμ΄μ€ μ΄λ μλ½ νμ΄μ§ λ‘κ³ κ΅μ²΄
π [κ²ν ] PR #7: fix: μν¬μ€νμ΄μ€ μ°Έμ¬ μλ£ μ²΄ν¬ μμ΄μ½ μμμ μ°νλμΌλ‘ λ³κ²½
π [κ²ν ] PR #10: fix: HTML λ§€ν UX + ꡬκΈμνΈ μ°λ νλ¦ λ€μ κ°μ
π [κ²ν ] PR #8: fix: μμ½μΌμ KST μκ°λ μ΄κΈλ¨ + μλ΄μ΄λ ₯ 보쑴/νμ
π [κ²ν ] PR #9: fix: λΉμ¨ λΆλ°° stride scheduling κ΅μ²΄ + μλλΆλ°° λͺ¨λ¬ μλΉμ€ λκΈ°ν
π [κ²ν ] PR #11: hotfix: google_sheets.py λλ½λ quote import 볡ꡬ
π [κ²ν ] PR #12: fix: λΉνμ±ν λ©€λ² μ¬μ΄λ + μ¬λ‘κ·ΈμΈ μ°¨λ¨ ν΄κ²°
π [κ²ν ] PR #13: fix: λ©€λ² μ¬μ΄λ + μμ½μ±κ³΅ μΌμ μμ΄ μ μ₯ + ꡬκΈμνΈ hotfix
π [κ²ν ] PR #14: feat: κ°μΈμ 보 μ²λ¦¬λ°©μΉ¨/μ΄μ©μ½κ΄ κ³΅κ° νμ΄μ§ μΆκ°
π [κ²ν ] PR #15: chore: κ°μ΄λμΌν° λ§ν¬λ₯Ό μ κ· λλ©μΈ(guide.max.booster.im)μΌλ‘ κ΅μ²΄
π [κ²ν ] PR #16: μ€λ¬Έν λΉλ μΈνΈλ‘/μ½ν
μΈ μ λ ¬/μ§λ¬Έ μ€νμΌ κ°νΈ
π [κ²ν ] PR #17: fix(workspace): λ§μΌν
λμ μλ μ
λ ₯ μ κ±° + λ€μ΄λ° λ³κ²½
π [κ²ν ] PR #19: fix(public): HTML λλ© λ§μΌν
λμ μ΅νΈμΈ μ²λ¦¬
π [κ²ν ] PR #18: fix: κΆν/μν/μΊλ¦°λ/μ€λ¬ΈλΉλ λ€μ€ μ΄μ κ°μ
π [κ²ν ] PR #21: fix(consult-edit): μλ΄ μμ μ μμ½/λ°©λ¬Έ/κ²°μ /μ¬μ°λ½ μΌμ μ
λ ₯ λ
ΈμΆ + μ μ₯
π [κ²ν ] PR #20: fix(public): ν½μ
Lead μ΄λ²€νΈ 리λ€μ΄λ νΈ μ μ λ°ν
π [κ²ν ] PR #22: fix(public): ν½μ
Lead μ΄λ²€νΈκ° 리λ€μ΄λ νΈ μ μ λ°νλλλ‘ μμ
π [κ²ν ] PR #23: fix(integrations): μΈλΆμ°λ μλΉμ€λͺ
λ³κ²½μ΄ μ μ¬κ³ κ° νλ©λ΄μ λ°μ
π [κ²ν ] PR #24: fix(integrations): μΈλΆμ°λ λκΈ°ν μ€λ³΅ μ
μ λ° μλλΆλ°° SKIP μμ
π [κ²ν ] PR #25: feat(workspace): νλλ³ μν μ΄λ μ ν + μ κ· μ‘°μ§ κΈ°λ³Έ Pro νλ
π [κ²ν ] PR #26: fix: μΈλΆμ°λ 리λ μλ΄ μμ 404 + μλ΄ μμ μ§μ
UX 보κ°
π [κ²ν ] PR #27: fix(scheduler): λ©ν°-μ컀 λμ syncλ‘ μΈν ꡬκΈμνΈ ν μ€λ³΅ μ
μ μμ
π [κ²ν ] PR #29: fix(google-sheets): OAuth ν ν° μλ¬ μ¬μ λ₯Ό λ‘κ·Έ/λ©μμ§μ λ
ΈμΆ
π [κ²ν ] PR #28: feat(distribution): λΆλ°°/λ°°μ λμμ ACTIVE μλ΄μ¬λ‘ μ ν
π [κ²ν ] PR #31: feat(adminV2): ν΄ν(μλΉμ€λ³ μ€λͺ
) λ‘€μμ β HelpIcon + μ‘μ
λ²νΌ νΈλ² κ°μ΄λ
π [κ²ν ] PR #32: fix(landing-builder): ν€λ μμ "μ λͺ© β μΉ΄μ΄νΈ β λμλ§"λ‘ μ μ
π [κ²ν ] PR #33: Release: develop β main (PR #10 ~ #32, 21건 ν΅ν©)
π [κ²ν ] PR #35: fix(deploy): adminV2 λΉλ μ VITE_PUBLIC_DOMAIN νκ²½λ³μ μ£Όμ
π [κ²ν ] PR #36: Release: deploy-api.sh adminV2 λΉλ VITE_PUBLIC_DOMAIN μ£Όμ
(hotfix)
π [κ²ν ] PR #38: feat(distribution): μλΉμ€λ³ μ½μλ΄μ¬ μλ λΆλ°°
π [κ²ν ] PR #39: chore: untrack local SQLite DB
π [κ²ν ] PR #40: fix(distribution): μλΉμ€λ³ λΆλ°° 3κ° λ²κ·Έ μμ
π [κ²ν ] PR #41: release: μλΉμ€λ³ μ½μλ΄μ¬ μλ λΆλ°° + λ²κ·Έ μμ
π [κ²ν ] PR #42: feat(adminV2): 5/20 λΌμ΄νΈ νΌλλ°± - λμ보λ/λ‘κ·ΈμΈ/λͺ¨λ¬/μΈλΆμ°λ κ°μ
π [κ²ν ] PR #43: fix(adminV2): λ‘κ·ΈμΈ νμκ°μ
λ§ν¬μ callbackUrl μΆκ°
π [κ²ν ] PR #44: Release: 5/20 λΌμ΄νΈ νΌλλ°± + νμκ°μ
callbackUrl
π [κ²ν ] PR #45: fix(adminV2): νμκ°μ
λ§ν¬ 쿼리 source=booster-maxλ‘ κ΅μ²΄
π [κ²ν ] PR #46: νμκ°μ
λ§ν¬ source=booster-max μμ© λ°μ
π [κ²ν ] PR #47: fix(adminV2): κ΅¬κΈ κ²μ νλΉμ½ ICO κ΅μ²΄ + link νκ·Έ 보κ°
π [κ²ν ] PR #48: Release: κ΅¬κΈ κ²μ νλΉμ½ ICO κ΅μ²΄ (PR #47)