Version 3.1.5
Build
- Fixed crashes when opening .hzx/.hzo files produced by earlier versions of the compiler.
Version 3.1.4
Build
- Do not do code factoring on instructions that read or write the stack pointer.
- Fixed (lack of) warnings from the C compiler when an assignment operator has been used.
- Fixed multiple assignment of SFR's.
- Fixed assembler incorrectly parsing hexadecimal, octal and binary numbers under certain circumstances.
- Fixed hex file records appearing in a different order after each build.
Version 3.1.3
Build
- Code generation of 64-bit signed integer comparison with zero.
- Fixed Sentinel USB tokens not working after Windows 10 version 1803 update.
Version 3.1.2
Build
- Heap size property can now be reset to 0.
- Fix crash compiling ((char *)ptr)++.
IDE
- Updated macOS code signing certificates.
- Fixed crash reporter hanging if report submission fails.
- Fixed drag and drop of file onto a project explorer file node from an external program.
- Fixed loss of focus when an expanded project explorer node is deleted.
Version 3.1.1
Build
- Add sys/stat.h, sys/time.h and sys/types.h header files.
Debug
- Added "Copy To Clipboard" to register and variable display windows.
IDE
- Fixed modified target properties not being saved.
- Fixed main window resizing when closing solution with no dashboard or help window open.
- Fixed reload solution not loading the correct solution if multiple versions of the studio are running with different projects loaded.
- Editor now preserves UTF-8 byte order marks.
- Fix source navigation parsing of files containing __code qualifiers.
- Fixed wait parameter on JavaScript function "CWSys.run".
- Added Text Editor > Font Rendering environment option.
- Fixed text editor scrolling to the far left column when text is selected and the mouse is moved.
- Fixed text editor match delimiter and extend selection operation (Shift+Ctrl+]).
Version 3.1.0
Build
- Files within projects now build in parallel when multi-threaded building is enabled.
- Supplied ascii only version of ctype functions in ctype_no_wchar.c in the $(StudioDir)/source directory.
- Supplied non threaded version errno in errno_no_thread.c in the $(StudioDir)/source directory.
- Fixed setting errno to EDOM with invalid arguments to acos(f), asin(f) and fmod(f).
- Fixed setting errno to ERANGE when overflow occurs with ldexp(f).
- Fixed compiler handling on assignment of post increment/decrement of float/double variables.
- Removed redundant "Use Hardware Multiplier" project property and library build.
- Added Code Factoring, Cross Jumping, Tail Merging, Jump Chaining and Code Motion optimizations.
- Added "Optimize Sections" project property.
- Float32 division can now return inf, -inf and nan for appropriate inputs.
- Added option to linker and IDE to rename input sections.
- C library is now compiled into sections that are named LIBC_.
- Fixed warning when @ used to place variables.
- Fixed crash caused by clearing build log whilst building.
- Fixed build for project Link and unity folder Compile.
- Fixed build not building newly imported files.
- Show "Batch Build Configurations" property at the solution node.
Debug
- Total warning count now displayed on build completion.
- Debugger now sets the initial and startup completion breakpoints before the user breakpoints are set.
- Fixed memory leak in watch windows.
- Fixed crash while using memory window when not connected to target.
- Removed "Debugger Initial Breakpoint" environment options.
- Can now optionally specify the main load file to download using the "Load File" project property.
- Added "Go To Disassembly" to code editor context menu when debugging.
- Added "Export As Text" to variable display windows.
- Variable display windows now display char * as null terminated strings by default.
- Fixed display of array and struct variables.
- Added "Auto Refresh" to the context menu of the execution count window.
- Fixed set breakpoint on variable from text editor.
- Fixed modifying breakpoint properties.
- Fixed memory window always evaluating address expression when auto size is selected.
- Fixed memory window switching to auto size mode if size is less than display width.
- Fixed watch window not storing the filename and linenumber context in which to evaluate the expression.
- Fixed misc bugs in watch window.
IDE
- The Space Before Parentheses text editor code formatting option is now taken into account when generating code completion suggestions.
- Fixed crash when dragging a project folder onto itself.
- Fixed display of string properties that contain line feeds.
- The "Project Type" property can now be set on a per configuration basis.
- Fixed reload project not working correctly when the project has been opened from the Recent Projects window.
- Project properties editor dialog is now modal.
- Memory window address field now expands to fill available space.
- Fixed blank filenames in Open File From Solution dialog.
- Fixed binary editor cursor display and mouse tracking.
- Fixed crash when right clicking in empty area of build configuration dialog.
- Fixed crash when changing configuration with a property editor focused in properties dialog.
- Changed the way modified and inherited properties are shown in the properties dialog/window.
- Code editor no longer displays file modified warning if file has been externally deleted.
- Properties dialog, removed "All" group, deselecting the group/page will show all properties.
- Properties dialog, changed the graphic to indicate that a project property has been modified or is set in another node or configuration.
- Properties dialog, removed the build macros and added a means to display the set of macros on individual property editors.
- Project explorer, added "Exclude From Build" option to folders.
- Properties dialog, added option to show modified properties only.
- Fixed drag and drop in project explorer only working on a new folder after project has been reloaded.
- File path property editor now applies change when enter key is pressed.
- The Application Monospace Font property editor will now only allow monospace fonts to be selected.
- Parallel building of files in projects now shows a progress bar and ETA, both of these can be disabled using new environment options.
- Removed project property "Build Dependents in Parallel", replaced it with "Project Can Build In Parallel".
- Improved appearance of build log's memory usage summary when there are many memory segments.
- Fixed code completion on files with paths containing UNICODE characters.
- Fixed goto definition and find references on files with paths containing UNICODE characters.
- Fixed close solution not stopping when the saving of a modified file has failed.
- Fixed crash when dragging a project folder onto one of its own sub folders.
- Register window bitfield entries now use monospace font.
- Ctrl+C and Ctrl+A now work in project property dialog's description field.
- Fixed drag not working in project explorer on new files or folders until project has been reloaded.
- Cannot close solution while Source Navigator and References window are active.
- Added stop button to Source Navigator window.
- Added environment option "Parallel Project Building" to enable dependent project (and solution) builds to be done in parallel.
- Fixed pasting of file into a project explorer folder that is already contained within that folder.
- Added Title Bar > Show Full Solution Path environment option.
- Fixed editor search not clearing highlights when search string is cleared.
- Fixed macOS terminal emulator not accepting # key on UK keyboard.
- Fixed incorrectly placed resize grip in property editor.
- Fixed bookmark not being removed from bookmarks window when the line it is on has been deleted.
- Find and replace window now remembers last search context and file type settings.
- Fixed opening of example projects from dashboard and contents window.
- Added dependent files to quick open (Ctrl+o) editor action.
- Detects project file has changed on disk and prompts for reload.
- Function keys can now be displayed permanently on OS X Touch Bar when IDE is running. See Using function keys on MacBook Pro with Touch Bar for more information on how to do this.
- Fixed potential crash when enumerating USB devices on Windows.
Version 3.0.0
What's Changed
- ctype.h now supports locales and as such requires more code and data than the v2 implementation.
The source of the v2 ctype implementation is provided in $(StudioDir)/src/ctype_no_wchar.c if required.
- errno is now implemented as a thread local variable, you will need to add a THREAD section to
your section placement file and your crt0.asm will need to initialise this section. The source of the v2
errno implementation is provided in $(StudioDir)/src/errno_no_thread.c if required.
What's New
CrossStudio
- Source code editor now has code completion capability.
-
Source Navigator has a new core that is precise and can run multiple indexing threads in parallel.
-
Find References (Alt+R or Ctrl+Alt+F) quickly finds references to a symbol or preprocessor definition.
-
Find References can run multiple indexing threads in parallel.
-
Find Symbol (Alt+Y) uses new Source Navigator core to quickly access project-wide symbols.
-
Search menu simplified and shortened by splitting into Search and Navigate menus to
work better on small laptop screens.
-
Search Build Configuration (Ctrl+Shift+B) provides a way to directly select a build configuration.
-
Search Project (Ctrl+Shift+J) provides a way to directly select a project in a loaded solution.
-
Search Targets (Ctrl+Shift+T) provides a way to directly connect a target interface.
-
Search Includes (Ctrl+Shift+M) will open include files referenced in the focused source file.
-
Project Explorer has a Filter Project (Ctrl+;) capability to show matching filenames.
-
Project Explorer has accelerators for Collapse to Projects (Ctrl+P, J), Collapse to Folders (Ctrl+P, F),
Collapse to Solutions (Ctrl+P, S), Collapse All (Ctrl+P, -), and Expand All (Ctrl+P, =).
-
Project Explorer will highlight files using stars, above all other files, if the filename matches any wildcard in the list Tools > Options > Windows > Project Explorer Options > Starred File Names.
- Shift double-clicking a file in the Project Explorer will open the file with the external editor set in Tools > Options > Windows > Project Explorer Options > External Editor.
-
Project Explorer will highlight dynamic folders, and their child items, using a red shortcut arrow.
-
File > Open's accelerator, Ctrl+O, will open a file in the solution. Pressing Ctrl+O a second time opens a dialog to select a file from the solution.
-
Search > Find's accelerator, Ctrl+F, will open an incremental find. Pressing Ctrl+F a second time opens a standard Find dialog.
-
Move Opposite (Alt+O) moves the focused source file to the opposite window; this streamlines putting files side by side for reference or comparison.
- All mouse click actions are configurable through Tools > Options > Text Editor > Mouse Options.
- All property dialogs along with Build Configuration and Project Dependencies refreshed.
- Properties can be made favorites. A favorite property appears in the (Favorites) group in the Properties Window and
appears on the Project Explorer right-click menu
- Target interfaces can be made favorites. Favorite target interface are shown above non-favorite interfaces in Search Targets and the Targets window.
- Memory map files are presented in datasheet form in the Preview pane of the Code Outline window.
- Added column tidy option to editor.
- Added codec support to editor.
- Added option to generate support information.
- The Registers window now has search capability and has been reworked for smoother operation
- Help contents load much more rapidly than before.
- Progress shows in Transcript when loading lengthy projects.
- Attributes in project files fit on a single line if less than 75 characters long; if longer, attributes wrap one per line which allows confortable editing with a text editor.
- Added VCS support for subversion, git and mercurial.
Build
- Added support for Thread Local Storage.
- Project macros can now be used in filenames in the project system.
Library
- Added 16-bit wchar.h and wctype.h support.
- Added c99 math.h functions.
What's Gone
CrossStudio
- Removed Disassemble, Open As Text and Open As Binary options - replaced with File | Open With.
- Removed Replace In Files - this is now supported in the Find And Replace window.
- Removed VCS support for VisualSourceSafe and SourceOffSite.
Library
- Added debugio.h header file. Use this rather than __cross_studio_io.h or cross_studio_io.h to access debugIO functions.
- Removed debug/target IO libraries - use __debug_stdio.h if you want debug IO by default.
- Removed CTL from distribution. CTL is now supplied as a CrossWorks Technology Library
package which you will need to install if you are using it. Projects that reference the old
CTL directories will be upgraded by CrossStudio when they are loaded.