* subshell.c (do_subshell_chdir): Use mc_realpath() to fix tcsh's
[midnight-commander.git] / NEWS
blob1a51559d68b41b188c4d266da47365268b89a2bc
1 Version 4.6.1-pre2.
3 Release candidate for 4.6.1.
5 - Security.
6         - Fixed CAN-2004-0226 (buffer overflows).
7         - Fixed CAN-2004-0231 (unsafe temporary file and directory creation).
8         - Fixed CAN-2004-0232 (format string vulnerablities).
9         - cons.saver does not need to be setuid-root on Linux.
10         - Hiding of FTP passwords.
12 - Portability.
13         - PC port has been removed.
14         - Support for SCO UNIX has been removed.
15         - Improve support for QNX Neutrino.
17 - Core functionality.
18         - Use 8bit input as default.
19         - Better support for '@' in FTP usernames.
20         - Better large file support (int -> off_t)
21         - Add gnome, rxvt and xterm-new terminals (keyword copy for mc.lib).
22         - Make the find dialog more responsive while scanning through large files.
23         - Add implementation to cons.handler for FreeBSD 4.x and 5.x.
24         - Screen saving is now supported on FreeBSD console.
25         - Hide temporary commands from history.
26         - Add --with-glib12 option to configure to force using glib 1.2.x.
27         - Add --disable-background option to disable background support.
28         - Background support now uses pipes instead of UNIX sockets.
29         - libX11 is loaded dynamically using gmodule if possible.
30         - User is warned if one mc is run from another.
32 - Screen libraries.
33         - Add many boundary check into internal slang library.
34         - Internal slang upgrade to 1.4.9.
35         - Increased maximum screen size to 512 x 512.
36         - Add support for qansi-m terminals.
38 - Editor.
39         - Fix bugs for mcedit compiled with ncurses.
40         - New status string format in mcedit.
41         - Support for large syntax files.
42         - Temporarily disable safe save and backups on remote VFS because it doesn't work.
43         - Enable user menu in mcedit.
44         - Add syntax file for the ASP.NET technology.
45         - Add syntax file for the Eiffel programming language.
46         - Add syntax file for the Ruby programming language.
47         - Add syntax file for the C# programming language.
48         - Upgrade php.syntax file.
49         - Improve sql.syntax file.
50         - Improve perl.syntax.
51         - Improve diff.syntax.
52         - Improve makefile.syntax.
54 - VFS.
55         - Full audit of quoting of parameters in vfs scripts (CAN-2004-0494).
56         - Fixed CAN-2003-1023 (stack overflow in vfs_s_resolve_symlink).
57         - Various fixes in tar.c.
58         - VFS supports iso9660 images.
60 - Translations.
61         - New translations: Mongolian, Serbian and Lithuanian.
62         - Updated translations: Ukrainian, Italian, Hungarian.
64 Version 4.6.0.
66 - Core functionality.
67         - Fixed infinite loop under xterm if xterm is forcedly closed.
69 - Portability.
70         - ncurses can be found even if it's renamed to curses (OpenBSD).
71         - Warning fixes for 64-bit systems.
74 Version 4.6.0-pre3.
76 Another release candidate for 4.6.0.
78 - Core functionality.
79         - ".." is no longer shown in the root directory.
80         - Fixed segmentation fault when processing truncated
81           section header in the corrupted initialization file.
83 - Screen libraries.
84         - Fixed incorrect processing of AltGr on Linux console
85           introduced in -pre2.
87 - Documentation.
88         - Fixed a bug in man2hlp that could randomly prevent correct
89           generation of the help files.
90         - Added manual page for mcview.
93 Version 4.6.0-pre2.
95 Release candidate for 4.6.0.
97 - Security.
98         - mc now creates its own temporary directory /tmp/mc-$USER.
99           If it fails or permissions are wrong, the user is warned.
101 - Portability.
102         - mc now complies with the Filesystem Hierarchy Standard and
103           uses @prefix@/share/mc for the data files.
104         - Support for glib 2.0.x has been added.
105         - glib 1.2 is now properly detected on FreeBSD.
107 - Core functionality.
108         - Fixed segmentation fault when displaying messages from
109           background operations.
110         - When using support for setting the last working directory of
111           mc in the parent shell, "mc" is now an alias in all shells,
112           not a function.  The "-P" option needs an argument now.
113         - Alt-O sets the same directory on the other panel.
114         - Current directory is shown in the xterm window title.
116 - Screen libraries.
117         - Screen library is now selected by the option --with-screen.
118         - X11 support is enabled by default, use --without-x to disable.
119         - The keycode now contains information about all screen
120           modifiers.  This allows to implement more shortcuts, but this
121           work has just begun.
122         - Included S-Lang library has been updated to version 1.4.5.
123         - Mouse wheel is supported in the internal editor and viewer in
124           xterm compatible terminals that implement wheel events.
126 - Editor.
127         - Internal editor now saves the cursor position in the file.
128         - New syntax rules - RPM specfile, m4.
129         - Editor shows control characters in the caret notation.
131 - VFS.
132         - Most extfs scripts have been reviewed and improved.
133         - Fixed viewing and editing files on mcfs.
134         - Support for termnet and HSC firewall has been removed.
136 - Documentation.
137         - Polish manual has been added.
139 Version 4.6.0-pre1.
141 - Security release.  Massive code cleanup.  Most improvements didn't
142   need any significant amount of the new code.
144 - Security.
145         - Fixes for remotely exploitable buffer overflows in VFS.
147 - Ports and editions.
148         - GNOME edition has been removed.
149         - OS/2 port has been removed.
150         - MAD (Memory Allocation Debugger) has been removed.
152 - Core functionality.
153         - Large file support enabled by default.
154         - Shift-F5 and Shift-F6 copy and rename like F5 and F6, but
155           suggest the selected filename as the destination.
156         - File search with contents doesn't use external egrep.
157         - Directories with many files are now reloaded much faster.
158         - Subshell works under Cygwin.
160 - Screen libraries.
161         - Improved support for ncurses.
162         - Dropped support for the old Curses library.
163         - Colors are enabled on all capable terminals when using S-Lang.
164         - Syntax highlighting now works with ncurses.
166 - Editor.
167         - Editor files are now stored in ~/.mc/cedit instead of ~/.cedit
168           to avoid collision with Cooledit.
169         - New syntax rules - PHP, Tcl, SQL, DOS batch file.
170         - Editor supports word completion.
172 - VFS.
173         - Local temporary file is used for uploading via ftpfs/fish only
174           if file is uploaded to the same ftp/fish server.
175         - mcfs support is disabled by default.
176         - Samba configuration and codepage files locations can be
177           configured.
178         - .netrc support in ftpfs is enabled by default.
179         - Viewing zip files could corrupt them.
181 - Documentation.
182         - Added manuals in Spanish, Italian and Russian.
183         - Help files are not distributed, but generated during the
184           build from the manual pages.
186 - Translations.
187         - Belarussian translation has been added.
190 Version 4.5.55
192 - Mostly bugfixes and portability fixes.  Making things work as they
193   were meant to work.
195 - Text edition improvements.
196         - Ctrl-O supported in the viewer and editor.
197         - Better terminal support.  Should not need "Learn Keys" on rxvt
198           and xterm in most cases.
200 - GNOME edition improvements.
201         - Find dialog rewritten.
202         - Editor and viewer ask whether to save modified file when
203           closed from window manager.
205 - Editor.
206         - New syntax rules - S-Lang, PO files, Octave.
207         - Alt-B goes to matching bracket.
209 - Portability improvements.
210         - Should compile out-of-box on Cygwin and QNX Neutrino.
211         - Can be compiled by BSD make.
212         - Subshell and VFS code are safer and more portable.
214 - Experimental features (disabled by default).
215         - Charset conversion support.
216         - Large (64-bit) file support on 32-bit systems.
219 Version 4.5
221 - Too many new features to list.
223 - This is the last version to be actively maintained.  The GNOME
224   edition is in stabilization and maintenance phase only.  A new file
225   manager is being written for the GNOME project.
228 Version 3.5
230 - New hotlist code.
231         - The bookmark code has been completely revamped and now it supports
232           folders.  New format for the hot list file.
233         - It is possible to copy a selected path name into the input line 
234           (C-Enter).
236 - Tk enhancements.
237         - New built in GUI designer to help developers modify the look
238           of the program at run time (no penalty for users).
239         - Many dialog boxes now work.
240         - Right button now pops up a context sensitive action menu.
241         - Added many visual enhancements.
242         - The Tk edition is not yet finished though.
244 - File management.
245         - Now we do background copy and move operations.
246           (you can ftp your files in the background now, for example).
248 - Built in text editor
249         - This is an easy to use text editor with pull-down menus.
250           The features it presently supports are: Block copy, move,
251           delete, cut, paste; key for key undo; file insertion; macro
252           definition; regular expression search and replace (and our
253           own scanf-printf search and replace); shift-arrow MSW-MAC
254           text highlighting (for the Linux console only);
255           insert-overwrite toggle; and an option to pipe text blocks
256           through shell commands like indent.  
258           Comes with Emacs keybindings as well.
260           mcedit is a link to mc which bring it up in editor mode. 
262 - FTP File system
263         - Many fixes and enhancements, better support for proxy
264           machines.
265         - Now we support both active and passive opens.
266         - Estimated time of arrival for ftp transfers.
267         - stalled detection.
268         - Much better support for proxies.
269         - ftp URLs now allow a password to be provided.
271 - ext2fs Undelete File system
272         - Minor enhancements.
274 - TAR File system
275         - Now we flush the tarfs if the tar file has been modified
277 - External File systems:
278         - Speeded up RPM file system.
279         - New LHA file system.
280         - New ARC file system.
281         - New DEB file system (for those users of Debian).
282         - New RAR file system.
283         - Fixed problems with different zipfs.
285 - MC file system:
286         - We get can use a mc file system by using either mc: or mc:// prefixes. 
288 - Viewer changes:
289         - Now we include a program that preprocesses mail if you view it
290           so, you get colored mails in the viewer.
291         - A simple ruler has been implemented (press Alt-r to enable it).
293 - New hex editor
294         - Now you can do hex editions in your files with a single keystroke.
295           (invoke it by using the hex-viewer and then clicking on edit).
297 - Find file command:
298         - Now we can search inside files using a piped grep (particularly
299           interesting to search inside virtual file system: tar files, 
300           tar files on remote ftp sites, or searching information on an 
301           ftp site)
303 - Widgets:
304         - Input lines now support control-left, control-right movement on the
305           Linux console.
307 - Extension file:
308         - We now support extra entries in a given rule with the Include=
309           tag.
310         
311 - Ports:
312         - Windows NT, Windows 95 by Juan Grigera
313         - OS/2 by Alexander Dong.
316 - Many many many bug fixes and memory leaks have been fixed.
319 Version 3.2
321 - External File system:
322         - Mtools file system works.
323         - New Cpio file system.
324         - New RPM file system.
326 - FTP file system:
327         - support for HSC firewall
329 - Lots of subshell fixes
331 - Regexp-extension:
332         - Editing of non-local files works now.
334 - Bunch of bug fixes.
336 - Panelize now works properly.
338 - Can work on Nextstep now.
340 - Windows NT port by Juan Grigera.
342 - Midnight Commander file system server:
343         - Fixed errno handling in the server.
344         - Fixed time handling in the server.
345         - Better caching.
346         - Works with PAM if supported on the system.
348 Version 3.1
350 This has been finished:
352 - Enhanced ftpfs:
353   - Displays progress bars.
354   - Supports Netware and Windows NT servers
355   - Better support for symlinked files.
356   - Handles those warez sites file names.
357   - Increase the directory cache timeout.
358   - Cache flushing (C-r)
359   - If you append a /~ to the directory, you will log into your home
360     directory (this is done by default if you use the menus to connect).
361   - More robust.
362 - Subshell fixes (it should not hang any longer).
363   - Fixes prompt handling for zsh and tcsh users.
364   - Fixes variable expansion for tcsh (now you may edit files).
365   - Rewrote the sync code between the parent and child, should not hang
366     any longer.
367 - Better command completion.
368 - Keypad handling enhanced:
369   - Special key treatment for +, -, \ and now may be configure to
370     only take place if you do not have a command typed in.
371   - Now the + and \ bindings when ran on the Linux console work
372     may use the keypad and M-+ and M-\ and leave the + and \ keys
373     free.
374 - Better handling of the line drawing chars on OSF/1 and AIX.
375 - Enhanced tar/compressed tar file systems.
376 - Global kill ring.
377 - Added undelete feature for Linux systems: now you may recover deleted files
378   on ext2 file systems with the Undelete file system.
379 - Symlink commands (for symlink lovers).
380   see the docs on C-x C-r,  C-x C-l, C-x C-s keystrokes.
381 - New macros:
382   %b and %B return the basename of the selected filename
383   %var{ENV-VAR} expands to the contents of ENV-VAR variable.
384 - MC may be invoked as a viewer (mc -f flag).
385 - Added Unicode support on the Linux console (run with mc -N)
386 - Tons of bug fixes, the code is cleaner and hopefully 
387 - Allow a vfs pathname to be passed as a startup directory.
389 This is a list of people that put their effort into making the 3.1
390 release:
392 Adam Tla/lka, Antonio Palama, Carl Thompson, Ching Hui, Dugan Porter, Gerd
393 Knorr, Ilya Rybkin, Jakub Jelinek, Janne Kukonlehto, Juan Grigera, Juan Jose
394 Ciarlante, John Davis, Marcelo Fabian Roccasalva, Perry Francis Nguyen,
395 Sergey Ya Korshunoff Steven Hirsch, Thanh Ma and Torben Fjerdingstad.
397 Version 3.0
399 This has been finished:
401 - Virtual File System: You now can browse tar, compressed tar and 
402   file systems over the network as if they were local subdirectories;
403 - Slang support, you don't need ncurses anymore (but you can still compile
404   with ncurses, if you want).
405 - New mc.ext format, for details see the sample mc.ext file provided.
406 - Append option if you try to copy/move a file onto already existing one.
407 - Internal cd command uses CDPATH variable if set (like in BASH).
408 - Find file command is much faster.
409 - External panelize command - finding files using unlimited number of
410   criteria - actually spawns an external command and it can be find, awk,
411   grep -l or anything else.
412 - Learn keys makes setting up of mc on terminals with broken
413   terminfo/termcap databases easier. It just asks you to press keys which
414   are not working.
415 - Advanced chown command.
416 - C-PgUp and C-PgDn takes you to the previous and currently selected
417   directory respectively on the Linux console.
418 - You can choose between 7 data bits, iso-latin-1 (0-127+160-255) or
419   other (0-255).
420 - Confirmation for overwriting, deleting and exiting added.
421 - Viewer has growing buffers.
422 - Filename, username, hostname and variable completion (M-Tab) on all
423   input lines plus command completion on appropriate places of command
424   line.
425 - Following of symlinks at changing directory.
426 - Viewer now supports bold faces and underlines, and it fits the 
427   information on the screen better.  Now you can also specify the starting
428   mode for the viewer depending on the contents of the viewed file.
429 - Mask rename and copy.
430 - Colors now let you specify the intensity of the colors you want.
432 This is being worked on:
433 - Virtual File System: FTP file system.
434 - Tcl/Tk and XView versions of the program (preliminary versions are
435   up and running).
438 Version 2.0
440 Now users are able to define their own display 
442 - User defined display formats.
444   Now you can configure the file display to suit your needs.
445   For example, you can say which information you want to see displayed
446   instead of our defaults.
448 - User definable program layout.
450   Panels could be shown vertically or horizontally;
451   panels could be different sizes, you can hide or show most
452   program windows (command line, keybar or menubar).
454 - Output window.
456   Now, it's possible to see part of the last program output on the Linux
457   console without having to switch screens via an option in the layout
458   menu.
460 - New View modes:
462      Quick view: as you browse your files, each one is displayed on
463                  the other panel on the idle time.
465      Tree view:  let's you browse your directories by traveling a tree.  
466                  We have two traveling modes available.  And the tree does
467                  not take your precious time: it's build on the fly, as you
468                  browse your disk (you can always loose your time if you
469                  want to :-).
471      Info view:  Gives you information on the currently select file and
472                  the current file system as you move.
474      User view:  Let's you define a directory listing and the format you
475                  want to use.
477 - New subshell support (concurrent shell execution)
479   The Midnight Commander will now spawn one copy of the shell, so you
480   get better performance and you can use shell functions, define variables
481   and execute complete shell commands.  Supported shells: bash, zsh and
482   tcsh.  If your shell is not supported, then the old mode is still
483   available.
485 - Dialog box manager
487   Almost all the new configuration options are configured with this
488   new dialog manager, easy to use if you are familiar with dialog boxes
489   in DOS and Windows. 
491   Available widgets: check buttons, buttons, radio buttons, 
492   input lines and list boxes (So you can take our code and use it on
493   your applications).
495 - New option configuration.
497   Now the program options are configured with a dialog box.
499 - Chmod and Chown commands:
501   For changing permissions as well as ownership of files and
502   directories, uses our new dialog manager.  
504 - Color customization support
506   Now you can change the default color of the program with any of
507   these:
508   environment variable, Colors section in the init file (colors per 
509   terminal type) and command line.
511 - User menu and extension enhancements:
513   Execution understand the %t macro (tagged files). 
515   User menu also has a new macro to let the user specify options.
517   You can hide and show entries in the user menus by using conditions.
519   Auto detect best match depending on a regexp.
521 - Viewer: 
522      Goto line command,
523      horizontal scrolling,
524      on the fly decompression (and we don't eat unneeded cycles of CPU),
525      allow non gunzip operation.
527 - Internal move command:
529   Now, we don't rely anymore on system commands in /bin, so the
530   program is more robust and is much faster.  Bunches of code come
531   from the GNU fileutils.
533 - The Tree view and normal views allows wrapped incremental searches of
534   file names.
536 - Mask rename:
538   Now it's possible to do things like rename *.pas in *.bak
540 - Compare directories command
542 - Allow panels to be in Long mode without forcing the user to a single panel.
544   (You can even have two long panels).
546 - F10, C-g cancels as well as ESC ESC.
548 - Improved help system.
549   
550   We updated and spelled the help system and added a lots of links.
551   The Web page is constructed with the same tools.
553 - Allows tagging of directories:
555   Now you can copy, rename, move and delete complete directories.  You
556   are not limited anymore to files.  
558 - View output (screen save/restore) on Linux console.
560   On old Linux systems, only b&w is supported, on newer Linux systems
561   (1.1.67 and newer), we also support color screen save/restore and
562   cursor positions.
564 - 8 bit clean support.
566 - Visual feedback while i-searching files.
568 - Much more intuitive, you have to use it.
570 - It's better than aspirin.
572 - New memory allocation debugger.
574   During testing time, we used a powerful memory allocation debugger,
575   so the program will not eat all your memory, and will make a good use of
576   your memory.  
578 - Now it also runs on hppa-hp-hpux9, hppa-hp-hpux7, m68k-apple-aux and
579   sparc-sun-netbsd1.0.  The best platform to run it is Linux, of course,
580   since that's where most of us develop it.
582 - Inode sort option.
584 - Nice progress status indicator.
586   We have two of them: a moving dash indicator and a progress bar
587   indicator for file operations.
589 Version 0.15
591 - Uses GNU autoconf.
592    Currently, it has been ported to this configurations:
593    i386-*-linux1.0
594    i386-*-linux1.1
595    mips-sgi-irix5.2
596    mips-dec-ultrix4.3
597    rs6000-ibm-aix3.2.5
598    sparc-sun-sunos4.1
599    sparc-sun-solaris2.3
601 - Improvements to the internal file viewer:
602    Wrap/Unwrap mode.
603    Hex mode.
604    Hex searches.
605    Now you can view compressed files (gzip, compress, zip, pack and lzh).
606    Performance enhancements, now it's much faster.
607    Works on systems without mmap.
609 - Mouse Support now also works on xterms.
610    If you run in the Linux console, you will still need the gpm mouse server
611    to use the mouse support, but if you use xterms, then you're lucky 
612    and can use the mouse support when using xterms.
614 - Help system and man page.
615    Both were updated and has many more hypertext links inside, the
616    help system can also be used with a mouse.
618 - If running on xterms, now you can see the output of the last program
619   you ran by using the C-o key combination.
621 - Switch panels command (C-u)
622 - With filter command per panel.
623 - With auto mounting/umounting on chdir feature.
624 - cd now expands tildes (~, ~user).
625 - Much more portable.
626 - Many bugs were fixed.
628 Version 0.14
630 - Now can handle directories with an unlimited number of files.
631 - New link and symlink commands (C-x l, C-x s).
632 - New insert tagged files or selection command (C-x t).
634 Version 0.13
636 - Behave more like the Norton Commander.
637 - Added menu file edit.
638 - If there is no permission to load a directory, now it loads a dummy
639   directory.
640 - When a panel is re-sorted, keep the selected file selected.
641 - forward_word and backward_word command on the input line now skip
642   over letters and numbers.
643 - Fixed backward scrolling in the internal viewer.
644 - The internal viewer now computes the percentage in a more natural
645   way.
646 - Added handling of the Home and End keys to the internal viewer
647 - Bug fixes.
649 Version 0.12
651 - Preliminary support for System V compilation.
652 - Bug fix: didn't call closedir in all cases.
653 - bug fixes.
655 Version 0.11
657 - Support cd -.
658 - Corrected Makefile.
660 Version 0.10 
662 - Added new Alt-G, Alt-H, Alt-J to select the top file, middle file
663   and bottom file in the current panel.
664 - Now it's allowed to select option in query boxes by the first initial
665 - Fixed mouse repeat rate.
666 - Fixed a bug that prevent copying individual files to another file.
667 - Some minor bug fixes.
669 Version 0.9
671 - Mouse Support.
672 - Internal Copy command (it no longer uses cp).
673 - Verbose Copying of files.
674 - Confirmation on Overwrite and on Delete.
675 - Support reverse sorting.
676 - Many visual enhancements.
677 - Per panel options are saved and restored.
678 - New truncation of names in the panels.
679 - History in Input Lines (M-p and M-n).
680 - Input line enhancements.
681 - Dialog boxes are nicer than before.
682 - Cache in gid and uid translators.
683 - More keybindings for the Input lines.
684 - Better kill management in Input Lines.
685 - Bug fixes.
687 Version 0.8
689 - The online help now comes with the complete man page.
690 - Input lines now support M-b and M-f for movement by word.
691 - Unlimited input lines (command line).
692 - Filename searches now must be started with C-s or M-s.
693 - Many bug fixes.
695 Version 0.7
697 - The stat() reloading optimization is now a configuration option.
698 - Many bug fixes went to the find file command.
699 - New history in the hypertext viewer. 
700 - ESC-Tab will copy the name of the other-panel selected file to the
701   input line.
702 - Now it's possible to display files and directories mixed together or
703   separated (like the Norton Commander).
704 - Many bug fixes, see the ChangeLog for details.
706 Version 0.6 
708 - Extension dependent execution implemented (now you can execute
709   things like tar tzvf over compressed tar files, just a tap in the
710   Enter key).
711 - Added simple expansion of useful variables in the user menu.
712 - Avoid unnecessary reloading of subdirectories using stat (suggested
713   by Torben Fjerdingstad <tfj@olivia.ping.dk>).
714 - Added options to disable colors and display version number.
715 - Allow start up directory specification (ex: mc /usr/local/bin /tmp).
716 - Fixed bug that operated on the selection instead of the tagged file
717 (when only one file was tagged). 
718 - Some cosmetic changes.
719 - Bug fixes.
721 Version 0.5
723 - Fixed bug in the help browser that crashed the program.
724 - New internal viewer.
725 - New long directory listing format.
726 - some bug fixes.
728 Version 0.4 
730 - User Menus (F2 key).
731 - Quick search of files in a panel (Alt-filename takes you to that file).
732 - Char quoting (C-q).
733 - exec() enhancements.
734 - now you can suspend the program (C-z).
735 - The find file command now seems to be very stable.
736 - misc bug fixes.
738 Version 0.3
740 - Setup loading/saving.
741 - Support for any size screen.
742 - Many, many bug fixes.