[GB.WEB.FORM2]
* BUG: Use SIGUSR2 for synchronizing session process with CGI process, as SIGUSR1 is used by the debugger.
* NEW: Support for debugger.
* NEW: THe HTML body now uses sans-serif font by default.
[GB.WEB.FORM2]
* NEW: WebForm: Current is a new static property that return or set the main form.
* NEW: WebForm: Goto() is a new static method that switch the Current property.
* NEW: WebForm: Reload() is a new method that reload the form if it is the main one. Otherwise it calls Refresh().
[GB.WEB.FORM2]
* NEW: Session: Fix compatibility with replaced Session class, with support for array accessor, Exist method and Prefix property.
* NEW: Session: Remove Dir property. Session.Path was done for that.
* BUG: Calling Session.Abandon now quits the session process immediately.
* BUG: WebTimer: The Refresh() method now does nothing.
[GB.WEB.FORM2]
* NEW: DateBox: Open calendar popup on mouse down.
* NEW: Override the Session class, so that its methods that do not have any sense with 'gb.web.form2' do nothing anymore.
* NEW: WebForm.Current is a new property that allows to define the main form of the application that fills its HTML page.
* NEW: Session.Dir is a new property that returns the session directory. It is now '/tmp/gambas.<userid>/session/gb.web.form2'.
* NEW: Session.Timeout is taken into account by session processes.
* BUG: Window titles do not wrap anymore.
[GB.FORM.TERMINAL]
* BUG: TerminalView: Terminal output processing is now delayed until the control is visible and has been arranged, so that the terminal width is accurate.
* BUG: Move XTerm files to the hidden project directory.
* NEW: TerminalView: Automatic scrolling is disabled when the last terminal line is hidden.
* OPT: TerminalView: Automatic scrolling is not smooth anymore.
[GB.FORM.TERMINAL]
* NEW: TerminalView: Add a new popup menu entry to select all the text.
* NEW: TerminalView: Add a 2 pixels margin around the terminal contents.
* NEW: TerminalView: ReadOnly is a new property that makes the TerminalView ignore keyboard input.
[GB.UTIL]
* NEW: String.PadLeft() is a new method that pad a string to the left up to a specified length using a string pattern.
* NEW: String.PadRight() is a new method that pad a string to the right up to a specified length using a string pattern.
[GB.TEST]
* NEW: Flowchart made by libre office draw and exported as svg
This is a first try to show the interplay between gbt3, gb.test and
gb.test.tap.
[GB.FORM]
* NEW: FileProperties: Add() now returns the index of the added tab.
* NEW: FileProperties: Index is a new property that returns or sets the current tab index.
* NEW: FileProperties: Click is a new event that is raised when a tab is selected.
[GB.TEST.TAP]
* NEW: Assert.SubtestLevel is a new property that returns the number of nested subtests.
* NEW: Assert.BailOut always unwinds the subtest stack and bails out of the entire TAP session.
* BUG: Tests can bail out even if Finished was called.
[GB.TEST]
* NEW: Bail out again if errors from test methods are caught.
* BUG: Don't call Finish on a subtest when it was already finished.
After the Bail out message, we Quit with non-zero exit status to signal
an abnormal termination to the harness.
[GB.TEST]
* NEW: Use gb.test.
This removes the Assert and Track classes and uses gb.test.tap instead.
Test methods are now executed inside subtests, plan lines are auto-
matically emitted by the harness.
Differences between gb.tests's and gb.test.tap's Assert module:
- Instead of Assert.True and Assert.False, use Assert.Ok.
- Instead of Assert.Equals* for every type, there is a generic
Assert.Equals for Variants and a specific Assert.StringEquals
for strings which prints diagnostics when the test fails.
- Assert.BailOut does not terminate the entire program, just
the TAP stream.
- Assert.ErrorWithCode is called Assert.ErrorCode.
All TAP printing is done through Assert now. Errors happening in the
test code are not caught and spoofed in the TAP stream anymore, they
cause a test failure. The system would be more robust if the testee
would be in a different process from the tester.
[GB.TEST.TAP]
* NEW: Add Reset() method to Assert. Useful if you use the same (automatic) instance for multiple TAP streams.
* BUG: Fix state handling in TapPrinter.Finished.
[GB.TEST.TAP]
* NEW: Turn TestStats into a class.
* NEW: Store TestStats.Failures as an Integer[].
* BUG: Do NOT intercept test's stderr and convert it to diagnostics.
[GB.FORM.EDITOR]
* BUG: TextEditor: Correctly handle the drawing of the difference before the first line.
* BUG: TextEditor: Correctly relayout differences when the Wrap property changes.
[GB.UTIL]
* NEW: CsvFile: Open() is a new method for opening a CSV file for reading.
* NEW: CsvFile: Create() is a new method for opening a CSV file for writing.
[GB.UTIL]
* NEW: The Terminal class has been removed, and replace by an extension of the Process class. In other word the Expect() method is now directly a method of the Process class.
[GB.UTIL]
* NEW: Terminal: A new class that allows to answer the prompts of interactive commands running in a virtual terminal easily (think about ssh, scp...).
[GB.WEB.FORM2]
* BUG: Fix component metadata.
* BUG: Don't make test forms exported. They can conflict with other forms with the same name.
* NEW: The Window Close event can be cancelled.
[GB.FORM.MDI]
* NEW: Toolbar: Settings is a new property that allows to return or set the toolbar layout as a string.
* NEW: Toolbar: GetLayout() is a new static method that returns the saved layout of a toolbar from its key.
* NEW: Toolbar: SetLayout() is a new static method that defines the saved layout of a toolbar from its key.
[GB.GTK]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.
[GB.GTK3]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.
[GB.GUI.BASE]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.
[GB.QT4]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.
[GB.QT5]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.
[DEVELOPMENT ENVIRONMENT]
* NEW: The IDE Italian translations are now complete.
[GB.WEB.FORM2]
* NEW: The Italian translation.
[AUTHORS]
* NEW: Added a new italian translator
[GB.FORM]
* NEW: TabPanel: TabBarSize is a new property that returns the height of the tab bar.
* NEW: TabPanel: The "close all" button is now drawn after the right padding.
* NEW: ButtonBox: Custom buttons added with _AddButton() are now always between the clear button, and the standard button.
[GB.FORM.MDI]
* NEW: Workspace: Add TabBarPaddingStart and TabBarPaddingEnd properties. They allow to define space on the left and the right of the tab bar, so that you can put some widgets on top.
[GB.FORM]
* NEW: TabPanel: Add TabBarPaddingStart and TabBarPaddingEnd properties. They allow to define space on the left and the right of the tab bar, so that you can put some widgets on top.
* BUG: ButtonBox: Settings the Filter property to FALSE correctly destroy the internal associated button, and prevent the control to crash if you set the property again.
[GB.WEB.FORM2]
* BUG: Fix refresh of WebForm and WebTimer.
* BUG: Restart timeout timer correctly when a request has been processed.
* NEW: Add WebProgressBar control.
* NEW: If unity is not specified in WebForm.Move() coordinates, use 'px'.
[GB.WEB.FORM2]
* NEW: Add WebDateBox and WebDateChooser controls.
* NEW: Using embedded HTTP server is possible now.
* NEW: Add WebComboBox control.
* NEW: WebControl objects become invalid if they are deleted.
* NEW: WebForm.ShowModal() and WebForm.ShowPopup() work, and they are really modal.
* NEW: Modal forms can be persistent.
* NEW: Add WebForm Width and Height properties.
* NEW: Add WebScrollView control.
* NEW: Add WebSeparator control.
* NEW: Add WebSpinBox control.
* NEW: Add WebTextArea control.
[GB.WEB]
* NEW: CGI.Reset() is a new method that resets CGI variables to their initial values.
* NEW: Request.Reset() is a new method that reads the request contents again.
* BUG: Use System.Language if the 'Accept-Language' HTTP header is void.
* NEW: Response.Begin() now takes the content-type as optional argument.
* NEW: Response.Reset() allows to send the response again.
* NEW: Compress text responses if its size is greater than 512 bytes, not 128.
[GB.TEST]
* NEW: Assert some reworking, skip, todo and body removed
* NEW: in a testcontainer in _new the count of tests can be defined by Me.Plan and differences between assertions counted and planned lead to No success
* NEW: Unittest.Bailout