# jskm 0.6.3

* Fix: `jskm` and `svyjskm` NEJM theme inset figure was lost when `table = TRUE`. The grob-based width alignment introduced in 0.5.20 dropped the patchwork inset; the inset is now applied after width alignment via `patchwork::wrap_elements()` so both the in-figure and the plot/risk-table x-axis alignment are preserved.

* Fix: `svyjskm` single curve (`svykm` object from formula `~ 1`) drew no line and showed a broken legend. The `strata` column stayed character, so `levels(df$strata) <- ystratalabs` only set an attribute; the later `rbind` with a factor `zeros` row produced NA strata. Now coerces to factor before relabeling.

# jskm 0.6.2

* Fix: Gray's test p-value was incorrect when using `status.cmprsk` with factor status variable. `cmprsk::cuminc()` was called without `cencode`, causing the first factor level (censoring) to be treated as an event. Now correctly sets `cencode` to the first factor level and returns the p-value for the specified `status.cmprsk` event type.

# jskm 0.6.1
* Fix : `svyjskm` kaplan-meier curve is vanished at starting point (0,0)

* Fix : `jskm` kaplan-meier curve is vanished at starting point (0,0)

# jskm 0.6.0

* Update: Improve UI consistency (linewidth, axis alignment, risk table style) for `jskm` and `svyjskm`.

* Update: Auto-append `(%)` to y-axis label when `surv.scale = "percent"`.

* Fix: `svyjskm` error when median survival is not reached.

* Fix: `ylabs` initialization logic in `svyjskm`.

* Internal: Remove dependency on `scales` package.

# jskm 0.5.22
* Update: Add `med.decimal` option to `jskm`and `svyjskm`.

# jskm 0.5.21
* Update: Change competing risk HR calculation from `cmprsk::crr()` to `survival::finegray()` + `coxph(id = id)`.

# jskm 0.5.20
* Update: Add `left.nrisk` option to the risktable in `jskm`and `svyjskm`.

# jskm 0.5.16

* Update: jskm now supports more reasonable colors used in various journals(eg. npg, aaas, nejm, etc...)

# jskm 0.5.15

* Update: Auto-load data in `cmprsk` branch.

# jskm 0.5.14

* Update: Add `nejm.infigure.xlim` option to x-axis breaks in `jskm` and `svyjskm`.

# jskm 0.5.13

* Update: Add `nejm.surv.by` option to y-axis breaks in `jskm` and `svyjskm`. 

# jskm 0.5.12

* Update: Add censoring marks

# jskm 0.5.11

* Update: Add Hazard ratio display: **hr** option.


# jskm 0.5.10

* Update: Display p value for IPTW with adjusted log-rank test and delete "group =" in strata.

# jskm 0.5.9

* Update: Display p value for competing risk using Gray's test and also reorganize pval.testname option to display corresponding test names. 


# jskm 0.5.8

* Update: Add `table.censor` option to show censored number in `jskm`. 

# jskm 0.5.7

* Update: Add `surv.by` option to y-axis breaks in `jskm` and `svyjskm`. 

# jskm 0.5.6

* Update: Add median expression to the graph in `jskm` and `svyjskm`. 

# jskm 0.5.5

* Update: Align color of censoring marks with color of lines in `jskm`.

# jskm 0.5.5

* Update: Align color of censoring marks with color of lines in `jskm`.

# jskm 0.5.4

* Update: Add customization of line colors to `jskm` and `svyjskm`

# jskm 0.5.3

* Update: Add theme('JAMA','NEJM') to `jskm` and `svyjskm`

# jskm 0.5.2

* Update: Add `linewidth` option

# jskm 0.5.1

* Fix: line color problem when apply landmark analysis

# jskm 0.5

* Add competing risk analysis to `jskm`

# jskm 0.4.4

* Fix: align plot with table

# jskm 0.4.3

* Bugfix: `svyjskm` **ystratalab** problem with releveled factor variable.

# jskm 0.4.2

* Update: Add option to show percent(%)

# jskm 0.4.1

* Update: Align risktable with plot.

# jskm 0.4.0

* Add landmark analysis: **cut.landmark** option.

* Remove dependency with **plyr** package.

# jskm 0.3.9

* Bug fixes: show p value "< 0.001" when p < 0.001

# jskm 0.3.8

* Bug fixes: Incorrect p-value when applying cluster options.  

# jskm 0.3.7

* Match the color: Line and 95% CI.  

# jskm 0.3.6

* Add linecols option: **"black"** for black with dashed line.

# jskm 0.3.5

## Fix

* Apply appropriate p-value to `svyjskm`

# jskm 0.3.1

## Update

* The p-value is expressed as the value rounded to the 3rd decimal place.

* Add **pval.testname** option, p-value is expressed with **(Log-rank)** text if **pval.testname = T**.

# jskm 0.3.0

## New feature

* Add **Number at risk table** option to `svyjskm`. The number at risk is no-weighted values (same to `jskm`).  

## Bug fixes

* Appropriate default **pval.coord** in `svyjskm`.

# jskm 0.2.8

## Bug fixes

* Add namespace **survival::frailty, survival::cluster**.

# jskm 0.2.7

## Bug fixes

* Fix some spell for cran release.

## Update

* Update **travis-ci**.

* Add **appveyor** CI to test **window** environment. 


# jskm 0.2.6

## Bug fixes

* Change `||`, `&&` to `|`, `&` for **Debian** environment. 

* Set some variable's initial values to `NULL` for cran release.

# jskm 0.2.5

## Bug fixes

* Remove gray rectangle above the **Number at risk** table.

* Change **p-value** position according **ylims** option.

## Update

* Add **Numbers at risk** label option to `jskm`: `label.nrisk`, `size.label.nrisk`.

* Add **percent scale** option : `surv.scale`.

* Add **pvalue position & font size** option : `pval.size`, `pval.coord` 

# jskm 0.2.4

## Update

* Add **ci** option to `svyjskm`.

* Get **p-value** without **design** option in `svyjskm`

# jskm 0.2.2

* Apply **testthat**

# jskm 0.2.1

* Can run when reactive data

# jskm 0.2.0

## New function

* `svyjskm` : Weighted Kaplan-Meier plot - `svykm.object` in **survey** package

# jskm 0.1.0

* `frailty`, `cluster` options and their **p value**