Feature #25616

Updated by Mischa The Evil 6 months ago

Currently the changelogs (both the ones on redmine.org and the one file bundled with the core) are hard to read, making them difficult to digest. I'd like to propose a change to alleviate that a bit.

Current changelog structure on redmine.org:

<pre>
h1. Changelog x.x.x

h2. x.x.x (YYYY-MM-DD)

* Defect #xxxxx: ...
* Defect #xxxxx+1: ...
* Feature #xxxxx: ...
* Feature #xxxxx+1: ...
* Patch #xxxxx: ...
* Patch #xxxxx+1: ...
</pre>

Proposed changelog structure on redmine.org:

<pre>
h1. Changelog x.x.x

h2. x.x.x (YYYY-MM-DD)

h3. [Category A]

* Defect #xxxxx: ...
* Defect #xxxxx+1: ...
* Feature #xxxxx: ...

h3. [Category B]

* Feature #xxxxx+1: ...
* Patch #xxxxx: ...
* Patch #xxxxx+1: ...
</pre>

The pros of this structure are:
* we have some basic context of an issue without the need to open it
* translation issues don't clutter up the list
* the list is broken up into several logical domains instead of one big mixed list

The cons of this structure are:
* lists quickly get longer due to the many newlines between categories and issues
* it takes some more time to prepare instead of just copy-pasting the roadmap view

I also propose this new format for the bundled changelog file.

Now that it's always easier to judge these things by eye instead of just by words, I have created a 3.4.0 draft changelog updated until 16-04-2017 09:50: 08:24: [[Changelog_3_4-draft]]. It's equivalent for the bundled changelog file would look like: {{collapse(View details...)
<pre>
== TBD v3.4.0

=== [Accounts / authentication]

* Defect #13741: Not landing on home page on login after visiting lost password page
* Feature #10840: Allow "Stay logged in" from multiple browsers
* Feature #24089: Call to Action (CTA) and improved conversion for registration
* Feature #25253: Password reset should count as a password change for User#must_change_passwd
* Patch #25483: Forbid to edit/update/delete the anonymous user

=== [Activity view]

* Patch #18399: Missing "next" pagination link when looking at yesterday's activity

=== [Administration]

* Defect #7577: "Send account information to the user" only works when password is set
* Defect #25289: Adding a principal to 2 projects with member inheritance leads to an error
* Feature #12598: Add tooltip on Workflow matrix for helping in big ones
* Feature #16484: Add default timezone for new users
* Feature #24780: Add tooltip on Permissions report matrix
* Feature #24790: Add tooltip on trackers summary matrix

=== [Attachments]

* Defect #24308: Allow Journal to return empty Array instead nil in Journal#attachments
* Feature #13072: Delete multiple attachments with one action
* Patch #22941: Allow thumbnails on documents, messages and wiki pages
* Patch #24186: Restrict the length attachment filenames on disk
* Patch #25215: re-use existing identical disk files for new attachments
* Patch #25240: Use SHA256 for attachment digest computation
* Patch #25295: Use path instead of URL of image in preview

=== [Code cleanup/refactoring]

* Defect #24928: Wrong text in log/delete.me
* Feature #15361: Use css pseudo-classes instead of cycle("odd", "even")
* Patch #24313: Use the regular "icon icon-*" classes for all elements with icons
* Patch #24382: More readable regex for parse_redmine_links
* Patch #24523: Source: ignore .idea
* Patch #24578: Remove unused CSS class ".icon-details"
* Patch #24643: Rename "issue" to "item" in query helpers
* Patch #24713: Remove iteration in ApplicationHelper#syntax_highlight_lines
* Patch #24832: Remove instance variable which is unused after r9603
* Patch #24899: Remove unused "description_date_*" from locale files
* Patch #24900: Remove unused "label_planning" from locale files
* Patch #24901: Remove unused "label_more" from locale files

=== [Core Plugins]

* Feature #24167: Rebuild a single nested set with nested_set plugin

=== [Custom fields]

* Feature #6719: File format for custom fields (specific file uploads)
* Feature #16549: Set multiple values in emails for list custom fields
* Feature #23265: Group versions by status in version custom field filter
* Patch #21705: Option for long text custom fields to be displayed using full width
* Patch #24801: Flash messages on CustomFields destroy

=== [Database]

* Defect #23347: MySQL: You can't specify target table for update in FROM clause
* Defect #25416: "My account" broken with mysql (keyword admin should be escaped on MySQL 8.0)

=== [Documentation]

* Defect #21375: Working external URL protocols not documented in wiki syntax
* Patch #24800: Remove internal style sheet duplication and obsoleted meta tag from wiki_syntax_* documentation.

=== [Email notifications]

* Patch #23978: Make the email notifications for adding/updating issues more readable/clear

=== [Email receiving]

* Defect #25256: Mail parts with empty content should be ignored
* Feature #5864: Regex Text on Receiver Email

=== [Forums]

* Patch #24535: Flash messages on Board destroy

=== [Gems support]

* Feature #23932: Update TinyTds to recent version (1.0.5)

=== [Hook requests]

* Patch #23545: Add before_render hook to WikiController#show

=== [I18n]

* Defect #24616: Should not replace all invalid utf8 characters (e.g in mail)
* Patch #24938: Update tr.yml for general_first_day_of_week
* Patch #25014: redmine/i18n.rb - languages_lookup class variable is rebuilt every time

=== [Importers]

* Feature #22701: Allow forward reference to parent when importing issues

=== [Issues]

* Defect #15226: Searching for issues with "updated = none" always returns zero results
* Defect #16260: Add Subtask does not work correctly from tasks with Parent Task field disabled
* Defect #17632: Users can't see private notes created by themselves if "Mark notes as private" is set but "View private notes" is not
* Defect #17762: When copying an issue and changing the project, the list of watchers is not updated
* Defect #20127: The description column in the issues table is too short (MySQL)
* Defect #21579: The cancel operation in the issue edit mode doesn't work
* Defect #23511: Progress of parent task should be calculated using total estimated hours of children
* Defect #23755: Bulk edit form not show fields based on target tracker and status
* Feature #482: Default assignee on each project
* Feature #3425: View progress bar of related issues
* Feature #7360: Issue Custom Query: Default Query
* Feature #10460: Option to copy watchers when copying issues
* Feature #10989: Prevent parent issue from being closed if a child issue is open
* Feature #12706: Ability to change the private flag when editing a note
* Feature #20279: Allow to filter issues with "Any" or "None" target version defined when viewing all issues
* Feature #21623: Journalize values that are cleared after project or tracker change
* Feature #22600: Add warning when loosing data from custom fields when bulk editing issues
* Feature #23610: Reset status when copying issues
* Feature #24015: Do not hide estimated_hours label when value is nil
* Feature #25052: Allow to disable description field in tracker setting
* Patch #23888: Show an error message when changing an issue's project fails due to errors in child issues
* Patch #24692: Issue destroy : Reassign time issue autocomplete
* Patch #24877: Filter parent task issues in auto complete by open/closed status depending on the subtask status
* Patch #25055: Filter out current issue from the related issues autocomplete

=== [Issues filter]

* Defect #24769: User custom field filter lists only "Me" on cross project issue list
* Defect #24907: Issue queries: "Default columns" option conflicts with "Show description"
* Defect #25077: Issue description filter's 'none' operator does not match issues with blank descriptions
* Feature #2783: Filter issues by attachments
* Feature #10412: Target version filter shoud group versions by status
* Feature #15773: Filtering out specific subprojects (using 'is not' operator)
* Feature #17720: Filter issues by "Updated by" and "Last updated by"
* Feature #21249: Ability to filter issues by attributes of a version custom field (e.g. release date)
* Feature #23215: Add the possibility to filter issues after Target Version's Status and Due Date

=== [Issues list]

* Feature #1474: Show last comment/notes in the issue list
* Feature #6375: Last updated by colum in issue list
* Feature #25515: View attachments on the issue list
* Patch #24649: Make Spent time clickable in issue lists

=== [Issues workflow]

* Defect #14696: Limited status when copying an issue
* Patch #24281: Workflow editing shows statuses of irrelevant roles

=== [My page]

* Feature #1565: Custom query on My page
* Feature #7769: Sortable columns in issue lists on "My page"
* Feature #8761: My page - Spent time section only display 7 days, make it a parameter
* Feature #23459: Columns selection on the issues lists on "My page"
* Feature #25297: In place editing of "My page" layout

=== [Performance]

* Defect #24433: The changeset display is slow when changeset_issues has very many records
* Feature #23743: Add index to workflows.tracker_id
* Feature #23987: Add an index on issues.parent_id
* Patch #21608: Project#allowed_to_condition performance
* Patch #22850: Speedup remove_inherited_roles
* Patch #23519: Don't preload projects and roles on Principal#memberships association
* Patch #24587: Improve custom fields list performance
* Patch #24787: Don't preload all filter values when displaying issues/time entries
* Patch #24839: Minor performance improvement - Replace count by exists?
* Patch #24865: Load associations of query results more efficiently
* Patch #25022: Add an index on attachments.disk_filename

=== [Plugin API]

* Patch #24007: Change plugins directory through the configuration.yml file

=== [Project settings]

* Defect #23470: Disable "Select project modules" permission does not apply to the new project form
* Feature #22608: Enable filtering versions on Project -> Settings -> Versions
* Feature #24011: Add option to set a new version as default directly from New Version page

=== [REST API]

* Defect #23921: REST API Issue PUT responds 200 OK even when it can't set assigned_to_id
* Feature #7506: Include allowed activities list in "project" API response
* Feature #12181: Add attachment information to issues.xml in REST API
* Feature #23566: REST API should return attachment's id in addition to token
* Patch #19116: Files REST API
* Patch #22356: Add support for updating attachments over REST API
* Patch #22795: render custom field values of enumerations in API requests

=== [Roadmap]

* Defect #23377: Don't show "status" field when creating a new version
* Feature #23137: Completed versions on Roadmap: Sort it so that recently created versions are on top

=== [Ruby support]

* Feature #25048: Ruby 2.4 support

=== [SCM]

* Defect #14626: Repositories' extra_info column is too short with MySQL

=== [SCM extra]

* Defect #23865: Typo: s/projet/project/ in Redmine.pm comments

=== [Text formatting]

* Feature #22758: Make text formatting of commit messages optional
* Feature #24922: Support high resolution images in formatted content

=== [Themes]

* Defect #25118: ThemesTest#test_without_theme_js may fail if third-party theme is installed

=== [Time tracking]

* Defect #13653: Keep displaying spent time page when switching project via dropdown menu
* Defect #24041: Issue subject is not updated when you select another issue in the new "Log time" page
* Feature #588: Move timelog between projects
* Feature #13558: Add version filter in spent time report
* Feature #14790: Ability to save spent time query filters
* Feature #16843: Enable grouping on time entries list
* Feature #23401: Add tracker and status columns/filters to detailed timelog
* Feature #24157: Make project custom fields available in timelogs
* Feature #24577: Settings to make the issue and/or comment fields mandatory for time logs
* Patch #24189: Time entry form - limit issue autocomplete to already selected project

=== [Translations]

* Defect #25470: Fix Japanese mistranslation for field_base_dn
* Patch #23108: Change Japanese translation for text_git_repository_note
* Patch #23250: Fixes issues with Catalan translation
* Patch #23359: Change Japanese translation for label_commits_per_author
* Patch #23388: German translation change
* Patch #23419: Change Japanese translation for label_display_used_statuses_only
* Patch #23659: Change Japanese translation for label_enumerations
* Patch #23806: Fix Japanese translation inconsistency of label_tracker_new and label_custom_field_new
* Patch #24174: Change Japanese translation for "format"
* Patch #24177: Change translation for label_user_mail_option_only_(assigned|owner)
* Patch #24407: Dutch (NL) translation enhancements and complete review (major update)
* Patch #24494: Spanish Panama "label_issue_new" translation change
* Patch #24518: Spanish translation change (adding accent mark and caps)
* Patch #24572: Spanish label_search_open_issues_only: translation change
* Patch #24750: Change Japanese translation for setting_text_formatting and setting_cache_formatted_text
* Patch #24891: Change Japanese translation for "items"
* Patch #25019: Localization for Ukrainian language - completed
* Patch #25204: Portuguese translation file
* Patch #25392: Change Russian translation for field_due_date and label_relation_new
* Patch #25609: Change Japanese translation for field_attr_*

=== [UI]

* Defect #23575: Issue subjects are truncated at 60 characters on activity page
* Defect #23840: Reduce the maximum height of the issue description field
* Defect #23979: Elements are not aligned properly in issues table for some cases
* Defect #24617: Browser js/css cache remains after upgrade
* Feature #5920: Unify and improve cross-project views layout
* Feature #9850: Differentiate shared versions in version-format custom field drop-downs by prepending its project name

* Feature #10250: Renaming "duplicates" and "duplicated by" to something less confusing
* Feature #23310: Improved "jump to project" drop-down
* Feature #23311: New "Spent time" menu tab when spent time module is enabled on project
* Feature #23653: User preference for monospaced / variable-width font in textareas
* Feature #23996: Introduce a setting to change the display format of timespans to HH:MM
* Feature #24720: Move all 'new item' links in project settings to above the item tables
* Feature #24927: Render high resolution Gravatars and Thumbnails
* Patch #23146: Show revision details using the same structure and look from the journals details
* Patch #23192: Add the new pagination style in the activity page
* Patch #23639: Add "Log time" to global button menu (+)
* Patch #23998: Added link to author in Repository
* Patch #24776: UI inconsistencies on /enumerations/index view
* Patch #24833: Always show "Jump to project" drop-down
* Patch #25320: Remove initial indentation of blockquotes for better readability

=== [Wiki]

* Feature #12183: Hide attachments by default on wiki pages
* Feature #23179: Add heading to table of contents macro
</pre>
}}

Back