Development Log

  • GNAT Pro
    Feb 18th, 2016

    Reduced stack usage for nested calls on strings
    The amount of stack space used in the code generated by the compiler for nested calls taking and/or returning strings has been reduced.

  • GNAT Pro | GPRbuild
    Feb 16th, 2016

    GPRinstall minimal installation enhancement
    Now GPRinstall running in minimal installation mode won't install a body even if a specific naming scheme is defined.

  • Ada Web Server
    Feb 16th, 2016

    Add support for If-Match and If-None-Match
    AWS now supports the If-Match and If-None-Match headers which can be used to fine control cache. A server response 304 is returned if one of those headers match the user's ETag.

  • Utils: Time_Value accept timezone with minutes
    Utils.Time_Value was accepting only hours in timezone part before. Now it is accepting hours and optionally minutes in timezone part.

  • GNATCOLL.Traces.Block_Trace_Handle
    A new type which is useful to monitor subprogram entry and exit.

  • GNATCOLL.Refcount use atomic ops automatically
    The shared_pointers package will by default use atomic pointers if the application uses tasks, and use non-atomic pointers (more efficient) when the application is not using tasking. This is a default, still overridable by the user.

  • GNAT Pro | GPS | GNATbench
    Feb 10th, 2016

    GPS: New GUI for the preferences dialog
    The GPS preferences dialog has been completely reworked. A new look-and-feel has been introduced, gathering the preferences in groups and with the documentation being direclty displayed under each preference. The user is now able to search among preferences using the omnisearch bar or the preferences dialog local search bar. The color theme picker and the key shortcuts and plugins editors are now directly accessible from the preferences dialog. GPS hidden preferences can now be displayed and edited by activating the "Show advanced preferences" setting from the dialog's local menu.

  • GNAT Pro | GPS | GNATbench
    Feb 10th, 2016

    GPS: New GUI for the preferences dialog
    The GPS preferences dialog has been completely reworked. A new look-and-feel has been introduced, gathering the preferences in groups and with the documentation being direclty displayed under each preference. The user is now able to search among preferences using the omnisearch bar or the preferences dialog local search bar. The color theme picker and the key shortcuts and plugins editors are now directly accessible from the preferences dialog. GPS hidden preferences can now be displayed and edited by activating the "Show advanced preferences" setting from the dialog's local menu.

  • Utils: Time_Value accept timezone with minutes
    Utils.Time_Value was accepting only hours in timezone part before. Now it is accepting hours and optionally minutes in timezone part.

  • GNATCOLL.Traces.Block_Trace_Handle
    A new type which is useful to monitor subprogram entry and exit.

  • GNATCOLL.Refcount use atomic ops automatically
    The shared_pointers package will by default use atomic pointers if the application uses tasks, and use non-atomic pointers (more efficient) when the application is not using tasking. This is a default, still overridable by the user.

  • GNAT Pro
    Feb 10th, 2016

    GNAAMP elides exception info strings in small lib
    On the AAMP target when using the small library, the compiler no longer generates unused strings with file and line information for raises of Constraint_Error and Program_Error, conserving space in object files.

  • Upgrade version of sqlite to 3.10.2
    If you use the provide sqlite binaries (as opposed to a version available on your system), the version is now 3.10.2.

  • GNAT Pro | GPS | GNATbench
    Feb 9th, 2016

    GB: add template code assist
    It is now possible to add Ada code templates by pressing content assist hot key (Ctrl+Space). Use Tab key to edit the next template variable. Press Enter to finish inserting the template and go to ${cursor} position.

  • GNAT Pro | GPS | GNATbench
    Feb 9th, 2016

    GB: add template code assist
    It is now possible to add Ada code templates by pressing content assist hot key (Ctrl+Space). Use Tab key to edit the next template variable. Press Enter to finish inserting the template and go to ${cursor} position.

  • Upgrade version of sqlite to 3.10.2
    If you use the provide sqlite binaries (as opposed to a version available on your system), the version is now 3.10.2.

  • GNATCOLL.JSON: new subprograms Clone and “=”
    It is now possible to clone JSON objects, and compare two objects so that the order of fields is irrelevant.

  • GNATCOLL.JSON: new subprogram Unset_Field
    It is now possible to remove a field that has been set on a JSON object.

  • GNATCOLL.JSON: new subprograms Clone and “=”
    It is now possible to clone JSON objects, and compare two objects so that the order of fields is irrelevant.

  • GNATCOLL.JSON: new subprogram Unset_Field
    It is now possible to remove a field that has been set on a JSON object.

  • GNAT Pro | GPRbuild
    Feb 8th, 2016

    GPRbuild encapsulated libraries on all linux
    Now GPRbuild supports encapsulated libraries for all linux platforms when using a recent GNAT Pro compiler.

  • GNAT Pro
    Feb 4th, 2016

    Remove another superfluous use of secondary stack
    An object declaration whose expression is a call to a build-in-place function returning a limited type does not require secondary stack use if the type only has access discriminants and no controlled components.

  • GNAT Pro
    Feb 3rd, 2016

    No_Implicit_Loops no longer partition-wide
    The restriction No_Implicit_Loops was previously checked partition-wide, preventing the useful case of local application of this restriction. This restriction now only applies to the unit where it is specified (or it can be applied globally via a configuration pragma file).

  • GNAT Pro
    Feb 2nd, 2016

    Remove extra copy of function result
    For an object_declaration of the form "X : T := Func (...);", where T is a nonlimited controlled type, the generated code was making an extra unnecessary copy of the function result. The extra copy is removed. Technically, the extra copy was a bug in obscure cases caught by ACATS, but normal programs wouldn't care, because Adjust/Finalize calls were properly matched. Thus, this is primarily an efficiency improvement -- the copy is avoided, along with the corresponding extra Adjust/Finalize pair.

  • GNAT Pro | GPS | GNATbench
    Feb 1st, 2016

    GPS: Review multiple CodePeer messages at once
    GPS now allows reviewing multiple CodePeer messages at once.

  • GNAT Pro | GPS | GNATbench
    Feb 1st, 2016

    GPS: Review multiple CodePeer messages at once
    GPS now allows reviewing multiple CodePeer messages at once.

  • CodePeer
    Feb 1st, 2016

    GPS: Review multiple CodePeer messages at once
    It is now possible to select multiple CodePeer messages in the GPS locations view and review all these messages at once.

  • CodePeer
    Feb 1st, 2016

    Overflow on unconstrained floating point by default
    Overflow detection on unconstrained floating point types previously required the use of the compiler switch -gnateF to be enabled. This is now the default. To revert to the previous default, a new codepeer switch is available: -no-unconstrained-fpt-overflow.

  • GNAT Pro
    Feb 1st, 2016

    Per-unit test driver generation by gnattest
    Option to generate multiple test drivers by gnattest is now parameterized, giving a choice to generate a test driver either for each unit under test or for each generated test, former being the default.

  • GNAT Pro
    Feb 1st, 2016

    Expression functions need not trigger body loading
    The expression functions present in a package specification no longer cause the associated package body to be loaded and analyzed by the compiler.

  • GNAT Pro | GPS | GNATbench
    Jan 26th, 2016

    GPS: “Find all references” finds overridden
    The action "find all references" on an entity now includes by default all the entities overriding it, all entities it overrides, and all entities overriding the entities it overrides.

  • GNAT Pro | GPS | GNATbench
    Jan 26th, 2016

    GPS: “Find all references” finds overridden
    The action "find all references" on an entity now includes by default all the entities overriding it, all entities it overrides, and all entities overriding the entities it overrides.

  • GNAT Pro | GPS | GNATbench
    Jan 25th, 2016

    GPS: rename build targets from the GUI
    It is now possible to rename targets directly in the Target Configuration dialog: double-click on a target name in the tree to give it a new name.

  • GNAT Pro | GPS | GNATbench
    Jan 25th, 2016

    GPS: rename build targets from the GUI
    It is now possible to rename targets directly in the Target Configuration dialog: double-click on a target name in the tree to give it a new name.

  • GNAT Pro
    Jan 22nd, 2016

    Remove transitive dependencies from limited_withs
    Compiler does not create dependencies on units named in the context of a unit that appears in a limited_with clause, to minimize recompilation of systems involving large numbers of mutually dependent package declarations.

  • GNAT Pro | GPRbuild
    Jan 20th, 2016

    GPRbuild distributed slave error messages
    Now GPRbuild gives a clearer error messages when it cannot connect to a specific slave. The slave machine is given in the error message.

  • GNAT Pro
    Jan 20th, 2016

    Improved exception message for Host_Error
    The exception message for occurrences of GNAT.Sockets.Host_Error now mention the host name or address that caused the error.

  • GNAT Pro | GPS | GNATbench
    Jan 19th, 2016

    ECL: AJIS examples integration
    AJIS (17.0.20151202w or later) contains GNATbench examples that can be imported/built/run in GNATbench without modifications.

  • GNAT Pro | GPS | GNATbench
    Jan 19th, 2016

    ECL: AJIS examples integration
    AJIS (17.0.20151202w or later) contains GNATbench examples that can be imported/built/run in GNATbench without modifications.

  • GNAT Pro | GPRbuild
    Jan 18th, 2016

    GPRslave can now be pinged
    Now GPRslave will respond to a ping command and returns some information (version, UTC time, hash) about the slave if running. This can be used by application for checking available slaves.

  • GNAT Pro | GPRbuild
    Jan 18th, 2016

    GPRbuild distributed environment consistency
    A new option (--hash) has been added in GPRbuild and GPRslave. The value specified can be used to ensure that the environement is consistent on both side.

  • GNAT Pro
    Jan 17th, 2016

    Interfaces.C.char fully compatible with C’s char
    The Interfaces.C.char type is now fully compatible with the 'char' type of the C and C++ languages for all targets using the GCC code generator.

  • GNAT Pro | GPRbuild
    Jan 12th, 2016

    GPRbuild distributed ignore Mercurial metadata
    The Mercurial metadata directory has been added into the excluded patterns by default.

  • GNAT Pro
    Jan 6th, 2016

    More consistent output file extensions on VxWorks
    The default output file extension for VxWorks kernel modules (.out) is now enforced using the same mechanisms as the default output file extension for RTPs (.vxe), improving consistency of the default filename computation among the two modes.

  • GNAT Pro | GPS | GNATbench
    Jan 5th, 2016

    GPS: system menus
    On OSX and Unity, GPS is now able to display the menubar outside of the main window. This is disabled by default, since these menus are not able to display tooltips or key shortcuts. They can be enabled via an advanced preference.

  • GNAT Pro | GPS | GNATbench
    Jan 5th, 2016

    GPS: system menus
    On OSX and Unity, GPS is now able to display the menubar outside of the main window. This is disabled by default, since these menus are not able to display tooltips or key shortcuts. They can be enabled via an advanced preference.

  • CodePeer
    Jan 5th, 2016

    Removal of floating point underflow detection
    CodePeer no longer generates messages related to potential floating point underflow when running at -level max. These messages generated too many false positives to be useful in practice. They are left temporarily available under the debug switch "-dbg on fpt_underflow" for compatibility.

  • GNAT Pro | GPS | GNATbench
    Jan 4th, 2016

    GPS: Incompatible changes in Python API
    This section lists changes done in the Python API that are no longer compatible with previous versions of GPS. GPS.*Context removed (2016-01-05)

      All classes related to contexts were merged into a single GPS.Context
      class, which provides the same features as all the others combined. The
      previous names have been left for backward compatibility, but users are
      encouraged to only use GPS.Context from now one. If you script was
      explicitly testing classes ("if isinstance(ctx, GPS.FileContext)"), you
      should instead test whether specific information is available
      ("if ctx.file()").
    
    
    GPS.Toolbar, GPS.Combo, GPS.ToolButton and GPS.Button removed (2016-01-04)
      This class has been removed. Only buttons associated with named actions
      can now be added (See GPS.Action.button). A benefit is that buttons can
      now be added to either the main toolbar or to the local toolbars of the
      various views. GPS can also repeat the main toolbar in every floating
      window. Since actions can also be associated with menus and key shortcuts,
      this also encouraged code reuse.
    
    
    GPS.Menu.create obsolescent (2015-12-01)
      This function is now obsolescent, and its use is discouraged (use
      GPS.Action.menu instead). A temporary version still exists, but will be
      removed in future versions.
      The benefit is that menus are now always associated with named actions,
      which can also be bound to keyshortcuts or toolbar buttons. This encourages
      code reuse, and allows disabling all GUI items related to a given action
      more easily.
    

  • GNAT Pro | GPS | GNATbench
    Jan 4th, 2016

    GPS: Incompatible changes in Python API
    This section lists changes done in the Python API that are no longer compatible with previous versions of GPS. GPS.*Context removed (2016-01-05)

      All classes related to contexts were merged into a single GPS.Context
      class, which provides the same features as all the others combined. The
      previous names have been left for backward compatibility, but users are
      encouraged to only use GPS.Context from now one. If you script was
      explicitly testing classes ("if isinstance(ctx, GPS.FileContext)"), you
      should instead test whether specific information is available
      ("if ctx.file()").
    
    
    GPS.Toolbar, GPS.Combo, GPS.ToolButton and GPS.Button removed (2016-01-04)
      This class has been removed. Only buttons associated with named actions
      can now be added (See GPS.Action.button). A benefit is that buttons can
      now be added to either the main toolbar or to the local toolbars of the
      various views. GPS can also repeat the main toolbar in every floating
      window. Since actions can also be associated with menus and key shortcuts,
      this also encouraged code reuse.
    
    
    GPS.Menu.create obsolescent (2015-12-01)
      This function is now obsolescent, and its use is discouraged (use
      GPS.Action.menu instead). A temporary version still exists, but will be
      removed in future versions.
      The benefit is that menus are now always associated with named actions,
      which can also be bound to keyshortcuts or toolbar buttons. This encourages
      code reuse, and allows disabling all GUI items related to a given action
      more easily.
    

  • SPARK Pro
    Dec 23rd, 2015

    Fine-grain analysis of generic code in GPS
    It is now possible to use the submenus "Examine Subprogram", "Prove Subprogram", "Prove Line" and "Prove Check" (from the contextual menu in GPS) from within a generic unit, which has the effect of applying the desired analysis on all instances of the generic unit. The same effect can be obtained on the command-line by using switch -U in addition to the required switches --limit-subp and --limit-line, although the main benefit is expected to be for interactive use in GPS.

« Previous    1  2  3  4  5     Next »