NEWS -- Release Version 1.12 (1622) - supplied with 2.1.1 -- Last-update: 2005-07-01 [SU] * Fixed Quartz live-resize bug * Updated FAQ for 2.1.1 Last-update: 2005-06-20 [SU] * Fixed package installer to handle Bioconductor repository properly * Added Xcode 2.1 project * Added preference to disable function arguments hints (applies to both console and editor) Last-update: 2005-05-30 [SU] * Added "protected mode" to REngine which disables events for the duration of short, atomic operations like arguments lookup or code completion. This should fix recent crashes caused by longer lookups. Last-update: 2005-05-27 [SU] * Re-write of the Quartz text handling; should fix some exceptions and fix problmes with font metrics (the previous one provided bogus values) Last-update: 2005-05-19 [SU] * Don't run system events if ProcessEvents is called too frequently (calls to the system loop will be at least 150ms apart) Solves speed issues where loops were slower in the GUI than on cmd line -- Release Version 1.11 - supplied with R 2.1.0 Patched (2005-05-12) -- Last-update: 2005-05-12 [SU] * Fixed crash in PI when filter (search) was on and installation failed Last-update: 2005-05-11 [SU] * Added support for function arguments lookup in the console * Added status line to the console (only used for the args lookup so far) * Added better warnings in package installer and cleaned up previous * Set cursor color to match the input/normal text * Make sure the help window is key after runnig help from the console * Use status line for all commands executed by REngine * Added code/file completion to the editor * Added global code/file completion shortcut <.> (as in Xcode) still works in the console, but obviously not in the editor * Added status line and arguments lookup in the editor * Fixed buttons availability in package installer * Added re-entrance tracking to the REngine. Currently CodeCompletion and editor's argument lookup honor the preventReentrance flag. It is disabled by default but can be enabled by: defaults write org.R-project.R "REngine prevent reentrance" YES We need some testing to see if reentrance at a wrong time can crash R Last-update: 2005-05-10 [SU] * Added help search history to search field in editor, fixed menu issues * Re-designed help browser - added support for search field history * Sort packages in package installer by name (case-insensitively) * Added package search/filter to package installer (with recent search menu and the option to show installed packages only) * Cleanup of the package installer interface - buttons are grayed when busy and the list doesn't just disappear * Added "Update All" functionality to the package installer (supports internet repositories including custom one) * Fixed custom repository source install (used binary in R 2.1 patched) * Remember custom URL across sessions. Show the field only when relevant. * Reload package list after instalaltion so the newly installed versions are reflected in the list * Change package installer to use contriburl and type parameters (to make it compatible with R 2.2 - the CRAN parameter is deprecatred) * Fixed bug in single-item select.list() calculating wrong list height Last-update: 2005-05-09 [SU] * Fixed CPU hogging while waiting for system() to finish. Calling PE too often slowed down source package installation a lot. Last-update: 2005-05-06 [SU] * Fixed history handling to work with UTF-8 paths * Fixed race condition in preference notification Last-update: 2005-05-05 [RG] * Fixed selecting the .Rhistory file from the correct, newly set working dir after drag&drop Last-update: 2005-05-02 [SU] * Updated syntax highlighting to recognize identifiers containing numbers * Optimized syntax highlighting - scans only one line unless quotes change multi-line strings. Should yied huge speedup for large files. -- Release Version 1.10 - this revision is supplied with R 2.1.0 -- Last-update: 2005-04-26 [SU] * Changed version to 1.10 - release! * Make sure preferences are saved before R quits * Fixed crash/exception on font change in the console * Added force.LANG and ignore.system.locale preference entries. There is no GUI for those, but they can be set using "defaults". ignore.system.locale is boolean and sets locale to en_US.UTF-8. force.LANG is a string that replaces the LANG seting. If present, but empty, LANG is not touched. force.LANG has higher precedence. These are useful to override system's locale settings for one reason or another. Last-update: 2005-04-25 [SU] * Bumped up version to 1.10 (pre) - getting ready for the release * Don't use syntax highlighting for show.files documents * Optimized line number rendering (huge speed-up for large files) * Fixed encoding in saved filed (was UTF-16 instead of UTF-8) * Fixed syntax highlighting for newly opened files Last-update: 2005-04-25 [RG] * Fixes in the editor preference pane * Fixed document closing behavior * Show R NEWS file when asked "What's new?" Last-update: 2005-04-20 [SU] * Added support for default CRAN mirror (preference and check in Package Installer) * Fixed brace highlighting bugs that caused exceptions and crashes in the editor (note to developers: NSTextField is very unhappy when something changes contents inside the "edited:" callback - if you wish to make changes, you must do it synchronously *after* the edited: callback is done. Our NSTextStorage subclass allows this). * Use more efficient backend for editor documents Last-update: 2005-04-18 [SU, RG] * Updated NIB localization script. The operation must be specified on the command line, deliberately there is no default anymore * Updated FAQ * Fixed failing "Save" in editor on OS X 10.4 (Tiger) [RG] Last-update: 2005-04-15 [SU] * Fixed bug in AMPrefs causing an attempt to release a system font * Added progress indicator to package installer * Fixed package installer to work with R 2.1 (it did not unless CRAN mirror was set manually before) * Reverted REngine back to --gui=cocoa in order to not break compatibility with R 2.0 (corresponding change was made in R 2.1) Last-update: 2005-04-13 [RG] * Fixed a bug in drawing on a miniaturized active Quartz window [RG] Last-update: 2005-04-12 [SU] * Fixed a bug in the code completion (uncaught exception when completion of the complete was attempted) * Fixed R engine to use --gui=aqua (necessary for R 2.1.0) * Display FAQ distributed with R.app (was: fw version of it) Last-update: 2005-04-04 [SU] * Some more cleanup in the editor toolbar, added Save item * Added go-to-line () capability in editor Last-update: 2005-03-31 [SU] * Added editor toolbar * Added help search capability to editor * Added pop-up list of functions to edtior * Made editor and console use new toolbar look in OS X 10.4 * Assume UTF-8 when loading documents by default * Make `system' call modal even for root. This should fix installation of packages when authentication is on. Still, we have no way of interrupting root tasks. * Add startup debugging messages (Development target only) Last update: 2005-03-07 [RG] * Re-enabled width & height parms in quartz() * Enabled history entry delete by button * Optional removal of duplicate previous entry from history * Optional (through pref pane) cleanup of history entries (stripping of irrelevant chars, lines and/or comments) Last update: 2005-03-04 [SI] * added callback for select.list (do_selectlist) R function, the code needs some cleaning though. Last update: 2005-02-28 [RG] * Made all history files R compatible * Updated relevant prefpanes * Enabled double clicking on a file or dropping a file on the R icon to set the working dir during start-up of R Last update: 2005-02-25 [RG] * Enabled dropping dirs on the R icon to set the working dir * Note: It is possible to 'open -a R.app .', which will open R in the directory in which the open command is executed. Last update: 2005-02-23 [SU] * Changed help file handling to use customized print method (applies to R-devel only and requires change in R itself!) Last update: 2005-02-18 [SI] * added French localization; changed credits Last update: 2005-02-18 [RG] * Added support for .Rhistory files (import, export and editing) * Added support for persistent R.app history files Last update: 2005-02-16 [RG] * Fixed some consistency issues with help * Made the R Console searchfield initially an exact search * Enabled expanded search if help topic not found Last update: 2005-02-13 [SU] * Fixed crash in console after output w/o EOL Last update: 2005-02-12 [RG] * Separated prefpanes for General and Editor * Enabled line wrapping in editor Last update: 2005-02-10 [RG] * Added pref pane for syntax highlight colors Last update: 2005-02-05 [SU] * Added localization in all Obj-C code; updated l10n scripts * Added scripts for localization of Obj-C code Last update: 2005-02-03 [RG] * Added simple line number support in source editor. * Fixed some issues around deleteBackward in editor * Brace highlighting in editor re-enabled * Fixed some minor issues on repositioning and resizing of Quartz windows. Last update: 2005-02-01 [SU] * Added forward/back buttons in help browser window * Added update.localization script for automated update of localized NIB files. * Switched over to Cocoa API for auto-completion. Unfortunately the system is somewhat limited, so it's far from perfect. It seems that we need to implement our own drop-down to make it behave more intuitively (so, please, hold your horses before reporting bugs on this one...). Last update: 2005-01-19 [SU] * Fixed typo in loc. strings (which caused an exception on start) * Fixed bug in RController causing R-GUI to not compile for most recent R-devel * Added some more UTF-8 support Last update: 2005-01-13 [SU] * Fixed compatibility issue with R-devel (2.1.0) * Enable UTF-8 support for R-devel (2.1.0). This finally fixes most encoding issues and allows support for many languages * Changed REngine to use UTF-8 Last update: 2005-01-12 [RG, SU] * Fixed openRecent behaviour [RG] * Fixed crash in the timer (REPL is non-delayed now) [SU] * Fixed document open/save bugs [SU] Last update: 2005-01-11 [SU] * Added undo checkpoint at in the editor * Remove undo stack in the console after prompt to prevent entries from previous lines to mess up the console (we may want to add some more sohpisticated undo policy later) * Fixed R startup issue which required to be hit sometimes (introduced in 2005-01-10 commit) * Fixed undo issues (the correct manager is used) * Fixed NSRunStorage exceptions (pasting large chunks or huge output works now) - console now uses direct text storage messages for better reliability and speed * This is the just the beginning in the process of dismantling RController into RConsole* classes. RController should handle only application-wide issues. Any console-related functionality should go to one of the RConsole classes. * Changed document handling to proper MVC - both the editor and the console consist of three parts: - the document class handling new/open/save etc. - window controller handling interactions with the window - text storage class handling text manipulations Especially the separation of the text storage may be very useful for content checking (hidden chars) and highlighting. * Added Rcommand document type which represents the console as a document (for now not fired at launch time). The corresponding NIB file is RConsole and the RConsole* classes. Last update: 2005-01-10 [SU] * Changed the way R is started to get out of the timer/notifi- cation context. This is somewhat experimental, because is is quite complex (using runDelayedREPL and posting ) Last update: 2004-12-30 [SU] * Fixed bug in color preferences causing an exception to be thrown when chenging transparency of a pure white bg * Added support for transparent background to editor windows * Fixed bug in RDocument (window could not be identified) * Make console window key after setting up R * Some Quartz cleanup [RG] Last update: 2004-12-29 [SU] * Removed superfluous and wrong color handling code - should fix crashes related to new documents. Last update: 2004-12-29 [RG] * Fixed 'Open With' R (opening a file from Finder with R) * Fixed opening many 'New Document' windows * Removed dummy NSLog statements in RDocumentController (likely all 3 issues above were caused by defaultColor initialization in RDocument) * Fixed RQuartz window zoom and deminiaturize (now redisplays) * Improved RQuartz window location handling * Fixed handling of radio buttons in Editor and Misc PrefPanes (behaviour changed between OSX 10.3.6 and 10.3.7?) Last update: 2004-12-27 [SU] * Fixed a potentially dangerous bug in stdout/err thread code (writing one byte off the end of a dynamic buffer) * Fixed improper R loop start * Added new target "Debug" - it should be used for deployed binaries that will contain debug information. The development target uses zero-link which makes it unusable for any deployment. * Added exception debugging code - exceptions are traced and dumped on the console (Debug/Development only). * Changed R loop start to happen during the AFL notification instead of a timer (experimenal, see note below). * Made most of the console writing code thread-safe. NOTE: there seems to be a serious issue: R's SETJMP interferes with Obj-C exception handling (or vice-versa). There is now some experimental code in this commit that tries to explore the possibilities, but it's not a final solution yet. Last update: 2004-12-10 [RG] * Quartz window location and size preferences implemented. Font not done yet. Last update: 2004-12-08 [RG] * (re-)enabled printing of docs in editor, for now, clears and restores background color before printing * changed horizontalPagination from Auto to Fit * enabled printing help pages with print button * kept full path for editor app or script * informational panel if help topic is not found Last update: 2004-12-07 [RG, SU] * changed showing and changing of working directory to abbreviate paths using ~ where possible [SU] * fixed path handling to use NSString and NSFileManager - this fixes issues with non-ASCII paths [SU] * minor cleanup in preference panes (code+NIBs) [SU] * added initial working directory setup in misc PP [RG] * added support for the new preference system in all PPs (fixes things broken in the last commit) [RG] Last update: 2004-12-05 [SU] * fixed casting issues in AMPrefs * added handleHelpSearch callback, moved the corresponding code out of Rcallbacks, converted SearchTable to use SortableDataSource * moved preferences controller from Rcontroller into its own class PrefWindowController - makes more sense and is now handled by NIB instead of manual allocation * Added proper Preferences class handling all preferences * cleanup of Rcontroller and prefs handling - currently only color preferences use the new system, therefore other preferences don't work (yet)! * moved preference keys to PreferenceKeys.h header * added support for configurable working directory (but the corresponding prefs pane still needs to be implemented) Last update: 2004-11-29 [RG, SU] * improved structure of RDocumentController, made edit default in MiscPrefPane [RG] * fixed handling of file names - use NSString wherever possible to avoid encoding problems [SU] * fixed some occurrences of non-UTF-8 strings in the R communication path (among others fixes sourcing and file-competion issues of filenames containing non-ASCII characters) [SU] Last update: 2004-11-27 [RG] * cleaned storing preferences EditorPrefPane and added New editor selection panel * fixed storing preferences MiscPrefPane * fixed blanks in filename paths for openDocument * fixed Save Document As for Quartz window Last update: 2004-11-24 [SU] * fixed bug in UTF-8 handling; removed the use of auto-release pools in Re_.. callbacks. Still ToDo: R doesn't understand UTF-8 so the GUI should use cString default encoding (even if we can't change it programmatically) -- Release Version 1.01 - this revision is supplied with R 2.0.1 -- Last update: 2004-11-16 [SU] * fixed handling of line endings: PC endings (\r\n) are now supported as R console input (also fixes some problems with AppleScript) * added transport buffer for ReadConsole to be logically correct. this also remedies the compilation warning in RController * fixed a bug in isAdmin() - uninitialized variable Last update: 2004-11-14 [SU] * added isAdmin() in Tools/Authorization to query the admin status of the current user (more precisely membership in the "admin" group) * changed default package installation target - for admin users the default is now system-wide installation * clean-up of the MiscPrefPane, removed redundant code from RController * added support for R_LIBS option: in MiscPrefs there is a flag that can be set resulting in ~/R/Library to be added to R_LIBS. This obsoletes hack in Rprofile which modified .libPaths without respecting or updating R_LIBS which in turn broke some R CMD ... scripts. Note that this setting has no effect if the hack is still in place (most notably in the R 2.0.0 release) * added R_GUI_VERSION_STR define * R_GUI_APP_VERSION environment variable is set by R.app such that R code can check the existence and version of the R.app Last update: 2004-11-06 [SI] * added Rob Goedman (for external editor support) code. * added standard copyright notes everywhere. Please check and add specific credits to users contributed code if any. Last update: 2004-11-05 [SU] * fixed a small leak and early deallocation of the keywordList (this fixes crash observed when editing a file dropped on R while R is initialized). retain all colors, too, to make sure they don't get deallocated * added SortedDataSource which provides a persistent table as data source. it is used by DataManager now and should by used by all managers later. the sorting part is not implemented yet, though. Last update: 2004-10-30 [SU] * moved callbacks for data manager, package manager, package installer and system command out to a separate handler. This means rather major changes in the code and the way data is stored in those managers (removed all global variables for the above managers). There are now two handlers in REngine - one mandatory (REPL) and one optional (Cocoa). * separated authorization code - it lives now in Authorization.c in Tools * minor cleanups - the method names are now more consistent across classes Last update: 2004-10-25 [SU] * added brace highlighting (partially based on code by Rob Goedman) * reversed declaration order of RQuartz copy operation: PDF first, TIFF second. This may help some PDF editors ... We may want to make this configurable and/or have two separate copy commands. Last update: 2004-10-22 [SI] * added first embrional version of R preferences using AMPreferencePane class by Andreas Mayer. At the moment only color preferences are implemented. Quartz and misc preferences pane are there but not yet working. The preferences are still saved/loaded using NSDefaults You may need to "svn update" from the shell better than from inside of XCode Last update: 2004-10-22 [SU] * newly typed text outside insertion scope is appended at the end (thanks to Byron for the idea) * converted InfoPlist.string to UTF-8 so it's easier to maintain and edit * added SVN build information to Info.plists and strings * removed BUILD_FOR_R_2_1_x flag and replaced by canonical version check Last update: 2004-10-22 [SI] * fixed metric info problem with Quartz device. Apparently a leading pad was added to the textcontainer used to acquire the metric info. Thanks to Byron Ellys for this fix. * saveWorkSpaceFile fixed. It was impossible to create a new file. * introduced sourceOrLoadFile: in alternative to sourceFile. This is now connected to Source/Load button in the R Console Window toolbar. * added readFromFile method in RDocument to allow data loading with binary files. It allows also for drag and drop of image data on the R Icon * removed button from workspace browser window, added corresponding toolbar icon/button Last update: 2004-10-21 [SI] * in data editor: the runModalForSession has been replaced by a modalForWindow to remove the problem with high CPU consuming (thanks to Byron Ellys for the fix) * column numbers instead of column names are used to identify columns (thanks to Byron Ellys for the fix) Last update: 2004-10-18 [SU] * fixed working directory selection * added sourceCurrentDocument: implementation; if the document is dirty, a temporary file is created, sourced and finally deleted -- Release Version 1.00 - this revision is supplied with R 2.0.0 -- Last update: 2004-10-15 [SU] * code cleanups to get rid of most warnings * fixed linking issues caused by run_Rmainloop conflicting with R * fixed resizing behavior of the help window * disable continuous spell checking by default Last update: 2004-10-14 [SU] * fixed output synchronization. all console output sources eventually use writeConsoleDirectly: and the insertion point is controlled by outputPosition. * add more flexible flush support (flushROutput and FlushStdConsole) * fixed document handling to be consistent with Cocoa; this means that menu items are handled implicitly by the first responder (where possible) and most default actions apply to the editor. Old versions of R GUI didn't have this, but mainly because there was no good editor supplied. * removed all global flags (IsRTF, IsREdit, ...) * toolbar icons changed (new icons added, some re-worked) * added menu+shortcut for "switch to console" * moved some menu items to logically more suitable places (e.g. "New document" is in "File" ...) * changed drop-document handling; the document is loaded in the editor (it can be easily executed by if necessary) * fixed activation of Quartz to use FR dispatching (this way it's not enabled in the console or editor where it doesn't make any sense) Last update: 2004-10-13 [SI] * added support for activation of quartz device and creation of new quartz deivce from the GUI This functionality was present in the old Aqua GUI. Last update: 2004-10-11 [SI] * first svn release Last update: 2004-10-10 [SU] * fixed ?/help handling removed in the last update * fixed improper memory handling of external input * added queue to the console input to allow multiple simultaneous inputs while R is still working * fixed color handling - input text has now the correct color * added some constraints that prevent user from accidentally leaving the prompt area * fixed focus issues with the help window * don't unnecessarily repeat console input before commit * doProcessEvents: processes exactly one event in the blocking mode * added first release of R FAQ. To build it use [SI] makeinfo -D UseExternalXrefs --html --force --no-split RMacOSX-FAQ.texi * added "Docs" target to automatically build above FAQ * added sush dependency to R target - now it is possible to build the entire project from scratch by simply typing "xcodebuild" on the command line. Although it's the default, more precise specification of the target and build style can be used such as: xcodebuild -target R -buildstyle Deployment Last update: 2004-10-09 [SU] * fixes in REngine (mem mgmt, 0 ptr fix); added executeString method * fixed package loading (use executeString and check the result) * huge cleanup of the R/Obj-C interface (stage 1). the interface is separated from RController by REPLHandler protocol. the R-side implementation is in Rcallbacks and RController implements the REPL protocol * changed output/console/prompt handling. this also makes sure that a prompt is always printed at the beginning of the line, no matter whether the previous output line is unfinished * raise the line buffer size from 1k to 32k, also it's not hard-coded now, but can be changed on the fly. * replace all evaluateString: with executeString: if the return value is not needed (ignoring the return value of eval.. causes memory leaks) * after history paste make textView the first respondent Last update: 2004-10-08 [SI] * added toolbar colors icon and functionality. User can set font colors for the R Console window. Settings are saved automatically on exit. Just for fun: added also transparency of the R Console window. * console font size saved in the preferences * the color of the cursors is set to be the same as the prompt one Last update: 2004-10-04 [SI] * fixed problem with applescript. Now uses scriptSuite and scriptTerminology * in sendIpunt: a fake keydown event is now generate to wake the event loop this is needed for both applescript and menu interaction * help(topic) and ?topic are now handled internally and the help page is shown in the internal browser. This is only a temporary solution. The correct approach is to create a new API to be called on each .show_help_on_topic_as_HTML call. Too late for release 2.0.0 of R. * Every call to Rengine evaluateString and parse causes R to be set in busy state this allows for feedback to the user at any REngine use. * added support to save quartz device to PDF file. This is currently done using devcopy onto the pdf device. Native Cocoa methods like [NSView dataWithPDFInsideRect] don't work at the moment because we don't use NSGraphicsContext. Should probably be done for the next release. * added clipboard copying into TIFF, PICT and PDF format * added support for printing of the graphics device, the console and the other editor windows * user input is now splitted in lines terminated by '\n'. This allows for copy and paste of bug documents. There's no limit to the input buffer apart from free memory. The input is just splitted in lines but if lines are longer than the maximum allowed by R (1024 currently) no action is taken, lines are just passed to R for at most 1024 bytes. Last update: 2004-09-28 [SU] * added PLAIN_STDERR optional define flag (enabled in development style) * fixed rmRows bug in data editor Last update: 2004-09-26 * fixed stderr/stdout problems, now using threads and correctly in synch * R console window gets focus on startup * changed credits * implemented edit and remove functionality ot the workspac browser * FIXME: the data editor still needs to be fixed for row adding REQUIRES r-devel 2004-09-26 Last update: 2004-09-10 * Implemented edit functionality for data frames and matrix * Implemented the Help system. * Splitviews in Package Manager, Data Manager and Help Search Interface * Implemented help search interface * Implemented the workspace browser * Implemented quartz device in cocoa * Fixed duplicate definition of variable IsReadConsoleTime. * Adjusted to work with XCode 1.5 REQUIRES r-devel 2004-09-10 Last update: 2004-08-28 * Fixed a package.manager: memory leaks and incorrect refreshing * Implemented the data manager * --gui=cocoa sets RGUI_TYPE to "AQUA", so now quartz is the default graphics device * Implemented package installer both for network and local repositories and file and to global or local destinations. FIXME: need to implement authorization * fixed font text windows * implemented "run X11 server" and added both menu and toolbar items. * added "Check For R Updates" menu item functionality REQUIRES: r-devel 2004-08-27 Last update: 2004-08-20 * Implemented open document both for menus and drag and drop on the R icon * Opening file is either: load data or source a script whenever this is possible. * Implemented the internal editor via NSDocument class. R can open plain text and rtf files. * Implemented file.show/R_ShowFiles. * Implemented file.edit/R_EditFiles. FIXME: the file name is not correctly set at the moment for newly created document. * Implemented AppleScript support. * Implemented in toolbar: font size change, load data/source script, new editor window, save R console, load file in editor * Implemented options(width=???) on font size and/or Console width change. * Implemented: setwd, changewd, showd and timer to show the current working directory in a textview * Implemented file.choose/R_ChooseFile * Implemented: show, clear, load and save of workspace * Implemented package manager for loading and detaching package with html help index REQUIRES: r-devel 2004-08-20 Last update: 2004-08-14 * Implemented console buffering. This make the R console output spedier. This has been implemented in the same way it was for the aqua module (see: src/modules/aqua/aquaconsole.c) * In previous version Code Completion blocked R, now fixed. * Implemented the History and Logs drawers. Stdout/Stderr are redirected to the Logs drawer (still not asyncronously). * Implemented load, save and clear history. Double clicking on history items paste the content of the item in the console at current cursor position * Implemented the tool bar for "stop", "quit", "history", "quartz" and "logs". Icons are horrible though. * added environment variable in info.plist First release: 2004-08-10 Authors: SI Stefano M Iacus SU Simon Urbanek RG Rob J Goedman