NEWS.md
create_custom_model() creates reusable local/global forecasting models from business rules, validated against worked examples.
C1 recipe selected through recipes_to_run, alone or beside built-in models.
chat_copilot() as an optional GitHub Copilot CLI alternative to ellmer for Agent workflows and create_custom_model().
detect_hierarchy() for explicit, read-only standard/grouped selection using nesting checks.
prep_data() choices are unchanged."NA" label, as in prep_data() combo names, instead of raising an error."NA" raises an error instead of merging them.naive model, repeating the last observed value, to default standard runs and every Agent iteration.update_forecast() now includes naive and snaive in default models for new or failed series.validate_prepared_input() to check input data against Finn’s preparation rules without starting a run or writing files.
prep_data() would raise, instead of stopping at the first.date_type matches the date spacing.prep_data() errors."NA" group already used in combo and hierarchy names, so series names and hashes are unchanged."NA" text now errors instead of merging them.'i' and 'j' must not contain NA after every model had trained.overwrite = TRUE.. versus _. Such series were previously merged silently.get_agent_forecast() reads the exact required final artifact and errors when it is missing.
0 with clean_outliers = TRUE; they remain NA, while backtests retain original actuals.1e15, reducing slowdowns from near-perfect fits without adding timeouts.update_forecast() excludes removed series before update routing, avoiding missing-artifact errors; new series retain default local forecasts.ID inputs use bottoms_up internally, followed by one outer reconciliation.bottoms_up against their detected standard or grouped hierarchy after bottom-level reconciliation.iterate_forecast() skips completed global optimization and resumes unfinished local series; incomplete metadata or higher iteration targets retain retries.NULL defaults, equivalent explicit values, and reordered multipart settings as identical, avoiding redundant iterations.seasonal_period values reach stlm-arima, stlm-ets, and tbats; default NULL remains logged as NA.NULL.New AI Agent Capabilities
iterate_forecast() can use LLM’s to find the optimal combination of data and inputs to create the most accurate forecast.update_forecast() can take previously trained models from iterate_forecast() to create forecasts on new data fast.ask_agent() can be used to ask questions about the forecast, data, or models to get insights.set_project_info() and set_agent_info to assist in iterating and updating forecasts.get_agent_forecast() to retrieve the final forecast output from an agent run.get_best_agent_run() to retrieve the run metadata information from an agent run.get_summarized_models() to retrieve model summary information from an agent run.get_eda_data() to retrieve the exploratory data analysis results from an agent run.New Chronos2 Model Integration
jsonlite and httr
chronos-bolt-base: uses the Chronos2 API without external regressors, with model_type = "chronos-bolt-base".chronos-bolt-tiny: shares the Chronos API without external regressors, with model_type = "chronos-bolt-tiny".New TimesFM Integration
TIMESFM_API_URL and TIMESFM_API_TOKEN environment variablesNew TimeGPT Integration
nixtlar enables TimeGPT on R 4.1+; core FinnTS remains available on R 4.0.Updated Train Model function
prep_data() removes outliers from training data while retaining them in time-series cross-validation testing splits.
Adaptive daily ARIMA to reduce runtime
"arima"; daily workflows now use the bounded arima_fast engine while non-daily workflows retain classic auto_arima behavior.forecast in Imports, reusing the mature ARIMA implementation already required transitively by modeltime.Updated optional variable importance to vip 0.5.0 from its maintainer’s r-universe; vip remains in Suggests.
ranger in Suggests; Boruta feature selection explicitly uses its ranger adapter after Boruta 10.0 changed defaults.vip, model summaries retain everything except variable importance.subscript out of bounds errors.null_converter() crash in agent workflow when input is NA.lag_periods propagate through feature engineering, selection, training, and updates; uncovered horizons are appended as final lag boundaries.experiment_name within set_run_info() has been changed to project_name to comply with new AI agent capabilities.qs to maintained, CRAN-ready qs2 for fast serialization and improved compression.
.qs artifacts are incompatible with qs2 and must be regenerated.seasonal_period within prep_models() for more control over multiple seasonal periods in models like tbatstarget_log_transformation within prep_data(), since box_cox has now replaced it for automated power transformationsmultistep_horizon within prep_data()
prep_data() to FALSEarimax for ARIMA forecasting with engineered features and supplied external regressors.list_models(), that lists available models in the packageget_trained_models(), get_run_info(), and get_prepped_data() to retrieve fitted models, run metadata, and feature-engineered data.run_model_parallel has been replaced with inner_parallel within forecast_time_series()
forecast_time_series(). Instead please use get_forecast_data() to retrieve Finn forecast outputs.set_run_info(); see the vignettes.azure_batch in forecast_time_series() following Azure Batch R package deprecation; use Spark instead.forecast_time_series() defaults to R1 when run_global_models is TRUE or NULL and recipes_to_run is NULL.