Changes in version: SGP_0.6-0.0

  o Removed modulo score transformation from stateData as piecewise.transform takes care of this internally.
  o Changed default of summarizeSGP to calculate multi-year summaries across the 3 most recent years instead of all years except the first two.
  o Modified visualizeSGP to better faciliate mass production of studentGrowthPlots with parallel back end.
  o Added studentGrowthPlot_Styles to separate data manipulation from report formatting.
  o Changed default sgPlot.demo.report in visualizeSGP from TRUE to FALSE.
  o Added is.SGP to test for SGP class.
  o Added Version slot to class SGP indicating Version of SGP package used to create SGP object and date object was created.
  o Modified growthAchievementPlot to depict regions showing college/career readiness if cutscores are available in terminal grade of growth and achievement chart.

Changes in version: SGP_0.5-0.0

  o Modified functionality to calculate confidence intervals for SGP. calculate.confidence.intervals argument now accepts state acronym and supplied CSEM variable as part of panel.data
  o Added Mississippi data to stateData
  o Refined and corrected minor bug in .get.config in analyzeSGP.
  o Improved sgpPlot.cleanup to avoid removing files unintentionally.
  o Refined parallel implementation in analyzeSGP.


Changes in version: SGP_0.4-6.0

  o Worked out bug in production of studentGrowthPlots for students with completely missing data.
  o Added to and corrected stateData for West Virginia.

Changes in version: SGP_0.4-5.0

  o Added enhanced check to built in knots and boundaries for states.
  o Fixed a bug in studentGrowthProjections when chunk.size is a perfect divisor of the number of rows of the data.
  o Refined studentGrowthPlot to accomodate annual cutscore changes in states with a vertical scale (e.g., West Virginia). Thanks Juan D'Brot WVDOE.

Changes in version: SGP_0.4-0.0

  o Fixed a bug in visualizeSGP that didn't transform projection cuts for the studentGrowthPlot to the transformed scale when necessary.
  o Improved look of two panel student growth plot.
  o Improved header to bubblePlots. Thanks to Dr. Sharon Schattgen (MO) for the suggestion.
  o Added NAMESPACE to package.
  o Modified DESCRIPTION file to accomodate Authors@R requirements.
  o Updated West Virginia stateData.
  o Added Minnesota to stateData.
  o Made slight tweaks to growthAchievementPlot title.
  o Added ability for user to supply CSEMs as a separate variable for SGP confidence interval calculations.
  o Removed eval(eval() calls used for data.table based upon refinements in data.table package.
  o CATCH_UP_KEEP_UP_STATUS is now a factor instead of (wrongly) a character.
  o CATCH_UP_KEEP_UP_STATUS_INITIAL variable is now a factor instead of (wrongly) an ordered factor.
  o studentGrowthPlot and growthAchievementPlot now accommodate the existence of both non-vertical and vertical scales for different content areas in the same state assessment system (e.g., Connecticut).
  o Fixed exact.grade.progression argument to studentGrowthPercentiles. When set to true, function will calculate coefficient matrix and SGPs (if requested) for just that progression.
  o Changed name of Variable_Name_Lookup slot in SGP class to Names.
  o Made minor modifications to growthAchievementPlot to improve the look of growth achievement plots.
  o Made minor modifications to studentGrowthPlot and visualizeSGP to improve the look of student growth plots.
  o Updated student growth projections function to allow for skipped percentiles.
  o Added bubblePlot_Style 10 which shows district schools highlighted against the state.
  o Made minor modifications to the bubblePlot function allowing better highlighting in the presence of hundreds of bubbles.
  o Coefficient matrix objects returned from studentGrowthPercentiles are S4 class splineMatrix with Knots and Boundaries and Date slots.
  o Added wrapper function baselineSGP to facilitate baseline SGP analyses (i.e. multiple cohort norm groups).
  o Added production of baseline referenced coefficient matrices and student growth percentile functionality to analyzeSGP.

Changes in version: SGP_0.3-6.0

  o Updated state data to include New Haven School District specific fields including fixed knots and boundaries.
  o Updated Wisconsin state data to produce growthAchievementPlots and studentGrowthPlots.
  o growthAchievementPlot now filters out grades not in stateData Grades_Reported.
  o Changed argument max.forward.progression to max.forward.progression.years and added argument max.forward.progression.grade.

Changes in version: SGP_0.3-5.0

  o Corrected an offset of 1 in studentGrowthProjections (Thanks for Marie Huchton for finding discrepancies).
  o Improved header in growthAchievementChart.

Changes in version: SGP_0.3-0.0

  o Added an example to studentGrowthPercentiles showing how embedded coefficient matrices can be used to calculate student growth percentiles. 
  o Lots of little bug fixes in visualizeSGP, studentGrowthPlt, bubblePlot, and growthAchievmentPlot, particularly when scale is transformed. 
  o In analyzeSGP, the automatic configuration has been improved to better select grade progressions associated with the provided data. 
  o Began adding functionality to use parallel backends from using different parallelization implementations (SNOW, FOREACH, MULTICORE). 
  o studentGrowthProjections now accomodates year dependent cutscores (in situations where states change cutscores). 
  o piecewise.transform function accomodates year dependent cutscores. This impact both studentGrowthPlots and growthAchievementPlots when scale score transformations are employed to view SGP results.

Changes in version: SGP_0.2-1.0

  o Added functionality to auto-detect state names based upon SGP object name convention: State_Data (e.g. ,Colorado_Data) 
  o Fixed bug allowing users to specify multiple sgp.summaries in summarizeSGP. 
  o Corrected error in achievement level labels in Nevada state data. 

Changes in version: SGP_0.2-0.0

  o prepareSGP returns object of class SGP unaltered and prepares data.frames as before. 
  o abcSGP now passes supplied years and content_areas arguments to combineSGP to allow for year/content area specific merges. This functionality will assist in updating results from year to year. 
  o combineSGP now accepts arguments for years and content_areas allowing for year/content area specific merges. This functionality will assist in updating results from year to year. 
  o Improvement of bubblePlot to better represent situations with hundreds/thousands of bubbles. 
  o Inclusion of growthAchievementPlot that provides plots like that on Betebenner (2009) Educational Measurement: Issues and Practice Article.
  o Modification of visualizeSGP to allow for automatic use of growthAchievementPlot.
  o Added arguments to studentGrowthPercentiles and studentGrowthProjections (print.time.taken) to allow user to turn off time.taken message. Defaults to TRUE.
  o Changed splinefun method for CSEM based confidence interval construction to "natural" due to highly non-monotonic behavior with Wisconsin CSEMs. 
  o Added argument to bubblePlot "bubble_plot_configs.BUBBLE_COLOR_GRADIENT_REVERSE" allowing user to reverse color gradient. Defaults to FALSE.
  o Changed default summaries in abcSGP to include summary calculations involving ACHIEVEMENT_LEVEL_PRIOR (such as prior percent at/above proficient).
  o Implemented bug fix associated with data.table in combineSGP function that simplifies data.table implementation of catch-up/keep-up targets.
  o Supplying a non-traditional/sequential grade.progression argument to studentGrowthPercentiles now removes (unless setting argument drop.nonsequential.grade.progression.variables=FALSE) supplied panel.data columns from "holes" in the supplied grade.progression.

Changes in version: SGP_0.1-0.0

  o Implementation of SGP class. 
  o Specified state specific percentile trajectories for student growth projections and stipulated max.forward.progression of 3 years for these trajectories. 
  o Fixed bugs related to bootstrap calculating confidence intervals for all groups instead of those specified. 
  o Completed reportSGP. 
  o Added New Jersey to stateData. 

Changes in version: SGP_0.0-8.5

  o Changed analyzeSGP so that it calculates plus/minus 1 standard error confidence bands on individual SGPs by default. 
  o Added bootstrap confidence intervals to summarizeSGP. 
  o Added West Virginia to stateData. 
  o Added Nevada knots and boundaries to stateData. 
  o studentGrowthPercentiles can now access CSEM by year from stateData if available. 
  o Consolidated timing messages in studentGrowthPercentiles and studentGrowthProjections at end of function. 

Changes in version: SGP_0.0-8.0

  o Implemented more intelligent error handling for missing arguments in studentGrowthPercentiles and studentGrowthProjections passed from analyzeSGP. 
  o Change default argument for simulate.sgps in analyzeSGP to TRUE. 
  o Added Georgia and Nevada to stateData. 
  o combineSGP now creates CATCH_UP_KEEP_UP_STATUS and CATCH_UP_KEEP_UP_STATUS_INITIAL variables if requesting lagged projections. 
  o Parallelized analyzeSGP using foreach. 
  o Fixed incorrect naming of percentile cuts in studentGrowthProjections function. 
  o Achievement Level in sgpData_LONG is now an ORDERED factor. 
  o Corrected numerous bugs in studentGrowthProjections (Thanks to New Hampshire Department of Education/Deb Wiswell and Tim Kurtz) that led to incorrect catch-up/keep-up results.

Changes in version: SGP_0.0-7.0

  o Changed LICENSE to Creative Commons CC BY-NC-SA 3.0 and CC BY-SA 3.0 for graphics producing and non-graphics producing functions, respectively. 
  o combineSGP now calculates SGP targets based upon catch-up/keep-up to proficient growth-to-standard recommendations. 
  o Cleaned up documentation for analyzeSGP, combineSGP, and summarizeSGP. 
  o Fixed numerous bugs in analyzeSGP, combineSGP, and summarizeSGP. 
  o Added Missouri, New York, Colorado, and Massachusetts CSEMs to stateData. 
  o Added two graphical functions bubblePlot and studentGrowthPlot to the package.  
  o Added fields to sgpData_LONG including IEP_STATUS, DISTRICT_NUMBER, DISTRICT_NAME, SCHOOL_ENROLLMENT_STATUS, DISTRICT_ENROLLMENT_STATUS, STATE_ENROLLMENT_STATUS to better reflect the structure of state data sets.  

Changes in version: SGP_0.0-6.9

  o Added additional argument to studentGrowthPercentiles, growth.levels, allowing user to get a variable indicating the level of growth based upon state or user specified cuts and labels.
  o Changed my.grade argument in sgp.labels to my.extra.label to better reflect nature of argument. This argument is now available in use.my.knots.boundaries and use.my.coefficient.matrices in both the studentGrowthPercentiles and studentGrowthProjections functions.
  o Changed output names of studentGrowthProjections results to better indicate GRADE.
  o Changed compression on stateData file to xz.
  o Changed default values of projection.unit and projcut.digits in studentGrowthProjections to GRADE and 0, respectively.
  o Added wrapper functions prepareSGP, analyzeSGP, combineSGP, and summarizeSGP to facilitate operational SGP analyses.
  o use.my.knots.boundaries with studentGrowthProjections now allows state to be supplied.
  o Added time elapsed to studentGrowthPercentiles and studentGrowthProjections print out.
  o Fixed bugs and updated documentation/examples.
  o Added requirement to data.table depends for version >= 1.5.3.
  o Changed default of percentile.trajectory.values from 1:99 to NULL (which seemed much more sensible).

Changes in version: SGP_0.0-6.8

  o Includes additional dummy data set, sgpData_LONG, to be used in upcoming operational examples.
  o Updated documentation.
  o studentGrowthPercentiles outputs SGPs as integer instead of numeric.
  o studentGrowthProjections outputs SGP cuts as integer instead of numeric.
  o Fixed bug on how studentGrowthPercentiles handles panel.data supplied as a matrix.

Changes in version: SGP_0.0-6.7

  o Added functionality to calculate confidence intervals (calculate.confidence.intervals) of student growth percentiles using CSEMs from state assessment data.  
  o Added argument print.sgp.order to request that the order of the student growth percentile be provided as well as the student growth percentile.  
  o Integrated data.table functionality into studentGrowthPercentiles function to significantly increase speed of some calculations.  
  o Removed INDEX file from package.  
  o studentGrowthPercentiles now converts all input scores to numeric.   
  o Added data to stateData file.  

Changes in version: SGP_0.0-6.6

  o For use.my.knots.and.boundaries user can now supply a two letter state acronym to access embedded, baseline knots and boudaries compiled from work with states.  
  o Fixed goodness of fit printouts so that they show appropriate number of digits.  
  o Fixed DESCRIPTION and eliminated NAMESPACE file.  
  o Added extensive documentation to stateData file and fixed typos.  
  o Updated documentation.  
  o Added date() to finishing message when studentGrowthPercentiles completes an analysis.  
  o Added exact.grade.progression option to studentGrowthPercentiles to accomodate rare situations where one wants the exact grade progression supplied to be run. 

Changes in version: SGP_0.0-6.5

  o Added my.grade to sgp.labels to accomodate situations where my.year and my.subject are not unique. 
  o Fixed bugs associated with use of data.tables.
  o Changed license to GPL-3.
  o Fixed bug associated with argument print.other.gp=TRUE.

Changes in version: SGP_0.0-6.4

  o Fixed bug associated with goodness-of-fit table production when no SGPs are requested.
  o Fixed studentGrowthPercentiles function to work with character grade levels as well as numeric.

Changes in version: SGP_0.0-6.3

  o Fixed issue with argument calculate.sgps in studentGrowthPercentile function.

Changes in version: SGP_0.0-6.2

  o Cleaned up documentation.
  o Corrected data.table bug in studentGrowthProjections.

Changes in version: SGP_0.0-6.1

  o Fixed scoping issue with data.table implementation in studentGrowthProjections.

Changes in version: SGP_0.0-6

  o studentGrowthPercentiles and studentGrowthProjections function now produce a list with results (Knot_Boundaries, Coefficient_Matrices, Goodness_of_Fit, SGPercentiles, SGProjections) embedded.
  o studentGrowthPercentiles and studentGrowthProjections currently accept any number of panels and no longer limited to datasets of at most 8 panels.
  o studentGrowthPercentiles now accepts argument panel.data.vnames allowing user to specify a subset of variables from supplied data for analysis. 
  o studentGrowthPercentiles now accepts argument grade.progression allowing user to specify a not necessarily consecutive grade progression to perform analyses. 
  o studentGrowthPercentiles now accepts argument use.my.coefficient.matrices allowing user to specify pre-calculated coefficient matrices for student growth percentile calculation. 
  o studentGrowthPercentiles now automatically calculates maximum number of priors unless when using the grade.progression argument.
  o studentGrowthPercentiles can calculate student growth percentiles on panel data without any filtering on columns/fields.
  o studentGrowthPercentiles now defaults to providing NO percentile cuts associated with each conditional distribution. The function used to provide 1st, 35th, 65th, and 99th percentile cuts.
  o Knots_Boundaries now also includes a field for loss (lowest obtainable scale score) and hoss (highest obtainable scale score) named "loss.hoss".
  o Boundaries that are automatically calculated by the function now extend 10 percent beyond the range to better accomodate scale extension over time. Previous was 1 percent.
  o studentGrowthPercentiles now accepts boolean argument calculate.sgps controling whether function actually produces student growth percentiles (possibly just stopping after calculating coefficient matrices)
  o studentGrowthPercentiles now accepts argument knot.percentile.cuts allowing user to specify the quantile cuts used for knot calculation. Defaults to c(0.2,0.4,0.6,0.8).
  o studentGrowthPercentiles now accepts argument sgp.quantiles allowing user to specify the quantiles used for studentGrowthPercentile calculations (i.e., not always percentiles)
  o studentGrowthProjections projects out an arbitrary number of grades/years/time periods.
  o studentGrowthProjections no longer accepts argument num.panels, num.prior.scores, max.num.scores and instead uses the arguments grade.progression and max.forward.progressionand tries to internally select maximum order possible for a students percentile.growth projection/trajectory. 
  o studentGrowthProjections now accepts argument performance.level.cutscores that can utilize state assessment cutscores available within the SGP package.
  o studentGrowthProjections now accepts argument projection.unit that allows percentile growth projections/trajectories to be displayed in terms of either GRADE or YEAR.
  o Embedded goodness_of_fit plots are Grid grobs (Grid graphical objects) that can be printed as PDFs (see help for code to produce PDFs of goodness.of.fit plots). 
  o sgpData, the included longitudinal student assessment data file, has been expanded to 5 panels to better illustrate SGP functionality.
  o Includes list stateData to provide state specific information for analyses and reporting. stateData currently includes only performance level cutscores.
  o Updated help file to reflect changes in functions.

Changes in version: SGP_0.0-5

  o Moved CITATION file to inst directory
  o Fixed minor bugs in studentGrowthPercentiles function.

Changes in version: SGP_0.0-4

  o Added LICENSE file including details on the Creative Commons Attribution-Noncommercial-Share Alike 3.0 United State License.
  o Added Goodness-of-fit argument/option/capability to studentGrowthPercentiles function.
  o Incorporated vignette.
  o Cleaned up documentation.
  o Increased percentile growth trajectory/projection to four years from three.
  o Fixed minor bugs in studentGrowthProjections (Thanks to Bob Lee for finding these).

Changes in version: SGP_0.0-3

  o Included option/argument in studentGrowthPercentiles function to avoid quantile crossing based upon Dette & Volgushev (2008)
  o Cleaned up minor errors in documentation.
  o Added optional argument, convert.using.loss.hoss, to studentGrowthPercentiles to convert percentile cuts extended below/above the lowest obtainable scale score/highest obtainable 
    scale score (loss/hoss) to the loss/hoss (defaults to TRUE).

Changes in version: SGP_0.0-2

  o Updated Contributors.
  o Changed rounding of percentile cuts used for growth percentile calculation to 5 decimal places.
  o Changed rounding of automatically produced B-spline knots to 2 decimal places.
  o Extended range of automatically produced B-spline boundaries.
  o Added optional argument, percuts.digits, to studentGrowthPercentiles to allow specification of rounding digits for growth percentile cuts (defaults to 2).
  o Added optional argument, percentile.trajectories, to studentGrowthProjections allowing the function to return 1, 2, and 3 year student percentile trajectories based upon supplied percentile values 
    (defaults to 10th, 35th, 50th, 65th, and 90th). 
  o Added optional argument, projcuts.digits, to studentGrowthProjections to allow specification of rounding digits for percentile trajectory cuts (defaults to 2).

Changes in version: SGP_0.0-1

  o Package Released.
