Skip to content

Commit 0aa9b68

Browse files
committed
chore: bump and add changelog
1 parent 0de1c62 commit 0aa9b68

4 files changed

Lines changed: 121 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
# Changelog
2+
3+
All notable changes to GhostDraw will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## v1.0.5
9+
10+
### Added
11+
- **Line Tool** - Draw straight lines by clicking two points
12+
- Press `L` to activate Line tool
13+
- First click sets start point, second click finalizes the line
14+
- Real-time preview follows cursor
15+
- Line thickness and color adjust dynamically with mouse wheel and right-click
16+
- **Explicit Tool Selection** - Direct keyboard shortcuts for tool switching
17+
- Press `P` to select Pen tool (freehand drawing)
18+
- Press `L` to select Line tool (straight lines)
19+
- **Keyboard Shortcuts Help** - F1 help popup showing all available shortcuts
20+
- Press `F1` while in drawing mode to display help overlay
21+
- Shows current activation hotkey combination dynamically
22+
- Displays all drawing tools, actions, and system shortcuts
23+
- Auto-fades after 4 seconds with smooth animations
24+
- **Settings Architecture Improvements**
25+
- Abstracted settings persistence with `ISettingsStore` interface
26+
- `FileSettingsStore` for production file-based persistence
27+
- `InMemorySettingsStore` for isolated unit testing
28+
- Eliminated file system dependencies from unit tests
29+
30+
### Changed
31+
- Tool selection now uses explicit methods instead of toggle-only behavior
32+
- Test suite refactored to use in-memory storage, eliminating test pollution
33+
- Settings service now uses dependency injection for storage layer
34+
35+
### Fixed
36+
- Line tool cursor hotspot now correctly positioned at line start point (left circle)
37+
- Test isolation issues resolved - no more shared file system state
38+
39+
## v1.0.0-v1.0.4 - Initial Releases
40+
41+
### Added
42+
- **Drawing Mode Activation**
43+
- Configurable hotkey combination (default: Ctrl+Alt+D)
44+
- Toggle or hold mode options
45+
- **Pen Tool** - Freehand drawing with mouse
46+
- Click and drag to draw smooth polylines
47+
- Adjustable brush thickness (1-20 pixels)
48+
- 10-color palette with cycling
49+
- **Brush Customization**
50+
- Right-click to cycle through color palette
51+
- Mouse wheel to adjust brush thickness
52+
- Real-time thickness indicator overlay
53+
- **Canvas Management**
54+
- Press `R` to clear canvas with visual feedback
55+
- Press `ESC` for emergency exit from drawing mode
56+
- Canvas spans all monitors in multi-monitor setups
57+
- **System Tray Integration**
58+
- Always-running background application
59+
- Context menu for quick access to settings
60+
- Log level adjustment from tray
61+
- **Settings Window**
62+
- Cyberpunk-themed UI
63+
- Drawing settings (brush thickness, color palette)
64+
- Hotkey configuration with visual recorder
65+
- Mode settings (toggle vs hold)
66+
- Logging level configuration
67+
- **Robust Error Handling**
68+
- Global exception handler prevents system lockout
69+
- Comprehensive logging with Serilog
70+
- Safe hook cleanup on exit
71+
- **Custom Cursors**
72+
- Colored pencil cursor shows active brush color
73+
- Line tool cursor with dual circles and connecting line
74+
75+
### Technical Features
76+
- WPF transparent overlay across all screens
77+
- Global Windows keyboard/mouse hooks
78+
- Dependency injection with Microsoft.Extensions.DependencyInjection
79+
- Structured logging with Serilog
80+
- Settings persistence in LocalApplicationData
81+
- .NET 8 target framework
82+
83+
---
84+
85+
## How to Update This Changelog
86+
87+
When adding new features or fixes:
88+
89+
1. Add entries under the `[Unreleased]` section
90+
2. Use these categories:
91+
- `Added` - New features
92+
- `Changed` - Changes to existing functionality
93+
- `Deprecated` - Soon-to-be removed features
94+
- `Removed` - Removed features
95+
- `Fixed` - Bug fixes
96+
- `Security` - Security fixes
97+
98+
3. When releasing a new version:
99+
- Change `[Unreleased]` to `[X.Y.Z] - YYYY-MM-DD`
100+
- Create a new `[Unreleased]` section at the top
101+
- Update version numbers according to [Semantic Versioning](https://semver.org/):
102+
- MAJOR version for incompatible API changes
103+
- MINOR version for backwards-compatible functionality additions
104+
- PATCH version for backwards-compatible bug fixes
105+
106+
### Example Entry Format
107+
108+
```markdown
109+
## [Unreleased]
110+
111+
### Added
112+
- **Feature Name** - Brief description
113+
- Detail about feature
114+
- Another detail
115+
116+
### Fixed
117+
- Issue description and what was fixed
118+
```

Installer/GhostDraw.Installer.wixproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="WixToolset.Sdk/4.0.5">
22
<PropertyGroup>
3-
<Version Condition="'$(Version)' == ''">1.0.4</Version>
3+
<Version Condition="'$(Version)' == ''">1.0.5</Version>
44
<OutputName>GhostDrawSetup-$(Version)</OutputName>
55
<OutputType>Package</OutputType>
66
<Platform>x64</Platform>

Src/GhostDraw/GhostDraw.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<UseWPF>true</UseWPF>
99
<UseWindowsForms>true</UseWindowsForms>
1010
<ApplicationIcon>Assets\favicon.ico</ApplicationIcon>
11-
<Version>1.0.4</Version>
11+
<Version>1.0.5</Version>
1212
</PropertyGroup>
1313

1414
<ItemGroup>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ghost-draw",
3-
"version": "1.0.4",
3+
"version": "1.0.5",
44
"description": "Draw directly on your screen with a transparent overlay",
55
"repository": {
66
"type": "git",

0 commit comments

Comments
 (0)