[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
[CONFIGURATION]
* NEW: Change the order of compilation of components made in Gambas, so that 'gb.scanner' is compiled after 'gb.form.print', as the project uses it.
[GB.SCANNER]
* NEW: Support for multiple scan from the feeder.
* NEW: PageBegin and PageFinished event to manage actions between each page.
* NEW: Better error management with an Error event
* NEW: An example in the source that use the gb.scanner abilities.
[GAMBAS-WIKI]
* NEW: The Italian translations are now complete.
[DEVELOPMENT ENVIRONMENT]
* NEW: The IDE Italian translations are now complete.
[GB.WIKI]
* NEW: The complete Italian translations.
[GB.TEST]
* NEW: The Italian translation.
[GB.NET.SMTP]
* BUG: Fix quoted-printable encoding of headers containing e-mail addresses.
* BUG: Add '_=' sequence in mime part boundaries, as this sequence should not be present in encoded data.
[GB.GUI.BASE]
* NEW: Message: The ENTER key now selects the button having the focus, not the default one, so that message boxes behave the same with GTK+ and Qt.
[DEVELOPMENT ENVIRONMENT]
* NEW: Draw the frame of control dropped from the toolbox bigger.
* BUG: The frame of control dropped from the toolbox should correctly disappear in all cases.
[GB.GUI.BASE]
* BUG: The DragLeave event is now emitted reliably when the mouse leaves the drag and drop frame.
[GB.FORM.PRINT]
* BUG: The paper size is correctly refreshed when the orientation is changed.
* BUG: You can continue to freely zoom with the mouse wheel when current zoom is at 100%.
[GB.FORM]
* NEW: Bookmarks is a new static class that allows to define global bookmarks for all FileChooser and DirChooser controls.
* NEW: Add separators between the different kind of bookmarks in the bookmark menu.
[GB.WEB.FORM]
* BUG: WebForm: Forms embedded into other forms work correctly now.
* BUG: WebForm: An error is raised now when trying to show an embedded form.
* BUG: WebForm: Fix message box icons pre-loading.
[GB.WEB]
* NEW: Request.ContentType is a new property that returns the Content-Type HTTP header.
* NEW: Request.ContentLength is a new property that returns the Content-Length HTTP header, or -1 if the header is not present.
* BUG: Request.Language now uses an internal dictionary to convert the Accept-Language HTTP header to a correct system language.
* BUG: Request.Language now takes the priority of languages specified in the Accept-Language HTTP header into account.
* BUG: If the request exceeds the maximum size defined by Request.MaxFileSize, a "Request too big" error is raised instead of "Response too big".
* NEW: Desktop.Types is a new property that returns a read-only array of each desktop defined in Desktop.Type.
* NEW: Desktop.Passwords: Work correctly now when multiple desktops are included in the Desktop.Type property.
* OPT: DesktopFiles: Remove some useless array copies.
[GB.FORM]
* NEW: FileView: Add information about each file next to the icon in icon view mode.
* BUG: DocumentView: Remove erroneous public constant written in French.
[GB.FORM.EDITOR]
* NEW: TextEditor: Draw wrapped lines with a normal background, but with a gray hook to its right.
* BUG: TextEditor: Now we can set up to 32 style colors without crashing.
[GB.FORM]
* NEW: Spinner: Use the foreground color to draw the spinner and its label.
* NEW: TabPanel: Use the TabPanel foreground color to draw the titles of the tabs.
[GB.GUI.BASE]
* BUG: GridView: Border padding is now applied inside the cell, not outside like the margin.
* NEW: TreeView: A Scroll event is raised now then the TreeView, the ListView or the ColumnView scrolls.
* BUG: TreeView: Setting the item Font property to NULL does not crash anymore.
[GB.FORM]
* BUG: DocumentView: Correctly reset the scroll position when setting Arrangement to Arrange.Fill.
* OPT: DocumentView: Desaturate is faster now as it is done only once per page drawing.
[GB.FORM]
* NEW: DocumentView: The default background color is now a mix of the default text foreground and background colors.
* BUG: DocumentView: Use Paint.Begin() instead of Draw.Begin(), so that preview uses anti-aliasing.
* BUG: DocumentView: Fix some cases of page drawing not correctly triggered.
* NEW: DocumentView: ShowPage is new property that displays the current page and the number of pages inside the preview.
* NEW: DocumentView: Desaturate is a new property that desaturates the preview. It's slow when the zoom is huge.
* NEW: DocumentView: Allow zoom up to 800%.
[DEVELOPMENT ENVIRONMENT]
* NEW: The IDE translation is now fix and complete.
[GB.FORM.TERMINAL]
* NEW: The complete translation.
[GB.TERM.FORM]
* NEW: The translation is now complete.
[GB.UTIL]
* New: The translation is now fix
[GB.GUI.BASE]
* NEW: Paint.Arrow() is a new method that draws an arrow.
* NEW: TreeView & ColumnView: ShowLines is a new property that makes the control draw tree lines.
* NEW: TreeView & ColumnView: The arrow size now follows the font size.
[GB.EVAL]
* NEW: Highlight.Alternate is a new constant that represents the background style used for coloring code embedded into webpages.
[GB.EVAL.HIGHLIGHT]
* NEW: Support for new Highlight.Alternate style.
[GB.FORM.EDITOR]
* NEW: Support for new Highlight.Alternate style.
* NEW: Matching braces now blink with the cursor.
* BUG: When the cursor moves, the blinking timer is reset so that the cursor blinks only when it is not moving.
[GB.FORM.EDITOR]
* NEW: TextEditor: Don't enclose selection with quotes anymore, it is more annoying than anything else.
* NEW: TextEditor: Undo now groups successive single character insertions, and successive single character deletions as well.
[GB.FORM.EDITOR]
* BUG: Translate popup menu.
[GB.NET.CURL]
* BUG: DownloadManager: Remove useless Message event.
* NEW: DownloadManager: Add a Connect event raised when the distant server is connected.
[GB.WEB]
* BUG: CGI error message is not translatable.
[GB.XML]
* BUG: Error messages must not be translatable.
[GB.GTK]
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.
* NEW: Drag.X and Drag.Y properties are now writable.
[GB.GTK3]
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.
* NEW: Drag.X and Drag.Y properties are now writable.
* BUG: Finishing a drag & drop now correclty releases the button grab.
[GB.GUI.BASE]
* NEW: GridView: The padding of column headers is at least half of Desktop.Scale.
* NEW: ScrollArea: The Scroll() method returns TRUE now if no scrolling actually occured.
* BUG: TreeView: Item X property now correctly takes the TreeView padding into account.
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.
[GB.QT4]
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.
* NEW: Drag.X and Drag.Y properties are now writable.
[GB.QT5]
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.
* NEW: Drag.X and Drag.Y properties are now writable.
[GB.FORM]
* BUG: MenuButton: Use selected background color when the MenuOnly property is set and the MenuButton has the focus.
[GB.GTK]
* NEW: Disable top-level menus shortcuts when the window menu bar is hidden.
[GB.GTK3]
* NEW: Disable top-level menus shortcuts when the window menu bar is hidden.
[GB.GUI.BASE]
* NEW: Add helper function for disabling/enabling top-level menu shortcuts.
[GB.QT4]
* NEW: Disable top-level menus shortcuts when the window menu bar is hidden.
[GB.QT5]
* NEW: Disable top-level menus shortcuts when the window menu bar is hidden.
[DEVELOPMENT ENVIRONMENT]
* BUG: About dialog: Wrap license text so that it is not truncated.
[GB.GUI.BASE]
* BUG: Paint.DrawRichTextShadow() default radius is now the same as Paint.DrawTextShadow().
[GB.WEB]
* BUG: Request: Posted field request using 'multipart/form-data' and having initial void lines were incorrectly trimmed. Posted files were not affected.
[GB.FORM]
* NEW: MenuButton: Handle right-to-left written language correctly.
* NEW: Expander: Redesign the Expander title.
* NEW: SliderBox: Hitting the ESC key in the SpinBox resets the SliderBox to its default value.
[CONFIGURATION]
* NEW: Update version to 3.13.90.
[DEVELOPMENT ENVIRONMENT]
* NEW: Redone extra references support.
[COMPILER]
* NEW: Take project extra references into account.
[GB.TERM.FORM]
* BUG: Fix project description.
[DEVELOPMENT ENVIRONMENT]
* NEW: The IDE translation is now complete.
[GB.FORM]
* NEW: Italian translations improvements
[GB.WEB.FEED]
* NEW: The translations is now complete.
[GB.FORM]
* NEW: ListEditor: ReadOnly is a new property that makes ListEditor enter read-only mode.
* NEW: ListEditor: Add is new event that is raised when the add button is clicked.
* NEW: ListEditor: Add() is a new method that insert a new element in the list.
* NEW: ListEditor: Exist() is a new method that returns if an item exists in the list.
* NEW: Update some translations.
[GB.MEDIA.FORM]
* NEW: MediaView: Speed is a new property that allows to define the media playing speed. A negative speed moves backward.
* NEW: MediaView: Resizing the control while the media is paused correctly resizes the displayed frame.
[GB.GUI.BASE]
* NEW: SpinBox: Alignment is a new property that allows to define the alignment of the control inner text.
* NEW: SpinBox: ShowZero is a new property that tells to pad the displayed number with zeros.
* NEW: SpinBox: Limit is a new event that is raised when the user tries to move past the maximum value, or beofre the minimum value.
* BUG: SpinBox: The value entered with the keyboard is now always taken into account by the next use of the mouse.
[DEVELOPMENT ENVIRONMENT]
* BUG: Search dialog: text highlight now works correctly whatever the editor font is.
[GB.EVAL.HIGHLIGHT]
* NEW: TextHighlighter: Paint() is a new method that paints the highlighted text.
[GB.GUI.BASE]
* NEW: Paint: Add an hidden undocumented method that computes the character width of a fixed font.
[GB.UTIL]
* NEW: Add Date.FromUTC() as inverse to Date.ToUTC().
* BUG: Fix timezone bug in Date.FromRFC822() and pass all tests.
See the thread "gb.web.feed not stable yet?" [1] for explanations
of the bug and fix.
[1] https://lists.gambas-basic.org/pipermail/user/2018-December/066103.html
[GB.UTIL.WEB]
* NEW: URL is a now a dynamic class that can be used for analyzing and modifying the contents of an URL.
* NEW: URLQuery is a new class that represents the query part of an URL.
[GB.WEB.FORM]
* NEW: WebButton: Add the Immediate property. If set, the Javascript code emitted by the Click event handler is executed immediately by the 'onclick' button event. Use this feature when some DOM method (like clipboard copy) works only in the context of a user interaction.
* BUG: WebTextBox: Optimize Change event.
* BUG: WebTextArea: Optimize Change event.
* NEW: WebTextBox: The Change event is now emitted a few milliseconds after each text change.
* NEW: WebTextArea: The Change event is now emitted a few milliseconds after each text change.
[GB.WEB.FORM]
* BUG: Fix margins of WebContainer using Row or Column arrangement.
* NEW: The '~dump' request now displays the environment variables too.
* NEW: WebTextBox.Copy() is a new method that copies the control text to the clipboard. Works only with https.
* NEW: WebTextArea.Clear() is a new method that clears the control text.
* NEW: WebTextArea.Copy() is a new method that copies the control text to the clipboard. Works only with https.
[GB.FORM.EDITOR]
* NEW: TextEditor.LastLine is a new property that returns the line position just before a cursor move.
* NEW: TextEditor.LastColumn is a new property that returns the column position just before a cursor move.
[GB.UTIL]
* NEW: Shell.MkDir() now handles paths starting with "~/", and raises an error if creating the directory is impossible.
* NEW: Shell.Move() got a new optional 'Force' argument, that erases the destination path The erase and the move are atomic if possible.