1 ----------------------
6 $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyAdmin/ChangeLog $
8 2.11.3.0 (not yet released)
9 - patch #1818389 to remove a notice (failed to flush buffer), thanks to
11 - patch #1821154, HTTP authentication: fix auth working with php/mod_fastcgi,
13 - wrong default charset in case of broken session
14 - bug #1824506 [profiling] Profile command repeated on older MySQL servers
15 - bug #1825172 [export] Exporting and functions
16 - bug #1817224 [import] Incorrect detection of file_uploads in some cases,
17 thanks to Juergen Wind
18 - bug #1777249 [display] Do not underline links in left panel (in default
19 - bug #1826022 [privileges] unable to add user (MySQL 3.23) since PMA 2.11.2
20 - bug #1823045 [import] Error importing file with lowercase "delimiter"
21 - bug #1828913 [structure] Can't set FULLTEXT index on CHAR column
22 - bug #1804081 [export] export on server doesn't obey AllowAnyWhereRecoding
23 - bug #1789988 [display] space before SHOW COLUMNS
24 - bug #1831646 [table creation] Error in CREATE TABLE with multiple primary
25 keys and AUTO_INCREMENT
26 - [display] Division by zero when showing all records (page selector)
27 - bug #1828265 [privileges] No weird characters in generated password
28 - bug #1759194 [import] open_basedir warning
29 - bug #1793948 [parser] ROW_FORMAT incorrectly parsed
30 - undefined PMA_MYSQL_INT_VERSION when no default server is set
31 - bug #1763343 [session] Behavior with session.auto_start enabled
32 + [lang] Hungarian update, thanks to Mihály Mészáros
33 - patch #1837691 [query window] js errors, thanks to Victor Volkov
34 - patch #1839052 [lang] catalan not in UTF-8, thanks to jaz001
37 - bug #1835123 [security] fixed XSS vulnerability on login page,
38 thanks to Tim Brown (Nth Dimension) for the advisory
39 and to Sebastian for the fix
42 - fixed possible SQL injection using database name
43 - fixed possible XSS in database name - thanks to Omer Singer, The DigiTrust Group
46 - patch #1791576 HTTP auth: support REDIRECT_REMOTE_USER, thanks to Allard
47 + [lang] Serbian update, thanks to Mihailo Stefanovic
48 - bug #1798841 [relations] Copying db does not copy internal relations
49 - bug #1798646 [display] Character '+' in query wrongly interpreted
50 - bug #1801919 [themes] Do not use NaviDatabaseNameColor for fieldset legend
51 - bug #1764735 [core] Designer: PDF error when deleting a table
52 - bug #1764195 [views] DROP button does not work on defective views
53 - bug #1805773 [relations] browse foreign values: return values not escaped,
55 - bug #1807923 [login] Login with html entities in password fails
56 - [core] Undefined variable when creating a table that exists
57 - patch #1808578 Changes in font size were no longer detected after patch
59 + [lang] Croatian update, thanks to Renato Pavicic
60 - patch #1807615 [GUI] Display patch for column rights in Opera
61 - bug #1811519 Can't delete user with a german umlaut.
62 - bug #1811519 [privileges] fixed used collation for accessing mysql.user in server privileges
63 - it should not be possible to move or copy a table to information_schema
64 - bug #1814733 win: copy db to mixed name db fails
65 - bug #1777249 [display] Remove horizontal lines in navigation panel
66 - bug #1805102 [display] TextareaAutoSelect issues: set this parameter
67 default value to false to help cut&paste from a terminal window; also
68 set focus to the textarea
69 - bug #1814463 [display] Wrong database size
70 - bug #1811527 [display] Problem with links to the MySQL manual
71 - patch #1817529 [auth] Incorrect login via URL when AllowArbitraryServer
72 is true, thanks to Juergen Wind
75 - fixed XSS in server_status.php, thanks to Omer Singer, The DigiTrust Group
76 - fixed some possible XSS with PHP_SELF, PATH_INFO, REQUEST_URI
77 (reference: CVE-2007-5589)
80 - bug #1810629 [setup] XSS in setup.php, thanks to Omer Singer, The DigiTrust Group
84 - bug #1783667 [export] NO_AUTO_VALUE_ON_ZERO and MySQL version
85 - bug #1780098 [GUI] Logout causes CSS loss, thanks to Juergen Wind
86 . incorrect field ids, thanks to Michael Keck
87 - bug #1787522 [view] wrong choice in algorithm drop-down
88 - bug #1777620 [GUI] Table Print preview: missing column header,
89 thanks to Mario Rohkrämer
90 - Do not display "Your MySQL library..." if only the Z part of X.Y.Z version
92 - bugs #1767759, 1216521 [data] Duplicate entry error Browse feature: this minor
93 feature removed due to its complexity
94 - bug #1774825 [operations] Rename database loses charset info
95 - bug #1791568 [core] Undefined cfg, thanks to Christian Schmidt
96 - bug #1782332 [structure] New table form does not overtake data
97 - bug #1793763 [requirements] minimum PHP should be 4.2.0
98 - patch #1787915 Avoid CSS reloading on every click, thanks to Juergen Wind
99 - bug #1798627 [GUI] Wrong storage engine displayed
101 2.11.0.0 (2007-08-21)
103 + [import] support handling of DELIMITER to mimic mysql CLI, thanks to fb1
104 + improved PHP 6 compatibility
105 - bug #1674914 [structure] changing definition of a TIMESTAMP field
106 - bug #1615530 [upload] added more specific error message if field upload fails
107 - bug #1627210, #1083301, #1482401 [data] warning on duplicate indexes
108 - bug #1668724 JavaScript focus login Opera
109 - bug #1666657 [auth] Cookie password delete on timeout / inactivity
110 - bug #1648802 different mysql library and server version
111 - bug #1662976 [auth] Authentication fails when controluser/pass is set
112 - bug #1643758 [import] Error #1264 importing NULL values in MySQL 5.0
113 - bug #1523747 [innodb] make warning about row count more visible
114 - bug #1676012 [auth] strip non-US-ASCII characters (RFC2616)
115 - bug #1679440 Added FAQ entry about header errors under IIS caused by
116 an end-of-line character
117 - [gui] avoid displaying a wide selector in server selection
118 - bug #1614004 [relation] foreign key spanning multiple columns are
119 incorrectly displayed
120 - bug #1681598 [interface] Edit next row
121 - bug #1688053 [export] Wrong export of binary character fields
122 - bug #1498281 [parser] Wrong primary key used for displaying results
124 - bug #1699772 Visual space bug in table name (in browser)
125 - bug #1699532 Cause of data manipulation issues: implemented changes
126 as suggested by crisp_; still have to work on updating an ENUM value
127 + [core] added PMA_fatalError() and made use of it
128 . [core] added PMA_isValid() and PMA_ifSetOr() for variable handling
129 . [i18n] use generic $strOptions
130 . [core] get rid of $propicon
131 . [core] globalized variables to be includable inside function in
132 libraries/select_lang.lib.php
133 + [doc] changed all documentation in config.inc.php to phpDocumentor style
134 + [data] support for CREATE VIEW from query results
135 + [gui] dropped css/ folder and moved into root of PMA
136 + [l10n] new: Sinhala, Macedonian
137 + [export] YAML export (see yaml.org), thanks to Bryce Thornton
138 + [upload] moved file upload functionality into own class
139 + [upload] make use of $cfg['TempDir'] for file uploads
140 + [server] improved display of binary logs
141 + [data] better error handling in tbl_create.php
142 + [routines] from Patch #1649881, thanks to Mike Beck
143 + [querywindow] store sql history in session
144 + [querywindow] sql history now without db too
145 + [querywindow] tweaks in sql history view
146 + [export] Native Excel (Spreadsheet_Excel_Writer) improvements,
147 thanks to Christian Schmidt
148 + [doc] requirement of mcrypt on 64-bit, thanks to Isaac Bennetch
149 + [lang] Danish update, thanks to Finn Sorensen
150 + RFE #1435922 [gui] navigation frame shows listing of databases when none selected
151 + [data] support BIT datatype (under mysqli), thanks to Christian Schmidt
152 + [display] automatic confirmation for sort by key, thanks to Juergen Wind
153 + [data] can now choose the number of insert rows
154 + RFE #1704779 [gui] link documentation from login page
155 + RFE #1513345 [setup] check control user connection during setup
156 + [structure] TRIGGERS: display/edit/drop/SQL export
157 + [browse] store browse state in session per query
158 + [lang] Turkish update, thanks to Burak Yavuz
159 + [lang] Galician update, thanks to Xosé Calvo
160 + [lang] Brazilian-Portuguese update, thanks to Airon Luis Pereira
161 + [gui] Insert/Edit: no longer display the Go button each 15 lines
162 but just at the end of a row
163 + [gui] Query window: use verbose server name if any
164 + [auth] patch #1712514 specify host for single signon, thanks to Thierry
165 + [gui] Navigator for the db list in the navigation panel
166 + [gui] Navigator for the table list in the content panel
167 - bug #1727138 HTML not encoded (more than 1000 characters)
168 + [display] Support for MySQL 5.0.37 profiling
169 + RFE #1743983 [gui] Replace $max_characters by a configurable param:
170 $cfg['MaxCharactersInDisplayedSQL']
171 - bug #1746186 LeftLogoLink fails if set to some external site
172 . [transformations]: remove "auto-detect" MIME-type that was never implemented
173 + [display] patch #1749705, Allow multibyte characters in number formatting,
175 - bug #1747215 Export emits blanks at line ends
176 - bug #1751172 Do not export data when exporting a single VIEW
177 + [lang] Swedish update, thanks to Björn T. Hallberg
178 + [lang] Russian update, thanks to Victor Volkov and the php-myadmin.ru users
179 + [privileges] Support password hashing on the Edit Privileges interface
180 - bug #1755339 Warn about rename dataase actually being copy/delete
181 - bug #1746921 Left frame shrinks on db change, thanks to Juergen Wind
182 + [gui] Export: Select All/Unselect All over the choices,
183 thanks to Florian Schmitz
184 + [lang] Japanese update, thanks to Ishigaki Kenichi
185 - bug #1759528 browse_foreigners fails due to newlines,
186 thanks to Hanno Boeck
187 + [lang] Norwegian update, thanks to Sven-Erik Andersen
188 + [lang] Italian update, thanks to Luca Rebellato
189 + [lang] Spanish update, thanks to Daniel Hinostroza
190 . [export] Do not obey $cfg['MaxTableList'] on database export
191 - [doc] UploadDir and the Import tab, thanks to Juergen Wind
192 - bug #1766975 Parameters lost when editing stored routine
193 - [export] patch #1766633 Incorrect export with specified MySQL port,
194 thanks to Juergen Wind
195 + [lang] Catalan update, thanks to Xavier Navarro
196 - bug #1751553 Drop-down instead of input when editing
197 - [data] foreign key browser: encoding mixups, thanks to Thijs Kinkhorst
198 - bug #1771721 Old SVN URLs
200 2.10.3.0 (2007-07-20)
202 - bug #1734285 Copy database with VIEWs
203 - bug #1722502 DROP TABLE in export VIEW
204 - bug #1729027 Sorting results of VIEW browsing
205 - bug #1733012 Unwanted table alias in delete button
206 - bug #1736405 Pretty printer and HTML line breaks
207 - bug #1745257 Invalid DB name is still displayed
208 - bug #1730367 Calendar "Go" has no effect
209 - bug #1748633 Incorrect parameter validation for VIEWs
210 + [lang] Russian revision, thanks to Victor Volkov and the users of
212 - Do not try to delete an internal relation if we just deleted an InnoDB one
214 2.10.2.0 (2007-06-15)
216 + [data] display all warnings, not only last one
217 - typo in fix for bug #1671813
218 - bug #1714908 Inserted Row Count is wrong
219 - bug #1712570 Deleting last record freezes
220 - bug #1717339 Missing header when deleting a checked column,
221 thanks to Michael Keck
222 - bug #1717477 Warning on Query page when db is empty
223 - bug #1721002 db rename -> undefined cfgRelation, thanks to Jürgen Wind
224 - bug #1721571 CREATE database privilege not always detected,
225 thanks to Gordon McNaughton
226 - bug #1715709 export in SQL format always includes procedures and functions
227 - bug #1722502 DROP TABLE in export view structure
228 - bug #1718787 Multi-server setup breaks Designer
229 - bug #1724401 Column truncation in repair table output
230 - patch #1726500 Wrong position of </tbody>, thanks to Jürgen Wind
231 - bug #1728590 Detected failing session_start fails, thanks to Jürgen Wind
232 - RFE #1714760 Obey ShowCreateDb on the Databases tab
233 - patch #1733762 Typo in message "INSERT DELAY", thanks to Victor Volkov
234 - patch #1730171 Dead message strLanguageFileNotFound, thanks to Victor Volkov
235 - patch #1731280 Avoid negative exponent in gmp_pow(), thanks to anosek
237 2.10.1.0 (2007-04-23)
238 =====================
240 - bug #1541147 [js] '#' in database names not correctly handled by queywindow.js
241 - bug #1671403 [parser] using "client" as table name
242 - bug #1672379 [core] Call to undefined function PMA_removeCookie()
243 - bug [core] undefined variable in libraries/tbl_replace_fields.inc.php
244 - bug [gui] query window icon did not work, thanks to Jürgen Wind - windkiel
245 . [general] use PMA_getenv('PHP_SELF')
246 - bug #1676033 [core] pow(int,int) causes overflow
247 - bug #1680952 [core] undefined function PMA_getUvaCondition()
248 - bug #1596328 [export] drop support for POSTGRESQL compatibility mode
249 - bug #1609443 [privileges] Grant all priv. on wildcard name (fix message)
250 - bug #1567317 [sqp] Syntax highlighter: extra spaces
251 - bug #1239401 [sqp] table dot numeric field name
252 - bug #1672789 [sqp] Undefined offset: 4 in sqlparser.lib.php #1674
253 - bug #1682044 [export] Export file even if file not selected
254 - bug #1664212 querywindow loses url encoded characters
255 - replaced ctype_digit() with is_numeric()
256 + [config] clean cookies on phpMyAdmin upgrade
257 - bug #1674972 [export] no export with %afm%
258 - bug #1667887 HTML maxlength
259 - bug #1679055 #1050 - Table '<table name>' already exists
260 - patch #1681620 [interface] support reordering of $cfg['ColumnTypes'],
261 thanks to Leonard den Ottolander
262 - bug #1690718 Can't edit if BLOB and no PK
263 - bug #1672636 [export] PDF export too wide
264 + [lang] brazilian-portuguese update, thanks to Airon Luis Pereira
265 - patch #1698964 javascript typo, thanks to Corey Hollaway
266 - bug #1703897 [css] undefined index 'js_frame'
267 - bug #1690561 Blobs being cleared on Edit of row
268 - bug #1679801 [core] XSS vulnerability in PMA_sanitize(), thanks to sp3x SecurityReason
269 - bug #1704467 XSS vulnerability in browse_foreigners.php, thanks to sp3x SecurityReason
271 2.10.0.2 (2007-03-02)
272 =====================
274 + bug #1671813 CVE-2006-1549 deep recursion crash
276 2.10.0.1 (2007-03-01)
277 =====================
279 . [config] set $cfg['Servers'][$i]['ssl'] default value to false,
280 we got reports from some users having problems with the default value of true
282 2.10.0.0 (2007-02-28)
283 =====================
285 - bug #1659176 [general] memory error displaying a table with large BLOBs
286 - bug #1668662 [install] can create the new pma_designer_coords table
287 + [gui] navi logo now links to main page by default, with still the possibility
288 of having an external URL
290 2007-02-25 Marc Delisle <lem9@users.sourceforge.net>
291 * libraries/common.lib.php: bug #1667466, undefined variable when
292 export + save on server
293 * server_status.php: bug #1665930, undefined PHP_SELF
295 2007-02-24 Marc Delisle <lem9@users.sourceforge.net>
296 * libraries/config.default.php: RFE #1621437, HEX and UNHEX were not
297 available for a BINARY field
299 2007-02-21 Marc Delisle <lem9@users.sourceforge.net>
300 * pmd/scripts/move.js: bug #1650770, Designer and Mac OSX,
301 thanks to Ivan Kirillov
303 2007-02-17 Marc Delisle <lem9@users.sourceforge.net>
304 * Documentation.html: patch #1659347, missing doc for some config,
305 thanks to Isaac Bennetch
306 * libraries/export/sql.php: bug #1663336, undefined variable
308 2007-02-16 Marc Delisle <lem9@users.sourceforge.net>
309 * libraries/common.lib.php, footer.inc.php: avoid generating big links
310 after an upload into a BLOB
312 2007-02-14 Marc Delisle <lem9@users.sourceforge.net>
313 * libraries/common.lib.php: white page after uploading a 700 Kio BLOB
314 * add a warning on main page if mcrypt can't be loaded (bug 1658160)
316 2007-02-12 Sebastian Mendel <cybot_tm@users.sourceforge.net>
317 * libraries/database_interface.lib.php: bug #1616486 server_databases does
318 not show all databases
319 * libraries/sqlparser.data.php: MySQL function and column names, reserved
320 and forbidden words updated,
321 bug #1657045 Spatial functions not supported
322 bug #1657037 Missing column type "geometry"
324 2007-02-09 Marc Delisle <lem9@users.sourceforge.net>
325 * main.php: some links should open a new page
326 * Documentation.html, libraries/navigation_header.inc.php,
327 libraries/config.default.php: $cfg['LeftLogoLinkWindow'] to decide
328 in which window the logo-linked page will appear
330 2007-02-09 Michal Čihař <michal@cihar.com>
331 * lang/czech: Fix syntax error (sorry for that).
333 2007-02-08 Marc Delisle <lem9@users.sourceforge.net>
334 * themes/darkblue_orange/img/logo_left.png,
335 themes/original/img/logo_left.png: smaller PMA logo for navi
337 2007-02-08 Sebastian Mendel <cybot_tm@users.sourceforge.net>
338 * themes/*/css/theme_right.css.php: bug #1653769 browsing highlight disabling
341 2007-02-06 Sebastian Mendel <cybot_tm@users.sourceforge.net>
342 * pmd_general.php, pmd_pdf.php, pmd_save_pos.php: fixed short open tags
343 patch #1652886 thanks to Martin Thielecke - mthie
344 * tbl_change.php: fixed escaping of field names in HTML and JavaScript
345 * libraries/common.lib.php: PMA_backquote() did not quote 0
346 * tbl_change.php: bug #1652810 - slashes are not escaped properly
348 2007-02-05 Marc Delisle <lem9@users.sourceforge.net>
349 * lang/japanese: Update, thanks to Ishigaki Kenichi - tcool.
351 2007-02-05 Sebastian Mendel <cybot_tm@users.sourceforge.net>
352 * lang/german: updated
354 2007-02-03 Marc Delisle <lem9@users.sourceforge.net>
355 * pmd/scripts/move.js: display problems in Opera, thanks to Maxim Bulygin
357 2007-02-02 Marc Delisle <lem9@users.sourceforge.net>
358 * tbl_replace.php: Calendar icon does not work on "Insert another new row"
360 2007-02-01 Marc Delisle <lem9@users.sourceforge.net>
361 * libraries/import.lib.php: bug #1626064, too much quoting on import
363 2007-02-01 Sebastian Mendel <cybot_tm@users.sourceforge.net>
364 * libraries/display_tbl.lib.php: bug #1644740 - $cfg['Order'] = 'SMART'
366 * libraries/Theme.class.php: removed __wakeup() due to some requirements are
367 not fulfilled at this point - also thanks to Jürgen Wind - windkiel
369 2007-01-31 Sebastian Mendel <cybot_tm@users.sourceforge.net>
370 * libraries/session.inc.php:
371 bug #1630871 - Detecting a missing write permission on sessions directory
373 2007-01-30 Sebastian Mendel <cybot_tm@users.sourceforge.net>
374 * libraries/sqlparser.lib.php PMA_SQP_analyze():
375 bug #1647785 - do not pass variables by reference
377 2007-01-29 Marc Delisle <lem9@users.sourceforge.net>
378 * lang/catalan update, thanks to Xavier Navarro (xavin)
379 * pmd_general.php: possibility of quotes in Designer messages,
380 thanks to Ivan Kirillov
382 2007-01-26 Michal Čihař <michal@cihar.com>
383 * libraries/common.lib.php, libraries/js_escape.lib.php,
384 test/escape_js_string.php, test/core.lib.php: Move java script escaping
385 to separate library, make it safer on </script> escaping and add
387 * test/theme.php: Move to test package.
389 2007-01-22 Marc Delisle <lem9@users.sourceforge.net>
390 * pmd/*: button for direct/angular links, thanks to Ivan Kirillov
392 2007-01-22 Michal Čihař <michal@cihar.com>
393 * lang/czech: Updated.
395 2007-01-21 Marc Delisle <lem9@users.sourceforge.net>
396 * libraries/Table.class.php: on a MySQL 5.0.33 server with 4400 databases,
397 one of which having 400 tables, it took more than 3 minutes just to
398 see the database structure (some accesses to INFORMATION_SCHEMA are
399 just too slow) so I changed PMA_Table::isView() to avoid calling
402 2007-01-20 Marc Delisle <lem9@users.sourceforge.net>
403 * libraries/sqlparser.lib.php: bug #1638267, wrong reserved word
405 * server_privileges.php: bug #1635377, superfluous backslash,
408 2007-01-19 Marc Delisle <lem9@users.sourceforge.net>
409 * pmd*, lang/*: Designer now supports set/unset of the display field,
410 thanks to Ivan Kirillov
412 2007-01-18 Michal Čihař <michal@cihar.com>
413 * lang/czech: Updated.
414 * libraries/auth/cookie.auth.lib.php: Make server switching honour more
415 server settings (patch #1630104).
417 2007-01-17 Marc Delisle <lem9@users.sourceforge.net>
418 * lang/turkish: update, thanks to Burak Yavuz - bourock
420 2007-01-16 Marc Delisle <lem9@users.sourceforge.net>
421 ### 2.9.2 released from QA_2_9
423 2007-01-12 Marc Delisle <lem9@users.sourceforge.net>
424 * (many files): Designer, two features (snap to grid / display field)
425 thanks to Ivan Kirillov
426 * libraries/Theme_Manager.class.php: patch #1611684, force a change
427 of a session variable to avoid phpmyadmin.css.php caching problems,
428 thanks to Christian Schmidt
430 2007-01-11 Marc Delisle <lem9@users.sourceforge.net>
431 * lang/estonian: Update, thanks to Marko Ellermaa - uhuu
433 2007-01-09 Michal Čihař <michal@cihar.com>
434 * index.php: Properly escape strings written in JS code.
435 * libraries/Theme_Manager.class.php: Avoid trigger error here, parameter
436 comes from user and it might lead to path disclossure.
437 * libraries/common.lib.php:
438 - Properly escape </script> in JS code.
439 - Check db, table and sql_query params to be string.
441 2007-01-08 Marc Delisle <lem9@users.sourceforge.net>
442 * libraries/session.inc.php: prevent attack on session name cookie
444 2007-01-05 Marc Delisle <lem9@users.sourceforge.net>
445 * libraries/session.inc.php: bug #1538132, remove the setting of
446 session.save_handler to 'files'
447 * pmd_general.php: patch #1627831,
448 English language improvements, thanks to Isaac Bennetch
449 * pmd_general.php, pmd_relation_new.php, lang/*: abstract messages
451 2007-01-04 Marc Delisle <lem9@users.sourceforge.net>
452 * pmd/scripts/move.js: avoid text selection when moving a table object
453 under MSIE 6, thanks to Ivan Kirillov
454 * libraries/db_links.inc.php: better icon for Designer, thanks to I.K.
456 2007-01-02 Marc Delisle <lem9@users.sourceforge.net>
457 * Designer: various fixes and improvements (for example support
458 for MSIE 6), thanks to Ivan Kirillov
459 * pdf_pages.php: undefined $pdf_page_number when no auto layout
460 * server_privileges.php: bug #1614087, deleting a user having a
461 global GRANT privilege fails under MySQL 4.1.x
463 2007-01-02 Michal Čihař <michal@cihar.com>
464 * libraries/common.lib.php: Add <div> to allow selecting whole SQL by
465 tripple click (patch #1611591).
466 * libraries/export/sql.php: DELIMITER should not be commented out (bug
469 --- Older ChangeLogs can be found on our project website ---
470 http://www.phpmyadmin.net/old-stuff/ChangeLogs/
472 # vim: et ts=4 sw=4 sts=4
473 # vim: ft=changelog fenc=utf-8 encoding=utf-8
474 # vim: fde=getline(v\:lnum-1)=~'^\\s*$'&&getline(v\:lnum)=~'\\S'?'>1'\:1&&v\:lnum>8&&getline(v\:lnum)!~'^#'
475 # vim: fdn=1 fdm=expr