New features
Board Editor
- Aribtrary view rotation (d69b69c)
- Rule export/import (5f33144)
- Pick&place export format can be be customized (3ecc1bf)
Editors (interactive manipulator)
- Measurement tool (478bc50)
- Drag polygon edge tool (084ac07)
- Support pool reload in schematic and board (f5214b2)
Enhancements
Board editor
- Thermals in planes follow minimum width setting (43c1928)
- Place decal tool: Scale is adjustable from tool (d351448)
- Show holes in PDF export (8de3dab)
- Improved rebuild performance after tools (06fcd68)
- Draw plane/keepout tools for drawing planes/keepouts in one step (e53f200)
- Highlighting a package also highlights smashed texts (1aedb43)
- Show show more descriptive net names in preflight check (3088cc8)
Editors (interactive manipulator)
- Draw dimension tool: Label size is adjustable from tool (07e0310)
- View can be flipped if a tool is active (e213caf)
- Non modal enter datum windows don't immediately close after entering value (bdc84fb)
- Arcs are drawn as such, not as line segments (1367178)
- Rotate arbitrary/scale tool uses non modal dialogs (b14e5f4)
- Rotate arbitrary/scale tool supports decals (e8cc033)
- Draw polygon tool: finish by closing polygon (4707cc2)
- Parameters window: add insert parameter button (4d137c3)
- Use navigation buttons (back/forward) to switch layers (f871566)
Package editor
- Edit pad tool uses non modal dialog (e2bf3b2)
Symbol editor
- Symbol preview window remembers window size (f483d2c)
- Preview for expanded symbols (1b32099)
3D preview
- Render gamma-correct background gradient (67e0c4b)
- Use gamma-correct shading (693942f)
- Render models with smooth normals (6395e2e)
Pool manager
- Improved progress reporting during pool download (0781a51)
- Git tab performance enhancements (7c6a02f)
- "Where used" list performance enhancements (4e7dc29)
- Pool update is 2× to 5× times faster (bd95955, b5603e3, acb4124, 2806973)
- Properly update pool after duplicating part with package (f64af58)
- Partinfo searches by MPN prefix rather than exact match (ac48399)
Bugfixes
Board editor
- Make decals only selectable on used layers (cb34b24)
- Place decal tool: Support mirroring decal (5f7a85d)
- Via overlay stays readable in bottom view (bd8b7db)
- Decals are actually mirrored if mirrored (435dde1)
- Add plane cutout for PTH barrels (f3e813e)
- Ignore irrelevant layer during plane updated (8fb868b)
- Properly handle zero length airwires (d4f8ffe)
- Properly display nets with no airwires in nets window (dad6c71)
Schematic editor
- Don't crash if connected symbol pin is deleted in symbol (9cf9a52)
Editors
- Multiline text edit dialog: insert newline at cursor (5780aff)
- Load select polygon action keybindings on startup (88d0bbc)
- Don't show action button menu if clicked the wrong way (47654f3)
- Avoid rendering empty buffers potentially leading to crashes (69ac4b5, 438e65c)
Pool manager
- Remote tab: Don't crash if there's no local branch when updating a pull request (88ca981)
Windows builds
- Use patched Gtk to work around Intel GPU driver bug (84a1837)
Removed features
Editors
- Pasting as SVG isn't supported anymore (13f2428)
Version 1.3.0
New features
Board editor
- Decals for putting logos and symbols on boards (d2e88d7)
- "Add text" tool for adding text linked to packages (6fbfb78)
- Same net clearance check (46c2156)
- Support highlight collisions and DRC off mode in router (078d543)
Editors (interactive manipulator)
- Actions for pan and zoom (1d57d9c)
- Draw circle tool (b63a8c1)
- Highlight net class action in schematic and board (9f1a240)
Pool manager
- Support moving and renaming pool items (14de320)
- Pull request review tool (needs to be enabled in
prefs.json
) (e2d4cd2)
- Checks for Units/Entities/Parts (76c596c)
Symbol editor
3D preview
- Add option for hiding "do not populate" components (d7d6a9c)
Package editor
Misc
- Store application version information in pool items and projects (9f5cc52)
Enhancements
Internals
- Check object type when loading pool items (b961e7a)
Package editor
- Avoid dependency cycles when setting alternate package (2c3efac)
Editors (interactive manipulator)
- Tell user about conflicting key sequences (b63a8c1)
- Make zoom factor configurable (b5303b4)
- Add action for entering click select mode (da13af6)
- Use layer ranges for improved selection usability in work layer only selection filter mode (ed7d975)
- The "add polygon vertex" tool supports adding more than one vertex per invocation (2129b75)
- Only show apply rules button where applicable (22fdd70)
- Bottom view also flips arrow keys (6a44ebe)
- Rotate arbitrary tool uses reference angle (cccf0bd)
- Current tool is ended before starting tools triggered externally (such as placing part) (cf70e2a)
- Option for showing action bar if tool is active (8d46953)
Schematic editor
- Support unsetting frame (f4491d3)
- Use more sensible shift when placing power symbols on pins (4bc6da5)
Board editor
- Router respects find grid key (70f2f85)
Pool update
- Improved detection of cycles among pool items (6c8a184)
Preferences
- Search for actions by substring rather than prefix (14aa7d7)
Pool manager
- Only enable save button in Unit/Entity/Part editor if needed (994927c)
- Use device authentication in remote tab (69c8b92)
- Option for only showing pull requests of signed in user (eda6b5f)
- It's now possible to update pull requests opened with the pool manager (b406423)
- Log window in pool/project manager (6720349)
Bugfixes
Board Editor
- DRC doesn't ignore barrel of PTH holes without pads (5490eae)
- Use 3D model from alternate package if it has only one model (96cf811)
- Parts window doesn't crash if component has no part (cbf9df3)
- Update refdes in unplaced list when reloading netlist (d42e44e)
- Don't load nonexistent nets in airwire filter (1a14686)
- Router doesn't crash on pads with zero polygons (e43a830)
Canvas
- Fix grid rendering on some platforms (8e457c1)
Editors (interactive manipulator)
- Also save on exit if a tool is active (12bc268)
- Make cursor work near head-up display (cae3fe2)
Schematic editor
- Remove nonexistent connections in copy/paste (0ceaf2e)
- Update symbol text placement while placing symbol (431f7e6)
Pool/project manager
- Increase recent list refresh interval for reduced idle CPU usage (3570e85)
- Catch errors in local pool update during pool upgrade (86e6476)
Part wizard
- Update duplicate pad name warning after linking pads (c0d7756)
- Properly check for
.json
suffix in filenames (6598cc3)
Changed behavior
Editors (interactive manipulator)
- Only exit hover select mode if actually clicking one something (a17b450)
Board editor
- Plane styles got renamed to reduce confusion (7ec340e)
Version 1.2.1
Bugfixes
- Fix crash in router due to undefined behaviour (37882e0)
Misc
- Makefile: allow gold linker to be disabled (6113054)
Version 1.2.0
Added features
- Action bar for easy access to commonly-used actions (136cf03)
- Bitmap picture import for schematic, package, board (6f7edd7)
- KiCad symbol import (8f10971)
- Searchable airwire filter window (e4842ca)
- Color by net in board editor (3accc33)
- Configurable in-tool key sequences (07283ce)
- Grid supports non-zero offset and non-square spacing (9d96d21)
- Gate swapping (47a5a6e)
- Symbol to unit cross probing (d1f81db)
- Layer pairs for switching layers after placing vias (176b8e2)
- Distraction-free mode (111309c)
- References to sheets in schematic (ca23d34)
Enhancements
- Progressive model loading in 3D preview (10d52d7)
- Show scale bar in preview canvas (edaa964)
- Show placeholder in length tuning window (38044b2)
- Show key sequences in context menu (3441ff5)
- Selection qualifier is remembered when switching selection tools (9af4a65)
- Selection is is remembered for each sheet (273c9bc)
- Make minimum line width configurable (309e41f)
- Search can do exact matching rather than substring search (266fe7a)
- Show placeholder in unit editor (8fa9452)
- Add link to pool in project manager (66e66c6)
- Move Part wizard button to Parts tab (6ae9361)
- Improve layout of unit and entity editors (810fdba, 0119cb8, 555f2ff)
- Make sure symbol is in view when placing symbol (c61afdb)
- Tool popover is resizable (1240fb8)
- Hint for reloading the netlist in board editor (94e82b7)
- Kicad package import handles circular pads (b5125e3)
- View options menu (4e2fb33)
- Package browser can sort by pad count (e53098d)
- Show pin names in pads (4318650)
- Show net names in vias (9adf7ca)
- Deleting a track chain also deletes vias on the way (24e9904)
- Kicad package import handles rectangular pads with round corners (6eb90ba)
- Kicad package import handles obround pads (27d3d7e)
- Place via tool asks for net rather than padstack (a1b0e49)
- Draw polygon rectangle tool rememberes mode (092fec9)
- Rules window position is stored for each editor type (ecb51e0)
- Grid snaps to pixel grid for improved sharpness (017049d)
- Update KiCad router to 5.1.6 (9e107c6)
- Option for moving single tracks with router (956d8f5)
- Add router settings window (bf00701)
- Improve router performance (1f86cf3, 651475c, f68df85)
- Button for copying logs to clipboard (7b9e8d8)
- Work layer only display modes (703ea35)
- Allow changing net while placing via (e04d8f3)
- Make zero-width selectables smaller (6c8fd8e)
- Show all polygon edges when selecting polygon (20b14f0)
- Adjust plane priorities from property sidebar (1ad4b04)
- Show planes in head-up display (ebb804f)
- Don't show clarify selection menu if there's only one line/point among the selection candidates (ab058c3)
- Make minimum selectable size and target snap radius configurable (96be373)
- Add option for snapping to targets on schematic (bff1bbf)
- Enable scale and rotate arbitrary tool in schematic (685469b)
- Make length tuning window sortable by length (23136ad)
- Length tuning tool uses reference from length tuning window (0d0340e)
- Optionally bend non-orthogonal net lines when dragging (e0eb9e3)
- Show more information when deleting a pool item (9d813cb)
- Show infor bar with links to docs in pool manager (5c42c2a)
Bugfixes
- Resize symbol tool respects quadrant the tool was started in (80b2b67)
- Don't show empty groups in tool popover (3f6d528)
- Fix copying frame of current sheet to new sheet (c437557)
- Properly set button sensitivity in part editor (3009711)
- Annotations: Fix gap filling for multi page components (75139e8)
- Don't crash when deleting junction attached to bus ripper (bd1e9ae)
- Ignore mechanical pads for alternate package compatibility check (5ee3cf6)
- Don't draw connection lines from no-net junctions and mechanical pads (0328bd4)
- Copy/paste copies tracks attached to pads (0328bd4)
- Save no parametric data in part editor (c2795bb)
- Fix pool update if not duplicating symbol (6eb90ba)
- Properly implement target snap filter in tools (cc5c029)
- Don't render invisible annotations (3816fd0)
- Git tab doesn't crash if 3D model is used in more than one package (867e7ec)
- Update catch-all warning in rules window when switching rules (2eb90b3)
- Only show catch-all warning in rules window if actually required (2eb90b3)
- Show pad name overlay at the right position of pad's bounding box center isn't at origin (ab0272d)
- Fix pointer warping while panning (4f963c5)
- Don't snap to invisible SMD pads (02539c7)
- Avoid drive not ready errors on win32 (9b0d1e9)
- Prevent errors during triangulation for 3D preview (7f1ba24)
- Fade unhighlighted objects to background color rather than black in dim mode (edcdb97)
- Refresh units after updating pool (2c6655a)
- Avoid exception when loading keys for unavailable tool (182c967)
- Avoid crashes by using
json::at
rather than []
(55505e6)
- Use multiline text editor when placing text (bebd57a)
- Use menu rather than cropped popover in parameter set editor (935c270)
- Keep scrolling position in unplaced box (83ec1be)
- Incrementally update pool when duplicating items (8a978bf)
- Fix symbol pin UUID when changing a symbol's unit (494f19a)
- Don't trigger drag when holding shift for pan (397757d)
Changed behavior
- Move some actions to more appropriate groups (e29462e, e29462e)
- Pool is updated when saving parts, not after closing the editor (e9305b3)
- Widgets in unit/entity editor rows don't receive scroll events anymore (6e15a9e)
- Center of polygon arcs and arcs gets projected onto the perpendicular bisector of start and end point to force constant radius (ae7b293)
Removals
- Place package button is gone since the same functionality is available from the unplaced list (ac7d7c1)
- Homegrown old router tool (079530f)
Misc
- Combine low-content pages in preferences dialog (45770af)
- Bump C++ version to C++17 (35faeda)
Version 1.1.1
Bugfixes
- Makefile: don't build during make install (e991aff)
- win32: regenerate gdk pixbuf loader cache during build (b7a128b)
Version 1.1.0
Added features
- Pick&place export (bdb0af8)
- Support replacing project metadata variables on board (c1293e2)
- Airwire filter (145bcb1)
- Support for touchscreen pan and zoom gestures (38ff613, ca1b832)
- Support for "dot not populate" components (8cf32eb)
- Action for selecting all vertices of a polygon (5d2571f)
- Panelisation (188802f)
- Outline layer in packages (03f29b5)
- Automatic update of pool cache status and hint when placing out of date part (655c084)
- Recursive
git add
from git tab in pool manager (ea5bcb4)
- Tool for resizing symbols (21763df)
- Tool for generating silkscreen (c314592)
- Run board checks from python module (e47e579)
- Tool for rounding off polygon vertices (b028dbe, 1b9a801)
- Pool update from python module (7cd5cc2)
- Package python module as docker image (3b047c3)
- Export 3D rendering from python module (619b74b)
Enhancements
- Show list of unplaced symbols in schematic (c237eeb)
- Show list of unplaced packages in board (fabbd65)
- Copy placement tool copies silkscreen (55a3226)
- Make pool download cancellable and show download progress (fd943ae)
- Save board display options (fd943ae)
- Increase 3D model offset range to ±1000 mm (fd943ae)
- Edit via tool can edit multiple vias at once (fd943ae)
- Move project metadata such as title and author to netlist rather than having them in schematic and project file (ef6f647)
- Show name of current document in interactive manipulator window title for pool items (72e4eec)
- Show project title in window title of project manager, schematic and board interactive manipulator (71e69cc)
- Show package in component head-up display (6214fa1)
- Support degree sign (U+00B0) in texts (5875829)
- Support plus/minus sign (U+00B1) in texts (3f90d8f)
- Show status of selection filter, airwire filter and flipped view in status bar (162a679)
- Make URLs in text clickable in head-up display (6fd2652)
- Support for mirroring/rotating around cursor in move tool (455599e)
- Search for MPNs and pin/pad names (819687c)
- Support circular renumbering in renumber pads tool (6626585)
- Place pin tool can place all remaining pins at once (97540ca)
- Place pin tool shows preview of next autoplaced pin (8e5335f)
- Show pin bounding box in symbol interactive manipulator (24a8f4b)
- Selection filter dialog can be closed by escape key (c2b169c)
- Add context menu to recent pools and projects for opening in file browser and deleting (040bdc7)
- Only enable export buttons if all filenames are provided (eb2698b, 04de328, b3b51a7, 2325742, 9ac1c59)
- Copy paste for bus labels and bus rippers in a schematic (3cc5375)
- Make lists in git tab sortable (ed27677)
- Courtyard generated by IPC footprint generator has
courtyard
parameter class (fa9b793)
- Use tabular figures in STEP export window's progress view (2a5cc95)
- Improve typesetting in dimension inputs (058fdb8)
- Export STEP from python module (ea5e8b2)
- Support
file://
schema in Links (fedc6f6)
- Add "Work layer only" checkbox to selection filter dialog (e464ec4)
Bugfixes
- Fix copy placement tool for packages on the bottom side (53f3ac4)
- Properly escape project/pool title in recent chooser (7777ada)
- Fix crash when autoconnecting more than one pin per symbol (e0567f2
- Reduce idle CPU usage in 3D preview (162a679)
- Don't crash when encountering layer not found in layer display settings (c11c6d9)
- Always remove autosaved files when exiting cleanly (ba881b8)
- Avoid superfluous line breaks in head-up display (5f90eaa)
- Increase interactive manipulator to project manager socket timeout to 5 seconds to prevent socket breakage on slow machines (ec08ec7)
- Fix windows not getting raised on X11 and wayland when switching between project manager and interactive manipulator (50841e5)
- Make it possible to select polygon vertices by hover select (3c86273)
- Don't smash silkscreen again if it's already omitted (11a4c50)
- Delete smashed texts if package is gone during startup or netlist reload (4f64739)
- Apply smooth zoom setting to all canvases (025a46b, 1e6539a)
- Connect bipoles the right way round when placing them on a net line (cf709a2)
- Use WAL mode for pool databases to prevent crashes due to locked database (4cfbe5c)
- Automatically set window title for export file choosers based on action (24281f3)
- Copy/paste copies net lines attached to pins (41c5d1e)
- Fix possible crash when copy/pasting diffpairs (6534e8f)
- Fix STEP export for too short slot holes (9e3c594)
- Update property panels after undo/redo (cb29541)
- Use proper window title in open pool/project file chooser (93998c0)
- Fix selection preview in selection clarification menu on win32 (db61b45)
- Fix focus passing from project manager to editor on win32 (940aa17)
Changed behavior
- Deleting the last gate's symbol of a component in a schematic will automatically delete the entire component without the option to keep the component with no symbols visible (f34e006)
- Save interactive manipulator metadata such as layer visibility and grid spacing to a separate file such as
board.json.imp_meta
rather than to the board file itself (bb1aa8c)
- Package interactive manipulator automatically deletes floating junctions and shows junctions only if selected (acd5c44)
- Actions in tool popover are activated with a single click rather than a double click (576da12)
Removals
make all
doesn't include horizon-pool
and horizon-prj
(12da19f)
- Remove
crontab -e
style editors from horizon-pool
(2edd506)
Misc
- Refactor core (fd943ae)
- Factor out search from core (819687c)
- Make board rebuild a bit faster by storing a shallow copy (no expanded packages) of the board rather than a json serialisation for undo/redo (0ffb118)
- Make mesh generation for 3D preview independent of UI (005ed87)
Version 1.0.0
No change log since this is the first versioned release.