프로젝트

일반

사용자정보

통계
| 브랜치(Branch): | 개정판:

markus / MarkusAutoUpdate / CHANGELOG.md @ master

이력 | 보기 | 이력해설 | 다운로드 (11.9 KB)

1
# Changelog
2
All notable changes to this project will be documented in this file.
3

    
4
## [Unreleased]
5

    
6
### Added
7

    
8
### Changed
9

    
10
- [Breaking Change] Split UI to separate DLLs. The core NetSparkle DLL no longer requires a `UI`.
11
- Updated SampleApplication to more easily see new usage of NetSparkle
12

    
13
### Removed
14

    
15
## [0.19.0]
16

    
17
### Added
18

    
19
- `CheckServerFileName` property lets you disable the checking of download file names with the server. Defaults to `true`.
20
- New function `IsDownloadingItem` lets you see if an item is currently being downloaded
21

    
22
### Changed
23

    
24
- Fixed bug with threading and `HttpClient` by using `ConfigureAwait(false)`. See also https://stackoverflow.com/a/10351400/3938401.
25

    
26
## [0.18.2] (and 0.18.3 because Deadpikle failed)
27

    
28
### Changed
29

    
30
- Fixed bug where process IDs were sometimes not matched properly (@kenjiuno ) -- #80 (PR)
31

    
32
## [0.18.1]
33

    
34
### Changed
35

    
36
- Set AutoEllipsis to True for App Captions in dialog windows (@Mostlypyjamas) -- #78 (Issue), #79 (PR)
37

    
38
## [0.18.0]
39

    
40
### Changed
41

    
42
- `RegistryConfiguration.BuildRegistryInfo()` is now `public virtual` rather than `private`
43

    
44
## [0.17.0]
45

    
46
### Added
47

    
48
- NetSparkle now handles the `ddd, dd MMM yyyy HH:mm:ss Z` and `ddd, dd MMM yyyy HH:mm:ss` date formats when parsing an app cast file (@Mostlypyjamas)
49

    
50
### Changed
51

    
52
- [Breaking Change] NetSparkle defaults to using the server's file name as the download file name rather than the app cast file name (@Mostlypyjamas)
53
- Many buttons use `AutoSize = true` to alleviate some concerns outlined in #44
54

    
55
### Removed
56

    
57
## [0.16.2]
58

    
59
### Fixed
60

    
61
- Fixed a bug where release notes were downloaded incorrectly
62
- Fixed a bug where the update form window wasn't closed properly
63

    
64
## [0.16.1]
65

    
66
### Added
67

    
68
- Appcast download links can now be relative (this change may be removed in a future X.0 verison of `NetSparkle` as it does not follow the RSS spec). This change was made to be consistent with how release notes are downloaded.
69

    
70
### Changed
71

    
72
- `NetSparkleUtilities` namespace renamed to just `NetSparkle`.
73

    
74
## [0.16.0]
75

    
76
### Added
77

    
78
- We now offer a `generate_appcast.exe` tool in the `NetSparkle.New.Tools` NuGet! This works very similarly to macOS Sparkle's `generate_appcast` tool and is due to the work by @ndreisg.
79
- Started to work on adding formal unit tests for the project. Lots to do here, still.
80

    
81
## [0.15.0]
82

    
83
### Changed
84

    
85
- `AppCastItem` is now marked serializable
86
- If using `SecurityMode.Unsafe`, files are **always** redownloaded because the library has no good way of knowing whether or not the file that is on disk is the file that is actually on the server (@rolikoff)
87
- Fixed a bug where if you cancel the download process or if an error occurs during download, the update file stays in the same directory (@rolikoff)
88
- Fixed a bug where the `DownloadCanceled` event was fired twice (@rolikoff)
89

    
90
## [0.14.0] (Same as 0.14.0.1 because Deadpikle goofed)
91

    
92
### Added
93

    
94
- NetSparkle now supports the `sparkle:os` attribute (#17). If this is not present, an update is assumed to be a Windows update. Valid types for Windows are "win" or "windows". The operating system string check is a case-insensitive check.
95
    - Added `OperatingSystemString` (default "windows") and `bool IsWindowsUpdate` to `AppCastItem`
96
    - `AppCast.GetUpdates()` no longer returns non-Windows updates
97
- To increase compatibility with the main macOS Sparkle project, the `enclosure` tag can now be either `enclosure` or `sparkle:enclosure`
98
- Added `AppCastItem.MIMEType` to read the `<enclosure type="">` attribute if they want to (#15). Defaults to `application/octet-stream`.
99
- Added `UpdateDetectedEventArgs.AppCastItems` if you want to look at all available app cast items
100
- Added `DownloadPathForAppCastItem(AppCastItem item)` to easily grab the download path for a given downloadable appcast item
101
- Added `RunUpdate(AppCastItem item)` to allow you to run an update without waiting for the latest version to download. The DSA signature of the file is still checked!
102

    
103
### Changed
104

    
105
- `NetSparkle.UpdateSystemProfileInformation` is now private
106
- `AppCast` no longer takes a Sparkle object and instead takes only those parameters that it needs to operate
107
- `NextUpdateAction` is now in its own file in the `NetSparkle.Enums` namespace
108

    
109
### Removed
110

    
111
## [0.13.0] - 2017-12-06
112

    
113
### Added
114

    
115
- **BREAKING CHANGE** Added `HideRemindMeLaterButton()` to `IUpdateAvailable`
116
- **BREAKING CHANGE** Added `HideSkipButton()` to `IUpdateAvailable`
117
- Added `HideRemindMeLaterButton` to the `NetSparkle` class. Defaults to false. Set to true to make `NetSparkle` call `HideRemindMeLaterButton()` when showing the update window.
118
- Added `HideSkipButton` to the `NetSparkle` class. Defaults to false. Set to true to make `NetSparkle` call `HideSkipButton()` when showing the update window.
119
- Added `RemindMeLaterSelected` to the `NetSparkle` class. Defaults to null. Use this event to be notified when the user has clicked the `Remind Me Later` button in the update window. (@enscope)
120

    
121
### Changed
122

    
123
- Release notes are now downloaded asynchronously, which should speed up the time it takes to show the download window
124
- Release note date is now Date.ToString("D") instead of "dd MMM yyyy" so that release notes show localized date strings
125
- **POTENTIALLY BREAKING CHANGE** Fixed bug where `ValidationResult.Unchecked` was not returned properly from `OnDownloadFinished` if download file signature is null (@keithclanton)
126
- **BREAKING CHANGE** `IUpdateAvailable` now has a `Result` of type `UpdateAvailableResult` rather than `DialogResult` in order to remove a dependency on WinForms. Use `DefaultUIFactory.ConvertDialogResultToUpdateAvailableResult` to convert from `DialogResult` to `UpdateAvailableResult` if needed. (@enscope) 
127

    
128
### Removed
129

    
130
## [0.12.0] - 2017-08-02
131
### Added
132

    
133
- Added new `LogWriter` class for printing diagnostic messages to the console. You can now create your own child class that inherits from `LogWriter` to customize how information is logged to the console (or file, or wherever else you want diagnostic messages sent!)!
134
- Added .gitattributes file for line ending consistency for all developers (@stephenwade)
135

    
136
### Changed
137
- Moved `UpdateStatus` enum to `NetSparkle.Enums`
138
- Moved `UpdateInfo` class to its own file
139
- Fixed bug in `Configuration.cs` where a few values were not set properly in the constructor due to `InitWithDefaultValues` being called at the wrong time (@devstudiosoft)
140
- **BREAKING CHANGE** Fixed bug in `AssemblyDiagnosticsAccessor` where `AssemblyProduct` returned the assembly version and not the assembly name (@devstudiosoft)
141

    
142
### Removed
143

    
144
- **BREAKING CHANGE** Removed `public void NetSparkle.ReportDiagnosticMessage` in lieu of new `LogWriter` class.
145

    
146
## [0.11.0] - 2017-07-16
147
### Added
148
- Refactored logic to quit application to a separate `QuitApplication()` function
149

    
150
### Changed
151
- `RunDownloadedInstaller()` is now virtual and protected
152
- Renamed some files and variables
153
- Moved `SecurityMode` and `ValidationResult` enums to the `NetSparkle.Enums` namespace
154

    
155
## [0.10.0] - 2017-07-11
156
### Added
157
- This changelog
158
- `Sparkle` class documentation to the readme
159
- Section about how the appcast works to the readme
160

    
161
### Changed
162
Much thanks to @stephenwade for his contributions to 0.10.0
163

    
164
- Cleaned up and added documentation comments throughout the code (@stephenwade)
165
- Renamed lots of identifiers throughout the project to remove "NetSparkle" (i.e., `NetSparkleAppCast` to `AppCast`, `NetSparkleConfiguration` to `Configuration`, etc.) (@stephenwade)
166
- Renamed property `UseSyncronizedForms` to `ShowsUIOnMainThread` to better represent what it does (@stephenwade)
167
- Renamed events `CloseWPFSoftware` and `CloseWPFSoftwareAsync` to `CloseApplication` and `CloseApplicationAsync` (@stephenwade)
168
    - These events are now always run, if present (instead of only on `RunningFromWPF`)
169
    - If one of these events is set, it will be run instead of quitting your app (to allow you a custom quit procedure), so these events should take care of quitting your app.
170
- Renamed `DSAVerificator` to `DSAChecker` (@stephenwade)
171
- Folder output changed to be more organized
172
- Updated LICENSE file
173
- Update NuGet package items
174

    
175
### Removed
176
- deprecated property `EnableSilentMode`
177
- property `RunningFromWPF`
178

    
179
## [0.9.1.1] - 2017-06-06
180
### Added
181
- `ClearOldInstallers` Action that you can implement on your own to remove old installers. Use this if you download installers to a custom folder and need to erase them later.
182

    
183
### Changed
184
- Fixed compilation issue with `EnableSilentMode` (not sure how I never came across this!)
185

    
186
## [0.9.1] - 2017-03-30
187
### Added
188
- `UpdateSize` to `NetSparkleAppCastItem`, analogous to the `length` field within the `<enclosure>` tag
189
- `IsCriticalUpdate` to `NetSparkleAppCastItem`
190
    - To use, add `sparkle:criticalUpdate="true"` as an attribute to the `<enclosure>` tag
191
    - When any update that the user needs is marked as critical, the skip and remind me later buttons are disabled
192
    - When an update is marked as critical, the release notes for that version state that the update is critical
193
    - To do something about a critical update in your own software, check `Sparkle.LatestAppCastItems` or `Sparkle.UpdateMarkedCritical` to see if an update in the list of updates that the user needs is critical
194

    
195
## [0.9] - 2017-03-28
196
### Added
197
- Several more diagnostic messages for debugging on the console
198
- New `SilentMode` option to allow for the "normal" update process (`NotSilent`), completely silent updates (`DownloadAndInstall`), or silent downloads that you as the developer initiate the start of the update manually (`DownloadNoInstall`)
199
    - `DownloadAndInstall` may be quite jarring to your users if you don't tell them the software is about to quit to restart. Use `AboutToExitForInstallerRun` or `AboutToExitForInstallerRunAsync` to monitor for these events.
200
    - For proper `DownloadNoInstall` use, monitor the `DownloadedFileReady` event to know when things are ready. At some later time, call `_sparkle.ShowUpdateNeededUI(true);` to show the software update window. You may want to monitor other events as well to keep your user from performing another update check while a software update is downloading.
201
- `TmpDownloadFilePath` to redirect the download location. This should be a folder, not a full path. Note that you still need to manually delete files that are downloaded here.
202

    
203
### Changed
204
- Deprecated EnableSilentMode in lieu of SilentMode
205
- Stopped the software from redownloading the installer if it already exists on disk (saves bandwidth and time on the user's part)
206
    - Note that NetSparkle does not perform resumable downloads in between software instances
207
- Fixed potential infinite software update download loop if the software keeps downloading corrupted files (corrupt files or ones that don't pass the DSA check).
208

    
209
## Older
210
For older changes, see [HISTORY.md](HISTORY.md).
211

    
212
[Unreleased]: https://github.com/Deadpikle/NetSparkle/compare/28ceb84...develop
213
[0.19.0]: https://github.com/Deadpikle/NetSparkle/compare/2701e54...28ceb84
214
[0.18.2]: https://github.com/Deadpikle/NetSparkle/compare/592fc70...2701e54
215
[0.18.1]: https://github.com/Deadpikle/NetSparkle/compare/af0c797...592fc70
216
[0.18.0]: https://github.com/Deadpikle/NetSparkle/compare/bc91f54...af0c797
217
[0.17.0]: https://github.com/Deadpikle/NetSparkle/compare/a3df35b...bc91f54
218
[0.16.2]: https://github.com/Deadpikle/NetSparkle/compare/b1bb3d1...a3df35b
219
[0.16.1]: https://github.com/Deadpikle/NetSparkle/compare/9298e3c...b1bb3d1
220
[0.16.0]: https://github.com/Deadpikle/NetSparkle/compare/6b30321...9298e3c
221
[0.15.0]: https://github.com/Deadpikle/NetSparkle/compare/6b30321...ee65d3e
222
[0.14.0]: https://github.com/Deadpikle/NetSparkle/compare/b442795...6b30321
223
[0.13.0]: https://github.com/Deadpikle/NetSparkle/compare/85a50da...b442795
224
[0.12.0]: https://github.com/Deadpikle/NetSparkle/compare/8a8b393...85a50da
225
[0.11.0]: https://github.com/Deadpikle/NetSparkle/compare/d2740a4...8a8b393
226
[0.10.0]: https://github.com/Deadpikle/NetSparkle/compare/c5e1e49...d2740a4
227
[0.9.1.1]: https://github.com/Deadpikle/NetSparkle/compare/e0f5004...c5e1e49
228
[0.9.1]: https://github.com/Deadpikle/NetSparkle/compare/7d679f0...e0f5004
229
[0.9]: https://github.com/Deadpikle/NetSparkle/compare/8034ec2...7d679f0
클립보드 이미지 추가 (최대 크기: 500 MB)