Skip to content

Commit bb0ec36

Browse files
authored
Prepare the changelog for 0.6.0. (#1006)
1 parent a63eba8 commit bb0ec36

File tree

2 files changed

+118
-100
lines changed

2 files changed

+118
-100
lines changed

CHANGELOG.md

Lines changed: 117 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,54 @@
11
# Changelog
22

3+
The latest published druid release is [0.6.0](#060---2020-06-01) which was released on 2020-06-01.
4+
You can find its changes [documented below](#060---2020-06-01).
5+
36
## [Unreleased]
47

58
### Highlights
69

7-
#### Basic X11 backend for druid-shell. ([#599])
10+
### Added
11+
12+
### Changed
13+
14+
### Deprecated
815

9-
[@crsaracco] has implemented basic support to run druid on bare-metal X11!
16+
### Removed
17+
18+
### Fixed
19+
20+
### Visual
21+
22+
### Docs
23+
24+
### Examples
25+
26+
### Maintenance
27+
28+
### Outside News
29+
30+
## [0.6.0] - 2020-06-01
31+
32+
### Highlights
33+
34+
#### X11 backend for druid-shell.
35+
36+
[@crsaracco] got us started and implemented basic support to run druid on bare-metal X11 in [#599].
37+
Additional features got fleshed out in [#894] and [#900] by [@xStrom]
38+
and in [#920], [#961], and [#982] by [@jneem].
1039

1140
While still incomplete this lays the foundation for running druid on Linux without relying on GTK.
1241

13-
#### Mostly complete Wasm backend for druid-shell. ([#759])
42+
#### Web backend for druid-shell.
1443

15-
[@elrnv] continued the work of [@tedsta] and implemented a mostly complete Wasm backend and enabled
16-
all druid examples to [run in the browser](https://elrnv.github.io/druid-wasm-examples/).
44+
[@elrnv] continued the work of [@tedsta] and implemented a mostly complete web backend
45+
via WebAssembly (Wasm) in [#759] and enabled all druid examples to
46+
[run in the browser](https://elrnv.github.io/druid-wasm-examples/).
1747

1848
While some features like the clipboard, menus or file dialogs are not yet available,
1949
all fundamental features are there.
2050

21-
#### Using Core Graphics on macOS. ([#905])
51+
#### Using Core Graphics on macOS.
2252

2353
[@cmyr] continued the work of [@jrmuizel] and implemented Core Graphics support for piet in
2454
[piet#176](https://github.com/linebender/piet/pull/176).
@@ -28,97 +58,83 @@ This means that druid no longer requires cairo on macOS and uses Core Graphics i
2858

2959
### Added
3060

61+
- Standardized and exposed more methods on more contexts. ([#970], [#972], [#855] by [@cmyr], [#898] by [@finnerale], [#954] by [@xStrom], [#917] by [@jneem])
62+
- `im` feature, with `Data` support for the [`im` crate](https://docs.rs/im/) collections. ([#924] by [@cmyr])
63+
- `im::Vector` support for the `List` widget. ([#940] by [@xStrom])
3164
- `TextBox` can receive `EditAction` commands. ([#814] by [@cmyr])
3265
- `Split::min_splitter_area(f64)` to add padding around the splitter bar. ([#738] by [@xStrom])
3366
- Published `druid::text` module. ([#816] by [@cmyr])
3467
- `InternalEvent::MouseLeave` signalling the cursor left the window. ([#821] by [@teddemunnik])
68+
- `InternalEvent::RouteTimer` to route timer events. ([#831] by [@sjoshid])
3569
- `children_changed` now always includes layout and paint request. ([#839] by [@xStrom])
36-
- `UpdateCtx::submit_command`. ([#855] by [@cmyr])
3770
- `request_paint_rect` for partial invalidation. ([#817] by [@jneem])
3871
- Window title can be any `LabelText` (such as a simple `String`). ([#869] by [@cmyr])
3972
- `Label::with_font` and `set_font`. ([#785] by [@thecodewarrior])
40-
- `InternalEvent::RouteTimer` to route timer events. ([#831] by [@sjoshid])
4173
- `MouseEvent` now has a `focus` field which is `true` with window focusing left clicks on macOS. ([#842] by [@xStrom])
4274
- `MouseButtons` to `MouseEvent` to track which buttons are being held down during an event. ([#843] by [@xStrom])
4375
- `Env` and `Key` gained methods for inspecting an `Env` at runtime ([#880] by [@Zarenor])
44-
- `UpdateCtx::request_timer` and `UpdateCtx::request_anim_frame`. ([#898] by [@finnerale])
45-
- `LifeCycleCtx::request_timer`. ([#954] by [@xStrom])
46-
- `scale` method to `WinHandler`. ([#904] by [@xStrom])
4776
- `WinHandler::scale` method to inform of scale changes. ([#904] by [@xStrom])
48-
- `UpdateCtx::size` and `LifeCycleCtx::size`. ([#917] by [@jneem])
4977
- `WidgetExt::debug_widget_id`, for displaying widget ids on hover. ([#876] by [@cmyr])
50-
- `im` feature, with `Data` support for the [`im` crate](https://docs.rs/im/) collections. ([#924] by [@cmyr])
51-
- `im::Vector` support for the `List` widget. ([#940] by [@xStrom])
5278
- `LifeCycle::Size` event to inform widgets that their size changed. ([#953] by [@xStrom])
5379
- `Button::dynamic` constructor. ([#963] by [@totsteps])
54-
- `set_menu` method on `UpdateCtx` and `LifeCycleCtx` ([#970] by [@cmyr])
55-
- Standardize and expose more methods on more contexts ([#972] by [@cmyr])
5680
- `Spinner` widget to represent loading states. ([#1003] by [@futurepaul])
5781

5882
### Changed
5983

84+
- Renamed `WidgetPod` methods: `paint` to `paint_raw`, `paint_with_offset` to `paint`, `paint_with_offset_always` to `paint_always`. ([#980] by [@totsteps])
85+
- Renamed `Event::MouseMoved` to `MouseMove`. ([#825] by [@teddemunnik])
6086
- Renamed `Split` constructors to `Split::rows` and `columns`. ([#738] by [@xStrom])
87+
- Replaced `NEW_WINDOW`, `SET_MENU` and `SHOW_CONTEXT_MENU` commands with methods on `EventCtx` and `DelegateCtx`. ([#931] by [@finnerale])
88+
- Replaced `Command::one_shot` and `::take_object` with a `SingleUse` payload wrapper type. ([#959] by [@finnerale])
89+
- `Command` and `Selector` have been reworked and are now statically typed, similarly to `Env` and `Key`. ([#993] by [@finnerale])
90+
- `AppDelegate::command` now receives a `Target` instead of a `&Target`. ([#909] by [@xStrom])
91+
- `SHOW_WINDOW` and `CLOSE_WINDOW` commands now only use `Target` to determine the affected window. ([#928] by [@finnerale])
92+
- Global `Application` associated functions are instance methods instead, e.g. `Application::global().quit()` instead of the old `Application::quit()`. ([#763] by [@xStrom])
93+
- `Event::Internal(InternalEvent)` bundles all internal events. ([#833] by [@xStrom])
94+
- Timer events will only be delivered to the widgets that requested them. ([#831] by [@sjoshid])
6195
- `Split::splitter_size` no longer includes padding. ([#738] by [@xStrom])
62-
- Renamed `Event::MouseMoved` to `MouseMove`. ([#825] by [@teddemunnik])
6396
- `has_focus` no longer returns false positives. ([#819] by [@xStrom])
64-
- `Event::Internal(InternalEvent)` bundles all internal events. ([#833] by [@xStrom])
6597
- `WidgetPod::set_layout_rect` now requires `LayoutCtx`, data and `Env`. ([#841] by [@xStrom])
6698
- `request_timer` uses `Duration` instead of `Instant`. ([#847] by [@finnerale])
67-
- Global `Application` associated functions are instance methods instead, e.g. `Application::global().quit()` instead of the old `Application::quit()`. ([#763] by [@xStrom])
68-
- Timer events will only be delivered to the widgets that requested them. ([#831] by [@sjoshid])
6999
- `Event::Wheel` now contains a `MouseEvent` structure. ([#895] by [@teddemunnik])
70100
- The `WindowHandle::get_dpi` method got replaced by `WindowHandle::get_scale`. ([#904] by [@xStrom])
71101
- The `WinHandler::size` method now gets a `Size` in display points. ([#904] by [@xStrom])
72-
- `AppDelegate::command` now receives a `Target` instead of a `&Target`. ([#909] by [@xStrom])
73-
- `SHOW_WINDOW` and `CLOSE_WINDOW` commands now only use `Target` to determine the affected window. ([#928] by [@finnerale])
74-
- Replaced `NEW_WINDOW`, `SET_MENU` and `SHOW_CONTEXT_MENU` commands with methods on `EventCtx` and `DelegateCtx`. ([#931] by [@finnerale])
75-
- Replaced `Command::one_shot` and `::take_object` with a `SingleUse` payload wrapper type. ([#959] by [@finnerale])
76-
- Renamed `WidgetPod` methods: `paint` to `paint_raw`, `paint_with_offset` to `paint`, `paint_with_offset_always` to `paint_always`. ([#980] by [@totsteps])
77-
- `Command` and `Selector` have been reworked and are now statically typed, similarly to `Env` and `Key`. ([#993] by [@finnerale])
78-
- Standardize the type returned by the contexts' `text()` methods. ([#996] by [@cmyr])
79-
80-
### Deprecated
81-
82-
- Nothing
102+
- Standardized the type returned by the contexts' `text` methods. ([#996] by [@cmyr])
83103

84104
### Removed
85105

86106
- The optional GTK feature for non-Linux platforms. ([#611] by [@pyroxymat])
87107

88108
### Fixed
89109

90-
- GTK: Use the system locale. ([#798] by [@finnerale])
91-
- GTK: Actually close windows. ([#797] by [@finnerale])
92-
- Windows: Respect the minimum window size. ([#727] by [@teddemunnik])
93-
- Windows: Respect resizability. ([#712] by [@teddemunnik])
94110
- `Event::HotChanged(false)` will be emitted when the cursor leaves the window. ([#821] by [@teddemunnik])
95-
- Windows: Capture mouse for drag actions. ([#695] by [@teddemunnik])
96-
- Start focus cycling from non-registered-for-focus widgets. ([#819] by [@xStrom])
97-
- Propagate `Event::FocusChanged` to focus gaining widgets as well. ([#819] by [@xStrom])
98-
- GTK: Prevent crashing on pop-ups. ([#837] by [@finnerale])
99111
- Keep hot state consistent with mouse position. ([#841] by [@xStrom])
100-
- Open file menu item works again. ([#851] by [@kindlychung])
112+
- Start focus cycling from not-registered-for-focus widgets. ([#819] by [@xStrom])
101113
- Supply correct `LifeCycleCtx` to `Event::FocusChanged`. ([#878] by [@cmyr])
114+
- Propagate `Event::FocusChanged` to focus gaining widgets as well. ([#819] by [@xStrom])
115+
- Routing `LifeCycle::FocusChanged` to descendant widgets. ([#925] by [@yrns])
116+
- Focus request handling is now predictable with the last request overriding earlier ones. ([#948] by [@xStrom])
117+
- Open file menu item works again. ([#851] by [@kindlychung])
118+
- Built-in open and save menu items now show the correct label and submit the right commands. ([#930] by [@finnerale])
119+
- Wheel events now properly update hot state. ([#951] by [@xStrom])
120+
- `Painter` now properly repaints on data change in `Container`. ([#991] by [@cmyr])
102121
- Windows: Terminate app when all windows have closed. ([#763] by [@xStrom])
122+
- Windows: Respect the minimum window size. ([#727] by [@teddemunnik])
123+
- Windows: Respect resizability. ([#712] by [@teddemunnik])
124+
- Windows: Capture mouse for drag actions. ([#695] by [@teddemunnik])
125+
- Windows: Removed flashes of white background at the edge of the window when resizing. ([#915] by [@xStrom])
126+
- Windows: Reduced chance of white flash when opening a new window. ([#916] by [@xStrom])
127+
- Windows: Keep receiving mouse events after pressing ALT or F10 when the window has no menu. ([#997] by [@xStrom])
103128
- macOS: `Application::quit` now quits the run loop instead of killing the process. ([#763] by [@xStrom])
104129
- macOS: `Event::HotChanged` is properly generated with multiple windows. ([#907] by [@xStrom])
105-
- macOS/GTK/web: `MouseButton::X1` and `MouseButton::X2` clicks are now recognized. ([#843] by [@xStrom])
130+
- macOS: The application menu is now immediately interactable after launch. ([#994] by [@xStrom])
131+
- macOS/GTK: `MouseButton::X1` and `MouseButton::X2` clicks are now recognized. ([#843] by [@xStrom])
132+
- GTK: Use the system locale. ([#798] by [@finnerale])
133+
- GTK: Actually close windows. ([#797] by [@finnerale])
134+
- GTK: Prevent crashing on pop-ups. ([#837] by [@finnerale])
106135
- GTK: Support disabled menu items. ([#897] by [@jneem])
107-
- X11: Support individual window closing. ([#900] by [@xStrom])
108-
- X11: Support `Application::quit`. ([#900] by [@xStrom])
109136
- GTK: Support file filters in open/save dialogs. ([#903] by [@jneem])
110137
- GTK: Support DPI values other than 96. ([#904] by [@xStrom])
111-
- Windows: Removed flashes of white background at the edge of the window when resizing. ([#915] by [@xStrom])
112-
- Windows: Reduced chance of white flash when opening a new window. ([#916] by [@xStrom])
113-
- X11: Support key and mouse button state. ([#920] by [@jneem])
114-
- Routing `LifeCycle::FocusChanged` to descendant widgets. ([#925] by [@yrns])
115-
- Built-in open and save menu items now show the correct label and submit the right commands. ([#930] by [@finnerale])
116-
- Focus request handling is now predictable with the last request overriding earlier ones. ([#948] by [@xStrom])
117-
- Wheel events now properly update hot state. ([#951] by [@xStrom])
118-
- X11: Support mouse scrolling. ([#961] by [@jneem])
119-
- `Painter` now properly repaints on data change in `Container`. ([#991] by [@cmyr])
120-
- macOS: The application menu is now immediately interactable after launch. ([#994] by [@xStrom])
121-
- Windows: Keep receiving mouse events after pressing ALT or F10 when the window has no menu. ([#997] by [@xStrom])
122138

123139
### Visual
124140

@@ -130,34 +146,34 @@ This means that druid no longer requires cairo on macOS and uses Core Graphics i
130146

131147
### Docs
132148

133-
- Reduce the flashing in ext_event and identity examples. ([#782] by [@futurepaul])
134149
- Added example and usage hints to `Env`. ([#796] by [@finnerale])
135150
- Added documentation about the usage of bloom filters. ([#818] by [@xStrom])
136151
- Added book chapters about `Painter` and `Controller`. ([#832] by [@cmyr])
137-
- Added hot glow option to multiwin example. ([#845] by [@xStrom])
138-
- Added new example for blocking functions. ([#840] by [@mastfissh])
139152
- Added a changelog containing development since the 0.5 release. ([#889] by [@finnerale])
140-
- Removed references to cairo on macOS. ([#943] by [@xStrom])
141-
- Updated screenshots in `README.md`. ([#967] by [@xStrom])
142153
- Added goals section to `README.md`. ([#971] by [@finnerale])
143154
- Added a section about dependencies to `CONTRIBUTING.md`. ([#990] by [@xStrom])
144-
- Fixed menu inconsistency across multiple windows in the multiwin example. ([#926] by [@kindlychung])
155+
- Updated screenshots in `README.md`. ([#967] by [@xStrom])
156+
- Removed references to cairo on macOS. ([#943] by [@xStrom])
157+
158+
### Examples
159+
160+
- Added `blocking_function`. ([#840] by [@mastfissh])
161+
- Added hot glow option to `multiwin`. ([#845] by [@xStrom])
162+
- Reduce the flashing in `ext_event` and `identity`. ([#782] by [@futurepaul])
163+
- Fixed menu inconsistency across multiple windows in `multiwin`. ([#926] by [@kindlychung])
145164

146165
### Maintenance
147166

167+
- Added rendering tests. ([#784] by [@fishrockz])
168+
- Added docs generation testing for all features. ([#942] by [@xStrom])
148169
- Replaced `#[macro_use]` with normal `use`. ([#808] by [@totsteps])
149170
- Enabled Clippy checks for all targets. ([#850] by [@xStrom])
150-
- Added rendering tests. ([#784] by [@fishrockz])
151171
- Revamped CI testing to optimize coverage and speed. ([#857] by [@xStrom])
152-
- GTK: Refactored `Application` to use the new structure. ([#892] by [@xStrom])
153-
- X11: Refactored `Application` to use the new structure. ([#894] by [@xStrom])
154-
- X11: Refactored `Window` to support some reentrancy and invalidation. ([#894] by [@xStrom])
155172
- Refactored DPI scaling. ([#904] by [@xStrom])
156-
- Added docs generation testing for all features. ([#942] by [@xStrom])
173+
- Refactored `WidgetPod::event` to improve readability and performance of more complex logic. ([#1001] by [@xStrom])
157174
- Renamed `BaseState` to `WidgetState` ([#969] by [@cmyr])
158-
- X11: Reworked error handling ([#982] by [@jneem])
159175
- Fixed test harness crashing on failure. ([#984] by [@xStrom])
160-
- Refactored `WidgetPod::event` to improve readability and performance of more complex logic. ([#1001] by [@xStrom])
176+
- GTK: Refactored `Application` to use the new structure. ([#892] by [@xStrom])
161177

162178
### Outside News
163179

@@ -166,6 +182,38 @@ This means that druid no longer requires cairo on macOS and uses Core Graphics i
166182
- [jack-mixer](https://github.com/derekdreery/jack-mixer) A jack client that provides mixing, levels and a 3-band eq.
167183
- [kiro-synth](https://github.com/chris-zen/kiro-synth) An in progress modular sound synthesizer.
168184

185+
## [0.5.0] - 2020-04-01
186+
187+
Last release without a changelog :(
188+
189+
## [0.4.0] - 2019-12-28
190+
## [0.3.2] - 2019-11-05
191+
## [0.3.1] - 2019-11-04
192+
## 0.3.0 - 2019-11-02
193+
## 0.1.1 - 2018-11-02
194+
## 0.1.0 - 2018-11-02
195+
196+
[@futurepaul]: https://github.com/futurepaul
197+
[@finnerale]: https://github.com/finnerale
198+
[@totsteps]: https://github.com/totsteps
199+
[@cmyr]: https://github.com/cmyr
200+
[@xStrom]: https://github.com/xStrom
201+
[@teddemunnik]: https://github.com/teddemunnik
202+
[@crsaracco]: https://github.com/crsaracco
203+
[@pyroxymat]: https://github.com/pyroxymat
204+
[@elrnv]: https://github.com/elrnv
205+
[@tedsta]: https://github.com/tedsta
206+
[@kindlychung]: https://github.com/kindlychung
207+
[@jneem]: https://github.com/jneem
208+
[@fishrockz]: https://github.com/fishrockz
209+
[@thecodewarrior]: https://github.com/thecodewarrior
210+
[@sjoshid]: https://github.com/sjoshid
211+
[@mastfissh]: https://github.com/mastfissh
212+
[@Zarenor]: https://github.com/Zarenor
213+
[@yrns]: https://github.com/yrns
214+
[@jrmuizel]: https://github.com/jrmuizel
215+
[@scholtzan]: https://github.com/scholtzan
216+
169217
[#599]: https://github.com/xi-editor/druid/pull/599
170218
[#611]: https://github.com/xi-editor/druid/pull/611
171219
[#695]: https://github.com/xi-editor/druid/pull/695
@@ -259,39 +307,8 @@ This means that druid no longer requires cairo on macOS and uses Core Graphics i
259307
[#1001]: https://github.com/xi-editor/druid/pull/1001
260308
[#1003]: https://github.com/xi-editor/druid/pull/1003
261309

262-
## [0.5.0] - 2020-04-01
263-
264-
Last release without a changelog :(
265-
266-
## [0.4.0] - 2019-12-28
267-
## [0.3.2] - 2019-11-05
268-
## [0.3.1] - 2019-11-04
269-
## 0.3.0 - 2019-11-02
270-
## 0.1.1 - 2018-11-02
271-
## 0.1.0 - 2018-11-02
272-
273-
[@futurepaul]: https://github.com/futurepaul
274-
[@finnerale]: https://github.com/finnerale
275-
[@totsteps]: https://github.com/totsteps
276-
[@cmyr]: https://github.com/cmyr
277-
[@xStrom]: https://github.com/xStrom
278-
[@teddemunnik]: https://github.com/teddemunnik
279-
[@crsaracco]: https://github.com/crsaracco
280-
[@pyroxymat]: https://github.com/pyroxymat
281-
[@elrnv]: https://github.com/elrnv
282-
[@tedsta]: https://github.com/tedsta
283-
[@kindlychung]: https://github.com/kindlychung
284-
[@jneem]: https://github.com/jneem
285-
[@fishrockz]: https://github.com/fishrockz
286-
[@thecodewarrior]: https://github.com/thecodewarrior
287-
[@sjoshid]: https://github.com/sjoshid
288-
[@mastfissh]: https://github.com/mastfissh
289-
[@Zarenor]: https://github.com/Zarenor
290-
[@yrns]: https://github.com/yrns
291-
[@jrmuizel]: https://github.com/jrmuizel
292-
[@scholtzan]: https://github.com/scholtzan
293-
294-
[Unreleased]: https://github.com/xi-editor/druid/compare/v0.5.0...master
310+
[Unreleased]: https://github.com/xi-editor/druid/compare/v0.6.0...master
311+
[0.6.0]: https://github.com/xi-editor/druid/compare/v0.5.0...v0.6.0
295312
[0.5.0]: https://github.com/xi-editor/druid/compare/v0.4.0...v0.5.0
296313
[0.4.0]: https://github.com/xi-editor/druid/compare/v0.3.2...v0.4.0
297314
[0.3.2]: https://github.com/xi-editor/druid/compare/v0.3.1...v0.3.2

CONTRIBUTING.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ to specific version documentation that will need updating.
4141
Keep the sections, but delete the entries.
4242
- Rename the old *Unreleased* section to the target release version and add the release date.
4343
- Add the correct link for the target release revision to the bottom of the file.
44+
- Update the changelog introduction message to reflect this new release.
4445
- Delete any empty sections.
4546
- Tidy up the entries, possibly reordering some for more logical grouping.
4647

0 commit comments

Comments
 (0)