-
Notifications
You must be signed in to change notification settings - Fork 2
/
RevisionHistory.txt
353 lines (256 loc) · 13.5 KB
/
RevisionHistory.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
Prism Class Library Log
Version 2.5.24; July 2, 2019
- Expand support for copying files with long path lengths
Version 2.5.23; June 21, 2019
- Disable using date stamps for log file names if a name is defined using LogFilePath
Version 2.5.22; June 17, 2019
- Add support for copying files with long path lengths
Version 2.5.21; June 4, 2019
- Add IsLinux property
Version 1.0.12; June 3, 2019
- Add a utility class that lets us check what processes currently have locks on a file.
Version 2.5.20; May 9, 2019
- Update the ShowMessage methods in ConsoleMsgUtils to support format strings
- Update ValidateArgs in the example parser options class to return the error message as an output variable
Version 2.5.16; March 21, 2019
- Add GetValue methods to the DBTools class
- Add class DataTableUtils to PRISM.dll
- Add class StringToValueUtils to PRISM.dll
- Add class TextBoxUtils to PRISMWin.dll
Version 2.5.12; March 13, 2019
- Add StringSimilarityTool class
Version 2.5.11; January 23, 2019
- Use the non-NETStandard package reference for the NET 4.5/4.6.2 builds
Version 2.5.10; December 10, 2018
- Add functionality to FileLogger for zipping all of the log files in the subdirectory of a prior year, 90 days after the prior year ends.
Version 2.5.5; October 17, 2018
- Add ShowTrace to BaseLogger
Version 2.5.4; October 15, 2018
- Rename eMessageTypeConstants to MessageTypeConstants
Version 2.5.3; October 15, 2018
- In ProcessFilesOrDirectoriesBase, pass the exception object through to the EventNotifier subsystem
- This allows subscribers to the error event to have access to the exception details
Version 2.5.2; October 12, 2018
- Add CommandLineParser support for non-boolean arguments with optional values, using 'ArgExistsProperty'
- e.g., having a LogFilePath string property that has a valid default value, and the argument key is 'L', and ArgExistsProperty set to "LogEnabled" (bool property)
- specifying '-L' will not change LogFilePath, but will set LogEnabled to true
- specifying '-L myLogFile.txt' will change LogFilePath to 'myLogFile.txt', and set LogEnabled to true
Version 2.5.1; October 10, 2018
- When recursively processing files, report a warning when unable to access a directory ("access denied") and continue processing
- Add properties FilesProcessed and FileProcessErrors
- Add unit test TestRecurseDirectories
- Rename ProcessFilesOrFoldersBase to ProcessFilesOrDirectoriesBase
- Rename ProcessFoldersBase to FileProcessor/ProcessDirectoriesBase
Version 2.4.94; October 1, 2018
- Fix infinite loop bug in AppendInnerExceptions (used by GetExceptionStackTrace)
Version 2.4.93; September 20, 2018
- Add ability to adjust the number of empty lines shown before a debug, error, warning, or status message at the console
- Rename classes, structs, and constants
- Remove old methods
Version 2.4.92; July 23, 2018
- Remove the dependency on NuGet package Tpl.DataFlow
Version 2.4.91; July 18, 2018
- Clear the log file path variable when updating the log file name at midnight
Version 2.4.90; July 7, 2018
- Update the auto-generated log file name when the date changes
Version 2.4.88; Version June 20, 2018
- Add logic to handle filename collisions when archiving old log files
Version 2.4.85; May 25, 2018
- Add HashUtilities and FileSyncUtils
Version 2.4.83; April 10, 2018
- Add an extension method that uses a producer-consumer queue (with limits) to process an IEnumerable in parallel with whatever is consuming the returned IEnumerable
Version 2.4.79; March 17, 2018
- Add GetProcesses to LinuxSystemInfo and WindowsSystemInfo
Version 2.4.78; March 15, 2018
- Add SleepSeconds, WrapParagraph, and WrapParagraphAsList to ConsoleMsgUtils
Version 2.4.76; March 13, 2018
- Add methods to compress and decompress gzip files, including metadata handling
Version 2.4.70; February 8, 2018
- Update ProcessFilesOrFoldersBase to archive old log files into a year-based archive folder
Version 2.4.62; February 5, 2018
- Add the LogTools class
Version 2.4.50; January 6, 2018
- Add logging classes (FileLogger, ODBCDatabaseLogger, and SQLServerDatabaseLogger)
Version 2.4.49; December 4, 2017
- clsProgRunner now inherits clsEventNotifier
Version 2.4.41; November 8, 2017
- Add FileProcessor classes
Version 2.4.39; October 18, 2017
- clsEventNotifier events now display messages at the console if there are no listeners
- Disable with WriteToConsoleIfNoListener or the SkipConsoleWrite properties
Version 2.4.38; October 17, 2017
- Auto-fix scientificNotationThreshold in ValueToString when less than 1
Version 2.4.37; October 16, 2017
- Add FileRefs class for finding unit test files
- Add FindFilesWildcard
- Skips folders for which the user does not have permission
Version 2.4.36; October 13, 2017
- Move old log files into a year-based archive folder
Version 2.4.34; October 11, 2017
- Add ShowErrors to ConsoleMsgUtils
- Add overload of GetCoreCount that returns the number of physical processors
Version 2.4.32; September 11, 2017
- Expand CommandLineParser functionality
Version 2.4.26; September 8, 2017
- Add UpdatePropertyHelpText
Version 2.4.23; August 31, 2017
- Add code to get CPU and Memory information in a somewhat platform-agnostic way
Version 2.4.21; August 25, 2017
- Add the DblToString functions from PNNLOmics to StringUtilities
Version 2.4.19; August 24, 2017
- Add class ConsoleMsgUtils
Version 2.4.16; August 8, 2017
- Update Pending Windows Update logic to reflect a new policy delaying forced push of updates by one week
Version 2.4.12; July 31, 2017
- Add default values for CopyFilesUsingLocks arguments
Version 2.4.11; July 28, 2017
- Extend the command line parser to support positional arguments
Version 2.4.6; July 19, 2017
- Add .NET standard support
- Add new CommandLineParser class
Version 2.4.5; June 6, 2017
- Add classes clsOSVersionInfo and clsLinuxSystemInfo
- Add property NoParameters to clsParseCommandLine
- Add unit tests
Version 2.4.4; May 1, 2017
- Add class StringUtilities
Version 2.4.2; March 29, 2017
- Added clsParseCommandLine
Version 2.4.1; March 28, 2017
- Updated to new .csproj format
- Split out Windows-specific utilities to PRISMWin.dll
- Uploaded to NuGet
Version 2.3.6276; March 8, 2017
- Added clsDotNETVersionChecker
- Only supports Windows since it uses the Registry
Version 2.3.6257; February 17, 2017
- Convert to C#
Version 2.2.6116; September 29, 2016
- Added GetQueryResults to clsDBTools
- Deprecated method UpdateDatabase
Version 2.2.6030; July 5, 2016
- Switched from \\a2.emsl.pnl.gov to \\aurora.emsl.pnl.gov
Version 2.2.5980; May 16, 2016
- Expanded the time range during which Windows Updates are expected to affect server availability
Version 2.2.5931; March 28, 2016
- Add DeleteFileWithRetry and IsVimSwapFile to clsFileTools
Version 2.2.5877; February 3, 2016
- Include the line number for every function in the stack trace
- Add function GetExceptionStackTraceData to clsStackTraceFormatter
Version 2.2.5876; February 2, 2016
- Move GetExceptionStackTrace into clsStackTraceFormatter.vb
Version 2.2.5866; January 23, 2016
- Fix bug capturing the console output and error stream data
- Retain blank lines when monitoring the console output
(they were previously discarded)
Version 2.2.5865; January 22, 2016
- Text written to the error stream is now appended to the standard output
- It is still cached in CachedConsoleError and event ConsoleErrorEvent is still raised
- Now asynchronously handling the console error stream from m_Process
- No longer reading Process.StandardError with a StreamReader
Version 2.2.5801; November 19, 2015
- Added GetCoreUsageForRunningProgram() and GetCoreCount() to clsProgRunner
Version 2.2.5602; May 4, 2015
- Adjusted default max wait time for lock files to be 3 hours instead of 60 minutes
Version 2.2.5565; March 28, 2015
- Adjusted max wait time for lock files from a2.emsl.pnl.gov to be 5 minutes instead of 60 minutes
Version 2.2.5527; February 18, 2015
- Added ExecuteSP overloads that do not return a data table
- Add Logging.Utilities.GetExceptionStackTrace
- Replace Dns.GetHostEntry with Dns.GetHostName
- Resharper code cleanup
Version 2.2.5387; October 1, 2014
- Update ShareConnector to use enums
Version 2.2.5142; January 30, 2014
- Switched from arrays and ArrayLists to Generic Lists
- Added function BackupFileBeforeCopy
- Added function CompactPathString
- Added function DeleteDirectory
- Overloaded DeleteDirectoryFiles to allow the folder contents to be deleted, but not the folder itself
Version 2.2.4839; April 1, 2013
- Added function ValidateFreeDiskSpace
Version 2.2.4785; February 6, 2013
- Added states Initializing and Starting
- Added sub JoinThreadNow
Version 2.2.4757; January 9, 2013
- Changed the CheckTerminator function back to a shared (aka static) function
- Removed the Overloads keyword from function signatures since not necessary
Version 2.2.4756; January 8, 2013
- Changed most of the functions in clsFileTools to not be Shared
- Required to allow calling programs to utilize events raised by the class
- Added CopyFileUsingLocks
- Only used for files 20 MB or larger
- Enabled, by default, when calling CopyDirectoryEx
- Disable using clsFileTools.UseLockFileFolder = False
- Define the manager name using clsFileTools.ManagerName = "MgrName"
- Added MoveDirectory
Version 2.1.4643; September 17, 2012
- Added clsExecuteDatabaseSP
Version 2.1.4520; May 17, 2012
- Updated to .NET 4.0
- Added exception handlers in clsProgRunner to handle m_Process no longer being associated with an actual process
Version 2.0.4416; February 4, 2012
- Added function NearlyEqualFileTimes
- Fixed bug related to computing % complete when resuming file copy
Version 2.0.4415; February 3, 2012
- Made CopyFileWithResume public
- Changed timestamp comparison when looking for changed files to allow for a 2 second difference
Version 2.0.4414; February 2, 2012
- Added CopyDirectoryWithResume to the FileTools class
Version 2.0.4275; September 15, 2011
- Updated to Visual Studio 2010
Version 2.0.4042; January 25, 2011
- Now allowing the FileNamesToSkip parameter for CopyDirectory to contain either file names or full file paths
Version 2.0.4037; January 20, 2011
- Fixed recursion bug in CopyDirectoryEx
Version 2.0.4036; January 19, 2011
- In clsProgRunner, added code to better handle closing m_ConsoleOutputStreamWriter
- Previously, the file was sometimes getting closed too early, leading to a "Cannot write to a closed stream" error
Version 2.0.3967; November 11, 2010
- Added FileNamesToSkip parameter to CopyDirectory in clsFileTools
Version 2.0.3834; July 1, 2010
- Added option CacheStandardOutput to the ProgRunner class
- When True, then will raise event ConsoleOutputEvent when new text is written to the console;
you can also retrieve the text using Property CachedConsoleOutput
Version 2.0.3370; March 24, 2009
- Expanded the Logging.ILogger interface to include three new properties:
- CurrentLogFilePath: returns the file path to which the most recent message was written
- MostRecentLogMessage: returns the most recent message that was not an error
- MostRecentErrorMessage: returns the most recent error message
- Updated to Visual Studio 2008
Version 1.0.2523; November 28, 2006
- Updated the XML Settings File Accessor to properly handle XML files with duplicate section names and/or duplicate key names within a section - 'd3l243'
- If duplicate sections, then only uses the first section present
- If multiple keys, then uses the value for the first key present
Version 1.0.2020; July 13, 2005
- Added WindowStyle property to the ProgRunner and ZipTools classes - 'd3l243'
Version 1.0.2008; July 1, 2005
- Added copyright statements - 'd3l243'
Version 1.0.1993; June 16, 2005
- Corrected object initialization error in ZipTools - 'd3j410'
Version 1.0.1917; April 1, 2005
- Commenting format fixes - 'd3m306'
Version 1.0.1854; January 28, 2005
- Implemented ILoggerAware in clsProgRunner and ZipTools - 'd3m306'
- Updated Prism.xml to reflect changes
- Added exception handling to clsProgRunner.Start() - 'd3m306'
Version 1.0.1764; October 30, 2004
- XmlSettingsFileAccessor.vb: Updated comments, standardized variable names, and fixed one bug - 'd3l243'
Version 1.0.1762; October 28, 2004
- Improved case-insensitive mode for the XmlSettingsFileAccessor class - 'd3l243'
Version 1.0.1761; October 27, 2004
- Add DirectoryScanner and fix ZipTools - 'd3j409'
Version 1.0.1749; October 15, 2004
- In FileTools, added an event for tracking the progress of a directory copy and added the ability to change the read-only attribute of the copied files
- Added the ZipTools class - 'd3j409'
Version 1.0.1740; October 6, 2004
- Replaced GetExecutingAssembly with GetEntryAssembly in LogClasses.vb - 'd3l243'
Version 1.0.1739; October 5, 2004
- Added the XmlSettingsFileAccessor class - 'd3l243'
- Added Option Strict to each class, and made a few, minor updates to support this change - 'd3j409'
Version 1.0.1732; September 28, 2004
- Added two classes to the solution and added comments to the classes - 'd3k901'
Version 1.0.1712; September 8, 2004
- Added FileTools and updated other documentation - d3j409
Version 1.0.1711; September 7, 2004
- Initial release - 'd3j409'