Difference between revisions of "Lazarus 3.0 release notes"
From Lazarus wiki
Jump to navigationJump to searchLine 34: | Line 34: | ||
* New property '''TickWidth''' for the chart axes. | * New property '''TickWidth''' for the chart axes. | ||
* New property '''RandomColors''' for TRandomChartSource. | * New property '''RandomColors''' for TRandomChartSource. | ||
+ | * New properties '''YIndexWhiskerMin''', '''YIndexBarMin''', '''YIndexCenter''', '''YIndexBarMax''', '''YIndexWhiskerMax''', and '''YDataLayout''' in TBoxAndWhiskerSeries for more flexible assignment of y values to the parts of the box/whisher shape. | ||
== Changes affecting compatibility == | == Changes affecting compatibility == |
Revision as of 20:08, 4 February 2022
Lazarus 2.4.0 is not yet released. This page is under construction!
Statistics:
- commits: xxx
- log: svn log -r xxxx:xxxx
- resolved bug tracker issues: xxx
LazUtils Changes
Masks unit
The masks unit has been completely rewritten.
Reasons:
- speed: the old Matches() method had O(n^2) or even O(n^3) characteristics.
- improved control over how the mask is interpreted.
New types (for parameters) and a dedicated TMaskWindows class have been added.
TMask.MatchesWindowsMask and the old TMaskOptions type have been deprecated an will be removed in the next release.
LCL Interfaces Changes
LCL Changes
TTaskDialog
- Old behaviour Win32: A placeholder icon was used for FooterIcon = tdiNone and MainIcon = tdiNone.
- New behaviour Win32: No icon is used for FooterIcon = tdiNone and MainIcon = tdiNone.
- Reason: Removing drawing glitch. The text move over to allow more content and better alignment. See Issue #39172
IDE Changes
Character map
- Resizable characters to improve readability.
IDE Interface Changes
Components
TAChart
- The TLegendClickTools now is able to detect clicks on series legend items and reports the clicked series in the new OnSeriesClick event.
- New property TickWidth for the chart axes.
- New property RandomColors for TRandomChartSource.
- New properties YIndexWhiskerMin, YIndexBarMin, YIndexCenter, YIndexBarMax, YIndexWhiskerMax, and YDataLayout in TBoxAndWhiskerSeries for more flexible assignment of y values to the parts of the box/whisher shape.
Changes affecting compatibility
LazUtils
Masks unit
Ranges and Sets
- The old masks implementation supported sets, but not ranges. The new implementation supports both sets ([abc]) and ranges ([a-c]). As a consequence a '-' inside such a construct is now interpreted as part of the range definition, not as a literal '-'.
- Reason: ranges are a good thing to have by default (the old implementation simply lacked this). We decided it's a small price to pay.
- Remedy: either escape the '-' with EscapeChar (which defaults to '\') or exclude mocRange from the TMaskOpcodes parameter.
Constructors do not fail anymore on an invalid mask
- When providing an invalid mask to the old T(Windows)Mask(List) constructors an exception was raised.
- The new constructors do not raise an exception in this case. Instead an exception is raised in when Matches() is called.
- Reason: it's not very nice to have a constructor fail.
Components incompatibility
LazControls
TFloatSpinEditEx
- The property NumbersOnly is no longer published.
- Reason: the property makes no sense for this control and only confuses users.
- Remedy: if you really need NumbersOnly to be True, you must set it in code.