4 3.5.0.0 (not yet released)
5 + rfe #2021981 [interface] Add support for mass prefix change.
6 + "up to date" message on main page when current version is up to date
7 + Update to jQuery 1.6.2
8 + Patch #3256122 [search] Show/hide db search results
9 + Patch #3302354 Add gettext wrappers around a message
10 + Remove deprecated function PMA_DBI_get_fields
11 + rfe #2098927 Remember recent tables
12 + rfe #3078542 Remember the last sort order for each table
13 + AJAX for Create table in navigation panel
14 + rfe #3310562 Wording about Column
15 + AJAX for Add a user in Database privileges
16 + Patch #3271804 for rfe #3177495, new DisableMultiTableMaintenance directive
17 + [interface] Reorganised server status page.
18 + [interface] Changed way of generating charts.
19 + rfe #939233 [interface] Flexible column width
20 + [interface] Mouse-based column reordering in query results
21 + AJAX for Insert to a table from database Structure page
22 - Patch #3316969 PMA_ajaxShowMessage() does not respect timeout
23 + AJAX for Change on multiple rows in table Browse
24 + [interface] Improved support for stored routines
25 + [display] More options for browsing GIS data
26 + [interface] Support for spatial indexes
27 + [display] GIS data visualization
28 + AJAX for table structure multiple-column change
29 + AJAX for table structure index edit
30 + Show/hide indexes in table Structure
31 + More compact navigation bar
32 + Display direction (horizontal/vertical) no longer displayed by default
33 + Shift/click support in database Structure
34 + Show/hide column in table Browse
35 - bug #3353856 [AJAX] AJAX dialogs use wrong font-size
36 - bug #3354356 [interface] Timepicker does not work in AJAX dialogs
37 + AJAX for table Structure Indexes Edit
38 + AJAX for table Structure column Change
39 + [interface] Improved support for events
40 + [interface] Improved support for triggers
41 + [interface] Improved server monitoring
42 + AJAX for table Structure column Add
43 + AJAX for table Operations copy table
44 - bug #3380946 [export] no uid Query result export (Suhosin limit)
45 + Grid editing in browse mode (replaces row inline edit)
46 + Zoom-search in table Search
47 + [interface] Editor for GIS data
48 + [import] Import GIS data from ESRI Shapefiles
49 + [interface] 'Function based search' for GIS data
50 + Support Drizzle database
51 - bug #3356456 [interface] Interface problems for queries having LIMIT clauses
52 + [interface] Remove DefaultPropDisplay feature
53 - bug #3299486 [prettyprint] Order By in a query containing comment character
54 + [interface] Improved ENUM/SET editor
55 + patch #3428376 [pmadb] pmadb on a different MySQL server
56 + patch #3410688 [interface] Improving field size for character columns
57 - [usability] Removed an unnecessary AJAX request from database search
58 - bug #3302419 [navi] Tabs break when squeezing page
59 + rfe #3406797 [navi] Stick table tools to top of page on scroll
60 + rfe #1632106 [interface] Improved error handling
61 + patch #3432835 [interface] Add useful intermediate pages to pageselector
62 + [interface] Improved index editor
63 + View editing via a generated ALTER VIEW
64 - bug #3408377 [interface] Deleting table from the DB does not change the table counter
65 + rfe #3438266 [designer] Toggle for relation lines
66 - bug #3442069 [AJAX] database list not updated after adding/deleting a user + database
67 - bug #3461750 [edit] Sort by key generates wrong sql with limit clause
68 - bug #3340842 [structure] Error dropping index of non-existing column
70 3.4.10.0 (not yet released)
71 - bug #3460090 [interface] TextareaAutoSelect feature broken
72 - patch #3375984 [export] PHP Array export might generate invalid php code
73 - bug #3049209 [import] Import from ODS ignores cell that is the same as cell before
74 - bug #3463933 [display] SELECT DISTINCT displays wrong total records found
75 - patch #3458944 [operations] copy table data missing SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO'
78 - bug #3442028 [edit] Inline editing enum fields with null shows no dropdown
79 - bug #3442004 [interface] DB suggestion not correct for user with underscore
80 - bug #3438420 [core] Magic quotes removed in PHP 5.4
81 - bug #3398788 [session] No feedback when result is empty (signon auth_type)
82 - bug #3384035 [display] Problems regarding ShowTooltipAliasTB
83 - bug #3306875 [edit] Can't rename a database that contains views
84 - bug #3452506 [edit] Unable to move tables with triggers
85 - bug #3449659 [navi] Fast filter broken with table tree
86 - bug #3448485 [GUI] Firefox favicon frameset regression
87 - [core] Better compatibility with mysql extension
88 - [security] Self-XSS on export options (export server/database/table), see PMASA-2011-20
89 - [security] Self-XSS in setup (host parameter), see PMASA-2011-19
92 - bug #3425230 [interface] enum data split at space char (more space to edit)
93 - bug #3426840 [interface] ENUM/SET editor can't handle commas in values
94 - bug #3427256 [interface] no links to browse/empty views and tables
95 - bug #3430377 [interface] Deleted search results remain visible
96 - bug #3428627 [import] ODS import ignores memory limits
97 - bug #3426836 [interface] Visual column separation
98 - bug #3428065 [parser] TRUE not recognized by parser
99 + patch #3433770 [config] Make location of php-gettext configurable
100 - patch #3430291 [import] Handle conflicts in some open_basedir situations
101 - bug #3431427 [display] Dropdown results - setting NULL does not work
102 - patch #3428764 [edit] Inline edit on multi-server configuration
103 - patch #3437354 [core] Notice: Array to string conversion in PHP 5.4
104 - [interface] When ShowTooltipAliasTB is true, VIEW is wrongly shown as the
105 view name in main panel db Structure page
106 - bug #3439292 [core] Fail to synchronize column with name of keyword
107 - bug #3425156 [interface] Add column after drop
108 - [interface] Avoid showing the password in phpinfo()'s output
109 - bug #3441572 [GUI] 'newer version of phpMyAdmin' message not shown in IE8
110 - bug #3407235 [interface] Entering the key through a lookup window does not reset NULL
111 - [security] Self-XSS on database names (Synchronize), see PMASA-2011-18
112 - [security] Self-XSS on database names (Operations/rename), see PMASA-2011-18
113 - [security] Self-XSS on column type (Create index), see PMASA-2011-18
114 - [security] Self-XSS on column type (table Search), see PMASA-2011-18
115 - [security] Self-XSS on invalid query (table overview), see PMASA-2011-18
118 - [security] Fixed possible local file inclusion in XML import
122 - bug #3418610 [interface] Links in navigation when $cfg['MainPageIconic'] = false
123 - bug #3418849 [interface] Inline edit shows dropdowns even after closing
124 - bug [view] View renaming did not work
125 - bug [navi] Wrong icon for view (MySQL 5.5)
126 - bug #3420229 [doc] Missing documentation section
127 - bug #3423725 [pdf] Broken PDF file when exporting database to PDF
128 - [core] Allow to set language in URL
129 - bug #3425184 [doc] Fix links to PHP documentation
130 - bug #3426031 [export] Export to bzip2 is not working
133 - patch #3404173 InnoDB comment display with tooltips/aliases
134 - bug #3404886 [navi] Edit SQL statement after error
135 - bug #3403165 [interface] Collation not displayed for long enum fields
136 - bug #3399951 [export] Config for export compression not used
137 - bug #3400690 [privileges] DB-specific privileges won't submit
138 - bug #3410604 [config] Configuration storage incorrect suggested table name
139 - bug #3383572 [interface] Cannot execute saved query
140 - bug #3411535 [display] Full text button unchecks results display options
141 - bug #3411224 [display] Broken binary column when 'Show binary contents' is not set
142 - bug #3411633 [core] Call to undefined function PMA_isSuperuser()
143 - bug #3413743 [interface] Display options link missing after search
144 - bug #3324161 [core] CSP policy causing designer JS buttons to fail
145 - bug #3412862 [relation] Relations/constraints are dropped/created on every change
146 - bug #3390832 [display] Delete records from last page breaks search
147 - bug #3392150 [schema] PMA_User_Schema::processUserChoice() is broken
148 - bug #3414744 [core] External link fails in 3.4.5
149 - patch #3314626 [display] CharTextareaRows is not respected
150 - bug #3417089 [synchronize] Extraneous db choices
151 - [security] Fixed local path disclosure vulnerability, see PMASA-2011-15
152 - [security] Fixed XSS in setup (host/verbose parameter), see PMASA-2011-16
155 - bug #3375325 [interface] Page list in navigation frame looks odd
156 - bug #3313235 [interface] Error div misplaced
157 - bug #3374802 [interface] Comment on a column breaks inline editing
158 - patch #3383711 [display] Order by a column in a view doesn't work in some cases
159 - bug #3386434 [interface] Add missing space to server status
160 - [core] Remove library PHPExcel, due to license issues
161 - [export] Remove native Excel export modules (xls and xlsx formats)
162 - [import] Remove native Excel import modules (xls and xlsx formats)
163 - bug #3392920 [edit] BLOB emptied after editing another column
164 - [security] Fixed XSS in Inline Edit on save action, see PMASA-2011-14
165 - [security] Fixed XSS with db/table/column names, see PMASA-2011-14
168 - bug #3323060 [parser] SQL parser breaks AJAX requests if query has unclosed quotes
169 - bug #3323101 [parser] Invalid escape sequence in SQL parser
170 - bug #3348995 [config] $cfg['Export']['asfile'] set to false does not select asText option
171 - bug #3340151 [export] Working SQL query exports error page
172 - bug #3353649 [interface] "Create an index on X columns" form not validated
173 - bug #3350790 [interface] JS error in Table->Structure->Index->Edit
174 - bug #3353811 [interface] Info message has "error" class
175 - bug #3357837 [interface] TABbing through a NULL field in the inline mode resets NULL
176 - remove version number in /setup
177 - bug #3367993 [usability] Missing "Generate Password" button
178 - bug #3363221 [display] Missing Server Parameter on inline sql query
179 - bug #3367986 [navi] Drop field -> lost active table
180 - remove misleading comment on the "Rename database" interface
181 - bug #3374374 [interface] Fix footnote for inexact count while browsing
182 - bug #3372807 [interface] Fix security warning link in setup
183 - bug #3374347 [display] Backquotes in normal text on import page
184 - bug #3358750 [core] With Suhosin, urls are too long in edit links
185 - [security] Missing sanitization on the table, column and index names leads to XSS vulnerabilities, see PMASA-2011-13
188 - [security] Fixed XSS vulnerability, see PMASA-2011-9
189 - [security] Fixed local file inclusion vulnerability, see PMASA-2011-10
190 - [security] Fixed local file inclusion vulnerability and code execution, see PMASA-2011-11
191 - [security] Fixed possible session manipulation in swekey authentication, see PMASA-2011-12
194 - [security] Fixed possible session manipulation in swekey authentication, see PMASA-2011-5
195 - [security] Fixed possible code injection incase session variables are compromised, see PMASA-2011-6
196 - [security] Fixed regexp quoting issue in Synchronize code, see PMASA-2011-7
197 - [security] Fixed filtering of a file path, which allowed for directory traversal, see PMASA-2011-8
200 - bug #3311170 [sync] Missing helper icons in Synchronize
201 - patch #3304473 [setup] Redefine a lable that was wrong
202 - bug #3304544 [parser] master is not a reserved word
203 - bug #3307616 [edit] Inline edit updates multiple duplicate rows
204 - patch #3311539 [edit] Inline edit does not escape backslashes
205 - bug #3313210 [interface] Columns class sometimes changed for nothing
206 - patch #3313326 [interface] Some tooltips do not disappear
207 - bug #3315720 [search] Fix search in non unicode tables
208 - bug #3315741 [display] Inline query edit broken
209 - patch #3317206 [privileges] Generate password option missing on new accounts
210 - bug #3317293 [edit] Inline edit places HTML line breaks in edit area
211 - bug #3319466 [interface] Inline query edit does not escape special characters
212 - minor XSS (require a valid token)
215 - bug #3301249 [interface] Iconic table operations does not remove inline edit label
216 - bug #3303869 [interface] Unnecessary scrolling on Databases page
217 - patch #3303813 [setup] Define a label that was missing
218 - bug #3305606 [interface] Show all button wraps on privileges page
219 - bug #3305517 [config] Config for export compression not used
220 - bug #3305883 [interface] Table is dropped regardless of confirmation
221 - [auth] Fixed error handling for signon auth method.
222 - bug #3276001 [core] Avoid caching of index.php.
223 - bug #3306958 [interface] Unnecessary Details slider
224 - bug #3308476 [interface] "Show all" not persistent after a sort
225 - bug #3308072 [auth] Version disclosure to anonymous visitors
226 - bug #3306981 [interface] pmahomme and table statistics
229 - bug #3301108 [interface] Synchronize and already configured host
230 - bug #3302457 Inline edit and $cfg['PropertiesIconic']
231 - Patch #3302313 Show a translated label
232 - bug #3300981 [navi] Table filter is case sensitive
233 - bug #3285929 [privileges] Revert temporary fix
234 - bug #3302872 [synchronize] Synchronize and user name
235 - bug #3302733 [core] Some browsers report an insecure https connection
236 - [security] Make redirector require valid token
239 + rfe #2890226 [view] Enable VIEW rename
240 + rfe #838637 [privileges] Export a user's privileges
241 - [core] Updated mootools to fix some glitches with Safari.
242 + rfe #2816943 [interface] Add REGEXP ^...$ to select dialog.
243 + rfe #2924956 [interface] Add insert ignore option to editing row.
244 + rfe #2838080 [interface] Show warning when javascript is disabled.
245 + rfe #2823707 [edit] Call UUID function separately to show it in insert.
246 + rfe #2420684 [export] Allow export of timestamps in UTC.
247 + [core] Remove config data from session as it brings chicken-egg problem.
248 + [core] Cookie path now honors PmaAbsoluteUri.
249 + rfe #2393597 [core] phpMyAdmin honors https in PmaAbsoluteUri.
250 + rfe #1778337 [core] Try moving tables by RENAME and fail to CREATE/INSERT if that fails.
251 + rfe #1721189 [core] Force reload js on code change.
252 + rfe #1954161 [interface] Do not display long numbers in server status.
253 + rfe #2033616 [edit] Add option to just display insert query.
254 + rfe #1435032 [interface] Move SSL status to the end, it is usually empty.
255 + rfe #1340812 [interface] Show numbers of columns in table structure.
256 + rfe #1186511 [inrerface] Add link to reload navigation frame.
257 + rfe #2936156 [auth] Signon authentication forwards error message through session data.
258 + rfe #2835109 [interface] Move ^1 to the end of message.
259 + rfe #854911 [interface] Grey out non applicable actions in structure
260 + [interface] Allow to create new table from navigation frame (in light mode).
261 + rfe #1025696 [browse] Add direct download of binary fields.
262 - [browse] Properly display NULL value for BLOB.
263 - rfe #1516803 [edit] Allow to set BLOB to/from NULL with ProtectBinary.
264 - [edit] Do not default to UNHEX when using file upload.
265 - rfe #1379201 [core] Add option to configure session_save_path.
266 + [interface] Provide links to documentation in highlighted SQL.
267 + [interface] It is now possible to bookmark most pages in JS capable browser.
268 - bug #2936482 [core] Fix SSL detection.
269 + rfe #2937850 [doc] Add some hints to chk_rel.php for quick setup.
270 + rfe #2938579 [interface] Add class to some elements for easier theming.
271 + rfe #2937840 [doc] Add some interesting configs to config.sample.inc.php.
272 + rfe #2792992 [doc] Added advice to re-login after changing pmadb settings
273 + patch #2952353 [interface] Prefill "Copy table to" in tbl_operations.php, thanks to iinl
274 + [lang] Add English (United Kingdom) translation, thanks to Robert Readman.
275 + patch #2948421 [auth] HTTP Basic auth realm name,
276 thanks to Harald Jenny - haraldj
277 - bug #2954916 [interface] Do not insert doc links to not formatted SQL.
278 + [lang] Chinese Simplified update, thanks to Shanyan Baishui - rimyxp
279 + [lang] Turkish update, thanks to Burak Yavuz
280 + rfe #2963310 [interface] Focus TEXTAREA "sql_query" on click on "SQL" link
281 + [lang] Uzbek update, thanks to Orzu Samarqandiy
282 + rfe #2958013 [import] After import, also list uploaded filename, thanks
283 to Pavel Konnikov and Herman van Rink
284 + patch #2974341 [structure] Clicking on table name in db Structure should
285 Browse the table if possible, thanks to bhdouglass - dougboybhd
286 + patch #2975533 [search] New search operators, thanks to
288 + patch #2967320 [designer] Colored relations based on the primary key,
289 thanks to GreenRover - greenrover
290 - [core] Provide way for vendors to easily change paths to config files.
291 + patch #2979922, rfe #2804874 [interface] Add inline query editing, thanks to Muhammd Adnan.
292 - bug #2966752 [setup] Allow to configure changes tracking in setup script.
293 + patch #2981165 [edit] Optionally disable the Type column,
294 thanks to Brian Douglass - bhdouglass
295 + patch #2984058 [edit] Buttons for quicky creating common SQL queries, thanks
297 + patch #2984337 [interface] Convert loading of export/import to jQuery ready
298 event, thanks to sutharshan.
299 - [edit] CURRENT_TIMESTAMP is also valid for datetime fields.
300 - patch #2985068 [engines] Fix parsing of PBXT status, thanks to Madhura Jayaratne.
301 - patch #2986073 [interface] Convert upload progress bar to jQuery, thanks to
303 - patch #2983960 [interface] Add javascript validation of datetime input,
304 thanks to Sutharshan Balachandren.
305 - rfe #2981999 [interface] Default sort order is now SMART.
306 - rfe #2972969 [interface] Fix flipping of headers in non-IE browsers.
307 + rfe #2964518 [interface] Allow to choose servers from configuration for
309 + rfe #2988633 [relation] Improve ON DELETE/ON UPDATE drop-downs
310 + rfe #2988629 [relation] Improve labels in relation view
311 + rfe #2983207, patch #2988715 [interface] Use jQuery calendar dialog, thanks
313 + [doc] Incorporate synchronisation docs into main document.
314 + [core] Include Content Security Policy HTTP headers.
315 - bug #3004216 [CSS] Field attributes use inline CSS
316 - patch #2999595, rfe #2998130 [interface] Cleanup navigation frame.
317 - patch #3025161 [core] Prevent sending of unnecessary cookies,
318 thanks to Piotr Przybylski - crackpl
319 - bug [password] Generate password only available if JS is enabled
320 (fixed for Privileges and Change password)
321 - [core] RecodingEngine now accepts none as valid option.
322 + [core] Dropped AllowAnywhereRecoding configuration variable.
323 - rfe #3016457 [interface] Define tab order in SQL form to allow easier tab
325 + [core] Centralized format string expansion, @VARIABLES@ are recommended way
326 now, used by file name templates, default queries, export and title
328 + [validator] SQL validator works also with SOAP PHP extension.
329 - [interface] Better formatting for SQL validator results.
330 - [doc] The linked-tables infrastructure is now called phpMyAdmin
331 configuration storage.
332 - [interface] Move drop/empty links from being tabs to Operations tab.
333 - [interface] Fixed rendering of error/notice/info titles background.
334 - patch #3038293 [doc] Language and grammar fixes,
335 thanks to Isaac Bennetch - ibennetch
336 - patch #3038312 [export] JSON export,
337 thanks to Hauke Henningsen - blubberkeks152
338 - rfe #1494550 [interface] Editor for SET/ENUM fields.
339 - rfe #2649375 [interface] Simplified interface to backup/restore.
340 - rfe #2973909 Users preferences
341 - [relations] Dropped WYSIWYG-PDF configuration variable.
342 - rfe #806035, #686260 [relations] Export relations to Dia, SVG and others
343 + [interface] Added charts to status tab, profiling page and query results
344 + [interface] AJAXification on various pages
345 - [core] Remove last remaining parts of profiling code which was removed in 2006.
346 - bug #3042665 [parser] Add workaround for MySQL way of handling backtick.
347 - bug #3056610 [interface] Removed modification options for information_schema
348 + patch #3055886 [config] Add Left frame table filter visibility config option, thanks to eesau
349 - [core] Force generating of new session on login
350 + rfe #1105678 [interface] Drop page-break-before as it is useless for smaller
352 + rfe #2956556 [interface] Allow to wrap enum values.
353 - bug #1669459 [interface] Do not automatically mark PDF schema rows to delete
354 - bug #3087682 [interface] Do not apply LeftFrameDBSeparator on first character.
355 + rfe #3111455 [interface] Column highlighting and marking in table view
356 + Visual query builder
357 - bug #3115519 [interface] Prevent long queries from being shown in confirmation popup
358 - patch #3112792 [navi] Left panel table grouping incorrect,
359 thanks to garas - garas
360 - bug #3123433 [interface] Avoid double escaping of MySQL errors.
361 - [interface] Use less noisy message and remove disable link on server charts and database statistics.
362 + rfe #3141330 [relation] When displaying results, show a link to the foreign
363 table even when phpMyAdmin configuration storage is not active
364 - bug #3141327 [relation] Foreign key input options
365 - [export] Better handling of export to PHP array.
366 - rfe #3158867 [privileges] No DROP DATABASE warning if you delete a user
367 - [interface] Add link to documentation for status variables.
368 - [security] Redirect external links to avoid Referer leakage.
369 - [interface] Default to not count tables in database.
370 - patch #3172172 [interface] Shortcut for copying table row.
371 - bug #3175227 [auth] Reset user cache on login.
372 - rfe #3148361 [interface] Replace hard coded limit with $cfg['LimitChars'].
373 - bug #3177136 [interface] Indicate that bookmark is being used on browse.
374 - [interface] Indicate shared bookmarks in interface.
375 - patch #3176420 [Search] Ajaxify browse and delete criteria in DB Search,
376 thanks to Thilanka Kaushalya
377 - [interface] New default theme pmahomme, dropped darkblue_orange theme.
378 - rfe #2936155 [auth] Allow to pass additional parameters using signon method.
379 - rfe #1640812 [auth] Add example for OpenID authentication using signon method.
380 - rfe #1312657 [dbi] Default to mysqli extension.
381 - rfe #1168350 [interface] Add clear button to SQL edit box.
382 - [core] Update library PHPExcel to version 1.7.6
383 - bug #3206876 [core] Work without mbstring installed.
384 - rfe #3196075, patch #3212068 [interface] Add links to variables documentation.
385 - bug #3208723 [import] Fix import of utf-8 XML files.
386 - bug #3039384 [auth] Force signon auth on signon URL change.
387 - bug #3168733 [core] Synchronization does not honor AllowArbitraryServer
388 - bug #3134495 [synchronization] Data containing single quotes prevents sync,
390 - Remove the custom color picker feature
391 - bug #3285929 [privileges] Don't fail silently on missing priviledge to execute REVOKE ALL PRIVILEGES
393 3.3.11.0 (not yet released)
395 3.3.10.1 (2011-05-20)
396 - [security] XSS on Tracking page
398 3.3.10.0 (2011-03-19)
399 - patch #3147400 [structure] Aria table size printed as unknown,
400 thanks to erickoh75 - erickoh75
401 - patch #3150164 [structure] Ordering by size gives incorrect results,
402 thanks to Madhura Jayaratne - madhuracj
403 - bug #3153409 [core] 0 row(s) affected
404 - bug #3155842 [core] Edit relational page and page number
405 - [security] Minor security fixes, see PMASA-2010-9 and PMASA-2010-10
406 - [lang] German update, thanks to to jannicars@users.sourceforge.net.
409 - [security] SQL injection, see PMASA-2011-2
412 - [security] Path disclosure, see PMASA-2011-1
415 - bug [doc] Fix references to MySQL doc
416 - patch #3101490 Default function for TIMESTAMP, thanks to jirand - jirand
417 - bug #3103853 [js] Double quotes were not escaped in generated js
418 - bug #3077463 [core] Events were not copied when copying/renaming database
419 - bug #1762306 [core] Copy database with view of a view
420 - patch #3117535 [replication] Add quotes to database in initial statement,
421 thanks to Craig Duncan - duncan3dc
422 - bug #3112614 [pdf schema] Scratchboard for PDF pages not working
423 - bug #3125606 [parser] Query for table "level" causes strange display
424 - bug #3127904 [parser] Close all opened round brackets indents
426 --- Older ChangeLogs can be found on our project website ---
427 http://www.phpmyadmin.net/old-stuff/ChangeLogs/
429 # vim: et ts=4 sw=4 sts=4
430 # vim: ft=changelog fenc=utf-8
431 # vim: fde=getline(v\:lnum-1)=~'^\\s*$'&&getline(v\:lnum)=~'\\S'?'>1'\:1&&v\:lnum>4&&getline(v\:lnum)!~'^#'
432 # vim: fdn=1 fdm=expr