-
Notifications
You must be signed in to change notification settings - Fork 9
/
changelog
225 lines (193 loc) · 13.1 KB
/
changelog
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
3.0.10
-----
- Read options file using ConfigParser() instead of SafeConfigParser(), which has been deprecated
- Update regex strings to avoid syntax errors
- Renamed primary Git branch from "master" to "main"
3.0.9
-----
- Fix bug that reported a backup as past the nobackupwarning period even if it was still within its backup interval (Issue #180)
- Fixed typo in documentation (Issue #181)
- Added ignore= option to the [source-destination] sections in the .rc file See docs for more information on how this works. (Issue #178)
3.0.8
-----
- Fix crashing error when subject line parsing fails (Issue #177)
- Rewrote documentation to describe advanced regex options for source, destination, and delimiter
- Updated GitHub home page
3.0.7
-----
- Fixed parsing routines to allow for spaces in the source/destination/delimiter specification (Issue #174 - Thanks ekutner)
- Updated documentaiton for source/destination/delimiter specification
- Updated documentaiton to clarify the use of "enable less secure apps" on Gmail and othr email services (Issue #175)
3.0.6
-----
- Added the ability to indicate job status (Success/Warning/Error/Failure) in the email subject line. See Report Section docs for more information. (Issue #172)
- Updates example .rc file with new options
- Fixed errors/typos in documentation
3.0.5
-----
- Fixed bug that caused "smtplib.SMTPDataError: (501, b'Syntax error - line too long')" error when using GMX email servers. (Issue #166)
- Fixed issue where program would crash if no valid SMTP server was connected (probably because of bad login credentials).(Issue #169)
- Updated description for -v option
- Fixed typos in [report] section documentation
3.0.4
-----
- Fixed bug where program would crash is using JSON emails and email contained an error message. (Issue #164)
3.0.3
-----
- Fixed bug where guided setup was converting inbox folder name to all uppercase (Issue #163)
3.0.2
-----
- Added BytesUploaded & BytesDownload fields from JSON emails to database & reports. (Issue #157)
- Added OS verison to startup log info (Issue #162)
- Updated example .rc file with new options
3.0.1
------
- Made offline backup sets more visible by adding an "offline" report style, adding an [OFFLINE] indicator to the noactivity and lastseen reports, and ading a 'showoffline' option to the [report] section (Issue #156)
3.0.0
------
- Re-built reporting engine to allow for user-created reporting formats (Issue #130)
- Added logic to validate custom reports before they are run
- Added -o commandline option to validate the report configuration in the .rc file and exit the program. Useful when developing custom reports.
- Added -y commandline option to specify which reports to run at runtime. This enables more dynamic report running
- Reports can use default options (from [report] section) or customize those options per report
- Created separate "no activity" report instead of including that in the standard report output. This can now be added or left off the report run at will
- Created separate "lastseen" report to display the last seen backup date & time for each backupset. Replaces the [report]lastseen= option in the .rc file
- Added Guided Setup for new users. If there is no .rc file when the program runs the guided Setup will take the user through the most common configurable options. -g command line option forces running of Guided Setup. -G suppresses running. (Issue #139)
- Database, .rc file, and log file specification can now be either directory names or full path specifications (Issue #136)
- Ability to specify multiple inbound (IMAP/POP3) and outbound (SMTP) email servers. Specified by [main]emailservers= option or -e commandline option.
- Added ability to send output to syslog server or log aggregator (Issue #128)
- Can now send output to JSON file (Issue #135)
- Added option ([report]failedonly=) that only prints unsuccessful backup jobs (Parsed Result != 'Success') (Issue #142)
- Changed displaysize option in .rc file from (mega/giga) to (none/mb/gb), deprecated the showdisplaysize option, and changed the -s option to -s none|mb|gb
- Re-structured the documentation for better readibility and made it easier to find specific settings. (Issue #140)
- Standardized log format for easier searching and organization (Issue #137)
- Fixed long-standing bug in handling Content Transfer Encoded messages (Issue #141)
- Added ability to rollback (-b and -B) to a relative time (e.g., 1w,3h) instead of an absolute date time (i.e., "04/11/2020 8:00:00") (Issue #131)
- Fixed bug preventing recording of last version for a failed backup run (Issue #138)
- Fixed bug where 'Limited' message/warning/error fields were not being displayed properly (Issue #147)
- Fixed bug where temporary log file would sometimes not be copied to permanent log file. (Issue #148)
- Created a sample .rc file (dupReport.rc.EXAMPLE) to show how various configuration options work in a real-world scenario (Issue #149)
- Added [apprise] section to .rc file by default (instead of previous optional status) and made it easier for users to enable/disable it at will (Issue #150)
2.2.12
------
- Fix email parsing bug where the message uses Content Transfer Encoding (Issue #141)
2.2.11
------
- Fix SMTP connection bug for some email services (Issue #129)
2.2.10
------
- Try again to fix obscure parsing bug when job messages contain quotes (Issue #126)
2.2.9
-----
- Fix obscure parsing bug when job messages contain quotes (Issue #126)
2.2.8
-----
- Properly handle reports where Duplicati version is not parsed from emails (Issue #123)
- Added [incoming]unreadonly option to only process unread messages. Will dramatically speed up processing. (Issue #124)
2.2.7
-----
- Properly parse "Log data" field, newly introduced in Duplicati circa November 2018 (Issue #112)
- Parse JSON-formatted emails from Duplicati job runs (Issue #113)
- Added "Duplicati version" field option to report. Can be helpful in discovering when one of your systems is behind in Duplicati updates (Issue #114)
- Added -F option. Same as -f, but also sends resulting output file as an attachment to the email. (Issue #115)
- Updated database schema, now on version 1.0.3. Program will automaticaly upgrade older DB versions to the new format.
- Fixed weird .rc file version numbering system. (Issue #120)
- Added Duplicati version column to "Last Seen" report table (Issue #121)
2.2.6
-----
- Enable setting emails to read/seen after processing - IMAP only (Issue #111)
2.2.5
-----
- Fix POP3 headers to convert them to IMAP style for processing (Issue #105)
- Fix several stupid spelling errors (Issue #106 & others)
- Fix issue where POP3 server would fail keepalive check due to bad comparison of return from server.noop() call (Issue #107)
- Updated documents to include advice for setting POP3 "Leave messages on servr" option (Issue #107)
- Option to mask sensitive data from log files: [main] masksensitive (Issue #109)
- Fix issue where POP3 email causes log writing to crash system (Issue #108)
2.2.4
-----
- Added backup duration to reports (Issue #102)
- Altered database schema to accommodate backup duration in reports. Will require (automatic) DB upgrade. BACKUP YOUR DATABSE AND .RC FILE BEFORE EXECUTING!
- Added durationzeroes option in [report] section to determine if zero units should be displayed in the time duration
- Updated report footer to add program version number
- Fixed an issue where the colon (:) is used as part of the subject line. (Issue #104)
2.2.3
-----
- Fixed bug where "Not Seen" email was being sent even if backupset was listed as offline (Issue #94)
- Fixed Unhandled Exception bug on CloseEverythingAndExit()
- Added feature to truncate message, warning, and error fields generated by backup jobs (Issue #97)
- Added support for Apprise notifications (https://github.com/caronc/apprise)
- If you specify -x on the command line you no longer need to specify valid outgong email server and account information in the .rc file.
However, if you still want to send backup warning emails (i.e. you don't use -w) you still need to enter valid server and account information for the outgoing server. (Issue #99)
- Fixed improper program termination method (Issue #98)
2.2.2
-----
- Added option to specify backup cycle other than 1 day (Issue 91)
2.2.1
-----
- Added "offline=" option in [source-destination] section to suppress "not seen" message in report (issue #88)
- Addressed issue #90
2.2.0
-----
- Optimize email retrieval by analyzing headers first before downloading entire email. Seeing 40%-60% reduction in running time in tests
- Added options to use keepalive logic for larger inboxes to prevent timeout errors([incoming] inkeepalive= and [outgoing] outkeepalive= options in.rc file)
- Added 'date' header to outgoing emails for RFC compliance (issue #77)
- Added optional progress indicator to stdout to show emails are being read (issue #72)
- Added option to add a "last seen date" summary table for all backup sets on report (issue #73 - [report]lastseen* options in .rc file)
- Added logic to better parse incoming dates to catch simple delimiter errors (issue # 83)
- [main] applyutcoffset in .rc file is now set to 'true' by default on new installations. Avoids negative date different problems (Issue #84)
- [report] noactivitybg has been deprecated and is no longer used in the code. Background highlighting of unseen backups in HTML reports is now guided by the [report] lastseen* options in the .rc file
2.1.0
-----
- Large-scale rewrite of code
- Migrated to a python class-based structure and split code into multiple modules. Will make the
code much easier to maintain going forward.
- Changed from comparing date/time strings to using timestamps. Makes date comparisons and
time tracking much simpler.
- Simpler date/time format matching. Should eliminate (all?) local date/time format issues from 2.0.x series.
- Added new reports to organize backup jobs by source, destination, and run date
- Fixed and standardized internal date and time comparison processes by using timestamps everywhere in the database instead of date/time strings.
- Easy modification of date/time formats for international use (dateformat= and timeformat= .rc options)
- Date/time format can be specified per src/dest pair, if jobs are running in different locales.
- Dates can now be displayed in 12- or 24-hour format (display24hourtime= .rc option)
- Report can now use keyword substitution for subheading titles
- Reports can now be sent to one or more files in HTML, txt, or csv formats (-f command line option)
- Can prevent sending report email if only saving to output file (-x command line option)
- Option to email job warnings/errors if in collect mode (-c command line option, warnoncollect= .rc option)
- Column headings can be customized ([headings] section in .rc file)
- User can select which columns to display in a report ([headings] section in .rc file)
- Can specify background colors for subtitles, messages, warnings, and errors
- UTC offset information from email header now applied to backup endDate and startDate fields (applyutcoffset= .rc option)
- UTC timestamp now recognized in startDate & endDate fields from Duplicati emails (feature currently unused, prepping for upcoming Duplicati release feature)
- Database & .rc file upgrades now handled automatically
- Log information generated before log files are opened is now captured and saved
- Using HTML <detail> tags in message/warning/error output to clean up the HTML report. Not supported in all browsers or email clients, so end user experience may vary.
- Ability to roll back database to a specific time/date (-b and -B options). Useful for failed runs or testing.
- Ability to remove a source/destination pair from the database if it is no longer in use (-m option)
- Purge emails that are no longer on the server from the database. (-p option or [main] purgedb in .rc file)
- Send separate warning email when a backupset has not been seen in a certain number of days ([report] nobackupwarn options)
- Added "Friendly Name" support to outgoing emails
- Send report and warning emails to multiple recipients
- Changed bahavior of -i option (again!). After initialization, if program can continue, it will. Also eliminated undocumented -I option.
2.0.4
-----
Issue #18, #19, #21 - Several iterations of fixes for these issues. Should now be able to handle most
global date formats. Probably.
2.0.3
-----
Issue #1 - Initialization with -i option will now always stop program after initialization.
Non-critical changes/updates to the .rc file will now allow the program to continue
with default option configs.
Issue #7 - Fixed the way failed backup jobs are parsed & reported.
Issue #8 - Flush file buffer after every log write
Issue #10 - Added ability to sort the report by source or destination
Issue #12 - Added level 3 logging and changed logging scheme
Issue #13 - Fixed 24-hour date conversion errors
Issue #14 - Deal with binary-encoded messages from mutant email senders.
Non-Specific:
- general code cleanup and beautification
2.0.2
-----
Issue #5:
- Subject found but no delimiter found. Program now abandons message with a level 2 log message.
- Regular expression used as delimiter character. Delimiter character now escaped by using re.escape() around variable