##// END OF EJS Templates
Merged r9822 from trunk....
Jean-Philippe Lang -
r9659:8cd0baf773d3
parent child
Show More
@@ -1,2013 +1,2014
1 1 == Redmine changelog
2 2
3 3 Redmine - project management software
4 4 Copyright (C) 2006-2012 Jean-Philippe Lang
5 5 http://www.redmine.org/
6 6
7 7 == TBD v1.4.4
8 8
9 9 * Defect #11061: Cannot choose commit versions to view differences in Git/Mercurial repository view
10 10 * Defect #11112: REST API - custom fields in POST/PUT ignored for time_entries
11 * Defect #11133: Wiki-page section edit link can point to incorrect section
11 12 * Feature #6597: Configurable session lifetime and timeout
12 13 * Patch #11113: Small glitch in German localization
13 14
14 15 == 2012-06-05 v1.4.3
15 16
16 17 * Defect #11038: "Create and continue" should preserve project, issue and activity when logging time
17 18 * Defect #11046: Redmine.pm does not support "bind as user" ldap authentication
18 19 * Defect #11051: reposman.rb fails in 1.4.2 because of missing require for rubygems
19 20 * Fix for Rails vulnerability CVE-2012-2660
20 21
21 22 == 2012-05-13 v1.4.2
22 23
23 24 * Defect #10744: rake task redmine:email:test broken
24 25 * Defect #10787: "Allow users to unsubscribe" option is confusing
25 26 * Defect #10827: Cannot access Repositories page and Settings in a Project - Error 500
26 27 * Defect #10829: db:migrate fails 0.8.2 -> 1.4.1
27 28 * Defect #10832: REST Uploads fail with fastcgi
28 29 * Defect #10837: reposman and rdm-mailhandler not working with ruby 1.9.x
29 30 * Defect #10856: can not load translations from hr.yml with ruby1.9.3-p194
30 31 * Defect #10865: Filter reset when deleting locked user
31 32 * Feature #9790: Allow filtering text custom fields on "is null" and "is not null"
32 33 * Feature #10778: svn:ignore for config/additional_environment.rb
33 34 * Feature #10875: Partial Albanian Translations
34 35 * Feature #10888: Bring back List-Id to help aid Gmail filtering
35 36 * Patch #10733: Traditional Chinese language file (to r9502)
36 37 * Patch #10745: Japanese translation update (r9519)
37 38 * Patch #10750: Swedish Translation for r9522
38 39 * Patch #10785: Bulgarian translation (jstoolbar)
39 40 * Patch #10800: Simplified Chinese translation
40 41
41 42 == 2012-04-20 v1.4.1
42 43
43 44 * Defect #8574: Time report: date range fields not enabled when using the calendar popup
44 45 * Defect #10642: Nested textile ol/ul lists generate invalid HTML
45 46 * Defect #10668: RSS key is generated twice when user is not reloaded
46 47 * Defect #10669: Token.destroy_expired should not delete API tokens
47 48 * Defect #10675: "Submit and continue" is broken
48 49 * Defect #10711: User cannot change account details with "Login has already been taken" error
49 50 * Feature #10664: Unsubscribe Own User Account
50 51 * Patch #10693: German Translation Update
51 52
52 53 == 2012-04-14 v1.4.0
53 54
54 55 * Defect #2719: Increase username length limit from 30 to 60
55 56 * Defect #3087: Revision referring to issues across all projects
56 57 * Defect #4824: Unable to connect (can't convert Net::LDAP::LdapError into String)
57 58 * Defect #5058: reminder mails are not sent when delivery_method is :async_smtp
58 59 * Defect #6859: Moving issues to a tracker with different custom fields should let fill these fields
59 60 * Defect #7398: Error when trying to quick create a version with required custom field
60 61 * Defect #7495: Python multiline comments highlighting problem in Repository browser
61 62 * Defect #7826: bigdecimal-segfault-fix.rb must be removed for Oracle
62 63 * Defect #7920: Attempted to update a stale object when copying a project
63 64 * Defect #8857: Git: Too long in fetching repositories after upgrade from 1.1 or new branch at first time
64 65 * Defect #9472: The git scm module causes an excess amount of DB traffic.
65 66 * Defect #9685: Adding multiple times the same related issue relation is possible
66 67 * Defect #9798: Release 1.3.0 does not detect rubytree under ruby 1.9.3p0 / rails 2.3.14
67 68 * Defect #9978: Japanese "permission_add_issue_watchers" is wrong
68 69 * Defect #10006: Email reminders are sent for closed issues
69 70 * Defect #10150: CSV export and spent time: rounding issue
70 71 * Defect #10168: CSV export breaks custom columns
71 72 * Defect #10181: Issue context menu and bulk edit form show irrelevant statuses
72 73 * Defect #10198: message_id regex in pop3.rb only recognizes Message-ID header (not Message-Id)
73 74 * Defect #10251: Description diff link in note details is relative when received by email
74 75 * Defect #10272: Ruby 1.9.3: "incompatible character encoding" with LDAP auth
75 76 * Defect #10275: Message object not passed to wiki macros for head topic and in preview edit mode
76 77 * Defect #10334: Full name is not unquoted when creating users from emails
77 78 * Defect #10410: [Localization] Grammar issue of Simplified Chinese in zh.yml
78 79 * Defect #10442: Ruby 1.9.3 Time Zone setting Internal error.
79 80 * Defect #10467: Confusing behavior while moving issue to a project with disabled Issues module
80 81 * Defect #10575: Uploading of attachments which filename contains non-ASCII chars fails with Ruby 1.9
81 82 * Defect #10590: WikiContent::Version#text return string with #<Encoding:ASCII-8BIT> when uncompressed
82 83 * Defect #10593: Error: 'incompatible character encodings: UTF-8 and ASCII-8BIT' (old annoing issue) on ruby-1.9.3
83 84 * Defect #10600: Watchers search generates an Internal error
84 85 * Defect #10605: Bulk edit selected issues does not allow selection of blank values for custom fields
85 86 * Defect #10619: When changing status before tracker, it shows improper status
86 87 * Feature #779: Multiple SCM per project
87 88 * Feature #971: Add "Spent time" column to query
88 89 * Feature #1060: Add a LDAP-filter using external auth sources
89 90 * Feature #1102: Shortcut for assigning an issue to me
90 91 * Feature #1189: Multiselect custom fields
91 92 * Feature #1363: Allow underscores in project identifiers
92 93 * Feature #1913: LDAP - authenticate as user
93 94 * Feature #1972: Attachments for News
94 95 * Feature #2009: Manually add related revisions
95 96 * Feature #2323: Workflow permissions for administrators
96 97 * Feature #2416: {background:color} doesn't work in text formatting
97 98 * Feature #2694: Notification on loosing assignment
98 99 * Feature #2715: "Magic links" to notes
99 100 * Feature #2850: Add next/previous navigation to issue
100 101 * Feature #3055: Option to copy attachments when copying an issue
101 102 * Feature #3108: set parent automatically for new pages
102 103 * Feature #3463: Export all wiki pages to PDF
103 104 * Feature #4050: Ruby 1.9 support
104 105 * Feature #4769: Ability to move an issue to a different project from the update form
105 106 * Feature #4774: Change the hyperlink for file attachment to view and download
106 107 * Feature #5159: Ability to add Non-Member watchers to the watch list
107 108 * Feature #5638: Use Bundler (Gemfile) for gem management
108 109 * Feature #5643: Add X-Redmine-Sender header to email notifications
109 110 * Feature #6296: Bulk-edit custom fields through context menu
110 111 * Feature #6386: Issue mail should render the HTML version of the issue details
111 112 * Feature #6449: Edit a wiki page's parent on the edit page
112 113 * Feature #6555: Double-click on "Submit" and "Save" buttons should not send two requests to server
113 114 * Feature #7361: Highlight active query in the side bar
114 115 * Feature #7420: Rest API for projects members
115 116 * Feature #7603: Please make editing issues more obvious than "Change properties (More)"
116 117 * Feature #8171: Adding attachments through the REST API
117 118 * Feature #8691: Better handling of issue update conflict
118 119 * Feature #9803: Change project through REST API issue update
119 120 * Feature #9923: User type custom fields should be filterable by "Me".
120 121 * Feature #9985: Group time report by the Status field
121 122 * Feature #9995: Time entries insertion, "Create and continue" button
122 123 * Feature #10020: Enable global time logging at /time_entries/new
123 124 * Feature #10042: Bulk change private flag
124 125 * Feature #10126: Add members of subprojects in the assignee and author filters
125 126 * Feature #10131: Include custom fiels in time entries API responses
126 127 * Feature #10207: Git: use default branch from HEAD
127 128 * Feature #10208: Estonian translation
128 129 * Feature #10253: Better handling of attachments when validation fails
129 130 * Feature #10350: Bulk copy should allow for changing the target version
130 131 * Feature #10607: Ignore out-of-office incoming emails
131 132 * Feature #10635: Adding time like "123 Min" is invalid
132 133 * Patch #9998: Make attachement "Optional Description" less wide
133 134 * Patch #10066: i18n not working with russian gem
134 135 * Patch #10128: Disable IE 8 compatibility mode to fix wrong div.autoscroll scroll bar behaviour
135 136 * Patch #10155: Russian translation changed
136 137 * Patch #10464: Enhanced PDF output for Issues list
137 138 * Patch #10470: Efficiently process new git revisions in a single batch
138 139 * Patch #10513: Dutch translation improvement
139 140
140 141 == 2012-04-14 v1.3.3
141 142
142 143 * Defect #10505: Error when exporting to PDF with NoMethodError (undefined method `downcase' for nil:NilClass)
143 144 * Defect #10554: Defect symbols when exporting tasks in pdf
144 145 * Defect #10564: Unable to change locked, sticky flags and board when editing a message
145 146 * Defect #10591: Dutch "label_file_added" translation is wrong
146 147 * Defect #10622: "Default administrator account changed" is always true
147 148 * Patch #10555: rake redmine:send_reminders aborted if issue assigned to group
148 149 * Patch #10611: Simplified Chinese translations for 1.3-stable
149 150
150 151 == 2012-03-11 v1.3.2
151 152
152 153 * Defect #8194: {{toc}} uses identical anchors for subsections with the same name
153 154 * Defect #9143: Partial diff comparison should be done on actual code, not on html
154 155 * Defect #9523: {{toc}} does not display headers with @ code markup
155 156 * Defect #9815: Release 1.3.0 does not detect rubytree with rubgems 1.8
156 157 * Defect #10053: undefined method `<=>' for nil:NilClass when accessing the settings of a project
157 158 * Defect #10135: ActionView::TemplateError (can't convert Fixnum into String)
158 159 * Defect #10193: Unappropriate icons in highlighted code block
159 160 * Defect #10199: No wiki section edit when title contains code
160 161 * Defect #10218: Error when creating a project with a version custom field
161 162 * Defect #10241: "get version by ID" fails with "401 not authorized" error when using API access key
162 163 * Defect #10284: Note added by commit from a subproject does not contain project identifier
163 164 * Defect #10374: User list is empty when adding users to project / group if remaining users are added late
164 165 * Defect #10390: Mass assignment security vulnerability
165 166 * Patch #8413: Confirmation message before deleting a relationship
166 167 * Patch #10160: Bulgarian translation (r8777)
167 168 * Patch #10242: Migrate Redmine.pm from Digest::Sha1 to Digest::Sha
168 169 * Patch #10258: Italian translation for 1.3-stable
169 170
170 171 == 2012-02-06 v1.3.1
171 172
172 173 * Defect #9775: app/views/repository/_revision_graph.html.erb sets window.onload directly..
173 174 * Defect #9792: Ruby 1.9: [v1.3.0] Error: incompatible character encodings for it translation on Calendar page
174 175 * Defect #9793: Bad spacing between numbered list and heading (recently broken).
175 176 * Defect #9795: Unrelated error message when creating a group with an invalid name
176 177 * Defect #9832: Revision graph height should depend on height of rows in revisions table
177 178 * Defect #9937: Repository settings are not saved when all SCM are disabled
178 179 * Defect #9961: Ukrainian "default_tracker_bug" is wrong
179 180 * Defect #10013: Rest API - Create Version -> Internal server error 500
180 181 * Defect #10115: Javascript error - Can't attach more than 1 file on IE 6 and 7
181 182 * Defect #10130: Broken italic text style in edited comment preview
182 183 * Defect #10152: Attachment diff type is not saved in user preference
183 184 * Feature #9943: Arabic translation
184 185 * Patch #9874: pt-BR translation updates
185 186 * Patch #9922: Spanish translation updated
186 187 * Patch #10137: Korean language file ko.yml updated to Redmine 1.3.0
187 188
188 189 == 2011-12-10 v1.3.0
189 190
190 191 * Defect #2109: Context menu is being submitted twice per right click
191 192 * Defect #7717: MailHandler user creation for unknown_user impossible due to diverging length-limits of login and email fields
192 193 * Defect #7917: Creating users via email fails if user real name containes special chars
193 194 * Defect #7966: MailHandler does not include JournalDetail for attached files
194 195 * Defect #8368: Bad decimal separator in time entry CSV
195 196 * Defect #8371: MySQL error when filtering a custom field using the REST api
196 197 * Defect #8549: Export CSV has character encoding error
197 198 * Defect #8573: Do not show inactive Enumerations where not needed
198 199 * Defect #8611: rake/rdoctask is deprecated
199 200 * Defect #8751: Email notification: bug, when number of recipients more then 8
200 201 * Defect #8894: Private issues - make it more obvious in the UI?
201 202 * Defect #8994: Hardcoded French string "anonyme"
202 203 * Defect #9043: Hardcoded string "diff" in Wiki#show and Repositories_Helper
203 204 * Defect #9051: wrong "text_issue_added" in russian translation.
204 205 * Defect #9108: Custom query not saving status filter
205 206 * Defect #9252: Regression: application title escaped 2 times
206 207 * Defect #9264: Bad Portuguese translation
207 208 * Defect #9470: News list is missing Avatars
208 209 * Defect #9471: Inline markup broken in Wiki link labels
209 210 * Defect #9489: Label all input field and control tags
210 211 * Defect #9534: Precedence: bulk email header is non standard and discouraged
211 212 * Defect #9540: Issue filter by assigned_to_role is not project specific
212 213 * Defect #9619: Time zone ignored when logging time while editing ticket
213 214 * Defect #9638: Inconsistent image filename extensions
214 215 * Defect #9669: Issue list doesn't sort assignees/authors regarding user display format
215 216 * Defect #9672: Message-quoting in forums module broken
216 217 * Defect #9719: Filtering by numeric custom field types broken after update to master
217 218 * Defect #9724: Can't remote add new categories
218 219 * Defect #9738: Setting of cross-project custom query is not remembered inside project
219 220 * Defect #9748: Error about configuration.yml validness should mention file path
220 221 * Feature #69: Textilized description in PDF
221 222 * Feature #401: Add pdf export for WIKI page
222 223 * Feature #1567: Make author column sortable and groupable
223 224 * Feature #2222: Single section edit.
224 225 * Feature #2269: Default issue start date should become configurable.
225 226 * Feature #2371: character encoding for attachment file
226 227 * Feature #2964: Ability to assign issues to groups
227 228 * Feature #3033: Bug Reporting: Using "Create and continue" should show bug id of saved bug
228 229 * Feature #3261: support attachment images in PDF export
229 230 * Feature #4264: Update CodeRay to 1.0 final
230 231 * Feature #4324: Redmine renames my files, it shouldn't.
231 232 * Feature #4729: Add Date-Based Filters for Issues List
232 233 * Feature #4742: CSV export: option to export selected or all columns
233 234 * Feature #4976: Allow rdm-mailhandler to read the API key from a file
234 235 * Feature #5501: Git: Mercurial: Adding visual merge/branch history to repository view
235 236 * Feature #5634: Export issue to PDF does not include Subtasks and Related Issues
236 237 * Feature #5670: Cancel option for file upload
237 238 * Feature #5737: Custom Queries available through the REST Api
238 239 * Feature #6180: Searchable custom fields do not provide adequate operators
239 240 * Feature #6954: Filter from date to date
240 241 * Feature #7180: List of statuses in REST API
241 242 * Feature #7181: List of trackers in REST API
242 243 * Feature #7366: REST API for Issue Relations
243 244 * Feature #7403: REST API for Versions
244 245 * Feature #7671: REST API for reading attachments
245 246 * Feature #7832: Ability to assign issue categories to groups
246 247 * Feature #8420: Consider removing #7013 workaround
247 248 * Feature #9196: Improve logging in MailHandler when user creation fails
248 249 * Feature #9496: Adds an option in mailhandler to disable server certificate verification
249 250 * Feature #9553: CRUD operations for "Issue categories" in REST API
250 251 * Feature #9593: HTML title should be reordered
251 252 * Feature #9600: Wiki links for news and forums
252 253 * Feature #9607: Filter for issues without start date (or any another field based on date type)
253 254 * Feature #9609: Upgrade to Rails 2.3.14
254 255 * Feature #9612: "side by side" and "inline" patch view for attachments
255 256 * Feature #9667: Check attachment size before upload
256 257 * Feature #9690: Link in notification pointing to the actual update
257 258 * Feature #9720: Add note number for single issue's PDF
258 259 * Patch #8617: Indent subject of subtask ticket in exported issues PDF
259 260 * Patch #8778: Traditional Chinese 'issue' translation change
260 261 * Patch #9053: Fix up Russian translation
261 262 * Patch #9129: Improve wording of Git repository note at project setting
262 263 * Patch #9148: Better handling of field_due_date italian translation
263 264 * Patch #9273: Fix typos in russian localization
264 265 * Patch #9484: Limit SCM annotate to text files under the maximum file size for viewing
265 266 * Patch #9659: Indexing rows in auth_sources/index view
266 267 * Patch #9692: Fix Textilized description in PDF for CodeRay
267 268
268 269 == 2011-12-10 v1.2.3
269 270
270 271 * Defect #8707: Reposman: wrong constant name
271 272 * Defect #8809: Table in timelog report overflows
272 273 * Defect #9055: Version files in Files module cannot be downloaded if issue tracking is disabled
273 274 * Defect #9137: db:encrypt fails to handle repositories with blank password
274 275 * Defect #9394: Custom date field only validating on regex and not a valid date
275 276 * Defect #9405: Any user with :log_time permission can edit time entries via context menu
276 277 * Defect #9448: The attached images are not shown in documents
277 278 * Defect #9520: Copied private query not visible after project copy
278 279 * Defect #9552: Error when reading ciphered text from the database without cipher key configured
279 280 * Defect #9566: Redmine.pm considers all projects private when login_required is enabled
280 281 * Defect #9567: Redmine.pm potential security issue with cache credential enabled and subversion
281 282 * Defect #9577: Deleting a subtasks doesn't update parent's rgt & lft values
282 283 * Defect #9597: Broken version links in wiki annotate history
283 284 * Defect #9682: Wiki HTML Export only useful when Access history is accessible
284 285 * Defect #9737: Custom values deleted before issue submit
285 286 * Defect #9741: calendar-hr.js (Croatian) is not UTF-8
286 287 * Patch #9558: Simplified Chinese translation for 1.2.2 updated
287 288 * Patch #9695: Bulgarian translation (r7942)
288 289
289 290 == 2011-11-11 v1.2.2
290 291
291 292 * Defect #3276: Incorrect handling of anchors in Wiki to HTML export
292 293 * Defect #7215: Wiki formatting mangles links to internal headers
293 294 * Defect #7613: Generated test instances may share the same attribute value object
294 295 * Defect #8411: Can't remove "Project" column on custom query
295 296 * Defect #8615: Custom 'version' fields don't show shared versions
296 297 * Defect #8633: Pagination counts non visible issues
297 298 * Defect #8651: Email attachments are not added to issues any more in v1.2
298 299 * Defect #8825: JRuby + Windows: SCMs do not work on Redmine 1.2
299 300 * Defect #8836: Additional workflow transitions not available when set to both author and assignee
300 301 * Defect #8865: Custom field regular expression is not validated
301 302 * Defect #8880: Error deleting issue with grandchild
302 303 * Defect #8884: Assignee is cleared when updating issue with locked assignee
303 304 * Defect #8892: Unused fonts in rfpdf plugin folder
304 305 * Defect #9161: pt-BR field_warn_on_leaving_unsaved has a small gramatical error
305 306 * Defect #9308: Search fails when a role haven't "view wiki" permission
306 307 * Defect #9465: Mercurial: can't browse named branch below Mercurial 1.5
307 308
308 309 == 2011-07-11 v1.2.1
309 310
310 311 * Defect #5089: i18N error on truncated revision diff view
311 312 * Defect #7501: Search options get lost after clicking on a specific result type
312 313 * Defect #8229: "project.xml" response does not include the parent ID
313 314 * Defect #8449: Wiki annotated page does not display author of version 1
314 315 * Defect #8467: Missing german translation - Warn me when leaving a page with unsaved text
315 316 * Defect #8468: No warning when leaving page with unsaved text that has not lost focus
316 317 * Defect #8472: Private checkbox ignored on issue creation with "Set own issues public or private" permission
317 318 * Defect #8510: JRuby: Can't open administrator panel if scm command is not available
318 319 * Defect #8512: Syntax highlighter on Welcome page
319 320 * Defect #8554: Translation missing error on custom field validation
320 321 * Defect #8565: JRuby: Japanese PDF export error
321 322 * Defect #8566: Exported PDF UTF-8 Vietnamese not correct
322 323 * Defect #8569: JRuby: PDF export error with TypeError
323 324 * Defect #8576: Missing german translation - different things
324 325 * Defect #8616: Circular relations
325 326 * Defect #8646: Russian translation "label_follows" and "label_follows" are wrong
326 327 * Defect #8712: False 'Description updated' journal details messages
327 328 * Defect #8729: Not-public queries are not private
328 329 * Defect #8737: Broken line of long issue description on issue PDF.
329 330 * Defect #8738: Missing revision number/id of associated revisions on issue PDF
330 331 * Defect #8739: Workflow copy does not copy advanced workflow settings
331 332 * Defect #8759: Setting issue attributes from mail should be case-insensitive
332 333 * Defect #8777: Mercurial: Not able to Resetting Redmine project respository
333 334
334 335 == 2011-05-30 v1.2.0
335 336
336 337 * Defect #61: Broken character encoding in pdf export
337 338 * Defect #1965: Redmine is not Tab Safe
338 339 * Defect #2274: Filesystem Repository path encoding of non UTF-8 characters
339 340 * Defect #2664: Mercurial: Repository path encoding of non UTF-8 characters
340 341 * Defect #3421: Mercurial reads files from working dir instead of changesets
341 342 * Defect #3462: CVS: Repository path encoding of non UTF-8 characters
342 343 * Defect #3715: Login page should not show projects link and search box if authentication is required
343 344 * Defect #3724: Mercurial repositories display revision ID instead of changeset ID
344 345 * Defect #3761: Most recent CVS revisions are missing in "revisions" view
345 346 * Defect #4270: CVS Repository view in Project doesn't show Author, Revision, Comment
346 347 * Defect #5138: Don't use Ajax for pagination
347 348 * Defect #5152: Cannot use certain characters for user and role names.
348 349 * Defect #5251: Git: Repository path encoding of non UTF-8 characters
349 350 * Defect #5373: Translation missing when adding invalid watchers
350 351 * Defect #5817: Shared versions not shown in subproject's gantt chart
351 352 * Defect #6013: git tab,browsing, very slow -- even after first time
352 353 * Defect #6148: Quoting, newlines, and nightmares...
353 354 * Defect #6256: Redmine considers non ASCII and UTF-16 text files as binary in SCM
354 355 * Defect #6476: Subproject's issues are not shown in the subproject's gantt
355 356 * Defect #6496: Remove i18n 0.3.x/0.4.x hack for Rails 2.3.5
356 357 * Defect #6562: Context-menu deletion of issues deletes all subtasks too without explicit prompt
357 358 * Defect #6604: Issues targeted at parent project versions' are not shown on gantt chart
358 359 * Defect #6706: Resolving issues with the commit message produces the wrong comment with CVS
359 360 * Defect #6901: Copy/Move an issue does not give any history of who actually did the action.
360 361 * Defect #6905: Specific heading-content breaks CSS
361 362 * Defect #7000: Project filter not applied on versions in Gantt chart
362 363 * Defect #7097: Starting day of week cannot be set to Saturday
363 364 * Defect #7114: New gantt doesn't display some projects
364 365 * Defect #7146: Git adapter lost commits before 7 days from database latest changeset
365 366 * Defect #7218: Date range error on issue query
366 367 * Defect #7257: "Issues by" version links bad criterias
367 368 * Defect #7279: CSS class ".icon-home" is not used.
368 369 * Defect #7320: circular dependency >2 issues
369 370 * Defect #7352: Filters not working in Gantt charts
370 371 * Defect #7367: Receiving pop3 email should not output debug messages
371 372 * Defect #7373: Error with PDF output and ruby 1.9.2
372 373 * Defect #7379: Remove extraneous hidden_field on wiki history
373 374 * Defect #7516: Redmine does not work with RubyGems 1.5.0
374 375 * Defect #7518: Mercurial diff can be wrong if the previous changeset isn't the parent
375 376 * Defect #7581: Not including a spent time value on the main issue update screen causes silent data loss
376 377 * Defect #7582: hiding form pages from search engines
377 378 * Defect #7597: Subversion and Mercurial log have the possibility to miss encoding
378 379 * Defect #7604: ActionView::TemplateError (undefined method `name' for nil:NilClass)
379 380 * Defect #7605: Using custom queries always redirects to "Issues" tab
380 381 * Defect #7615: CVS diffs do not handle new files properly
381 382 * Defect #7618: SCM diffs do not handle one line new files properly
382 383 * Defect #7639: Some date fields do not have requested format.
383 384 * Defect #7657: Wrong commit range in git log command on Windows
384 385 * Defect #7818: Wiki pages don't use the local timezone to display the "Updated ? hours ago" mouseover
385 386 * Defect #7821: Git "previous" and "next" revisions are incorrect
386 387 * Defect #7827: CVS: Age column on repository view is off by timezone delta
387 388 * Defect #7843: Add a relation between issues = explicit login window ! (basic authentication popup is prompted on AJAX request)
388 389 * Defect #8011: {{toc}} does not display headlines with inline code markup
389 390 * Defect #8029: List of users for adding to a group may be empty if 100 first users have been added
390 391 * Defect #8064: Text custom fields do not wrap on the issue list
391 392 * Defect #8071: Watching a subtask from the context menu updates main issue watch link
392 393 * Defect #8072: Two untranslatable default role names
393 394 * Defect #8075: Some "notifiable" names are not i18n-enabled
394 395 * Defect #8081: GIT: Commits missing when user has the "decorate" git option enabled
395 396 * Defect #8088: Colorful indentation of subprojects must be on right in RTL locales
396 397 * Defect #8239: notes field is not propagated during issue copy
397 398 * Defect #8356: GET /time_entries.xml ignores limit/offset parameters
398 399 * Defect #8432: Private issues information shows up on Activity page for unauthorized users
399 400 * Feature #746: Versioned issue descriptions
400 401 * Feature #1067: Differentiate public/private saved queries in the sidebar
401 402 * Feature #1236: Make destination folder for attachment uploads configurable
402 403 * Feature #1735: Per project repository log encoding setting
403 404 * Feature #1763: Autologin-cookie should be configurable
404 405 * Feature #1981: display mercurial tags
405 406 * Feature #2074: Sending email notifications when comments are added in the news section
406 407 * Feature #2096: Custom fields referencing system tables (users and versions)
407 408 * Feature #2732: Allow additional workflow transitions for author and assignee
408 409 * Feature #2910: Warning on leaving edited issue/wiki page without saving
409 410 * Feature #3396: Git: use --encoding=UTF-8 in "git log"
410 411 * Feature #4273: SCM command availability automatic check in administration panel
411 412 * Feature #4477: Use mime types in downloading from repository
412 413 * Feature #5518: Graceful fallback for "missing translation" needed
413 414 * Feature #5520: Text format buttons and preview link missing when editing comment
414 415 * Feature #5831: Parent Task to Issue Bulk Edit
415 416 * Feature #6887: Upgrade to Rails 2.3.11
416 417 * Feature #7139: Highlight changes inside diff lines
417 418 * Feature #7236: Collapse All for Groups
418 419 * Feature #7246: Handle "named branch" for mercurial
419 420 * Feature #7296: Ability for admin to delete users
420 421 * Feature #7318: Add user agent to Redmine Mailhandler
421 422 * Feature #7408: Add an application configuration file
422 423 * Feature #7409: Cross project Redmine links
423 424 * Feature #7410: Add salt to user passwords
424 425 * Feature #7411: Option to cipher LDAP ans SCM passwords stored in the database
425 426 * Feature #7412: Add an issue visibility level to each role
426 427 * Feature #7414: Private issues
427 428 * Feature #7517: Configurable path of executable for scm adapters
428 429 * Feature #7640: Add "mystery man" gravatar to options
429 430 * Feature #7858: RubyGems 1.6 support
430 431 * Feature #7893: Group filter on the users list
431 432 * Feature #7899: Box for editing comments should open with the formatting toolbar
432 433 * Feature #7921: issues by pulldown should have 'status' option
433 434 * Feature #7996: Bulk edit and context menu for time entries
434 435 * Feature #8006: Right click context menu for Related Issues
435 436 * Feature #8209: I18n YAML files not parsable with psych yaml library
436 437 * Feature #8345: Link to user profile from account page
437 438 * Feature #8365: Git: per project setting to report last commit or not in repository tree
438 439 * Patch #5148: metaKey not handled in issues selection
439 440 * Patch #5629: Wrap text fields properly in PDF
440 441 * Patch #7418: Redmine Persian Translation
441 442 * Patch #8295: Wrap title fields properly in PDF
442 443 * Patch #8310: fixes automatic line break problem with TCPDF
443 444 * Patch #8312: Switch to TCPDF from FPDF for PDF export
444 445
445 446 == 2011-04-29 v1.1.3
446 447
447 448 * Defect #5773: Email reminders are sent to locked users
448 449 * Defect #6590: Wrong file list link in email notification on new file upload
449 450 * Defect #7589: Wiki page with backslash in title can not be found
450 451 * Defect #7785: Mailhandler keywords are not removed when updating issues
451 452 * Defect #7794: Internal server error on formatting an issue as a PDF in Japanese
452 453 * Defect #7838: Gantt- Issues does not show up in green when start and end date are the same
453 454 * Defect #7846: Headers (h1, etc.) containing backslash followed by a digit are not displayed correctly
454 455 * Defect #7875: CSV export separators in polish locale (pl.yml)
455 456 * Defect #7890: Internal server error when referencing an issue without project in commit message
456 457 * Defect #7904: Subprojects not properly deleted when deleting a parent project
457 458 * Defect #7939: Simultaneous Wiki Updates Cause Internal Error
458 459 * Defect #7951: Atom links broken on wiki index
459 460 * Defect #7954: IE 9 can not select issues, does not display context menu
460 461 * Defect #7985: Trying to do a bulk edit results in "Internal Error"
461 462 * Defect #8003: Error raised by reposman.rb under Windows server 2003
462 463 * Defect #8012: Wrong selection of modules when adding new project after validation error
463 464 * Defect #8038: Associated Revisions OL/LI items are not styled properly in issue view
464 465 * Defect #8067: CSV exporting in Italian locale
465 466 * Defect #8235: bulk edit issues and copy issues error in es, gl and ca locales
466 467 * Defect #8244: selected modules are not activated when copying a project
467 468 * Patch #7278: Update Simplified Chinese translation to 1.1
468 469 * Patch #7390: Fixes in Czech localization
469 470 * Patch #7963: Reminder email: Link for show all issues does not sort
470 471
471 472 == 2011-03-07 v1.1.2
472 473
473 474 * Defect #3132: Bulk editing menu non-functional in Opera browser
474 475 * Defect #6090: Most binary files become corrupted when downloading from CVS repository browser when Redmine is running on a Windows server
475 476 * Defect #7280: Issues subjects wrap in Gantt
476 477 * Defect #7288: Non ASCII filename downloaded from repo is broken on Internet Explorer.
477 478 * Defect #7317: Gantt tab gives internal error due to nil avatar icon
478 479 * Defect #7497: Aptana Studio .project file added to version 1.1.1-stable
479 480 * Defect #7611: Workflow summary shows X icon for workflow with exactly 1 status transition
480 481 * Defect #7625: Syntax highlighting unavailable from board new topic or topic edit preview
481 482 * Defect #7630: Spent time in commits not recognized
482 483 * Defect #7656: MySQL SQL Syntax Error when filtering issues by Assignee's Group
483 484 * Defect #7718: Minutes logged in commit message are converted to hours
484 485 * Defect #7763: Email notification are sent to watchers even if 'No events' setting is chosen
485 486 * Feature #7608: Add "retro" gravatars
486 487 * Patch #7598: Extensible MailHandler
487 488 * Patch #7795: Internal server error at journals#index with custom fields
488 489
489 490 == 2011-01-30 v1.1.1
490 491
491 492 * Defect #4899: Redmine fails to list files for darcs repository
492 493 * Defect #7245: Wiki fails to find pages with cyrillic characters using postgresql
493 494 * Defect #7256: redmine/public/.htaccess must be moved for non-fastcgi installs/upgrades
494 495 * Defect #7258: Automatic spent time logging does not work properly with SQLite3
495 496 * Defect #7259: Released 1.1.0 uses "devel" label inside admin information
496 497 * Defect #7265: "Loading..." icon does not disappear after add project member
497 498 * Defect #7266: Test test_due_date_distance_in_words fail due to undefined locale
498 499 * Defect #7274: CSV value separator in dutch locale
499 500 * Defect #7277: Enabling gravatas causes usernames to overlap first name field in user list
500 501 * Defect #7294: "Notifiy for only project I select" is not available anymore in 1.1.0
501 502 * Defect #7307: HTTP 500 error on query for empty revision
502 503 * Defect #7313: Label not translated in french in Settings/Email Notification tab
503 504 * Defect #7329: <code class="javascript"> with long strings may hang server
504 505 * Defect #7337: My page french translation
505 506 * Defect #7348: French Translation of "Connection"
506 507 * Defect #7385: Error when viewing an issue which was related to a deleted subtask
507 508 * Defect #7386: NoMethodError on pdf export
508 509 * Defect #7415: Darcs adapter recognizes new files as modified files above Darcs 2.4
509 510 * Defect #7421: no email sent with 'Notifiy for any event on the selected projects only'
510 511 * Feature #5344: Update to latest CodeRay 0.9.x
511 512
512 513 == 2011-01-09 v1.1.0
513 514
514 515 * Defect #2038: Italics in wiki headers show-up wrong in the toc
515 516 * Defect #3449: Redmine Takes Too Long On Large Mercurial Repository
516 517 * Defect #3567: Sorting for changesets might go wrong on Mercurial repos
517 518 * Defect #3707: {{toc}} doesn't work with {{include}}
518 519 * Defect #5096: Redmine hangs up while browsing Git repository
519 520 * Defect #6000: Safe Attributes prevents plugin extension of Issue model...
520 521 * Defect #6064: Modules not assigned to projects created via API
521 522 * Defect #6110: MailHandler should allow updating Issue Priority and Custom fields
522 523 * Defect #6136: JSON API holds less information than XML API
523 524 * Defect #6345: xml used by rest API is invalid
524 525 * Defect #6348: Gantt chart PDF rendering errors
525 526 * Defect #6403: Updating an issue with custom fields fails
526 527 * Defect #6467: "Member of role", "Member of group" filter not work correctly
527 528 * Defect #6473: New gantt broken after clearing issue filters
528 529 * Defect #6541: Email notifications send to everybody
529 530 * Defect #6549: Notification settings not migrated properly
530 531 * Defect #6591: Acronyms must have a minimum of three characters
531 532 * Defect #6674: Delete time log broken after changes to REST
532 533 * Defect #6681: Mercurial, Bazaar and Darcs auto close issue text should be commit id instead of revision number
533 534 * Defect #6724: Wiki uploads does not work anymore (SVN 4266)
534 535 * Defect #6746: Wiki links are broken on Activity page
535 536 * Defect #6747: Wiki diff does not work since r4265
536 537 * Defect #6763: New gantt charts: subject displayed twice on issues
537 538 * Defect #6826: Clicking "Add" twice creates duplicate member record
538 539 * Defect #6844: Unchecking status filter on the issue list has no effect
539 540 * Defect #6895: Wrong Polish translation of "blocks"
540 541 * Defect #6943: Migration from boolean to varchar fails on PostgreSQL 8.1
541 542 * Defect #7064: Mercurial adapter does not recognize non alphabetic nor numeric in UTF-8 copied files
542 543 * Defect #7128: New gantt chart does not render subtasks under parent task
543 544 * Defect #7135: paging mechanism returns the same last page forever
544 545 * Defect #7188: Activity page not refreshed when changing language
545 546 * Defect #7195: Apply CLI-supplied defaults for incoming mail only to new issues not replies
546 547 * Defect #7197: Tracker reset to default when replying to an issue email
547 548 * Defect #7213: Copy project does not copy all roles and permissions
548 549 * Defect #7225: Project settings: Trackers & Custom fields only relevant if module Issue tracking is active
549 550 * Feature #630: Allow non-unique names for projects
550 551 * Feature #1738: Add a "Visible" flag to project/user custom fields
551 552 * Feature #2803: Support for Javascript in Themes
552 553 * Feature #2852: Clean Incoming Email of quoted text "----- Reply above this line ------"
553 554 * Feature #2995: Improve error message when trying to access an archived project
554 555 * Feature #3170: Autocomplete issue relations on subject
555 556 * Feature #3503: Administrator Be Able To Modify Email settings Of Users
556 557 * Feature #4155: Automatic spent time logging from commit messages
557 558 * Feature #5136: Parent select on Wiki rename page
558 559 * Feature #5338: Descendants (subtasks) should be available via REST API
559 560 * Feature #5494: Wiki TOC should display heading from level 4
560 561 * Feature #5594: Improve MailHandler's keyword handling
561 562 * Feature #5622: Allow version to be set via incoming email
562 563 * Feature #5712: Reload themes
563 564 * Feature #5869: Issue filters by Group and Role
564 565 * Feature #6092: Truncate Git revision labels in Activity page/feed and allow configurable length
565 566 * Feature #6112: Accept localized keywords when receiving emails
566 567 * Feature #6140: REST issues response with issue count limit and offset
567 568 * Feature #6260: REST API for Users
568 569 * Feature #6276: Gantt Chart rewrite
569 570 * Feature #6446: Remove length limits on project identifier and name
570 571 * Feature #6628: Improvements in truncate email
571 572 * Feature #6779: Project JSON API
572 573 * Feature #6823: REST API for time tracker.
573 574 * Feature #7072: REST API for news
574 575 * Feature #7111: Expose more detail on journal entries
575 576 * Feature #7141: REST API: get information about current user
576 577 * Patch #4807: Allow to set the done_ratio field with the incoming mail system
577 578 * Patch #5441: Initialize TimeEntry attributes with params[:time_entry]
578 579 * Patch #6762: Use GET instead of POST to retrieve context_menu
579 580 * Patch #7160: French translation ofr "not_a_date" is missing
580 581 * Patch #7212: Missing remove_index in AddUniqueIndexOnMembers down migration
581 582
582 583
583 584 == 2010-12-23 v1.0.5
584 585
585 586 * #6656: Mercurial adapter loses seconds of commit times
586 587 * #6996: Migration trac(sqlite3) -> redmine(postgresql) doesnt escape ' char
587 588 * #7013: v-1.0.4 trunk - see {{count}} in page display rather than value
588 589 * #7016: redundant 'field_start_date' in ja.yml
589 590 * #7018: 'undefined method `reschedule_after' for nil:NilClass' on new issues
590 591 * #7024: E-mail notifications about Wiki changes.
591 592 * #7033: 'class' attribute of <pre> tag shouldn't be truncate
592 593 * #7035: CSV value separator in russian
593 594 * #7122: Issue-description Quote-button missing
594 595 * #7144: custom queries making use of deleted custom fields cause a 500 error
595 596 * #7162: Multiply defined label in french translation
596 597
597 598 == 2010-11-28 v1.0.4
598 599
599 600 * #5324: Git not working if color.ui is enabled
600 601 * #6447: Issues API doesn't allow full key auth for all actions
601 602 * #6457: Edit User group problem
602 603 * #6575: start date being filled with current date even when blank value is submitted
603 604 * #6740: Max attachment size, incorrect usage of 'KB'
604 605 * #6760: Select box sorted by ID instead of name in Issue Category
605 606 * #6766: Changing target version name can cause an internal error
606 607 * #6784: Redmine not working with i18n gem 0.4.2
607 608 * #6839: Hardcoded absolute links in my/page_layout
608 609 * #6841: Projects API doesn't allow full key auth for all actions
609 610 * #6860: svn: Write error: Broken pipe when browsing repository
610 611 * #6874: API should return XML description when creating a project
611 612 * #6932: submitting wrong parent task input creates a 500 error
612 613 * #6966: Records of Forums are remained, deleting project
613 614 * #6990: Layout problem in workflow overview
614 615 * #5117: mercurial_adapter should ensure the right LANG environment variable
615 616 * #6782: Traditional Chinese language file (to r4352)
616 617 * #6783: Swedish Translation for r4352
617 618 * #6804: Bugfix: spelling fixes
618 619 * #6814: Japanese Translation for r4362
619 620 * #6948: Bulgarian translation
620 621 * #6973: Update es.yml
621 622
622 623 == 2010-10-31 v1.0.3
623 624
624 625 * #4065: Redmine.pm doesn't work with LDAPS and a non-standard port
625 626 * #4416: Link from version details page to edit the wiki.
626 627 * #5484: Add new issue as subtask to an existing ticket
627 628 * #5948: Update help/wiki_syntax_detailed.html with more link options
628 629 * #6494: Typo in pt_BR translation for 1.0.2
629 630 * #6508: Japanese translation update
630 631 * #6509: Localization pt-PT (new strings)
631 632 * #6511: Rake task to test email
632 633 * #6525: Traditional Chinese language file (to r4225)
633 634 * #6536: Patch for swedish translation
634 635 * #6548: Rake tasks to add/remove i18n strings
635 636 * #6569: Updated Hebrew translation
636 637 * #6570: Japanese Translation for r4231
637 638 * #6596: pt-BR translation updates
638 639 * #6629: Change field-name of issues start date
639 640 * #6669: Bulgarian translation
640 641 * #6731: Macedonian translation fix
641 642 * #6732: Japanese Translation for r4287
642 643 * #6735: Add user-agent to reposman
643 644 * #6736: Traditional Chinese language file (to r4288)
644 645 * #6739: Swedish Translation for r4288
645 646 * #6765: Traditional Chinese language file (to r4302)
646 647 * Fixed #5324: Git not working if color.ui is enabled
647 648 * Fixed #5652: Bad URL parsing in the wiki when it ends with right-angle-bracket(greater-than mark).
648 649 * Fixed #5803: Precedes/Follows Relationships Broke
649 650 * Fixed #6435: Links to wikipages bound to versions do not respect version-sharing in Settings -> Versions
650 651 * Fixed #6438: Autologin cannot be disabled again once it's enabled
651 652 * Fixed #6513: "Move" and "Copy" are not displayed when deployed in subdirectory
652 653 * Fixed #6521: Tooltip/label for user "search-refinment" field on group/project member list
653 654 * Fixed #6563: i18n-issues on calendar view
654 655 * Fixed #6598: Wrong caption for button_create_and_continue in German language file
655 656 * Fixed #6607: Unclear caption for german button_update
656 657 * Fixed #6612: SortHelper missing from CalendarsController
657 658 * Fixed #6740: Max attachment size, incorrect usage of 'KB'
658 659 * Fixed #6750: ActionView::TemplateError (undefined method `empty?' for nil:NilClass) on line #12 of app/views/context_menus/issues.html.erb:
659 660
660 661 == 2010-09-26 v1.0.2
661 662
662 663 * #2285: issue-refinement: pressing enter should result to an "apply"
663 664 * #3411: Allow mass status update trough context menu
664 665 * #5929: https-enabled gravatars when called over https
665 666 * #6189: Japanese Translation for r4011
666 667 * #6197: Traditional Chinese language file (to r4036)
667 668 * #6198: Updated german translation
668 669 * #6208: Macedonian translation
669 670 * #6210: Swedish Translation for r4039
670 671 * #6248: nl translation update for r4050
671 672 * #6263: Catalan translation update
672 673 * #6275: After submitting a related issue, the Issue field should be re-focused
673 674 * #6289: Checkboxes in issues list shouldn't be displayed when printing
674 675 * #6290: Make journals theming easier
675 676 * #6291: User#allowed_to? is not tested
676 677 * #6306: Traditional Chinese language file (to r4061)
677 678 * #6307: Korean translation update for 4066(4061)
678 679 * #6316: pt_BR update
679 680 * #6339: SERBIAN Updated
680 681 * #6358: Updated Polish translation
681 682 * #6363: Japanese Translation for r4080
682 683 * #6365: Traditional Chinese language file (to r4081)
683 684 * #6382: Issue PDF export variable usage
684 685 * #6428: Interim solution for i18n >= 0.4
685 686 * #6441: Japanese Translation for r4162
686 687 * #6451: Traditional Chinese language file (to r4167)
687 688 * #6465: Japanese Translation for r4171
688 689 * #6466: Traditional Chinese language file (to r4171)
689 690 * #6490: pt-BR translation for 1.0.2
690 691 * Fixed #3935: stylesheet_link_tag with plugin doesn't take into account relative_url_root
691 692 * Fixed #4998: Global issue list's context menu has enabled options for parent menus but there are no valid selections
692 693 * Fixed #5170: Done ratio can not revert to 0% if status is used for done ratio
693 694 * Fixed #5608: broken with i18n 0.4.0
694 695 * Fixed #6054: Error 500 on filenames with whitespace in git reposities
695 696 * Fixed #6135: Default logger configuration grows without bound.
696 697 * Fixed #6191: Deletion of a main task deletes all subtasks
697 698 * Fixed #6195: Missing move issues between projects
698 699 * Fixed #6242: can't switch between inline and side-by-side diff
699 700 * Fixed #6249: Create and continue returns 404
700 701 * Fixed #6267: changing the authentication mode from ldap to internal with setting the password
701 702 * Fixed #6270: diff coderay malformed in the "news" page
702 703 * Fixed #6278: missing "cant_link_an_issue_with_a_descendant"from locale files
703 704 * Fixed #6333: Create and continue results in a 404 Error
704 705 * Fixed #6346: Age column on repository view is skewed for git, probably CVS too
705 706 * Fixed #6351: Context menu on roadmap broken
706 707 * Fixed #6388: New Subproject leads to a 404
707 708 * Fixed #6392: Updated/Created links to activity broken
708 709 * Fixed #6413: Error in SQL
709 710 * Fixed #6443: Redirect to project settings after Copying a Project
710 711 * Fixed #6448: Saving a wiki page with no content has a translation missing
711 712 * Fixed #6452: Unhandled exception on creating File
712 713 * Fixed #6471: Typo in label_report in Czech translation
713 714 * Fixed #6479: Changing tracker type will lose watchers
714 715 * Fixed #6499: Files with leading or trailing whitespace are not shown in git.
715 716
716 717 == 2010-08-22 v1.0.1
717 718
718 719 * #819: Add a body ID and class to all pages
719 720 * #871: Commit new CSS styles!
720 721 * #3301: Add favicon to base layout
721 722 * #4656: On Issue#show page, clicking on Ò€œAdd related issueҀ� should focus on the input
722 723 * #4896: Project identifier should be a limited field
723 724 * #5084: Filter all isssues by projects
724 725 * #5477: Replace Test::Unit::TestCase with ActiveSupport::TestCase
725 726 * #5591: 'calendar' action is used with 'issue' controller in issue/sidebar
726 727 * #5735: Traditional Chinese language file (to r3810)
727 728 * #5740: Swedish Translation for r3810
728 729 * #5785: pt-BR translation update
729 730 * #5898: Projects should be displayed as links in users/memberships
730 731 * #5910: Chinese translation to redmine-1.0.0
731 732 * #5912: Translation update for french locale
732 733 * #5962: Hungarian translation update to r3892
733 734 * #5971: Remove falsly applied chrome on revision links
734 735 * #5972: Updated Hebrew translation for 1.0.0
735 736 * #5982: Updated german translation
736 737 * #6008: Move admin_menu to Redmine::MenuManager
737 738 * #6012: RTL layout
738 739 * #6021: Spanish translation 1.0.0-RC
739 740 * #6025: nl translation updated for r3905
740 741 * #6030: Japanese Translation for r3907
741 742 * #6074: sr-CY.yml contains DOS-type newlines (\r\n)
742 743 * #6087: SERBIAN translation updated
743 744 * #6093: Updated italian translation
744 745 * #6142: Swedish Translation for r3940
745 746 * #6153: Move view_calendar and view_gantt to own modules
746 747 * #6169: Add issue status to issue tooltip
747 748 * Fixed #3834: Add a warning when not choosing a member role
748 749 * Fixed #3922: Bad english arround "Assigned to" text in journal entries
749 750 * Fixed #5158: Simplified Chinese language file zh.yml updated to r3608
750 751 * Fixed #5162: translation missing: zh-TW, field_time_entrie
751 752 * Fixed #5297: openid not validated correctly
752 753 * Fixed #5628: Wrong commit range in git log command
753 754 * Fixed #5760: Assigned_to and author filters in "Projects>View all issues" should be based on user's project visibility
754 755 * Fixed #5771: Problem when importing git repository
755 756 * Fixed #5775: ldap authentication in admin menu should have an icon
756 757 * Fixed #5811: deleting statuses doesnt delete workflow entries
757 758 * Fixed #5834: Emails with trailing spaces incorrectly detected as invalid
758 759 * Fixed #5846: ChangeChangesPathLengthLimit does not remove default for MySQL
759 760 * Fixed #5861: Vertical scrollbar always visible in Wiki "code" blocks in Chrome.
760 761 * Fixed #5883: correct label_project_latest Chinese translation
761 762 * Fixed #5892: Changing status from contextual menu opens the ticket instead
762 763 * Fixed #5904: Global gantt PDF and PNG should display project names
763 764 * Fixed #5925: parent task's priority edit should be disabled through shortcut menu in issues list page
764 765 * Fixed #5935: Add Another file to ticket doesn't work in IE Internet Explorer
765 766 * Fixed #5937: Harmonize french locale "zero" translation with other locales
766 767 * Fixed #5945: Forum message permalinks don't take pagination into account
767 768 * Fixed #5978: Debug code still remains
768 769 * Fixed #6009: When using "English (British)", the repository browser (svn) shows files over 1000 bytes as floating point (2.334355)
769 770 * Fixed #6045: Repository file Diff view sometimes shows more than selected file
770 771 * Fixed #6079: German Translation error in TimeEntryActivity
771 772 * Fixed #6100: User's profile should display all visible projects
772 773 * Fixed #6132: Allow Key based authentication in the Boards atom feed
773 774 * Fixed #6163: Bad CSS class for calendar project menu_item
774 775 * Fixed #6172: Browsing to a missing user's page shows the admin sidebar
775 776
776 777 == 2010-07-18 v1.0.0 (Release candidate)
777 778
778 779 * #443: Adds context menu to the roadmap issue lists
779 780 * #443: Subtasking
780 781 * #741: Description preview while editing an issue
781 782 * #1131: Add support for alternate (non-LDAP) authentication
782 783 * #1214: REST API for Issues
783 784 * #1223: File upload on wiki edit form
784 785 * #1755: add "blocked by" as a related issues option
785 786 * #2420: Fetching emails from an POP server
786 787 * #2482: Named scopes in Issue and ActsAsWatchable plus some view refactoring (logic extraction).
787 788 * #2924: Make the right click menu more discoverable using a cursor property
788 789 * #2985: Make syntax highlighting pluggable
789 790 * #3201: Workflow Check/Uncheck All Rows/Columns
790 791 * #3359: Update CodeRay 0.9
791 792 * #3706: Allow assigned_to field configuration on Issue creation by email
792 793 * #3936: configurable list of models to include in search
793 794 * #4480: Create a link to the user profile from the administration interface
794 795 * #4482: Cache textile rendering
795 796 * #4572: Make it harder to ruin your database
796 797 * #4573: Move github gems to Gemcutter
797 798 * #4664: Add pagination to forum threads
798 799 * #4732: Make login case-insensitive also for PostgreSQL
799 800 * #4812: Create links to other projects
800 801 * #4819: Replace images with smushed ones for speed
801 802 * #4945: Allow custom fields attached to project to be searchable
802 803 * #5121: Fix issues list layout overflow
803 804 * #5169: Issue list view hook request
804 805 * #5208: Aibility to edit wiki sidebar
805 806 * #5281: Remove empty ul tags in the issue history
806 807 * #5291: Updated basque translations
807 808 * #5328: Automatically add "Repository" menu_item after repository creation
808 809 * #5415: Fewer SQL statements generated for watcher_recipients
809 810 * #5416: Exclude "fields_for" from overridden methods in TabularFormBuilder
810 811 * #5573: Allow issue assignment in email
811 812 * #5595: Allow start date and due dates to be set via incoming email
812 813 * #5752: The projects view (/projects) renders ul's wrong
813 814 * #5781: Allow to use more macros on the welcome page and project list
814 815 * Fixed #1288: Unable to past escaped wiki syntax in an issue description
815 816 * Fixed #1334: Wiki formatting character *_ and _*
816 817 * Fixed #1416: Inline code with less-then/greater-than produces @lt; and @gt; respectively
817 818 * Fixed #2473: Login and mail should not be case sensitive
818 819 * Fixed #2990: Ruby 1.9 - wrong number of arguments (1 for 0) on rake db:migrate
819 820 * Fixed #3089: Text formatting sometimes breaks when combined
820 821 * Fixed #3690: Status change info duplicates on the issue screen
821 822 * Fixed #3691: Redmine allows two files with the same file name to be uploaded to the same issue
822 823 * Fixed #3764: ApplicationHelperTest fails with JRuby
823 824 * Fixed #4265: Unclosed code tags in issue descriptions affects main UI
824 825 * Fixed #4745: Bug in index.xml.builder (issues)
825 826 * Fixed #4852: changing user/roles of project member not possible without javascript
826 827 * Fixed #4857: Week number calculation in date picker is wrong if a week starts with Sunday
827 828 * Fixed #4883: Bottom "contextual" placement in issue with associated changeset
828 829 * Fixed #4918: Revisions r3453 and r3454 broke On-the-fly user creation with LDAP
829 830 * Fixed #4935: Navigation to the Master Timesheet page (time_entries)
830 831 * Fixed #5043: Flash messages are not displayed after the project settings[module/activity] saved
831 832 * Fixed #5081: Broken links on public/help/wiki_syntax_detailed.html
832 833 * Fixed #5104: Description of document not wikified on documents index
833 834 * Fixed #5108: Issue linking fails inside of []s
834 835 * Fixed #5199: diff code coloring using coderay
835 836 * Fixed #5233: Add a hook to the issue report (Summary) view
836 837 * Fixed #5265: timetracking: subtasks time is added to the main task
837 838 * Fixed #5343: acts_as_event Doesn't Accept Outside URLs
838 839 * Fixed #5440: UI Inconsistency : Administration > Enumerations table row headers should be enclosed in <thead>
839 840 * Fixed #5463: 0.9.4 INSTALL and/or UPGRADE, missing session_store.rb
840 841 * Fixed #5524: Update_parent_attributes doesn't work for the old parent issue when reparenting
841 842 * Fixed #5548: SVN Repository: Can not list content of a folder which includes square brackets.
842 843 * Fixed #5589: "with subproject" malfunction
843 844 * Fixed #5676: Search for Numeric Value
844 845 * Fixed #5696: Redmine + PostgreSQL 8.4.4 fails on _dir_list_content.rhtml
845 846 * Fixed #5698: redmine:email:receive_imap fails silently for mails with subject longer than 255 characters
846 847 * Fixed #5700: TimelogController#destroy assumes success
847 848 * Fixed #5751: developer role is mispelled
848 849 * Fixed #5769: Popup Calendar doesn't Advance in Chrome
849 850 * Fixed #5771: Problem when importing git repository
850 851 * Fixed #5823: Error in comments in plugin.rb
851 852
852 853
853 854 == 2010-07-07 v0.9.6
854 855
855 856 * Fixed: Redmine.pm access by unauthorized users
856 857
857 858 == 2010-06-24 v0.9.5
858 859
859 860 * Linkify folder names on revision view
860 861 * "fiters" and "options" should be hidden in print view via css
861 862 * Fixed: NoMethodError when no issue params are submitted
862 863 * Fixed: projects.atom with required authentication
863 864 * Fixed: External links not correctly displayed in Wiki TOC
864 865 * Fixed: Member role forms in project settings are not hidden after member added
865 866 * Fixed: pre can't be inside p
866 867 * Fixed: session cookie path does not respect RAILS_RELATIVE_URL_ROOT
867 868 * Fixed: mail handler fails when the from address is empty
868 869
869 870
870 871 == 2010-05-01 v0.9.4
871 872
872 873 * Filters collapsed by default on issues index page for a saved query
873 874 * Fixed: When categories list is too big the popup menu doesn't adjust (ex. in the issue list)
874 875 * Fixed: remove "main-menu" div when the menu is empty
875 876 * Fixed: Code syntax highlighting not working in Document page
876 877 * Fixed: Git blame/annotate fails on moved files
877 878 * Fixed: Failing test in test_show_atom
878 879 * Fixed: Migrate from trac - not displayed Wikis
879 880 * Fixed: Email notifications on file upload sent to empty recipient list
880 881 * Fixed: Migrating from trac is not possible, fails to allocate memory
881 882 * Fixed: Lost password no longer flashes a confirmation message
882 883 * Fixed: Crash while deleting in-use enumeration
883 884 * Fixed: Hard coded English string at the selection of issue watchers
884 885 * Fixed: Bazaar v2.1.0 changed behaviour
885 886 * Fixed: Roadmap display can raise an exception if no trackers are selected
886 887 * Fixed: Gravatar breaks layout of "logged in" page
887 888 * Fixed: Reposman.rb on Windows
888 889 * Fixed: Possible error 500 while moving an issue to another project with SQLite
889 890 * Fixed: backslashes in issue description/note should be escaped when quoted
890 891 * Fixed: Long text in <pre> disrupts Associated revisions
891 892 * Fixed: Links to missing wiki pages not red on project overview page
892 893 * Fixed: Cannot delete a project with subprojects that shares versions
893 894 * Fixed: Update of Subversion changesets broken under Solaris
894 895 * Fixed: "Move issues" permission not working for Non member
895 896 * Fixed: Sidebar overlap on Users tab of Group editor
896 897 * Fixed: Error on db:migrate with table prefix set (hardcoded name in principal.rb)
897 898 * Fixed: Report shows sub-projects for non-members
898 899 * Fixed: 500 internal error when browsing any Redmine page in epiphany
899 900 * Fixed: Watchers selection lost when issue creation fails
900 901 * Fixed: When copying projects, redmine should not generate an email to people who created issues
901 902 * Fixed: Issue "#" table cells should have a class attribute to enable fine-grained CSS theme
902 903 * Fixed: Plugin generators should display help if no parameter is given
903 904
904 905
905 906 == 2010-02-28 v0.9.3
906 907
907 908 * Adds filter for system shared versions on the cross project issue list
908 909 * Makes project identifiers searchable
909 910 * Remove invalid utf8 sequences from commit comments and author name
910 911 * Fixed: Wrong link when "http" not included in project "Homepage" link
911 912 * Fixed: Escaping in html email templates
912 913 * Fixed: Pound (#) followed by number with leading zero (0) removes leading zero when rendered in wiki
913 914 * Fixed: Deselecting textile text formatting causes interning empty string errors
914 915 * Fixed: error with postgres when entering a non-numeric id for an issue relation
915 916 * Fixed: div.task incorrectly wrapping on Gantt Chart
916 917 * Fixed: Project copy loses wiki pages hierarchy
917 918 * Fixed: parent project field doesn't include blank value when a member with 'add subproject' permission edits a child project
918 919 * Fixed: Repository.fetch_changesets tries to fetch changesets for archived projects
919 920 * Fixed: Duplicated project name for subproject version on gantt chart
920 921 * Fixed: roadmap shows subprojects issues even if subprojects is unchecked
921 922 * Fixed: IndexError if all the :last menu items are deleted from a menu
922 923 * Fixed: Very high CPU usage for a long time when fetching commits from a large Git repository
923 924
924 925
925 926 == 2010-02-07 v0.9.2
926 927
927 928 * Fixed: Sub-project repository commits not displayed on parent project issues
928 929 * Fixed: Potential security leak on my page calendar
929 930 * Fixed: Project tree structure is broken by deleting the project with the subproject
930 931 * Fixed: Error message shown duplicated when creating a new group
931 932 * Fixed: Firefox cuts off large pages
932 933 * Fixed: Invalid format parameter returns a DoubleRenderError on issues index
933 934 * Fixed: Unnecessary Quote button on locked forum message
934 935 * Fixed: Error raised when trying to view the gantt or calendar with a grouped query
935 936 * Fixed: PDF support for Korean locale
936 937 * Fixed: Deprecation warning in extra/svn/reposman.rb
937 938
938 939
939 940 == 2010-01-30 v0.9.1
940 941
941 942 * Vertical alignment for inline images in formatted text set to 'middle'
942 943 * Fixed: Redmine.pm error "closing dbh with active statement handles at /usr/lib/perl5/Apache/Redmine.pm"
943 944 * Fixed: copyright year in footer set to 2010
944 945 * Fixed: Trac migration script may not output query lines
945 946 * Fixed: Email notifications may affect language of notice messages on the UI
946 947 * Fixed: Can not search for 2 letters word
947 948 * Fixed: Attachments get saved on issue update even if validation fails
948 949 * Fixed: Tab's 'border-bottom' not absent when selected
949 950 * Fixed: Issue summary tables that list by user are not sorted
950 951 * Fixed: Issue pdf export fails if target version is set
951 952 * Fixed: Issue list export to PDF breaks when issues are sorted by a custom field
952 953 * Fixed: SQL error when adding a group
953 954 * Fixes: Min password length during password reset always displays as 4 chars
954 955
955 956
956 957 == 2010-01-09 v0.9.0 (Release candidate)
957 958
958 959 * Unlimited subproject nesting
959 960 * Multiple roles per user per project
960 961 * User groups
961 962 * Inheritence of versions
962 963 * OpenID login
963 964 * "Watched by me" issue filter
964 965 * Project copy
965 966 * Project creation by non admin users
966 967 * Accept emails from anyone on a private project
967 968 * Add email notification on Wiki changes
968 969 * Make issue description non-required field
969 970 * Custom fields for Versions
970 971 * Being able to sort the issue list by custom fields
971 972 * Ability to close versions
972 973 * User display/editing of custom fields attached to their user profile
973 974 * Add "follows" issue relation
974 975 * Copy workflows between trackers and roles
975 976 * Defaults enabled modules list for project creation
976 977 * Weighted version completion percentage on the roadmap
977 978 * Autocreate user account when user submits email that creates new issue
978 979 * CSS class on overdue issues on the issue list
979 980 * Enable tracker update on issue edit form
980 981 * Remove issue watchers
981 982 * Ability to move threads between project forums
982 983 * Changed custom field "Possible values" to a textarea
983 984 * Adds projects association on tracker form
984 985 * Set session store to cookie store by default
985 986 * Set a default wiki page on project creation
986 987 * Roadmap for main project should see Roadmaps for sub projects
987 988 * Ticket grouping on the issue list
988 989 * Hierarchical Project links in the page header
989 990 * Allow My Page blocks to be added to from a plugin
990 991 * Sort issues by multiple columns
991 992 * Filters of saved query are now visible and be adjusted without editing the query
992 993 * Saving "sort order" in custom queries
993 994 * Url to fetch changesets for a repository
994 995 * Managers able to create subprojects
995 996 * Issue Totals on My Page Modules
996 997 * Convert Enumerations to single table inheritance (STI)
997 998 * Allow custom my_page blocks to define drop-down names
998 999 * "View Issues" user permission added
999 1000 * Ask user what to do with child pages when deleting a parent wiki page
1000 1001 * Contextual quick search
1001 1002 * Allow resending of password by email
1002 1003 * Change reply subject to be a link to the reply itself
1003 1004 * Include Logged Time as part of the project's Activity history
1004 1005 * REST API for authentication
1005 1006 * Browse through Git branches
1006 1007 * Setup Object Daddy to replace test fixtures
1007 1008 * Setup shoulda to make it easier to test
1008 1009 * Custom fields and overrides on Enumerations
1009 1010 * Add or remove columns from the issue list
1010 1011 * Ability to add new version from issues screen
1011 1012 * Setting to choose which day calendars start
1012 1013 * Asynchronous email delivery method
1013 1014 * RESTful URLs for (almost) everything
1014 1015 * Include issue status in search results and activity pages
1015 1016 * Add email to admin user search filter
1016 1017 * Proper content type for plain text mails
1017 1018 * Default value of project jump box
1018 1019 * Tree based menus
1019 1020 * Ability to use issue status to update percent done
1020 1021 * Second set of issue "Action Links" at the bottom of an issue page
1021 1022 * Proper exist status code for rdm-mailhandler.rb
1022 1023 * Remove incoming email body via a delimiter
1023 1024 * Fixed: Custom querry 'Export to PDF' ignores field selection
1024 1025 * Fixed: Related e-mail notifications aren't threaded
1025 1026 * Fixed: No warning when the creation of a categories from the issue form fails
1026 1027 * Fixed: Actually block issues from closing when relation 'blocked by' isn't closed
1027 1028 * Fixed: Include both first and last name when sorting by users
1028 1029 * Fixed: Table cell with multiple line text
1029 1030 * Fixed: Project overview page shows disabled trackers
1030 1031 * Fixed: Cross project issue relations and user permissions
1031 1032 * Fixed: My page shows tickets the user doesn't have access to
1032 1033 * Fixed: TOC does not parse wiki page reference links with description
1033 1034 * Fixed: Target version-list on bulk edit form is incorrectly sorted
1034 1035 * Fixed: Cannot modify/delete project named "Documents"
1035 1036 * Fixed: Email address in brackets breaks html
1036 1037 * Fixed: Timelog detail loose issue filter passing to report tab
1037 1038 * Fixed: Inform about custom field's name maximum length
1038 1039 * Fixed: Activity page and Atom feed links contain project id instead of identifier
1039 1040 * Fixed: no Atom key for forums with only 1 forum
1040 1041 * Fixed: When reading RSS feed in MS Outlook, the inline links are broken.
1041 1042 * Fixed: Sometimes new posts don't show up in the topic list of a forum.
1042 1043 * Fixed: The all/active filter selection in the project view does not stick.
1043 1044 * Fixed: Login box has Different width
1044 1045 * Fixed: User removed from project - still getting project update emails
1045 1046 * Fixed: Project with the identifier of 'new' cannot be viewed
1046 1047 * Fixed: Artefacts in search view (Cyrillic)
1047 1048 * Fixed: Allow [#id] as subject to reply by email
1048 1049 * Fixed: Wrong language used when closing an issue via a commit message
1049 1050 * Fixed: email handler drops emails for new issues with no subject
1050 1051 * Fixed: Calendar misspelled under Roles/Permissions
1051 1052 * Fixed: Emails from no-reply redmine's address hell cycle
1052 1053 * Fixed: child_pages macro fails on wiki page history
1053 1054 * Fixed: Pre-filled time tracking date ignores timezone
1054 1055 * Fixed: Links on locked users lead to 404 page
1055 1056 * Fixed: Page changes in issue-list when using context menu
1056 1057 * Fixed: diff parser removes lines starting with multiple dashes
1057 1058 * Fixed: Quoting in forums resets message subject
1058 1059 * Fixed: Editing issue comment removes quote link
1059 1060 * Fixed: Redmine.pm ignore browse_repository permission
1060 1061 * Fixed: text formatting breaks on [msg1][msg2]
1061 1062 * Fixed: Spent Time Default Value of 0.0
1062 1063 * Fixed: Wiki pages in search results are referenced by project number, not by project identifier.
1063 1064 * Fixed: When logging in via an autologin cookie the user's last_login_on should be updated
1064 1065 * Fixed: 50k users cause problems in project->settings->members screen
1065 1066 * Fixed: Document timestamp needs to show updated timestamps
1066 1067 * Fixed: Users getting notifications for issues they are no longer allowed to view
1067 1068 * Fixed: issue summary counts should link to the issue list without subprojects
1068 1069 * Fixed: 'Delete' link on LDAP list has no effect
1069 1070
1070 1071
1071 1072 == 2009-11-15 v0.8.7
1072 1073
1073 1074 * Fixed: Hide paragraph terminator at the end of headings on html export
1074 1075 * Fixed: pre tags containing "<pre*"
1075 1076 * Fixed: First date of the date range not included in the time report with SQLite
1076 1077 * Fixed: Password field not styled correctly on alternative stylesheet
1077 1078 * Fixed: Error when sumbitting a POST request that requires a login
1078 1079 * Fixed: CSRF vulnerabilities
1079 1080
1080 1081
1081 1082 == 2009-11-04 v0.8.6
1082 1083
1083 1084 * Change links to closed issues to be a grey color
1084 1085 * Change subversion adapter to not cache authentication and run non interactively
1085 1086 * Fixed: Custom Values with a nil value cause HTTP error 500
1086 1087 * Fixed: Failure to convert HTML entities when editing an Issue reply
1087 1088 * Fixed: Error trying to show repository when there are no comments in a changeset
1088 1089 * Fixed: account/show/:user_id should not be accessible for other users not in your projects
1089 1090 * Fixed: XSS vulnerabilities
1090 1091 * Fixed: IssuesController#destroy should accept POST only
1091 1092 * Fixed: Inline images in wiki headings
1092 1093
1093 1094
1094 1095 == 2009-09-13 v0.8.5
1095 1096
1096 1097 * Incoming mail handler : Allow spaces between keywords and colon
1097 1098 * Do not require a non-word character after a comma in Redmine links
1098 1099 * Include issue hyperlinks in reminder emails
1099 1100 * Prevent nil error when retrieving svn version
1100 1101 * Various plugin hooks added
1101 1102 * Add plugins information to script/about
1102 1103 * Fixed: 500 Internal Server Error is raised if add an empty comment to the news
1103 1104 * Fixed: Atom links for wiki pages are not correct
1104 1105 * Fixed: Atom feeds leak email address
1105 1106 * Fixed: Case sensitivity in Issue filtering
1106 1107 * Fixed: When reading RSS feed, the inline-embedded images are not properly shown
1107 1108
1108 1109
1109 1110 == 2009-05-17 v0.8.4
1110 1111
1111 1112 * Allow textile mailto links
1112 1113 * Fixed: memory consumption when uploading file
1113 1114 * Fixed: Mercurial integration doesn't work if Redmine is installed in folder path containing space
1114 1115 * Fixed: an error is raised when no tab is available on project settings
1115 1116 * Fixed: insert image macro corrupts urls with excalamation marks
1116 1117 * Fixed: error on cross-project gantt PNG export
1117 1118 * Fixed: self and alternate links in atom feeds do not respect Atom specs
1118 1119 * Fixed: accept any svn tunnel scheme in repository URL
1119 1120 * Fixed: issues/show should accept user's rss key
1120 1121 * Fixed: consistency of custom fields display on the issue detail view
1121 1122 * Fixed: wiki comments length validation is missing
1122 1123 * Fixed: weak autologin token generation algorithm causes duplicate tokens
1123 1124
1124 1125
1125 1126 == 2009-04-05 v0.8.3
1126 1127
1127 1128 * Separate project field and subject in cross-project issue view
1128 1129 * Ability to set language for redmine:load_default_data task using REDMINE_LANG environment variable
1129 1130 * Rescue Redmine::DefaultData::DataAlreadyLoaded in redmine:load_default_data task
1130 1131 * CSS classes to highlight own and assigned issues
1131 1132 * Hide "New file" link on wiki pages from printing
1132 1133 * Flush buffer when asking for language in redmine:load_default_data task
1133 1134 * Minimum project identifier length set to 1
1134 1135 * Include headers so that emails don't trigger vacation auto-responders
1135 1136 * Fixed: Time entries csv export links for all projects are malformed
1136 1137 * Fixed: Files without Version aren't visible in the Activity page
1137 1138 * Fixed: Commit logs are centered in the repo browser
1138 1139 * Fixed: News summary field content is not searchable
1139 1140 * Fixed: Journal#save has a wrong signature
1140 1141 * Fixed: Email footer signature convention
1141 1142 * Fixed: Timelog report do not show time for non-versioned issues
1142 1143
1143 1144
1144 1145 == 2009-03-07 v0.8.2
1145 1146
1146 1147 * Send an email to the user when an administrator activates a registered user
1147 1148 * Strip keywords from received email body
1148 1149 * Footer updated to 2009
1149 1150 * Show RSS-link even when no issues is found
1150 1151 * One click filter action in activity view
1151 1152 * Clickable/linkable line #'s while browsing the repo or viewing a file
1152 1153 * Links to versions on files list
1153 1154 * Added request and controller objects to the hooks by default
1154 1155 * Fixed: exporting an issue with attachments to PDF raises an error
1155 1156 * Fixed: "too few arguments" error may occur on activerecord error translation
1156 1157 * Fixed: "Default columns Displayed on the Issues list" setting is not easy to read
1157 1158 * Fixed: visited links to closed tickets are not striked through with IE6
1158 1159 * Fixed: MailHandler#plain_text_body returns nil if there was nothing to strip
1159 1160 * Fixed: MailHandler raises an error when processing an email without From header
1160 1161
1161 1162
1162 1163 == 2009-02-15 v0.8.1
1163 1164
1164 1165 * Select watchers on new issue form
1165 1166 * Issue description is no longer a required field
1166 1167 * Files module: ability to add files without version
1167 1168 * Jump to the current tab when using the project quick-jump combo
1168 1169 * Display a warning if some attachments were not saved
1169 1170 * Import custom fields values from emails on issue creation
1170 1171 * Show view/annotate/download links on entry and annotate views
1171 1172 * Admin Info Screen: Display if plugin assets directory is writable
1172 1173 * Adds a 'Create and continue' button on the new issue form
1173 1174 * IMAP: add options to move received emails
1174 1175 * Do not show Category field when categories are not defined
1175 1176 * Lower the project identifier limit to a minimum of two characters
1176 1177 * Add "closed" html class to closed entries in issue list
1177 1178 * Fixed: broken redirect URL on login failure
1178 1179 * Fixed: Deleted files are shown when using Darcs
1179 1180 * Fixed: Darcs adapter works on Win32 only
1180 1181 * Fixed: syntax highlight doesn't appear in new ticket preview
1181 1182 * Fixed: email notification for changes I make still occurs when running Repository.fetch_changesets
1182 1183 * Fixed: no error is raised when entering invalid hours on the issue update form
1183 1184 * Fixed: Details time log report CSV export doesn't honour date format from settings
1184 1185 * Fixed: invalid css classes on issue details
1185 1186 * Fixed: Trac importer creates duplicate custom values
1186 1187 * Fixed: inline attached image should not match partial filename
1187 1188
1188 1189
1189 1190 == 2008-12-30 v0.8.0
1190 1191
1191 1192 * Setting added in order to limit the number of diff lines that should be displayed
1192 1193 * Makes logged-in username in topbar linking to
1193 1194 * Mail handler: strip tags when receiving a html-only email
1194 1195 * Mail handler: add watchers before sending notification
1195 1196 * Adds a css class (overdue) to overdue issues on issue lists and detail views
1196 1197 * Fixed: project activity truncated after viewing user's activity
1197 1198 * Fixed: email address entered for password recovery shouldn't be case-sensitive
1198 1199 * Fixed: default flag removed when editing a default enumeration
1199 1200 * Fixed: default category ignored when adding a document
1200 1201 * Fixed: error on repository user mapping when a repository username is blank
1201 1202 * Fixed: Firefox cuts off large diffs
1202 1203 * Fixed: CVS browser should not show dead revisions (deleted files)
1203 1204 * Fixed: escape double-quotes in image titles
1204 1205 * Fixed: escape textarea content when editing a issue note
1205 1206 * Fixed: JS error on context menu with IE
1206 1207 * Fixed: bold syntax around single character in series doesn't work
1207 1208 * Fixed several XSS vulnerabilities
1208 1209 * Fixed a SQL injection vulnerability
1209 1210
1210 1211
1211 1212 == 2008-12-07 v0.8.0-rc1
1212 1213
1213 1214 * Wiki page protection
1214 1215 * Wiki page hierarchy. Parent page can be assigned on the Rename screen
1215 1216 * Adds support for issue creation via email
1216 1217 * Adds support for free ticket filtering and custom queries on Gantt chart and calendar
1217 1218 * Cross-project search
1218 1219 * Ability to search a project and its subprojects
1219 1220 * Ability to search the projects the user belongs to
1220 1221 * Adds custom fields on time entries
1221 1222 * Adds boolean and list custom fields for time entries as criteria on time report
1222 1223 * Cross-project time reports
1223 1224 * Display latest user's activity on account/show view
1224 1225 * Show last connexion time on user's page
1225 1226 * Obfuscates email address on user's account page using javascript
1226 1227 * wiki TOC rendered as an unordered list
1227 1228 * Adds the ability to search for a user on the administration users list
1228 1229 * Adds the ability to search for a project name or identifier on the administration projects list
1229 1230 * Redirect user to the previous page after logging in
1230 1231 * Adds a permission 'view wiki edits' so that wiki history can be hidden to certain users
1231 1232 * Adds permissions for viewing the watcher list and adding new watchers on the issue detail view
1232 1233 * Adds permissions to let users edit and/or delete their messages
1233 1234 * Link to activity view when displaying dates
1234 1235 * Hide Redmine version in atom feeds and pdf properties
1235 1236 * Maps repository users to Redmine users. Users with same username or email are automatically mapped. Mapping can be manually adjusted in repository settings. Multiple usernames can be mapped to the same Redmine user.
1236 1237 * Sort users by their display names so that user dropdown lists are sorted alphabetically
1237 1238 * Adds estimated hours to issue filters
1238 1239 * Switch order of current and previous revisions in side-by-side diff
1239 1240 * Render the commit changes list as a tree
1240 1241 * Adds watch/unwatch functionality at forum topic level
1241 1242 * When moving an issue to another project, reassign it to the category with same name if any
1242 1243 * Adds child_pages macro for wiki pages
1243 1244 * Use GET instead of POST on roadmap (#718), gantt and calendar forms
1244 1245 * Search engine: display total results count and count by result type
1245 1246 * Email delivery configuration moved to an unversioned YAML file (config/email.yml, see the sample file)
1246 1247 * Adds icons on search results
1247 1248 * Adds 'Edit' link on account/show for admin users
1248 1249 * Adds Lock/Unlock/Activate link on user edit screen
1249 1250 * Adds user count in status drop down on admin user list
1250 1251 * Adds multi-levels blockquotes support by using > at the beginning of lines
1251 1252 * Adds a Reply link to each issue note
1252 1253 * Adds plain text only option for mail notifications
1253 1254 * Gravatar support for issue detail, user grid, and activity stream (disabled by default)
1254 1255 * Adds 'Delete wiki pages attachments' permission
1255 1256 * Show the most recent file when displaying an inline image
1256 1257 * Makes permission screens localized
1257 1258 * AuthSource list: display associated users count and disable 'Delete' buton if any
1258 1259 * Make the 'duplicates of' relation asymmetric
1259 1260 * Adds username to the password reminder email
1260 1261 * Adds links to forum messages using message#id syntax
1261 1262 * Allow same name for custom fields on different object types
1262 1263 * One-click bulk edition using the issue list context menu within the same project
1263 1264 * Adds support for commit logs reencoding to UTF-8 before insertion in the database. Source encoding of commit logs can be selected in Application settings -> Repositories.
1264 1265 * Adds checkboxes toggle links on permissions report
1265 1266 * Adds Trac-Like anchors on wiki headings
1266 1267 * Adds support for wiki links with anchor
1267 1268 * Adds category to the issue context menu
1268 1269 * Adds a workflow overview screen
1269 1270 * Appends the filename to the attachment url so that clients that ignore content-disposition http header get the real filename
1270 1271 * Dots allowed in custom field name
1271 1272 * Adds posts quoting functionality
1272 1273 * Adds an option to generate sequential project identifiers
1273 1274 * Adds mailto link on the user administration list
1274 1275 * Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value
1275 1276 * Gantt chart: display issues that don't have a due date if they are assigned to a version with a date
1276 1277 * Change projects homepage limit to 255 chars
1277 1278 * Improved on-the-fly account creation. If some attributes are missing (eg. not present in the LDAP) or are invalid, the registration form is displayed so that the user is able to fill or fix these attributes
1278 1279 * Adds "please select" to activity select box if no activity is set as default
1279 1280 * Do not silently ignore timelog validation failure on issue edit
1280 1281 * Adds a rake task to send reminder emails
1281 1282 * Allow empty cells in wiki tables
1282 1283 * Makes wiki text formatter pluggable
1283 1284 * Adds back textile acronyms support
1284 1285 * Remove pre tag attributes
1285 1286 * Plugin hooks
1286 1287 * Pluggable admin menu
1287 1288 * Plugins can provide activity content
1288 1289 * Moves plugin list to its own administration menu item
1289 1290 * Adds url and author_url plugin attributes
1290 1291 * Adds Plugin#requires_redmine method so that plugin compatibility can be checked against current Redmine version
1291 1292 * Adds atom feed on time entries details
1292 1293 * Adds project name to issues feed title
1293 1294 * Adds a css class on menu items in order to apply item specific styles (eg. icons)
1294 1295 * Adds a Redmine plugin generators
1295 1296 * Adds timelog link to the issue context menu
1296 1297 * Adds links to the user page on various views
1297 1298 * Turkish translation by Ismail Sezen
1298 1299 * Catalan translation
1299 1300 * Vietnamese translation
1300 1301 * Slovak translation
1301 1302 * Better naming of activity feed if only one kind of event is displayed
1302 1303 * Enable syntax highlight on issues, messages and news
1303 1304 * Add target version to the issue list context menu
1304 1305 * Hide 'Target version' filter if no version is defined
1305 1306 * Add filters on cross-project issue list for custom fields marked as 'For all projects'
1306 1307 * Turn ftp urls into links
1307 1308 * Hiding the View Differences button when a wiki page's history only has one version
1308 1309 * Messages on a Board can now be sorted by the number of replies
1309 1310 * Adds a class ('me') to events of the activity view created by current user
1310 1311 * Strip pre/code tags content from activity view events
1311 1312 * Display issue notes in the activity view
1312 1313 * Adds links to changesets atom feed on repository browser
1313 1314 * Track project and tracker changes in issue history
1314 1315 * Adds anchor to atom feed messages links
1315 1316 * Adds a key in lang files to set the decimal separator (point or comma) in csv exports
1316 1317 * Makes importer work with Trac 0.8.x
1317 1318 * Upgraded to Prototype 1.6.0.1
1318 1319 * File viewer for attached text files
1319 1320 * Menu mapper: add support for :before, :after and :last options to #push method and add #delete method
1320 1321 * Removed inconsistent revision numbers on diff view
1321 1322 * CVS: add support for modules names with spaces
1322 1323 * Log the user in after registration if account activation is not needed
1323 1324 * Mercurial adapter improvements
1324 1325 * Trac importer: read session_attribute table to find user's email and real name
1325 1326 * Ability to disable unused SCM adapters in application settings
1326 1327 * Adds Filesystem adapter
1327 1328 * Clear changesets and changes with raw sql when deleting a repository for performance
1328 1329 * Redmine.pm now uses the 'commit access' permission defined in Redmine
1329 1330 * Reposman can create any type of scm (--scm option)
1330 1331 * Reposman creates a repository if the 'repository' module is enabled at project level only
1331 1332 * Display svn properties in the browser, svn >= 1.5.0 only
1332 1333 * Reduces memory usage when importing large git repositories
1333 1334 * Wider SVG graphs in repository stats
1334 1335 * SubversionAdapter#entries performance improvement
1335 1336 * SCM browser: ability to download raw unified diffs
1336 1337 * More detailed error message in log when scm command fails
1337 1338 * Adds support for file viewing with Darcs 2.0+
1338 1339 * Check that git changeset is not in the database before creating it
1339 1340 * Unified diff viewer for attached files with .patch or .diff extension
1340 1341 * File size display with Bazaar repositories
1341 1342 * Git adapter: use commit time instead of author time
1342 1343 * Prettier url for changesets
1343 1344 * Makes changes link to entries on the revision view
1344 1345 * Adds a field on the repository view to browse at specific revision
1345 1346 * Adds new projects atom feed
1346 1347 * Added rake tasks to generate rcov code coverage reports
1347 1348 * Add Redcloth's :block_markdown_rule to allow horizontal rules in wiki
1348 1349 * Show the project hierarchy in the drop down list for new membership on user administration screen
1349 1350 * Split user edit screen into tabs
1350 1351 * Renames bundled RedCloth to RedCloth3 to avoid RedCloth 4 to be loaded instead
1351 1352 * Fixed: Roadmap crashes when a version has a due date > 2037
1352 1353 * Fixed: invalid effective date (eg. 99999-01-01) causes an error on version edition screen
1353 1354 * Fixed: login filter providing incorrect back_url for Redmine installed in sub-directory
1354 1355 * Fixed: logtime entry duplicated when edited from parent project
1355 1356 * Fixed: wrong digest for text files under Windows
1356 1357 * Fixed: associated revisions are displayed in wrong order on issue view
1357 1358 * Fixed: Git Adapter date parsing ignores timezone
1358 1359 * Fixed: Printing long roadmap doesn't split across pages
1359 1360 * Fixes custom fields display order at several places
1360 1361 * Fixed: urls containing @ are parsed as email adress by the wiki formatter
1361 1362 * Fixed date filters accuracy with SQLite
1362 1363 * Fixed: tokens not escaped in highlight_tokens regexp
1363 1364 * Fixed Bazaar shared repository browsing
1364 1365 * Fixes platform determination under JRuby
1365 1366 * Fixed: Estimated time in issue's journal should be rounded to two decimals
1366 1367 * Fixed: 'search titles only' box ignored after one search is done on titles only
1367 1368 * Fixed: non-ASCII subversion path can't be displayed
1368 1369 * Fixed: Inline images don't work if file name has upper case letters or if image is in BMP format
1369 1370 * Fixed: document listing shows on "my page" when viewing documents is disabled for the role
1370 1371 * Fixed: Latest news appear on the homepage for projects with the News module disabled
1371 1372 * Fixed: cross-project issue list should not show issues of projects for which the issue tracking module was disabled
1372 1373 * Fixed: the default status is lost when reordering issue statuses
1373 1374 * Fixes error with Postgresql and non-UTF8 commit logs
1374 1375 * Fixed: textile footnotes no longer work
1375 1376 * Fixed: http links containing parentheses fail to reder correctly
1376 1377 * Fixed: GitAdapter#get_rev should use current branch instead of hardwiring master
1377 1378
1378 1379
1379 1380 == 2008-07-06 v0.7.3
1380 1381
1381 1382 * Allow dot in firstnames and lastnames
1382 1383 * Add project name to cross-project Atom feeds
1383 1384 * Encoding set to utf8 in example database.yml
1384 1385 * HTML titles on forums related views
1385 1386 * Fixed: various XSS vulnerabilities
1386 1387 * Fixed: Entourage (and some old client) fails to correctly render notification styles
1387 1388 * Fixed: Fixed: timelog redirects inappropriately when :back_url is blank
1388 1389 * Fixed: wrong relative paths to images in wiki_syntax.html
1389 1390
1390 1391
1391 1392 == 2008-06-15 v0.7.2
1392 1393
1393 1394 * "New Project" link on Projects page
1394 1395 * Links to repository directories on the repo browser
1395 1396 * Move status to front in Activity View
1396 1397 * Remove edit step from Status context menu
1397 1398 * Fixed: No way to do textile horizontal rule
1398 1399 * Fixed: Repository: View differences doesn't work
1399 1400 * Fixed: attachement's name maybe invalid.
1400 1401 * Fixed: Error when creating a new issue
1401 1402 * Fixed: NoMethodError on @available_filters.has_key?
1402 1403 * Fixed: Check All / Uncheck All in Email Settings
1403 1404 * Fixed: "View differences" of one file at /repositories/revision/ fails
1404 1405 * Fixed: Column width in "my page"
1405 1406 * Fixed: private subprojects are listed on Issues view
1406 1407 * Fixed: Textile: bold, italics, underline, etc... not working after parentheses
1407 1408 * Fixed: Update issue form: comment field from log time end out of screen
1408 1409 * Fixed: Editing role: "issue can be assigned to this role" out of box
1409 1410 * Fixed: Unable use angular braces after include word
1410 1411 * Fixed: Using '*' as keyword for repository referencing keywords doesn't work
1411 1412 * Fixed: Subversion repository "View differences" on each file rise ERROR
1412 1413 * Fixed: View differences for individual file of a changeset fails if the repository URL doesn't point to the repository root
1413 1414 * Fixed: It is possible to lock out the last admin account
1414 1415 * Fixed: Wikis are viewable for anonymous users on public projects, despite not granting access
1415 1416 * Fixed: Issue number display clipped on 'my issues'
1416 1417 * Fixed: Roadmap version list links not carrying state
1417 1418 * Fixed: Log Time fieldset in IssueController#edit doesn't set default Activity as default
1418 1419 * Fixed: git's "get_rev" API should use repo's current branch instead of hardwiring "master"
1419 1420 * Fixed: browser's language subcodes ignored
1420 1421 * Fixed: Error on project selection with numeric (only) identifier.
1421 1422 * Fixed: Link to PDF doesn't work after creating new issue
1422 1423 * Fixed: "Replies" should not be shown on forum threads that are locked
1423 1424 * Fixed: SVN errors lead to svn username/password being displayed to end users (security issue)
1424 1425 * Fixed: http links containing hashes don't display correct
1425 1426 * Fixed: Allow ampersands in Enumeration names
1426 1427 * Fixed: Atom link on saved query does not include query_id
1427 1428 * Fixed: Logtime info lost when there's an error updating an issue
1428 1429 * Fixed: TOC does not parse colorization markups
1429 1430 * Fixed: CVS: add support for modules names with spaces
1430 1431 * Fixed: Bad rendering on projects/add
1431 1432 * Fixed: exception when viewing differences on cvs
1432 1433 * Fixed: export issue to pdf will messup when use Chinese language
1433 1434 * Fixed: Redmine::Scm::Adapters::GitAdapter#get_rev ignored GIT_BIN constant
1434 1435 * Fixed: Adding non-ASCII new issue type in the New Issue page have encoding error using IE
1435 1436 * Fixed: Importing from trac : some wiki links are messed
1436 1437 * Fixed: Incorrect weekend definition in Hebrew calendar locale
1437 1438 * Fixed: Atom feeds don't provide author section for repository revisions
1438 1439 * Fixed: In Activity views, changesets titles can be multiline while they should not
1439 1440 * Fixed: Ignore unreadable subversion directories (read disabled using authz)
1440 1441 * Fixed: lib/SVG/Graph/Graph.rb can't externalize stylesheets
1441 1442 * Fixed: Close statement handler in Redmine.pm
1442 1443
1443 1444
1444 1445 == 2008-05-04 v0.7.1
1445 1446
1446 1447 * Thai translation added (Gampol Thitinilnithi)
1447 1448 * Translations updates
1448 1449 * Escape HTML comment tags
1449 1450 * Prevent "can't convert nil into String" error when :sort_order param is not present
1450 1451 * Fixed: Updating tickets add a time log with zero hours
1451 1452 * Fixed: private subprojects names are revealed on the project overview
1452 1453 * Fixed: Search for target version of "none" fails with postgres 8.3
1453 1454 * Fixed: Home, Logout, Login links shouldn't be absolute links
1454 1455 * Fixed: 'Latest projects' box on the welcome screen should be hidden if there are no projects
1455 1456 * Fixed: error when using upcase language name in coderay
1456 1457 * Fixed: error on Trac import when :due attribute is nil
1457 1458
1458 1459
1459 1460 == 2008-04-28 v0.7.0
1460 1461
1461 1462 * Forces Redmine to use rails 2.0.2 gem when vendor/rails is not present
1462 1463 * Queries can be marked as 'For all projects'. Such queries will be available on all projects and on the global issue list.
1463 1464 * Add predefined date ranges to the time report
1464 1465 * Time report can be done at issue level
1465 1466 * Various timelog report enhancements
1466 1467 * Accept the following formats for "hours" field: 1h, 1 h, 1 hour, 2 hours, 30m, 30min, 1h30, 1h30m, 1:30
1467 1468 * Display the context menu above and/or to the left of the click if needed
1468 1469 * Make the admin project files list sortable
1469 1470 * Mercurial: display working directory files sizes unless browsing a specific revision
1470 1471 * Preserve status filter and page number when using lock/unlock/activate links on the users list
1471 1472 * Redmine.pm support for LDAP authentication
1472 1473 * Better error message and AR errors in log for failed LDAP on-the-fly user creation
1473 1474 * Redirected user to where he is coming from after logging hours
1474 1475 * Warn user that subprojects are also deleted when deleting a project
1475 1476 * Include subprojects versions on calendar and gantt
1476 1477 * Notify project members when a message is posted if they want to receive notifications
1477 1478 * Fixed: Feed content limit setting has no effect
1478 1479 * Fixed: Priorities not ordered when displayed as a filter in issue list
1479 1480 * Fixed: can not display attached images inline in message replies
1480 1481 * Fixed: Boards are not deleted when project is deleted
1481 1482 * Fixed: trying to preview a new issue raises an exception with postgresql
1482 1483 * Fixed: single file 'View difference' links do not work because of duplicate slashes in url
1483 1484 * Fixed: inline image not displayed when including a wiki page
1484 1485 * Fixed: CVS duplicate key violation
1485 1486 * Fixed: ActiveRecord::StaleObjectError exception on closing a set of circular duplicate issues
1486 1487 * Fixed: custom field filters behaviour
1487 1488 * Fixed: Postgresql 8.3 compatibility
1488 1489 * Fixed: Links to repository directories don't work
1489 1490
1490 1491
1491 1492 == 2008-03-29 v0.7.0-rc1
1492 1493
1493 1494 * Overall activity view and feed added, link is available on the project list
1494 1495 * Git VCS support
1495 1496 * Rails 2.0 sessions cookie store compatibility
1496 1497 * Use project identifiers in urls instead of ids
1497 1498 * Default configuration data can now be loaded from the administration screen
1498 1499 * Administration settings screen split to tabs (email notifications options moved to 'Settings')
1499 1500 * Project description is now unlimited and optional
1500 1501 * Wiki annotate view
1501 1502 * Escape HTML tag in textile content
1502 1503 * Add Redmine links to documents, versions, attachments and repository files
1503 1504 * New setting to specify how many objects should be displayed on paginated lists. There are 2 ways to select a set of issues on the issue list:
1504 1505 * by using checkbox and/or the little pencil that will select/unselect all issues
1505 1506 * by clicking on the rows (but not on the links), Ctrl and Shift keys can be used to select multiple issues
1506 1507 * Context menu disabled on links so that the default context menu of the browser is displayed when right-clicking on a link (click anywhere else on the row to display the context menu)
1507 1508 * User display format is now configurable in administration settings
1508 1509 * Issue list now supports bulk edit/move/delete (for a set of issues that belong to the same project)
1509 1510 * Merged 'change status', 'edit issue' and 'add note' actions:
1510 1511 * Users with 'edit issues' permission can now update any property including custom fields when adding a note or changing the status
1511 1512 * 'Change issue status' permission removed. To change an issue status, a user just needs to have either 'Edit' or 'Add note' permissions and some workflow transitions allowed
1512 1513 * Details by assignees on issue summary view
1513 1514 * 'New issue' link in the main menu (accesskey 7). The drop-down lists to add an issue on the project overview and the issue list are removed
1514 1515 * Change status select box default to current status
1515 1516 * Preview for issue notes, news and messages
1516 1517 * Optional description for attachments
1517 1518 * 'Fixed version' label changed to 'Target version'
1518 1519 * Let the user choose when deleting issues with reported hours to:
1519 1520 * delete the hours
1520 1521 * assign the hours to the project
1521 1522 * reassign the hours to another issue
1522 1523 * Date range filter and pagination on time entries detail view
1523 1524 * Propagate time tracking to the parent project
1524 1525 * Switch added on the project activity view to include subprojects
1525 1526 * Display total estimated and spent hours on the version detail view
1526 1527 * Weekly time tracking block for 'My page'
1527 1528 * Permissions to edit time entries
1528 1529 * Include subprojects on the issue list, calendar, gantt and timelog by default (can be turned off is administration settings)
1529 1530 * Roadmap enhancements (separate related issues from wiki contents, leading h1 in version wiki pages is hidden, smaller wiki headings)
1530 1531 * Make versions with same date sorted by name
1531 1532 * Allow issue list to be sorted by target version
1532 1533 * Related changesets messages displayed on the issue details view
1533 1534 * Create a journal and send an email when an issue is closed by commit
1534 1535 * Add 'Author' to the available columns for the issue list
1535 1536 * More appropriate default sort order on sortable columns
1536 1537 * Add issue subject to the time entries view and issue subject, description and tracker to the csv export
1537 1538 * Permissions to edit issue notes
1538 1539 * Display date/time instead of date on files list
1539 1540 * Do not show Roadmap menu item if the project doesn't define any versions
1540 1541 * Allow longer version names (60 chars)
1541 1542 * Ability to copy an existing workflow when creating a new role
1542 1543 * Display custom fields in two columns on the issue form
1543 1544 * Added 'estimated time' in the csv export of the issue list
1544 1545 * Display the last 30 days on the activity view rather than the current month (number of days can be configured in the application settings)
1545 1546 * Setting for whether new projects should be public by default
1546 1547 * User preference to choose how comments/replies are displayed: in chronological or reverse chronological order
1547 1548 * Added default value for custom fields
1548 1549 * Added tabindex property on wiki toolbar buttons (to easily move from field to field using the tab key)
1549 1550 * Redirect to issue page after creating a new issue
1550 1551 * Wiki toolbar improvements (mainly for Firefox)
1551 1552 * Display wiki syntax quick ref link on all wiki textareas
1552 1553 * Display links to Atom feeds
1553 1554 * Breadcrumb nav for the forums
1554 1555 * Show replies when choosing to display messages in the activity
1555 1556 * Added 'include' macro to include another wiki page
1556 1557 * RedmineWikiFormatting page available as a static HTML file locally
1557 1558 * Wrap diff content
1558 1559 * Strip out email address from authors in repository screens
1559 1560 * Highlight the current item of the main menu
1560 1561 * Added simple syntax highlighters for php and java languages
1561 1562 * Do not show empty diffs
1562 1563 * Show explicit error message when the scm command failed (eg. when svn binary is not available)
1563 1564 * Lithuanian translation added (Sergej Jegorov)
1564 1565 * Ukrainan translation added (Natalia Konovka & Mykhaylo Sorochan)
1565 1566 * Danish translation added (Mads Vestergaard)
1566 1567 * Added i18n support to the jstoolbar and various settings screen
1567 1568 * RedCloth's glyphs no longer user
1568 1569 * New icons for the wiki toolbar (from http://www.famfamfam.com/lab/icons/silk/)
1569 1570 * The following menus can now be extended by plugins: top_menu, account_menu, application_menu
1570 1571 * Added a simple rake task to fetch changesets from the repositories: rake redmine:fetch_changesets
1571 1572 * Remove hardcoded "Redmine" strings in account related emails and use application title instead
1572 1573 * Mantis importer preserve bug ids
1573 1574 * Trac importer: Trac guide wiki pages skipped
1574 1575 * Trac importer: wiki attachments migration added
1575 1576 * Trac importer: support database schema for Trac migration
1576 1577 * Trac importer: support CamelCase links
1577 1578 * Removes the Redmine version from the footer (can be viewed on admin -> info)
1578 1579 * Rescue and display an error message when trying to delete a role that is in use
1579 1580 * Add various 'X-Redmine' headers to email notifications: X-Redmine-Host, X-Redmine-Site, X-Redmine-Project, X-Redmine-Issue-Id, -Author, -Assignee, X-Redmine-Topic-Id
1580 1581 * Add "--encoding utf8" option to the Mercurial "hg log" command in order to get utf8 encoded commit logs
1581 1582 * Fixed: Gantt and calendar not properly refreshed (fragment caching removed)
1582 1583 * Fixed: Textile image with style attribute cause internal server error
1583 1584 * Fixed: wiki TOC not rendered properly when used in an issue or document description
1584 1585 * Fixed: 'has already been taken' error message on username and email fields if left empty
1585 1586 * Fixed: non-ascii attachement filename with IE
1586 1587 * Fixed: wrong url for wiki syntax pop-up when Redmine urls are prefixed
1587 1588 * Fixed: search for all words doesn't work
1588 1589 * Fixed: Do not show sticky and locked checkboxes when replying to a message
1589 1590 * Fixed: Mantis importer: do not duplicate Mantis username in firstname and lastname if realname is blank
1590 1591 * Fixed: Date custom fields not displayed as specified in application settings
1591 1592 * Fixed: titles not escaped in the activity view
1592 1593 * Fixed: issue queries can not use custom fields marked as 'for all projects' in a project context
1593 1594 * Fixed: on calendar, gantt and in the tracker filter on the issue list, only active trackers of the project (and its sub projects) should be available
1594 1595 * Fixed: locked users should not receive email notifications
1595 1596 * Fixed: custom field selection is not saved when unchecking them all on project settings
1596 1597 * Fixed: can not lock a topic when creating it
1597 1598 * Fixed: Incorrect filtering for unset values when using 'is not' filter
1598 1599 * Fixed: PostgreSQL issues_seq_id not updated when using Trac importer
1599 1600 * Fixed: ajax pagination does not scroll up
1600 1601 * Fixed: error when uploading a file with no content-type specified by the browser
1601 1602 * Fixed: wiki and changeset links not displayed when previewing issue description or notes
1602 1603 * Fixed: 'LdapError: no bind result' error when authenticating
1603 1604 * Fixed: 'LdapError: invalid binding information' when no username/password are set on the LDAP account
1604 1605 * Fixed: CVS repository doesn't work if port is used in the url
1605 1606 * Fixed: Email notifications: host name is missing in generated links
1606 1607 * Fixed: Email notifications: referenced changesets, wiki pages, attachments... are not turned into links
1607 1608 * Fixed: Do not clear issue relations when moving an issue to another project if cross-project issue relations are allowed
1608 1609 * Fixed: "undefined method 'textilizable'" error on email notification when running Repository#fetch_changesets from the console
1609 1610 * Fixed: Do not send an email with no recipient, cc or bcc
1610 1611 * Fixed: fetch_changesets fails on commit comments that close 2 duplicates issues.
1611 1612 * Fixed: Mercurial browsing under unix-like os and for directory depth > 2
1612 1613 * Fixed: Wiki links with pipe can not be used in wiki tables
1613 1614 * Fixed: migrate_from_trac doesn't import timestamps of wiki and tickets
1614 1615 * Fixed: when bulk editing, setting "Assigned to" to "nobody" causes an sql error with Postgresql
1615 1616
1616 1617
1617 1618 == 2008-03-12 v0.6.4
1618 1619
1619 1620 * Fixed: private projects name are displayed on account/show even if the current user doesn't have access to these private projects
1620 1621 * Fixed: potential LDAP authentication security flaw
1621 1622 * Fixed: context submenus on the issue list don't show up with IE6.
1622 1623 * Fixed: Themes are not applied with Rails 2.0
1623 1624 * Fixed: crash when fetching Mercurial changesets if changeset[:files] is nil
1624 1625 * Fixed: Mercurial repository browsing
1625 1626 * Fixed: undefined local variable or method 'log' in CvsAdapter when a cvs command fails
1626 1627 * Fixed: not null constraints not removed with Postgresql
1627 1628 * Doctype set to transitional
1628 1629
1629 1630
1630 1631 == 2007-12-18 v0.6.3
1631 1632
1632 1633 * Fixed: upload doesn't work in 'Files' section
1633 1634
1634 1635
1635 1636 == 2007-12-16 v0.6.2
1636 1637
1637 1638 * Search engine: issue custom fields can now be searched
1638 1639 * News comments are now textilized
1639 1640 * Updated Japanese translation (Satoru Kurashiki)
1640 1641 * Updated Chinese translation (Shortie Lo)
1641 1642 * Fixed Rails 2.0 compatibility bugs:
1642 1643 * Unable to create a wiki
1643 1644 * Gantt and calendar error
1644 1645 * Trac importer error (readonly? is defined by ActiveRecord)
1645 1646 * Fixed: 'assigned to me' filter broken
1646 1647 * Fixed: crash when validation fails on issue edition with no custom fields
1647 1648 * Fixed: reposman "can't find group" error
1648 1649 * Fixed: 'LDAP account password is too long' error when leaving the field empty on creation
1649 1650 * Fixed: empty lines when displaying repository files with Windows style eol
1650 1651 * Fixed: missing body closing tag in repository annotate and entry views
1651 1652
1652 1653
1653 1654 == 2007-12-10 v0.6.1
1654 1655
1655 1656 * Rails 2.0 compatibility
1656 1657 * Custom fields can now be displayed as columns on the issue list
1657 1658 * Added version details view (accessible from the roadmap)
1658 1659 * Roadmap: more accurate completion percentage calculation (done ratio of open issues is now taken into account)
1659 1660 * Added per-project tracker selection. Trackers can be selected on project settings
1660 1661 * Anonymous users can now be allowed to create, edit, comment issues, comment news and post messages in the forums
1661 1662 * Forums: messages can now be edited/deleted (explicit permissions need to be given)
1662 1663 * Forums: topics can be locked so that no reply can be added
1663 1664 * Forums: topics can be marked as sticky so that they always appear at the top of the list
1664 1665 * Forums: attachments can now be added to replies
1665 1666 * Added time zone support
1666 1667 * Added a setting to choose the account activation strategy (available in application settings)
1667 1668 * Added 'Classic' theme (inspired from the v0.51 design)
1668 1669 * Added an alternate theme which provides issue list colorization based on issues priority
1669 1670 * Added Bazaar SCM adapter
1670 1671 * Added Annotate/Blame view in the repository browser (except for Darcs SCM)
1671 1672 * Diff style (inline or side by side) automatically saved as a user preference
1672 1673 * Added issues status changes on the activity view (by Cyril Mougel)
1673 1674 * Added forums topics on the activity view (disabled by default)
1674 1675 * Added an option on 'My account' for users who don't want to be notified of changes that they make
1675 1676 * Trac importer now supports mysql and postgresql databases
1676 1677 * Trac importer improvements (by Mat Trudel)
1677 1678 * 'fixed version' field can now be displayed on the issue list
1678 1679 * Added a couple of new formats for the 'date format' setting
1679 1680 * Added Traditional Chinese translation (by Shortie Lo)
1680 1681 * Added Russian translation (iGor kMeta)
1681 1682 * Project name format limitation removed (name can now contain any character)
1682 1683 * Project identifier maximum length changed from 12 to 20
1683 1684 * Changed the maximum length of LDAP account to 255 characters
1684 1685 * Removed the 12 characters limit on passwords
1685 1686 * Added wiki macros support
1686 1687 * Performance improvement on workflow setup screen
1687 1688 * More detailed html title on several views
1688 1689 * Custom fields can now be reordered
1689 1690 * Search engine: search can be restricted to an exact phrase by using quotation marks
1690 1691 * Added custom fields marked as 'For all projects' to the csv export of the cross project issue list
1691 1692 * Email notifications are now sent as Blind carbon copy by default
1692 1693 * Fixed: all members (including non active) should be deleted when deleting a project
1693 1694 * Fixed: Error on wiki syntax link (accessible from wiki/edit)
1694 1695 * Fixed: 'quick jump to a revision' form on the revisions list
1695 1696 * Fixed: error on admin/info if there's more than 1 plugin installed
1696 1697 * Fixed: svn or ldap password can be found in clear text in the html source in editing mode
1697 1698 * Fixed: 'Assigned to' drop down list is not sorted
1698 1699 * Fixed: 'View all issues' link doesn't work on issues/show
1699 1700 * Fixed: error on account/register when validation fails
1700 1701 * Fixed: Error when displaying the issue list if a float custom field is marked as 'used as filter'
1701 1702 * Fixed: Mercurial adapter breaks on missing :files entry in changeset hash (James Britt)
1702 1703 * Fixed: Wrong feed URLs on the home page
1703 1704 * Fixed: Update of time entry fails when the issue has been moved to an other project
1704 1705 * Fixed: Error when moving an issue without changing its tracker (Postgresql)
1705 1706 * Fixed: Changes not recorded when using :pserver string (CVS adapter)
1706 1707 * Fixed: admin should be able to move issues to any project
1707 1708 * Fixed: adding an attachment is not possible when changing the status of an issue
1708 1709 * Fixed: No mime-types in documents/files downloading
1709 1710 * Fixed: error when sorting the messages if there's only one board for the project
1710 1711 * Fixed: 'me' doesn't appear in the drop down filters on a project issue list.
1711 1712
1712 1713 == 2007-11-04 v0.6.0
1713 1714
1714 1715 * Permission model refactoring.
1715 1716 * Permissions: there are now 2 builtin roles that can be used to specify permissions given to other users than members of projects
1716 1717 * Permissions: some permissions (eg. browse the repository) can be removed for certain roles
1717 1718 * Permissions: modules (eg. issue tracking, news, documents...) can be enabled/disabled at project level
1718 1719 * Added Mantis and Trac importers
1719 1720 * New application layout
1720 1721 * Added "Bulk edit" functionality on the issue list
1721 1722 * More flexible mail notifications settings at user level
1722 1723 * Added AJAX based context menu on the project issue list that provide shortcuts for editing, re-assigning, changing the status or the priority, moving or deleting an issue
1723 1724 * Added the hability to copy an issue. It can be done from the "issue/show" view or from the context menu on the issue list
1724 1725 * Added the ability to customize issue list columns (at application level or for each saved query)
1725 1726 * Overdue versions (date reached and open issues > 0) are now always displayed on the roadmap
1726 1727 * Added the ability to rename wiki pages (specific permission required)
1727 1728 * Search engines now supports pagination. Results are sorted in reverse chronological order
1728 1729 * Added "Estimated hours" attribute on issues
1729 1730 * A category with assigned issue can now be deleted. 2 options are proposed: remove assignments or reassign issues to another category
1730 1731 * Forum notifications are now also sent to the authors of the thread, even if they donΓ―ΒΏΒ½t watch the board
1731 1732 * Added an application setting to specify the application protocol (http or https) used to generate urls in emails
1732 1733 * Gantt chart: now starts at the current month by default
1733 1734 * Gantt chart: month count and zoom factor are automatically saved as user preferences
1734 1735 * Wiki links can now refer to other project wikis
1735 1736 * Added wiki index by date
1736 1737 * Added preview on add/edit issue form
1737 1738 * Emails footer can now be customized from the admin interface (Admin -> Email notifications)
1738 1739 * Default encodings for repository files can now be set in application settings (used to convert files content and diff to UTF-8 so that theyΓ―ΒΏΒ½re properly displayed)
1739 1740 * Calendar: first day of week can now be set in lang files
1740 1741 * Automatic closing of duplicate issues
1741 1742 * Added a cross-project issue list
1742 1743 * AJAXified the SCM browser (tree view)
1743 1744 * Pretty URL for the repository browser (Cyril Mougel)
1744 1745 * Search engine: added a checkbox to search titles only
1745 1746 * Added "% done" in the filter list
1746 1747 * Enumerations: values can now be reordered and a default value can be specified (eg. default issue priority)
1747 1748 * Added some accesskeys
1748 1749 * Added "Float" as a custom field format
1749 1750 * Added basic Theme support
1750 1751 * Added the ability to set the Γ―ΒΏΒ½done ratioΓ―ΒΏΒ½ of issues fixed by commit (Nikolay Solakov)
1751 1752 * Added custom fields in issue related mail notifications
1752 1753 * Email notifications are now sent in plain text and html
1753 1754 * Gantt chart can now be exported to a graphic file (png). This functionality is only available if RMagick is installed.
1754 1755 * Added syntax highlightment for repository files and wiki
1755 1756 * Improved automatic Redmine links
1756 1757 * Added automatic table of content support on wiki pages
1757 1758 * Added radio buttons on the documents list to sort documents by category, date, title or author
1758 1759 * Added basic plugin support, with a sample plugin
1759 1760 * Added a link to add a new category when creating or editing an issue
1760 1761 * Added a "Assignable" boolean on the Role model. If unchecked, issues can not be assigned to users having this role.
1761 1762 * Added an option to be able to relate issues in different projects
1762 1763 * Added the ability to move issues (to another project) without changing their trackers.
1763 1764 * Atom feeds added on project activity, news and changesets
1764 1765 * Added the ability to reset its own RSS access key
1765 1766 * Main project list now displays root projects with their subprojects
1766 1767 * Added anchor links to issue notes
1767 1768 * Added reposman Ruby version. This script can now register created repositories in Redmine (Nicolas Chuche)
1768 1769 * Issue notes are now included in search
1769 1770 * Added email sending test functionality
1770 1771 * Added LDAPS support for LDAP authentication
1771 1772 * Removed hard-coded URLs in mail templates
1772 1773 * Subprojects are now grouped by projects in the navigation drop-down menu
1773 1774 * Added a new value for date filters: this week
1774 1775 * Added cache for application settings
1775 1776 * Added Polish translation (Tomasz Gawryl)
1776 1777 * Added Czech translation (Jan Kadlecek)
1777 1778 * Added Romanian translation (Csongor Bartus)
1778 1779 * Added Hebrew translation (Bob Builder)
1779 1780 * Added Serbian translation (Dragan Matic)
1780 1781 * Added Korean translation (Choi Jong Yoon)
1781 1782 * Fixed: the link to delete issue relations is displayed even if the user is not authorized to delete relations
1782 1783 * Performance improvement on calendar and gantt
1783 1784 * Fixed: wiki preview doesnΓ―ΒΏΒ½t work on long entries
1784 1785 * Fixed: queries with multiple custom fields return no result
1785 1786 * Fixed: Can not authenticate user against LDAP if its DN contains non-ascii characters
1786 1787 * Fixed: URL with ~ broken in wiki formatting
1787 1788 * Fixed: some quotation marks are rendered as strange characters in pdf
1788 1789
1789 1790
1790 1791 == 2007-07-15 v0.5.1
1791 1792
1792 1793 * per project forums added
1793 1794 * added the ability to archive projects
1794 1795 * added Γ―ΒΏΒ½WatchΓ―ΒΏΒ½ functionality on issues. It allows users to receive notifications about issue changes
1795 1796 * custom fields for issues can now be used as filters on issue list
1796 1797 * added per user custom queries
1797 1798 * commit messages are now scanned for referenced or fixed issue IDs (keywords defined in Admin -> Settings)
1798 1799 * projects list now shows the list of public projects and private projects for which the user is a member
1799 1800 * versions can now be created with no date
1800 1801 * added issue count details for versions on Reports view
1801 1802 * added time report, by member/activity/tracker/version and year/month/week for the selected period
1802 1803 * each category can now be associated to a user, so that new issues in that category are automatically assigned to that user
1803 1804 * added autologin feature (disabled by default)
1804 1805 * optimistic locking added for wiki edits
1805 1806 * added wiki diff
1806 1807 * added the ability to destroy wiki pages (requires permission)
1807 1808 * a wiki page can now be attached to each version, and displayed on the roadmap
1808 1809 * attachments can now be added to wiki pages (original patch by Pavol Murin) and displayed online
1809 1810 * added an option to see all versions in the roadmap view (including completed ones)
1810 1811 * added basic issue relations
1811 1812 * added the ability to log time when changing an issue status
1812 1813 * account information can now be sent to the user when creating an account
1813 1814 * author and assignee of an issue always receive notifications (even if they turned of mail notifications)
1814 1815 * added a quick search form in page header
1815 1816 * added 'me' value for 'assigned to' and 'author' query filters
1816 1817 * added a link on revision screen to see the entire diff for the revision
1817 1818 * added last commit message for each entry in repository browser
1818 1819 * added the ability to view a file diff with free to/from revision selection.
1819 1820 * text files can now be viewed online when browsing the repository
1820 1821 * added basic support for other SCM: CVS (Ralph Vater), Mercurial and Darcs
1821 1822 * added fragment caching for svn diffs
1822 1823 * added fragment caching for calendar and gantt views
1823 1824 * login field automatically focused on login form
1824 1825 * subproject name displayed on issue list, calendar and gantt
1825 1826 * added an option to choose the date format: language based or ISO 8601
1826 1827 * added a simple mail handler. It lets users add notes to an existing issue by replying to the initial notification email.
1827 1828 * a 403 error page is now displayed (instead of a blank page) when trying to access a protected page
1828 1829 * added portuguese translation (Joao Carlos Clementoni)
1829 1830 * added partial online help japanese translation (Ken Date)
1830 1831 * added bulgarian translation (Nikolay Solakov)
1831 1832 * added dutch translation (Linda van den Brink)
1832 1833 * added swedish translation (Thomas Habets)
1833 1834 * italian translation update (Alessio Spadaro)
1834 1835 * japanese translation update (Satoru Kurashiki)
1835 1836 * fixed: error on history atom feed when thereΓ―ΒΏΒ½s no notes on an issue change
1836 1837 * fixed: error in journalizing an issue with longtext custom fields (Postgresql)
1837 1838 * fixed: creation of Oracle schema
1838 1839 * fixed: last day of the month not included in project activity
1839 1840 * fixed: files with an apostrophe in their names can't be accessed in SVN repository
1840 1841 * fixed: performance issue on RepositoriesController#revisions when a changeset has a great number of changes (eg. 100,000)
1841 1842 * fixed: open/closed issue counts are always 0 on reports view (postgresql)
1842 1843 * fixed: date query filters (wrong results and sql error with postgresql)
1843 1844 * fixed: confidentiality issue on account/show (private project names displayed to anyone)
1844 1845 * fixed: Long text custom fields displayed without line breaks
1845 1846 * fixed: Error when editing the wokflow after deleting a status
1846 1847 * fixed: SVN commit dates are now stored as local time
1847 1848
1848 1849
1849 1850 == 2007-04-11 v0.5.0
1850 1851
1851 1852 * added per project Wiki
1852 1853 * added rss/atom feeds at project level (custom queries can be used as feeds)
1853 1854 * added search engine (search in issues, news, commits, wiki pages, documents)
1854 1855 * simple time tracking functionality added
1855 1856 * added version due dates on calendar and gantt
1856 1857 * added subprojects issue count on project Reports page
1857 1858 * added the ability to copy an existing workflow when creating a new tracker
1858 1859 * added the ability to include subprojects on calendar and gantt
1859 1860 * added the ability to select trackers to display on calendar and gantt (Jeffrey Jones)
1860 1861 * added side by side svn diff view (Cyril Mougel)
1861 1862 * added back subproject filter on issue list
1862 1863 * added permissions report in admin area
1863 1864 * added a status filter on users list
1864 1865 * support for password-protected SVN repositories
1865 1866 * SVN commits are now stored in the database
1866 1867 * added simple svn statistics SVG graphs
1867 1868 * progress bars for roadmap versions (Nick Read)
1868 1869 * issue history now shows file uploads and deletions
1869 1870 * #id patterns are turned into links to issues in descriptions and commit messages
1870 1871 * japanese translation added (Satoru Kurashiki)
1871 1872 * chinese simplified translation added (Andy Wu)
1872 1873 * italian translation added (Alessio Spadaro)
1873 1874 * added scripts to manage SVN repositories creation and user access control using ssh+svn (Nicolas Chuche)
1874 1875 * better calendar rendering time
1875 1876 * fixed migration scripts to work with mysql 5 running in strict mode
1876 1877 * fixed: error when clicking "add" with no block selected on my/page_layout
1877 1878 * fixed: hard coded links in navigation bar
1878 1879 * fixed: table_name pre/suffix support
1879 1880
1880 1881
1881 1882 == 2007-02-18 v0.4.2
1882 1883
1883 1884 * Rails 1.2 is now required
1884 1885 * settings are now stored in the database and editable through the application in: Admin -> Settings (config_custom.rb is no longer used)
1885 1886 * added project roadmap view
1886 1887 * mail notifications added when a document, a file or an attachment is added
1887 1888 * tooltips added on Gantt chart and calender to view the details of the issues
1888 1889 * ability to set the sort order for roles, trackers, issue statuses
1889 1890 * added missing fields to csv export: priority, start date, due date, done ratio
1890 1891 * added total number of issues per tracker on project overview
1891 1892 * all icons replaced (new icons are based on GPL icon set: "KDE Crystal Diamond 2.5" -by paolino- and "kNeu! Alpha v0.1" -by Pablo Fabregat-)
1892 1893 * added back "fixed version" field on issue screen and in filters
1893 1894 * project settings screen split in 4 tabs
1894 1895 * custom fields screen split in 3 tabs (one for each kind of custom field)
1895 1896 * multiple issues pdf export now rendered as a table
1896 1897 * added a button on users/list to manually activate an account
1897 1898 * added a setting option to disable "password lost" functionality
1898 1899 * added a setting option to set max number of issues in csv/pdf exports
1899 1900 * fixed: subprojects count is always 0 on projects list
1900 1901 * fixed: locked users are proposed when adding a member to a project
1901 1902 * fixed: setting an issue status as default status leads to an sql error with SQLite
1902 1903 * fixed: unable to delete an issue status even if it's not used yet
1903 1904 * fixed: filters ignored when exporting a predefined query to csv/pdf
1904 1905 * fixed: crash when french "issue_edit" email notification is sent
1905 1906 * fixed: hide mail preference not saved (my/account)
1906 1907 * fixed: crash when a new user try to edit its "my page" layout
1907 1908
1908 1909
1909 1910 == 2007-01-03 v0.4.1
1910 1911
1911 1912 * fixed: emails have no recipient when one of the project members has notifications disabled
1912 1913
1913 1914
1914 1915 == 2007-01-02 v0.4.0
1915 1916
1916 1917 * simple SVN browser added (just needs svn binaries in PATH)
1917 1918 * comments can now be added on news
1918 1919 * "my page" is now customizable
1919 1920 * more powerfull and savable filters for issues lists
1920 1921 * improved issues change history
1921 1922 * new functionality: move an issue to another project or tracker
1922 1923 * new functionality: add a note to an issue
1923 1924 * new report: project activity
1924 1925 * "start date" and "% done" fields added on issues
1925 1926 * project calendar added
1926 1927 * gantt chart added (exportable to pdf)
1927 1928 * single/multiple issues pdf export added
1928 1929 * issues reports improvements
1929 1930 * multiple file upload for issues, documents and files
1930 1931 * option to set maximum size of uploaded files
1931 1932 * textile formating of issue and news descritions (RedCloth required)
1932 1933 * integration of DotClear jstoolbar for textile formatting
1933 1934 * calendar date picker for date fields (LGPL DHTML Calendar http://sourceforge.net/projects/jscalendar)
1934 1935 * new filter in issues list: Author
1935 1936 * ajaxified paginators
1936 1937 * news rss feed added
1937 1938 * option to set number of results per page on issues list
1938 1939 * localized csv separator (comma/semicolon)
1939 1940 * csv output encoded to ISO-8859-1
1940 1941 * user custom field displayed on account/show
1941 1942 * default configuration improved (default roles, trackers, status, permissions and workflows)
1942 1943 * language for default configuration data can now be chosen when running 'load_default_data' task
1943 1944 * javascript added on custom field form to show/hide fields according to the format of custom field
1944 1945 * fixed: custom fields not in csv exports
1945 1946 * fixed: project settings now displayed according to user's permissions
1946 1947 * fixed: application error when no version is selected on projects/add_file
1947 1948 * fixed: public actions not authorized for members of non public projects
1948 1949 * fixed: non public projects were shown on welcome screen even if current user is not a member
1949 1950
1950 1951
1951 1952 == 2006-10-08 v0.3.0
1952 1953
1953 1954 * user authentication against multiple LDAP (optional)
1954 1955 * token based "lost password" functionality
1955 1956 * user self-registration functionality (optional)
1956 1957 * custom fields now available for issues, users and projects
1957 1958 * new custom field format "text" (displayed as a textarea field)
1958 1959 * project & administration drop down menus in navigation bar for quicker access
1959 1960 * text formatting is preserved for long text fields (issues, projects and news descriptions)
1960 1961 * urls and emails are turned into clickable links in long text fields
1961 1962 * "due date" field added on issues
1962 1963 * tracker selection filter added on change log
1963 1964 * Localization plugin replaced with GLoc 1.1.0 (iconv required)
1964 1965 * error messages internationalization
1965 1966 * german translation added (thanks to Karim Trott)
1966 1967 * data locking for issues to prevent update conflicts (using ActiveRecord builtin optimistic locking)
1967 1968 * new filter in issues list: "Fixed version"
1968 1969 * active filters are displayed with colored background on issues list
1969 1970 * custom configuration is now defined in config/config_custom.rb
1970 1971 * user object no more stored in session (only user_id)
1971 1972 * news summary field is no longer required
1972 1973 * tables and forms redesign
1973 1974 * Fixed: boolean custom field not working
1974 1975 * Fixed: error messages for custom fields are not displayed
1975 1976 * Fixed: invalid custom fields should have a red border
1976 1977 * Fixed: custom fields values are not validated on issue update
1977 1978 * Fixed: unable to choose an empty value for 'List' custom fields
1978 1979 * Fixed: no issue categories sorting
1979 1980 * Fixed: incorrect versions sorting
1980 1981
1981 1982
1982 1983 == 2006-07-12 - v0.2.2
1983 1984
1984 1985 * Fixed: bug in "issues list"
1985 1986
1986 1987
1987 1988 == 2006-07-09 - v0.2.1
1988 1989
1989 1990 * new databases supported: Oracle, PostgreSQL, SQL Server
1990 1991 * projects/subprojects hierarchy (1 level of subprojects only)
1991 1992 * environment information display in admin/info
1992 1993 * more filter options in issues list (rev6)
1993 1994 * default language based on browser settings (Accept-Language HTTP header)
1994 1995 * issues list exportable to CSV (rev6)
1995 1996 * simple_format and auto_link on long text fields
1996 1997 * more data validations
1997 1998 * Fixed: error when all mail notifications are unchecked in admin/mail_options
1998 1999 * Fixed: all project news are displayed on project summary
1999 2000 * Fixed: Can't change user password in users/edit
2000 2001 * Fixed: Error on tables creation with PostgreSQL (rev5)
2001 2002 * Fixed: SQL error in "issue reports" view with PostgreSQL (rev5)
2002 2003
2003 2004
2004 2005 == 2006-06-25 - v0.1.0
2005 2006
2006 2007 * multiple users/multiple projects
2007 2008 * role based access control
2008 2009 * issue tracking system
2009 2010 * fully customizable workflow
2010 2011 * documents/files repository
2011 2012 * email notifications on issue creation and update
2012 2013 * multilanguage support (except for error messages):english, french, spanish
2013 2014 * online manual in french (unfinished)
@@ -1,134 +1,134
1 1 # Redmine - project management software
2 2 # Copyright (C) 2006-2011 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require 'redcloth3'
19 19 require 'digest/md5'
20 20
21 21 module Redmine
22 22 module WikiFormatting
23 23 module Textile
24 24 class Formatter < RedCloth3
25 25 include ActionView::Helpers::TagHelper
26 26 include Redmine::WikiFormatting::LinksHelper
27 27
28 28 alias :inline_auto_link :auto_link!
29 29 alias :inline_auto_mailto :auto_mailto!
30 30
31 31 # auto_link rule after textile rules so that it doesn't break !image_url! tags
32 32 RULES = [:textile, :block_markdown_rule, :inline_auto_link, :inline_auto_mailto]
33 33
34 34 def initialize(*args)
35 35 super
36 36 self.hard_breaks=true
37 37 self.no_span_caps=true
38 38 self.filter_styles=false
39 39 end
40 40
41 41 def to_html(*rules)
42 42 @toc = []
43 43 super(*RULES).to_s
44 44 end
45 45
46 46 def get_section(index)
47 47 section = extract_sections(index)[1]
48 48 hash = Digest::MD5.hexdigest(section)
49 49 return section, hash
50 50 end
51 51
52 52 def update_section(index, update, hash=nil)
53 53 t = extract_sections(index)
54 54 if hash.present? && hash != Digest::MD5.hexdigest(t[1])
55 55 raise Redmine::WikiFormatting::StaleSectionError
56 56 end
57 57 t[1] = update unless t[1].blank?
58 58 t.reject(&:blank?).join "\n\n"
59 59 end
60 60
61 61 def extract_sections(index)
62 62 @pre_list = []
63 63 text = self.dup
64 64 rip_offtags text, false, false
65 65 before = ''
66 66 s = ''
67 67 after = ''
68 68 i = 0
69 69 l = 1
70 70 started = false
71 71 ended = false
72 text.scan(/(((?:.*?)(\A|\r?\n\r?\n))(h(\d+)(#{A}#{C})\.(?::(\S+))? (.*?)$)|.*)/m).each do |all, content, lf, heading, level|
72 text.scan(/(((?:.*?)(\A|\r?\n\s*\r?\n))(h(\d+)(#{A}#{C})\.(?::(\S+))? (.*?)$)|.*)/m).each do |all, content, lf, heading, level|
73 73 if heading.nil?
74 74 if ended
75 75 after << all
76 76 elsif started
77 77 s << all
78 78 else
79 79 before << all
80 80 end
81 81 break
82 82 end
83 83 i += 1
84 84 if ended
85 85 after << all
86 86 elsif i == index
87 87 l = level.to_i
88 88 before << content
89 89 s << heading
90 90 started = true
91 91 elsif i > index
92 92 s << content
93 93 if level.to_i > l
94 94 s << heading
95 95 else
96 96 after << heading
97 97 ended = true
98 98 end
99 99 else
100 100 before << all
101 101 end
102 102 end
103 103 sections = [before.strip, s.strip, after.strip]
104 104 sections.each {|section| smooth_offtags_without_code_highlighting section}
105 105 sections
106 106 end
107 107
108 108 private
109 109
110 110 # Patch for RedCloth. Fixed in RedCloth r128 but _why hasn't released it yet.
111 111 # <a href="http://code.whytheluckystiff.net/redcloth/changeset/128">http://code.whytheluckystiff.net/redcloth/changeset/128</a>
112 112 def hard_break( text )
113 113 text.gsub!( /(.)\n(?!\n|\Z| *([#*=]+(\s|$)|[{|]))/, "\\1<br />" ) if hard_breaks
114 114 end
115 115
116 116 alias :smooth_offtags_without_code_highlighting :smooth_offtags
117 117 # Patch to add code highlighting support to RedCloth
118 118 def smooth_offtags( text )
119 119 unless @pre_list.empty?
120 120 ## replace <pre> content
121 121 text.gsub!(/<redpre#(\d+)>/) do
122 122 content = @pre_list[$1.to_i]
123 123 if content.match(/<code\s+class="(\w+)">\s?(.+)/m)
124 124 content = "<code class=\"#{$1} syntaxhl\">" +
125 125 Redmine::SyntaxHighlighting.highlight_by_language($2, $1)
126 126 end
127 127 content
128 128 end
129 129 end
130 130 end
131 131 end
132 132 end
133 133 end
134 134 end
@@ -1,417 +1,442
1 1 # Redmine - project management software
2 2 # Copyright (C) 2006-2011 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require File.expand_path('../../../../../test_helper', __FILE__)
19 19 require 'digest/md5'
20 20
21 21 class Redmine::WikiFormatting::TextileFormatterTest < ActionView::TestCase
22 22
23 23 def setup
24 24 @formatter = Redmine::WikiFormatting::Textile::Formatter
25 25 end
26 26
27 27 MODIFIERS = {
28 28 "*" => 'strong', # bold
29 29 "_" => 'em', # italic
30 30 "+" => 'ins', # underline
31 31 "-" => 'del', # deleted
32 32 "^" => 'sup', # superscript
33 33 "~" => 'sub' # subscript
34 34 }
35 35
36 36 def test_modifiers
37 37 assert_html_output(
38 38 '*bold*' => '<strong>bold</strong>',
39 39 'before *bold*' => 'before <strong>bold</strong>',
40 40 '*bold* after' => '<strong>bold</strong> after',
41 41 '*two words*' => '<strong>two words</strong>',
42 42 '*two*words*' => '<strong>two*words</strong>',
43 43 '*two * words*' => '<strong>two * words</strong>',
44 44 '*two* *words*' => '<strong>two</strong> <strong>words</strong>',
45 45 '*(two)* *(words)*' => '<strong>(two)</strong> <strong>(words)</strong>',
46 46 # with class
47 47 '*(foo)two words*' => '<strong class="foo">two words</strong>'
48 48 )
49 49 end
50 50
51 51 def test_modifiers_combination
52 52 MODIFIERS.each do |m1, tag1|
53 53 MODIFIERS.each do |m2, tag2|
54 54 next if m1 == m2
55 55 text = "#{m2}#{m1}Phrase modifiers#{m1}#{m2}"
56 56 html = "<#{tag2}><#{tag1}>Phrase modifiers</#{tag1}></#{tag2}>"
57 57 assert_html_output text => html
58 58 end
59 59 end
60 60 end
61 61
62 62 def test_styles
63 63 # single style
64 64 assert_html_output({
65 65 'p{color:red}. text' => '<p style="color:red;">text</p>',
66 66 'p{color:red;}. text' => '<p style="color:red;">text</p>',
67 67 'p{color: red}. text' => '<p style="color: red;">text</p>',
68 68 'p{color:#f00}. text' => '<p style="color:#f00;">text</p>',
69 69 'p{color:#ff0000}. text' => '<p style="color:#ff0000;">text</p>',
70 70 'p{border:10px}. text' => '<p style="border:10px;">text</p>',
71 71 'p{border:10}. text' => '<p style="border:10;">text</p>',
72 72 'p{border:10%}. text' => '<p style="border:10%;">text</p>',
73 73 'p{border:10em}. text' => '<p style="border:10em;">text</p>',
74 74 'p{border:1.5em}. text' => '<p style="border:1.5em;">text</p>',
75 75 'p{border-left:1px}. text' => '<p style="border-left:1px;">text</p>',
76 76 'p{border-right:1px}. text' => '<p style="border-right:1px;">text</p>',
77 77 'p{border-top:1px}. text' => '<p style="border-top:1px;">text</p>',
78 78 'p{border-bottom:1px}. text' => '<p style="border-bottom:1px;">text</p>',
79 79 }, false)
80 80
81 81 # multiple styles
82 82 assert_html_output({
83 83 'p{color:red; border-top:1px}. text' => '<p style="color:red;border-top:1px;">text</p>',
84 84 'p{color:red ; border-top:1px}. text' => '<p style="color:red;border-top:1px;">text</p>',
85 85 'p{color:red;border-top:1px}. text' => '<p style="color:red;border-top:1px;">text</p>',
86 86 }, false)
87 87
88 88 # styles with multiple values
89 89 assert_html_output({
90 90 'p{border:1px solid red;}. text' => '<p style="border:1px solid red;">text</p>',
91 91 'p{border-top-left-radius: 10px 5px;}. text' => '<p style="border-top-left-radius: 10px 5px;">text</p>',
92 92 }, false)
93 93 end
94 94
95 95 def test_invalid_styles_should_be_filtered
96 96 assert_html_output({
97 97 'p{invalid}. text' => '<p>text</p>',
98 98 'p{invalid:red}. text' => '<p>text</p>',
99 99 'p{color:(red)}. text' => '<p>text</p>',
100 100 'p{color:red;invalid:blue}. text' => '<p style="color:red;">text</p>',
101 101 'p{invalid:blue;color:red}. text' => '<p style="color:red;">text</p>',
102 102 'p{color:"}. text' => '<p>p{color:"}. text</p>',
103 103 }, false)
104 104 end
105 105
106 106 def test_inline_code
107 107 assert_html_output(
108 108 'this is @some code@' => 'this is <code>some code</code>',
109 109 '@<Location /redmine>@' => '<code>&lt;Location /redmine&gt;</code>'
110 110 )
111 111 end
112 112
113 113 def test_nested_lists
114 114 raw = <<-RAW
115 115 # Item 1
116 116 # Item 2
117 117 ** Item 2a
118 118 ** Item 2b
119 119 # Item 3
120 120 ** Item 3a
121 121 RAW
122 122
123 123 expected = <<-EXPECTED
124 124 <ol>
125 125 <li>Item 1</li>
126 126 <li>Item 2
127 127 <ul>
128 128 <li>Item 2a</li>
129 129 <li>Item 2b</li>
130 130 </ul>
131 131 </li>
132 132 <li>Item 3
133 133 <ul>
134 134 <li>Item 3a</li>
135 135 </ul>
136 136 </li>
137 137 </ol>
138 138 EXPECTED
139 139
140 140 assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
141 141 end
142 142
143 143 def test_escaping
144 144 assert_html_output(
145 145 'this is a <script>' => 'this is a &lt;script&gt;'
146 146 )
147 147 end
148 148
149 149 def test_use_of_backslashes_followed_by_numbers_in_headers
150 150 assert_html_output({
151 151 'h1. 2009\02\09' => '<h1>2009\02\09</h1>'
152 152 }, false)
153 153 end
154 154
155 155 def test_double_dashes_should_not_strikethrough
156 156 assert_html_output(
157 157 'double -- dashes -- test' => 'double -- dashes -- test',
158 158 'double -- *dashes* -- test' => 'double -- <strong>dashes</strong> -- test'
159 159 )
160 160 end
161 161
162 162 def test_acronyms
163 163 assert_html_output(
164 164 'this is an acronym: GPL(General Public License)' => 'this is an acronym: <acronym title="General Public License">GPL</acronym>',
165 165 '2 letters JP(Jean-Philippe) acronym' => '2 letters <acronym title="Jean-Philippe">JP</acronym> acronym',
166 166 'GPL(This is a double-quoted "title")' => '<acronym title="This is a double-quoted &quot;title&quot;">GPL</acronym>'
167 167 )
168 168 end
169 169
170 170 def test_blockquote
171 171 # orig raw text
172 172 raw = <<-RAW
173 173 John said:
174 174 > Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sed libero.
175 175 > Nullam commodo metus accumsan nulla. Curabitur lobortis dui id dolor.
176 176 > * Donec odio lorem,
177 177 > * sagittis ac,
178 178 > * malesuada in,
179 179 > * adipiscing eu, dolor.
180 180 >
181 181 > >Nulla varius pulvinar diam. Proin id arcu id lorem scelerisque condimentum. Proin vehicula turpis vitae lacus.
182 182 > Proin a tellus. Nam vel neque.
183 183
184 184 He's right.
185 185 RAW
186 186
187 187 # expected html
188 188 expected = <<-EXPECTED
189 189 <p>John said:</p>
190 190 <blockquote>
191 191 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sed libero.<br />
192 192 Nullam commodo metus accumsan nulla. Curabitur lobortis dui id dolor.
193 193 <ul>
194 194 <li>Donec odio lorem,</li>
195 195 <li>sagittis ac,</li>
196 196 <li>malesuada in,</li>
197 197 <li>adipiscing eu, dolor.</li>
198 198 </ul>
199 199 <blockquote>
200 200 <p>Nulla varius pulvinar diam. Proin id arcu id lorem scelerisque condimentum. Proin vehicula turpis vitae lacus.</p>
201 201 </blockquote>
202 202 <p>Proin a tellus. Nam vel neque.</p>
203 203 </blockquote>
204 204 <p>He's right.</p>
205 205 EXPECTED
206 206
207 207 assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
208 208 end
209 209
210 210 def test_table
211 211 raw = <<-RAW
212 212 This is a table with empty cells:
213 213
214 214 |cell11|cell12||
215 215 |cell21||cell23|
216 216 |cell31|cell32|cell33|
217 217 RAW
218 218
219 219 expected = <<-EXPECTED
220 220 <p>This is a table with empty cells:</p>
221 221
222 222 <table>
223 223 <tr><td>cell11</td><td>cell12</td><td></td></tr>
224 224 <tr><td>cell21</td><td></td><td>cell23</td></tr>
225 225 <tr><td>cell31</td><td>cell32</td><td>cell33</td></tr>
226 226 </table>
227 227 EXPECTED
228 228
229 229 assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
230 230 end
231 231
232 232 def test_table_with_line_breaks
233 233 raw = <<-RAW
234 234 This is a table with line breaks:
235 235
236 236 |cell11
237 237 continued|cell12||
238 238 |-cell21-||cell23
239 239 cell23 line2
240 240 cell23 *line3*|
241 241 |cell31|cell32
242 242 cell32 line2|cell33|
243 243
244 244 RAW
245 245
246 246 expected = <<-EXPECTED
247 247 <p>This is a table with line breaks:</p>
248 248
249 249 <table>
250 250 <tr>
251 251 <td>cell11<br />continued</td>
252 252 <td>cell12</td>
253 253 <td></td>
254 254 </tr>
255 255 <tr>
256 256 <td><del>cell21</del></td>
257 257 <td></td>
258 258 <td>cell23<br/>cell23 line2<br/>cell23 <strong>line3</strong></td>
259 259 </tr>
260 260 <tr>
261 261 <td>cell31</td>
262 262 <td>cell32<br/>cell32 line2</td>
263 263 <td>cell33</td>
264 264 </tr>
265 265 </table>
266 266 EXPECTED
267 267
268 268 assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
269 269 end
270 270
271 271 def test_textile_should_not_mangle_brackets
272 272 assert_equal '<p>[msg1][msg2]</p>', to_html('[msg1][msg2]')
273 273 end
274 274
275 275 def test_textile_should_escape_image_urls
276 276 # this is onclick="alert('XSS');" in encoded form
277 277 raw = '!/images/comment.png"onclick=&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x27;&#x58;&#x53;&#x53;&#x27;&#x29;;&#x22;!'
278 278 expected = '<p><img src="/images/comment.png&quot;onclick=&amp;#x61;&amp;#x6c;&amp;#x65;&amp;#x72;&amp;#x74;&amp;#x28;&amp;#x27;&amp;#x58;&amp;#x53;&amp;#x53;&amp;#x27;&amp;#x29;;&amp;#x22;" alt="" /></p>'
279 279 assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
280 280 end
281 281
282 282
283 283 STR_WITHOUT_PRE = [
284 284 # 0
285 285 "h1. Title
286 286
287 287 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sed libero.",
288 288 # 1
289 289 "h2. Heading 2
290 290
291 291 Maecenas sed elit sit amet mi accumsan vestibulum non nec velit. Proin porta tincidunt lorem, consequat rhoncus dolor fermentum in.
292 292
293 293 Cras ipsum felis, ultrices at porttitor vel, faucibus eu nunc.",
294 294 # 2
295 295 "h2. Heading 2
296 296
297 297 Morbi facilisis accumsan orci non pharetra.
298 298
299 299 h3. Heading 3
300 300
301 301 Nulla nunc nisi, egestas in ornare vel, posuere ac libero.",
302 302 # 3
303 303 "h3. Heading 3
304 304
305 305 Praesent eget turpis nibh, a lacinia nulla.",
306 306 # 4
307 307 "h2. Heading 2
308 308
309 309 Ut rhoncus elementum adipiscing."]
310 310
311 311 TEXT_WITHOUT_PRE = STR_WITHOUT_PRE.join("\n\n").freeze
312 312
313 313 def test_get_section_should_return_the_requested_section_and_its_hash
314 314 assert_section_with_hash STR_WITHOUT_PRE[1], TEXT_WITHOUT_PRE, 2
315 315 assert_section_with_hash STR_WITHOUT_PRE[2..3].join("\n\n"), TEXT_WITHOUT_PRE, 3
316 316 assert_section_with_hash STR_WITHOUT_PRE[3], TEXT_WITHOUT_PRE, 5
317 317 assert_section_with_hash STR_WITHOUT_PRE[4], TEXT_WITHOUT_PRE, 6
318 318
319 319 assert_section_with_hash '', TEXT_WITHOUT_PRE, 0
320 320 assert_section_with_hash '', TEXT_WITHOUT_PRE, 10
321 321 end
322 322
323 323 def test_update_section_should_update_the_requested_section
324 324 replacement = "New text"
325 325
326 326 assert_equal [STR_WITHOUT_PRE[0], replacement, STR_WITHOUT_PRE[2..4]].flatten.join("\n\n"), @formatter.new(TEXT_WITHOUT_PRE).update_section(2, replacement)
327 327 assert_equal [STR_WITHOUT_PRE[0..1], replacement, STR_WITHOUT_PRE[4]].flatten.join("\n\n"), @formatter.new(TEXT_WITHOUT_PRE).update_section(3, replacement)
328 328 assert_equal [STR_WITHOUT_PRE[0..2], replacement, STR_WITHOUT_PRE[4]].flatten.join("\n\n"), @formatter.new(TEXT_WITHOUT_PRE).update_section(5, replacement)
329 329 assert_equal [STR_WITHOUT_PRE[0..3], replacement].flatten.join("\n\n"), @formatter.new(TEXT_WITHOUT_PRE).update_section(6, replacement)
330 330
331 331 assert_equal TEXT_WITHOUT_PRE, @formatter.new(TEXT_WITHOUT_PRE).update_section(0, replacement)
332 332 assert_equal TEXT_WITHOUT_PRE, @formatter.new(TEXT_WITHOUT_PRE).update_section(10, replacement)
333 333 end
334 334
335 335 def test_update_section_with_hash_should_update_the_requested_section
336 336 replacement = "New text"
337 337
338 338 assert_equal [STR_WITHOUT_PRE[0], replacement, STR_WITHOUT_PRE[2..4]].flatten.join("\n\n"),
339 339 @formatter.new(TEXT_WITHOUT_PRE).update_section(2, replacement, Digest::MD5.hexdigest(STR_WITHOUT_PRE[1]))
340 340 end
341 341
342 342 def test_update_section_with_wrong_hash_should_raise_an_error
343 343 assert_raise Redmine::WikiFormatting::StaleSectionError do
344 344 @formatter.new(TEXT_WITHOUT_PRE).update_section(2, "New text", Digest::MD5.hexdigest("Old text"))
345 345 end
346 346 end
347 347
348 348 STR_WITH_PRE = [
349 349 # 0
350 350 "h1. Title
351 351
352 352 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sed libero.",
353 353 # 1
354 354 "h2. Heading 2
355 355
356 356 <pre><code class=\"ruby\">
357 357 def foo
358 358 end
359 359 </code></pre>
360 360
361 361 <pre><code><pre><code class=\"ruby\">
362 362 Place your code here.
363 363 </code></pre>
364 364 </code></pre>
365 365
366 366 Morbi facilisis accumsan orci non pharetra.
367 367
368 368 <pre>
369 369 Pre Content:
370 370
371 371 h2. Inside pre
372 372
373 373 <tag> inside pre block
374 374
375 375 Morbi facilisis accumsan orci non pharetra.
376 376 </pre>",
377 377 # 2
378 378 "h3. Heading 3
379 379
380 380 Nulla nunc nisi, egestas in ornare vel, posuere ac libero."]
381 381
382 382 def test_get_section_should_ignore_pre_content
383 383 text = STR_WITH_PRE.join("\n\n")
384 384
385 385 assert_section_with_hash STR_WITH_PRE[1..2].join("\n\n"), text, 2
386 386 assert_section_with_hash STR_WITH_PRE[2], text, 3
387 387 end
388 388
389 389 def test_update_section_should_not_escape_pre_content_outside_section
390 390 text = STR_WITH_PRE.join("\n\n")
391 391 replacement = "New text"
392 392
393 393 assert_equal [STR_WITH_PRE[0..1], "New text"].flatten.join("\n\n"),
394 394 @formatter.new(text).update_section(3, replacement)
395 395 end
396 396
397 def test_get_section_should_support_lines_with_spaces_before_heading
398 # the lines after Content 2 and Heading 4 contain a space
399 text = <<-STR
400 h1. Heading 1
401
402 Content 1
403
404 h1. Heading 2
405
406 Content 2
407
408 h1. Heading 3
409
410 Content 3
411
412 h1. Heading 4
413
414 Content 4
415 STR
416
417 [1, 2, 3, 4].each do |index|
418 assert_match /\Ah1. Heading #{index}.+Content #{index}/m, @formatter.new(text).get_section(index).first
419 end
420 end
421
397 422 private
398 423
399 424 def assert_html_output(to_test, expect_paragraph = true)
400 425 to_test.each do |text, expected|
401 426 assert_equal(( expect_paragraph ? "<p>#{expected}</p>" : expected ), @formatter.new(text).to_html, "Formatting the following text failed:\n===\n#{text}\n===\n")
402 427 end
403 428 end
404 429
405 430 def to_html(text)
406 431 @formatter.new(text).to_html
407 432 end
408 433
409 434 def assert_section_with_hash(expected, text, index)
410 435 result = @formatter.new(text).get_section(index)
411 436
412 437 assert_kind_of Array, result
413 438 assert_equal 2, result.size
414 439 assert_equal expected, result.first, "section content did not match"
415 440 assert_equal Digest::MD5.hexdigest(expected), result.last, "section hash did not match"
416 441 end
417 442 end
General Comments 0
You need to be logged in to leave comments. Login now