v0.20:
- render_prechecks updated to only look for system and system2
- rmd_to_forestharp always returns a list of length 2.
  - uses purl to detect chunks better
  - lintr lines matched with purl lines one at a time
- subtree_at() more robust by improving get_recursive_index()
- extract_actual_args allows ignoring of assigned obj.
- added forestharp helpers to count for loop, detect possible improvements with
  pipe or apply

v0.1.1:
- replaced remove_extension with xfun::sans_ext()
- added pre-checks (for view() and for system()) for render_one
- extract_chunks() fixed to handle situations where verbatim chunks present in rmd file.
- bug in count_fn_call fixed: when magrittr pipe used, it classifies the piped 
  object as not-a-call.

v0.1.0:
- tuner shiny application moved to inst/shiny
- works with shinymanager for password protection

v0.0.13:
- removed dependency on pryr
- updated to work with new version of lintr

v0.0.12:
- fixed missing link
- replaced class(x) == "string" with use of is( ) function.

v0.0.11:
- removed examplify_to_r
- added extract_section_text function

v0.0.10:
- bug in log_summary fixed
- error messages do not use object$messsage anymore. They use 
  conditionMessage(object), because some dplyr functions return 
  conditions, not error objects.

v0.0.9:
- position argument warning in run_tuner() handled (argument deprecated in
  Bootstrap).
- added URL to package documentation in DESCRIPTION page.
- bug in render_one (refers to try_out, which is not present anymore), when
  library could not be installed.
- extract_chunks in get_libraries and rmd_to_forestharp is now wrapped in a tryCatch call.
- extract_non_chunks now works if there are no chunks - returns all lines.

v0.0.8:
- vignettes moved out of package to github pages.
- temp R script trimmed to exclude assign calls, since we are no longer running it 
  under test_file, but source() instead.

v0.0.7:
- purl set to FALSE to prevent R file from being generated.
- shiny not imported entirely.

v0.0.6:
- allow populate_soln_env to specify where to write the temp knitted output
- ensure that user-manual.Rmd only writes to tempdir()
- testthat moved to Suggests

v0.0.5:
- check for pandoc availability before building vignettes or running tests.

v0.0.4:
- check_correctness also runs in a separate process
- lint counter function added (count_lints)
- run_tuner asks for permission before installation
- generate thumbnails uses anonymous filenames

v0.0.3:
- render_one runs the student script in a separate process, avoiding the need 
  to check the user workspace, or to reset search paths.
- testthat chunks are no longer used in the solution templates. This prevents 
  any problems if testthat format is modified.
  
v0.0.2:
- render_one allows one to skip correctness checks by setting soln_stuff to be 
  NA.

v0.0.1.2:
- check_rmd just checks for chunks, uses extract_chunks directly
- fh helper to detect for nested for loops added.
- bug fix for lang_2_tree, when a function definition had NULL as a default
  argument.

v0.0.1.01:
- If the solution template did not generate all the scalars it claimed to,
  render_one( ) will fail, because it checks for the mode of the scalars
  from the student environment against the mode of the scalars in the solution
  environment. This has been fixed by running this check when
  populate_soln_env( ) is called.

v0.0.0.9008:
- tuner app will now take in a list of lints, and output dataframe can
  be controlled by specifying the columns to drop.

v0.0.0.9007:
- TreeHarp constructors updated to work with output of class( ) from R v4.0.0.

v0.0.0.9005:
- testthat output handles tests such as setequal (which actually runs two tests)
- max run time added to render_one
- with the realisation that non-test-named files can be put in tests/, more tests added.

v0.0.0.9004:
- testthat output is parsed better
- scalars must be atomic, they are also checked against the template objects
- more solution templates added.

v0.0.0.9003:
- hooks are renamed to be autoharp.objs and autoharp.scalars.
- solution objects, scalars to keep, filename  are stored as hidden objects in the
  environments.
- testthat chunks and static code chunks can both be in the same solution template.
