Added function uploadStock() to upload data to SAG database via uploadXMLFile(). The functions readSAGxml() and createSAGxml() convert data to and from SAG XML upload format.
Added functions stockInfo() and stockFishdata() to prepare data for upload. Uploads require user access tokens, available from the main SAG website.
Added function getStockStatusValues() to get stock status table, and getYSBRSummaryTable() to get yield and SSB per recruit.
Added functions getSAGSettings() and setSAGSettings() to get and set graph settings. The function getSAGTypeGraphs() lists the SAG graph types.
Renamed findKey() to findAssessmentKey().
Added functions get*Graph() to fetch standard graph images, with a corresponding plot() method. The convenience function getSAGGraphs() fetches four commonly used graphs.
Added argument ‘regex’ to findKey().
Fixed bug in getSAG() when different column names appear in stock summaries and combine = TRUE.
Removed dependency on RCurl and XML by using base functions to download and parse data.
Added function findKey() to look up a unique stock list key.
Added function getSAG() to import summary results and reference points, without finding a lookup key first.
Changed argument in functions getSummaryTable() and getFishStockReferencepoints() from ‘year’ to ‘key’.
Improved XML parsing, so both leading and trailing white space is removed.
Improved XML parsing, so "" and “NA” is converted to NA.
Improved XML parsing, so data frame columns are automatically coerced to the appropriate storage mode (character, numeric, integer).