== branch: i18n == UI improvements: * Separate localisation layer - now it's possible to translate Bugzilla UI without copying templates! == UNRELEASED: beta == == 2016.09: 2016-09-01, commit 55bee6cdccae3a83200c799a23a4fda4d135717f == Backports from original Bugzilla: * WebServices from Bugzilla 5.0.1 (everything except tags). Other new features: * Separate "createproducts" role (group) that only allows to create new products, but not to edit the existing ones. * Support custom saved search columns in whining * Support saved reports in whining * Support multi-select columns of bugs referenced by bug type custom fields in search * Check saved search runner permissions correctly in "matched by saved search" operator when query is shared * Report all XML-RPC exceptions * Add Group.{add,remove}_{members,managers} web services * Add "bypass group" parameters to Checkers * Support multiple "look for bug in..." URLs Bugfixes: * Whining now works again. * Fix&rework whining * Silence CGI.pm warnings * Fix `deadline` field history logging * Fix "totals" in table reports * Do not crash in Search when multiple values are passed to a single-value operator * Several other fixes == 2015.09: 2015-09-18, commit dc07c69094f616d1eb3e523181283dcdbca0499e == UI improvements: * Redesign of bug entry form - now it has 2 columns, one with "bigger" fields like description and "textarea" custom fields, and another with "smaller" selectbox, user, and text edit fields. * Redesign of bug change form - now fields are displayed in 4 columns, and editboxes are under their labels instead of being in the next column. * More cute Mozilla skin integrated and used by default. * Simple "responsive layout" using CSS media queries in Mozilla skin: ** On the bug entry form, 2 columns become 1 on a narrow screen. ** On the bug change form, 4 columns become 2 or also 1 based on the screen width. * Gravatar support. * Allow some safe HTML in comments. * Various general style improvements. Backports from original Bugzilla 4.4: * Upgrade compatibility: allow to upgrade original Bugzilla 4.4 to Bugzilla4Intranet. * Allow to disable old versions/milestones. * Saved reports. * SQLite support, in fact improved over original 4.4: ** It's possible to use built-in SQLite full-text search (FTS4) ** Query plans are shown when &debug=1 parameter is passed to buglist.cgi ** Bugfix: indexes are not deleted anymore when altering tables ** ANALYZE is run in the end of checksetup.pl * Add user "last seen date". * Fix link:https://bugzilla.mozilla.org/show_bug.cgi?id=924802[CVE-2013-1742] XSS. Bug field improvements: * "Reverse BUG_ID relationship" field type. * Replace "unspecified" versions with NULL. * Dependent default values for all custom and some standard fields. * Dependent nullability, i.e. allow or deny empty values dependent on the value of another select field. * Dependent cloneability, i.e. allow to select whether to clone custom fields dependent on the value of another select field. * Allow to enable fields or values for the empty value of their controller. * UI to enable/disable dependent fields from the controlling value page (i.e. for example from the product page). * Remove "Bug Fields" parameters (defaultXXX, useXXX) - now all fields are edited using "Fields" UI. * For standard fields, show the exact parameters that you're allowed to tweak. * Sort fields in bugmail and history by their sortkey. * Do not treat empty visibility value sets as "visible for all" anymore. * Allow to delete custom fields with change history. * Allow to configure default milestones and versions based on other fields (for example, based on components). * Allow keywords to depend on other fields (for example on product). Other new features: * Link to "Add/remove users in this group" from product page. * Better 'makeproductgroups' handling - do not insert group into all products by default when it is on, always allow to choose whether to create access group for new products. * Rewrite group control help text. * Allow to use shared searches in "matched by saved search" operator (with 'SearchName ' syntax), allow to run shared searches that use other shared searches (they crashed previously). * Improved Boolean Charts UI: negation is now also added as a fieldset (this looks more intuitive). * Reflow custom fields on query forms to form 4-field rows on dynamic hide/show. * Use "DOM ready" event instead of window.onload to speedup bug/query form loading. * Allow to use LEVENSHTEIN() user search with PostgreSQL. * HTTPServerSimple.pl: prevent possible path traversal. * Do not require HTML::Scrubber to correctly strip unsafe tags. * Allow to change product classification from product page. * Move OS and Platform guessing regexps into DB and allow to edit them. * Allow to use field names in incoming email. * Flash comment when going to its anchor link. * Detect changes for multi-selects during mid-air collisions. * Automatically decode known MediaWiki URLs in comments and show them nicely using :[[Page name#Section]] syntax. * Allow to disable Silent and Worktime-Only comments. Bugfixes: * More correct select field population on bug and query forms. * Fix read-only display of bug fields to work again. * sanitycheck.cgi fixed and works again. * contrib/bzdbcopy.pl fixed and works again, does not depend on current localconfig anymore and is capable of copying custom field tables. * Oracle support fixed and works again. * Make "Clear flag requests when closing bugs" preference actually work. Refactoring: * Remove CGI.pm usage for getting query parameters and cookies from everywhere. '*.cgi' scripts now use +$$Bugzilla->input_params$$+ and +$$Bugzilla->cookies$$+ hashrefs. Bugzilla::Search, Search::Saved, Report, Chart and similar now use plain hashrefs instead of CGI object for passing params. This is faster, looks much more readable, and automatically avoids vulnerabilities like link:https://bugzilla.mozilla.org/show_bug.cgi?id=1074812[CVE-2014-1572] (found recently in the original Bugzilla). * Refactor result reporting, move the rest of bug-related code into Bugzilla::Bug. This allows to not call process_bug.cgi from importxls.cgi and email_in.pl anymore. * All CUSTIS-specific features moved into 'custishacks' extension; all non-specific features moved from 'custis' extension into core. * Merge create/edit templates for milestones, versions, field values, keywords, classifications. * Remove JOB_MAP hardcode that didn't allow to add custom job classes without modifying the core code. * Remove parameter value hardcode that didn't allow to add custom auth modules without modifying the core code. * Remove various procedural and/or unused APIs from Bugzilla modules, (like is_open_state, BUG_STATE_OPEN, closed_bug_statuses, LookupNamedQuery...) * Remove some unused functions and filters from Bugzilla::Template. * Remove some never-used obsolete field definitions from the DB. * Remove "additional scrum estimates" (was mostly unused). * Move some DB interaction code from editflagtypes.cgi to Bugzilla::FlagType. * Make products.cc_group and flagtypes.cc_list also store ID. * Change the rest of integer fields to be INT4 during upgrade. * Convert Keywords into a standard multi-select field. * Update code style for all *.cgi, for all *.js and for most Bugzilla modules. == v2014.08.2: 2014-10-07, commit 5ee699208f21c8379ed234db137088d2edd16da5 == Features: * Show detailed group information in group editing and user permission list UI. * Truncated versions of assigned_to/reporter/qa fields in search. Bugfixes: * Fix midair collision change detection. * Several other bugfixes. == v2014.08: 2014-08-07, commit 148cb3f1b566ea1e7d19e3595cf32790ba4ea65d == Features: * Support non-nullable custom fields. * Remove bug_status hardcode (statuses can now be renamed; the single hardcode left is in css styles). * Remove see_also URL template hardcode (not it's possible to configure them in params). * Slightly redesign product edit page. * Slightly redesign choose classification and choose product pages. * Slightly redesign (and merge) field create/edit templates. * Improve "Add/remove users in this group": now it shows all members and grantors, even indirect ones. * Add flag requestee into cc if he cannot see the bug. Refactoring: * A major rework of the database structure: ** Change almost all integer fields to 32-bit INT4 instead of various INT2/3 types. ** Change almost all varchar fields to varchar(255). ** Change all select fields to store values IDs instead of names and NULL instead of a surrogate "---" value. * Refactor Bugzilla::Bug ORM code. Now the code is cleaner and works more correctly and reliably. * Remove user combobox support, always use autocomplete. * Remove CGI usage in some scripts: editvalues.cgi, show_bug.cgi, enter_bug.cgi, request/email, request/queue template. * Remove Testopia. * Move big javascript away from bug creation template. * Remove obsolete APIs: get_legal_field_values(), bug.choices(). * Refactor BugMail (use ORM instead of direct DB queries). * Move some CustIS-specific code to custishacks, some non-specific - back to core. * Merge create/edit templates for components. == v2014.05: 2014-05-16, commit b901f7c9f725b3635447053f8dd3b06e06bcf4ea == Searching and reporting: * Allow interval_time in reports. * Sphinx full-text search support (http://sphinxsearch.com). * Allow to create bugs based on search parameters from the buglist page. * Add "search" links to most fields on the bug change form. * Expand search form select fields on hover. * In all buglists, link products/components to lists of OPEN bugs in them, and users to their assigned/reported bug lists. UI improvements: * Autocomplete for keywords. * Comment formatting based on HTML paragraphs instead of hard-coded text wrapping. * Allow to show comments in the full screen width (user preference). * Show attached images directly inside comments. * "Online view" of attached office documents using LibreOffice HTML conversion. * Editable comments. * Show diffs in comment and "textarea" custom field changes. * Preserve entered comment when going to "add an attachment" page. * "List users who can access this bug" (check_access.cgi) * Add the ability to download all attachments in ZIP. * Simple attachment list template: attachment.cgi?bugid=&action=viewall&format=simple&show_obsolete=1|0 * Remove "Show Advanced fields" on the bug creation form as it only confuses users ("where is my field XXX?") * Better "Browse" styles. * Redesign product group control page. Bug field improvements: * Initial (buggy) support for dependent default values of custom fields. * Initial UI for enabling/disabling custom field values for a single value of the controlling field (editvisibility.cgi). * Experimental "Internal bug" pseudo-field in excel import (hardcoded to BUG_ID cf_extbug field). * Allow whitespace in keyword names. * Add js Calendar to all date fields. Refactoring: * Add standalone pure-perl HTTP server implementation: HTTP::Server::Simple (RECOMMENDED to use instead of mod_perl). * Do not send flag mail in case of transaction abort (for example on validator failure). * Use Email::Sender instead of outdated Email::Send. == v2012.05: 2012-05-03, commit fffa9a25d23672efc36857e6e5d5a72ac548235f == Searching and reporting: * Biggest feature: Bugzilla::Search optimisation. It is rewritten using UNIONs and nested queries which allows DBMS (even MySQL) execute queries optimally, even on big databases. * "Last comment", "Last comment time" columns in search. * Use Lingua::Stem::Snowball instead of hardcoded russian stemmer. * PostgreSQL fulltext search support. * Simple report format (for embedding reports). * Allow more columns in reports. UI improvements: * Autocomplete for users. * Multiple attachment upload from the bug edit form. * Worktime-only comments. * Redirect after editing attachments. * SUPA: Screenshot upload support with SUPA Java applet. * Ability to print SCRUM-like cards for bugs. * unauth_bug_details setting allowing to show products of inaccessible bugs in the "access denied" error message. Bug field improvements: * New "External URL based on template" custom field type. * CC list triggers in bug validators, allowing to auto-add someone to CC of some bugs. * Remove remaining traces of OS and Platform fields when they're disabled. Refactoring: * Remove explicit send_header() from scripts. $template->process sends headers automatically. * Replace overlong IF-ELSE with named blocks in code-error.html.tmpl and user-error.html.tmpl. * Move MediaWiki URL templates to the single parameter. Other features: * Merge WebServices from Bugzilla 4.0.1. * Fix several vulnerabilities, like in original Bugzilla. == v2011.03: 2011-03-25, commit e4b255cfc99e39a2557dd508f347dd71b9ee6176 == * Based on Bugzilla 3.6.4. * Bug change validators ("Checkers"). * "SuperWorkTime" page for entering working time for many bugs at once. * Excel import can now update bugs + add character set and separator settings for CSV import. * New simple API, taking query parameters as input and returning XML or JSON; able to handle ALL errors, not only ones with hardcoded numeric codes, like standard *RPC. Development improvements: * "KittenError": show a page with cute ASCII kitten on internal errors and send email to the maintainer. * Show stack traces in template errors. * $Bugzilla::RELOAD_MODULES; $^P |= 0x10; support for reloading modules (in debug purposes). * Original extension system from Bugzilla 3.6 removed and replaced with our brand new one, which is also compatible with older extensions. * Use wrapper around '$$print $cgi->header$$': '$$$cgi->send_header()$$'. UI improvements: * Comment preview. * Submit forms on Ctrl-Enter. * Redirect after adding attachments and after entering/changing bugs. This is a "natural" protection against double form submit, and also allows to press F5 after saving bug changes. * Guess charset of text attachments, and try to display them with correct header. * Removed YAHOO UI javascript library. * Internal-external product relationship, clone bug links. * Support Levenshtein distance for user login matching (needs MySQL UDF). Searching and reporting: * Allow to measure working/remaining/estimated time in reports; add empty values to reports. * Add custom fields to search filters. * JavaScript buglist table sorting (like on bugzilla.mozilla.org). * "First comment", "Duplicate of" columns in search. * "Period Worktime" column in search allowing to sum working time for the time interval selected in "Only bugs changed between..." block. * Support for auto-sizing iframe with HTML5 postMessage when a simple buglist is embedded in it. Bug field improvements: * Unified dependent field value checking, client-side caching of field/value dependencies; do not require bug access rights on dependent bugs if you don't change them. * Numeric custom field type. * "Cloneability": setting allowing to choose whether to copy custom field value when cloning bugs. * Option allowing to automatically add BUG_ID custom fields into bug dependencies. * Online creation of custom fields without giving errors to users. * Allow to disable old components ("close them for bug entry", like products). * Lock bug rows in the DB during update (SELECT FOR UPDATE) to avoid deadlocks. * Some API functions for custom field values. == v2010.05: 2010-05-13, commit 0804786698562b0ff67bbfb27c4eb2f52dff8cb2 == * Based on Bugzilla 3.4.6. * Allow to make auto-refreshable MySQL Views from bug lists. * Excel import: mass bug posting from Excel or CSV files. * Slightly simplified Testopia 2.3 with test MediaWiki plan sync support. Bug field improvements: * Multiple visibility values for fields and values. * User comboboxes (no autocomplete) for flag requestees. * Allow to disable OS and Platform fields. * CC list display like on bugzilla.mozilla.org :). * Expanded limit for custom field values to 255. * Editable default CC for components. * Default version for components. * "Submit my changes anyway" doesn't overwrite values which you didn't change. UI improvements: * Redesign of dependency graphs (SVG+PNG and bug clustering). * HTML+plaintext multipart/alternative bugmail. * [DD:]HH:MM[.SS] syntax for working time. * Configurable position of "fat footer" - top, bottom or both. * ASCII pseudographic formatting of tab-separated tables in bug comments. * Force bug form refresh on page reload, even in Firefox. * Simplified Quick Search syntax (it was slightly insane in original version). * email_in.pl (incoming email handler) improvements: multiple attachments, HTML stripping. Other improvements: * Guess MIME types for uploads, guess file descriptions from names. * Allow to set "prefer no time tracking" flag for products and warn when entering worktime in them. * Replace overlong IF-ELSE from messages.html.tmpl with named blocks. * Some bug cloning changes. * Various minor changes. == v2009.07: 2009-07-28, commit 1867a99935bd5f3795e4fcce962dda7a4c91cadf == * Based on Bugzilla 3.2.4. * Store all attachments in FS instead of DB by default. * Template Toolkit related performance fixes. * Per-product "CC list restriction group" - even if someone who is in this group adds someone who's not in it into CC, Assignee or QA bug fields, Bugzilla disallows this change. * Single-click "unsubscribe from bug" page. * RSS activity and comment feed for each bug. * Russian stemming for MySQL fulltext search. * Integration with ViewVC ("Look for bug in CVS/SVN") and MediaWiki. * Some other initial Bugzilla4Intranet improvements.