diff -Nru pcb-rnd-3.0.6/Changelog pcb-rnd-3.1.1/Changelog --- pcb-rnd-3.0.6/Changelog 2022-11-02 02:51:47.000000000 +0000 +++ pcb-rnd-3.1.1/Changelog 2023-05-24 02:43:23.000000000 +0000 @@ -1,1074 +1,281 @@ -pcb-rnd 3.0.6 (r36946) +pcb-rnd 3.1.1 (r37572) ~~~~~~~~~~~~~~~~~~~~~~ - [act_draw] - -Add: Arc2Lines() for line approximating arcs - - [act_read] - -Fix: wrong description on ReadBoard() - -Fix: IDP error message printed the wrong syntax text (for idplist) - - [build] - -Fix: buildin.hidlib.c is long gone, do not attempt to sue it for make dep - -Update: require librnd 3.2.x to configure - -Add: print which app required librnd to avoid possible confusion + [asm] + -Fix: ignore subcircuits of extended objects [cam] - -Add: name all HPANE/VPANE so their positions are saved + -Fix: doc_png exports bottom side with flip_y enabled for proper layer ordering + -Add: doc_eps job to export colored top and bottom in eps for documentation purposes + -Add: doc_ps job, similar to doc_png and doc_eps + -Add: doc_ps draws copper faded and silk solid for readability + -Add: cam job for Advanced Circuits, as reported by Bdale [ch_endpoint] - -Fix: endpoint mark object list is flushed on board edit so that it won't remember delted objects - fixes invalid memory access after undo list clear + -Fix: remove endpoint indications (on first subsequent redraw) when tool is switched to a non-indicating one [core] - -Cleanup: remove code dup with librnd (exec_prefix calculation) - -Fix: don't use floating abs() on coords in point-on-arc - -Fix: ChangeName(Subc) used the wrong coords for screen search - -Fix: SetThermal() to noshape may have set the wrong thermal style due to uninitialized local var - -Fix: SetThermal() picks up padstacks on Object - -Fix: low level drc check for broken copper ring around pstk: HSHADOW should never break as there's no copper - -Fix: always report error if buffer save fails because of no plugin available to handle it - -Fix: always report error if board save fails on no available plugin - -Fix: extobj GUI helper for coord read: empty string means 0 - -Fix: use rnd_hid_print_all_gui_plugins() for printing GUI HID plugins - -Fix: missing fclose() after saving multiple footprints in a lib - -Fix: back annotation: don't lose new footprint value - -Fix: ratch patch: remove netlist change event binding on uninit - -Fix: do not crash if ThermScale is set to 0 - -Fix: don't crash on ThermScale being zero on round thermals - -Fix: rounding error in line merge caused bougusly removing the mid point of a -\ joint when endpoints were only a few nanometer away, mistaking it for an overlap - -Fix: more detailed error message on detect-format netlist import, also listing partial import as a reason - -Add: pcb_line_modify(): undoable line geometry (optional endpoint, thickness and clearance) modifier - -Add: more details on librnd version in --version - -Add: save first padstack from buffer to file (with menu) - -Add: rats_patch: hook for removing entries that got already resolved - -Add: rats_patch: cleanup func: iterate over the list of patches and prepare for removing the ones that are done - -Add: rats patch cleanup: recognize of an addconn or delcon is done and remove it - -Add: rats patch cleanup call: remove subc attribute change if it's already done (on fwd annotation) - -Add: plug_io: "alternate extension" field to be able to support "old file name endings" for the Ringdove switchover - -Add: config setting: rc/web_browser to that plugins depending on external web services (e.g. order pcb) can run the borwser preferred by the user - -Add: PadstackReplace() action and implementation for replacing from current style - - [ddraft] - -Fix: don't return const enum (const is not too useful on integral types) + -Fix: pixmap transformation: avoid sign swap in rotation + -Fix: scale pixmaps before rotation to keep their aspect if it's not 1.000 + -Fix: find.c vs. disjoint padstacks: set all-copper-conn'd for multi-copper padstacks only if the hole that connects them are plated + -Fix: find.c vs. disjoint padstacks: don't require plated hole for the single-copper (smd) case + -Fix: find.c: skip checking bloated up pstk against polygon for isc if clearance is larger than bloat and there's no thermal connecting them (works around line approximation false positive isc) + -Fix: find.c: switch over from geometric rat-end connection find to (more precise) anchor based when rat anchors are avaliable; this means the rat line is connected only to the two objects it was mapped for; fixes the bug when two nointconn lines touch at endpoint from where a rat also starts and by geometry the rat shorts to two nointconn lines making an internal connection against the user's will + -Fix: typo: check if rat rtree exists (not padstack rtree) before looking into the rat rtree + -Fix: when removing a layer, all layers are renumbered; shift the thermal bits (indexed by layer index) in each padstack so thermals remain on the same layer after the re-indexing + -Fix: allow idpath data address of buffer#n to end in / + -Fix: idpath data address lookup: boundary check on the buffer array + -Fix: pcb_idpath2obj_in() should be able to return object from buffer if the path refers to a buffer; provide an _only() variant that excludes the buffer + -Fix: draw code used the wrong field for applying gui xform, causing conditional jump on uninitialized value + -Fix: when converting string to thermal bits, accept NULL as empty string + -Add: initialize new conf node rc.path.dotdir so users can refer to their own config easier + -Add: hid_cam: support for global opt flip_x and flip_y so that bottom side layer order can be rendered correctly + -Add: low level cam support for force_nonepty (creates output file even if layer group is empty, overriding the export plugins normal decision, in case the plugin cooperates) [dialogs] - -Del: get rid of local dlg_export implementation in favor of librnd's - -Fix: LayerPropGui() does require a layer ID argument - -Fix: parametric library: when generating parameter list, omit parameters with unknown type - -Fix: map argument of gui_fpmap_choose() is mandatory - -Fix: layer flag dialog shouldn't crash if group name is NULL - -Fix: do not let the parametric library window open for non-parametric footprints - -Fix: pass on real IO-type from the save action to the io plugin's save-as sub-dialog code; this fixes the bug that saving a footprint would offer the format specific settings of the board - -Add: name all HPANE/VPANE so their positions are saved - - [djopt] - -Fix: do not check twice if object is a via in miter() + -Fix: reapply filter after a refresh to avoid gui inconsistency between the filter entry and the tree displayed + -Fix: library window: refresh button shouldn't crash when filter entry is empty + -Fix: library window on parametric edit: when the parametric footprint fails to produce a valid help text, don't override the filter with NULL string (causes segf) + -Fix: typo in load file name filter name (should be rp, not rs) + -Fix: Save() syntax should mention the extra, optional path argument where it is available + -Add: library window: refine filter text tooltip: mention regex and case-insensitive + -Add: padstack dialog instance tab displays logical layer id (for reference and to ease debugging) + -Add: open dialog: file name filtering widget when opening a board [doc] - -Cleanup: missing

's - -Update: whishlist: Chris's original item for our own schematics editor is now done - -Fix: lihata format doc: menu and menu-patch root titles for rnd- prefix - -Fix: install more files from developer/ - -Fix: kiwiirc doesn't fully hide user IP - -Add: fill in plugin external deps for the packager's doc - -Add: make it clear that pcb-rnd's license does not affect data edited with pcb-rnd - -Add: comment on BSD make in INSTALL - -Update: motivation/plans for 2022 and 2023 (sch-rnd!) - - [draw_csect] - -Fix: don't crash on NULL group name - -Fix: inhibit layer group change events until all steps of layer group creation are done - -Fix: don't test for the same group type twice - - [draw_fontsel] - -Fix: uninitialized fields of the quickhand line object - - [drc_query] - -Fix: avoid invalid free() when config node fails to register - -Add: name all HPANE/VPANE so their positions are saved + -Add: gtk4 and sch-rnd formats in datasheet + -Add: document new openscad export features + -Add: mention gmail is not supported + -Add: link in route-rnd + -Add: FAQ item about high DPI screen icon_scale + -Add: document cam's global option flip_x and flip_y and force_nonempty option + -Add: sch-rnd on the bridges drawing and Ringdove listing + -Add: install resources/ when installing doc + -Update: conf tree docs generated with the centralzied tool (removing excess pcb-rnd from titles) + -Update: dotdir node in conf tree doc + -Update: user manual: prefer sch-rnd over gschem + -Update: use nlnet logo for the link - [export_debug] - -Add: script-readable, line oriented plain text export for easier comparison (disabled-by-default, not packaged) - -Add: --stateless and --compact for easier comparison + [export_bom] + -Fix: ignore subcircuits of extended objects + + [export_fidocadj] + -Fix: ignore subcircuits of extended objects [export_gerber] - -Fix: aperture lookup needs coord, not double for diameter (may fix a bug when exporting empty gerber file) + -Add: let cam override "layer group is empty" decision - [export_lpr] - -Del: local lpr HID implementation in favor of librnd's + [export_ipdcd356] + -Fix: ignore subcircuits of extended objects - [export_png] - -Del: remove local gd png draw code in favor of librnd's - -Del: ./configure detection of gd formats and SetResolution: handled by librnd; still need to detect gd because photo mode export depends on it - -Cleanup: code clarity: don't !pointer - -Fix: don't use separate FILE * for cam export and normal export; fixes the bug that cam export png never finished the file - -Add: extdep on libgd because of the photo mode export + [export_oldconn] + -Fix: ignore subcircuits of extended objects + + [export_openscad] + -Fix: don't hardwire pcb_ prefix in generated scad script, read it from a global var so later it can be changed + -Add: export option 'prefix' to change module names to allow multiple exports to be used in a single large project + -Add: do not hardwire board thickness 1.6mm but use the standard thickness query between top and bottom copper + -Add: support for openscad-origin (object attribute) to set 0;0 of the board on the x;y plane [export_ps] - -Del: remove local low level ps/eps draw functionality, use librnd's instead - -Fix: don't export excess showpage on top of the file + -Fix: restore config after the export so that forced conf sets (like flips) are reverted + -Add: set librnd's ps_faded before rendering a layer, depending on xform->layer_faded + -Add: let cam override "layer group is empty" decision in both ps end eps + -Add: --enable-flip in eps to respect flip_x and flip_y [export_stl] - -Fix: off-by-one bug when applying user specified model translation in Z direction - - [export_svg] - -Del: low level svg draw code in favor of librnd's + -Fix: ignore subcircuits of extended objects + -Fix: initialize triangulation pool large enough to host cutout coords as well + -Fix: use rtree search for cutout objects so that ones from subcircuits are picked up as well + -Fix: remove temporary cutout polygons before uninitializing the cutout poly vector + -Fix: separate export options into per format arrays so file names and other settings are remembered separately when exporting from the GUI [export_xy] - -Fix: when counting heavy terminals for pins, accept them on both top and bottom side copper + -Fix: ignore subcircuits of extended objects + -Fix: get the format enum initialized when called from the export() action + -Add: make enum values (format template names) available for --help - [find.c] - -Fix: bug in pcb_isc_line_polyline() corner case handler when polyline is fully within the line: instead of building a rectangle, the code really made a bow by starting the corner list with opposite-corner coordinates - - [font (new font engine)] - -Import: 2d mx transformations - -Add: explain what xdelta is - -Add: naive reimplementation of the low level font rendering with a generic API - -Add: generic lihata loader - -Change: switch over from srtiped xyxyxy poly representation to xxxxyyy - more efficeint because the HID draw backend expects this format - -Fix: did not set arc object thickness in transformation - -Add: pcb-rnd compatibility mode that reimplements the line thickness scaling bug - -Add: reproduce "arc thicnkess ignores minimum thickness in bbox calculation" if compat mode is enabled - -Update: when loading old geda pcb boards, run compatibility mode font normalization, just in case it makes a difference for lines in the future - -Add: font v1 fixup call because the format doesn't have unknown glyph and font height - -Add: optional "_justify" string render API for word or glyph justified rendering - -Add: calculate both centerline and real font height (with stroke thickness accounted for) - -Fix: user decompose callback differs from rnd font string draw callback in the atom type passed - -Fix: cheap font draw: do not scale the font twice (more accurate bounding box match) - - [fontmode] - -Cleanup: reorder code for readability - -Cleanup: case sensitivity: the only place where we use camelcase, for historical reason, is action names - -Cleanup: get rid of global var PCB dependency wherever it's possible - -Fix: a glyph (symbol) that is empty but has a non-zero xdelta should be marked valid; common example: whitespace - -Fix: FontEdit(): if the source board has changes, ask whether losing those changes are okay not only when the new board is created but before the current font is unlinked - -Fix: in board2font conversion calculate width of glyph properly when it has arcs: consider arc centerline, not outer contour - -Fix: save code: when clamping for glyph width arc bbox right, also tune for thickness in the if() - -Fix: loading a font directly for font edit works from GUI too - -Add: FontXform() with shear and move - -Add: FontXform(scale, sx, sy) - -Add: FontXform(rotate, deg) - -Add: FontSave() takes an optional file name to ease debugging - -Add: explicit FontNormalize() action - -Add: FontSetXdelta() to automate setting the same delta behind every glyph + [exprot_png] + -Fix: don't override onsolder-rendering in cam mode, let the cam rule decide [footprint] - -Add: parametric dip(): add an optional pitch parameter for pin spacing within a row - - [fp_fs] - -Fix: don't crash on mapping symlink cycle in the footprint lib - -Fix: when searching the file system for a matching footprint name, refuse to accept directories - -Add: configure .rf for "extension removal" so *.rf in the lib is found - - [fp_wget] - -Fix: edakrill search fopen(): uninitialized var could make not-found return non-NULL - -Fix: make cache_dir a template so that ~ and $ and % substitutions are performed - - [import_mentor_sch] - -Fix: uninitialized memory made nethlp_load_part_map() likely never return 0 as number of parts mapped - - [import_pxm_gd] - -Del: remove plugin in favor of librnd's - - [import_pxm_pnm] - -Del: remove plugin in favor of librnd's - - [import_sch2] - -Add: when relative paths enabled, convert GUI-browsed sch file to $(rc.path.design)-relative - -Add: enable design relative path in default config - - [import_sch_rnd] - -Add: plugin for importing schematics from sch-rnd sheets - - [import_ttf] - -Add: name all HPANE/VPANE so their positions are saved - - [io_altium] - -Fix: wrong range check on internal layer IDs when determining how to handle "poly pour" - - [io_eagle] - -Fix: did not throw warning when only bottom pad size differed - - [io_hyp] - -Fix: assume component side by default on missing layer name - -Fix: potentially uninit'd var in padstack shape write (e.g. for hshadow) - - [io_kicad] - -Fix: coord parse: set output coord to 0 on error to silence compiler warnings and make debugging easier - - [io_lihata] - -Fix: read: error message refers to the wrong lihata node when reporting netlist patch key syntax error - -Fix: no need to check twice for quoting ':' when writing strings - -Add: use the new font loader too when loading font from a file - -Add: be able to directly load a font file (and start the font editor on it) - -Add: warn on thermal scale too small on load already - -Add: use .lht for altnerate extension so that pcb-rnd -x foo.lht removes .lht as expected - -Change: switch over to the new Ringdove file name ending conventions: .rp for PCBs and .rf for footprints - - [io_pads] - -Fix: potentially uninitialized variable in part parse debug trace - - [io_pcb] - -Add: load font into the new font engine as well - -Add: warn when saving font glyphs with non-line atoms (format can't express that) - -Add: io incompat warning when saving a board with multiple fonts - -Add: warn on thermal scale too small on load already - - [io_tedax] - -Fix: typo while saving drc_query rules potentially made empty save - -Fix: drc query block is optional in a netlist file, don't report error if it's not found - - [lib_compat_help] - -Fix: typo stopped the code from realizing y-offseted circle padstack shape while expecting centered shape - - [lib_hid_pcbui] - -Fix: x;y parameters to DescribeLocation() are mandatory - - [libcdtr] - -Fix: missing cast from whatever-coord-type to double in debug print + -Add: openscad: 1008, 1210, 1806, 1825, 2706 SMD model + -Add: openscad: SOT143, SOT223, SOT25, SOT26, SOT323, SOT232D SMD model + -Add: openscad: SOT325, SOT325, SOT23, SOT89, SC90, SOD110, SOD80, SOD87 SMD model + -Add: openscad: SC70_3 uses SOT323 package model + -Add: openscad: SC70-4 3D model + -Add: openscad: SOD80 3D model compatible with minimelf + -Add: openscad: SOD106A, MPAK 3D model + -Add: openscad: 3 and 5 mm LEDs, TO92, TO39(-3), TO18, OSC14_8 + -Add: openscad: HC49*, HC51, TO220*, TO126, TO251, TO247, TO264 + -Add: openscad: MULTIWATT*, HEPTAWATT, PENTAWATT + -Add: openscad: 3D model for 6x6 mm tactile switch + -Add: openscad: BNC, DC power jack, DSUB connectors [menu] - -Fix: make it more clear that the generic import netlist menu item will detect netlist format - -Add: PadstackReplace for object (from context popup) and for selected, both from buffer and tool + -Add: hotkey {f f s} for import (fetch) schematics - [order] - -Add: new plugin for ordering PCB directly at fabs - -Add: implement ordering API for PCBWay + [oldactions] + -Fix: ignore subcircuits of extended objects when listing rotations [propedit] - -Add: name all HPANE/VPANE so their positions are saved + -Fix: relative set on geo fields is not mistaken for absolute set + -Add: pressing enter in the value input of the "new attribute" dialog should be the same as clicking on ok + -Add: propset(rename/a/oldname, newname) renames the attribute (in an undoable way) keeping its value [query] - -Fix: do not return ptr free'd - - [tests] - -Del: conf test - moved to librnd - -Add: order_const tester (pcb ordering plugin) - + -Fix: query() action syntax includes the optional scope argument -pcb-rnd 3.0.5 (r36457) -~~~~~~~~~~~~~~~~~~~~~~ - [ar_extern] - -Fix: don't crash if freerouting method is NULL - - [core] - -Fix: poly: when unsubtracting objects from a poly, recalculating local clipping, do not ignore padstacks - -Fix: poly: clearance recalc in remove: do padstacks only once and flush - -Fix: ignore design/drc/ conf node binary backing missing: these are created dynamically - -Fix: typo caused undoable vertical board size change misbehaving - -Fix: layer name lookup should survive NULL layer name: io_pcb calls it before layer names are fixed up - -Add: comment explaining what clearPoly is doing - -Add: fix up broken input with layer names == NULL to layer name "" in pcb_layer_auto_fixup() - - [dialogs] - -Fix: parametric dialog: don't crash when no row is selected, fall back using the filter text - -Fix: quote parametric footprint name with '' so it can contain space and ; - -Fix: parametric library editor window title uses application name from rnd_app instead of hardwiring pcb-rnd as sch-rnd uses the same code too - -Fix: export dialog: set rnd_render to the exporter before calling do_export() - most exporters will depend on rnd_render when using GCs - -Fix: library dialog: don't try to generate location info in preview for directories - -Cleanup: generalize the parametric library code by moving out its states to a separate struct - -Cleanup: abstract footprint struct away from the parametric window code so it can be used with any type - -Cleanup: abstract library entry's path for the parametric dialog so it can be reused in sch-rnd - -Cleanup: detach the pcb-specific export code from the generic export dialog code using librnd events - -Split: library parameter struct to a header so it can be reused in sch-rnd - -Split: pcb-rnd-specific code from the export dialog - -Move: dlg_library_param.[ch] to src_3rd - it would be reused by sch-rnd as an svn extern - -Move: parametric help query from lib dialog code to parametric code for reuse in sch-rnd - -Add: explain the role of pcb_export.c - - [doc] - -Fix: restore dialog box listing lost in librnd transition - -Add: text tool video tutorial links - -Add: added documentation for the show_netnames plugin - -Add: file(1) magic for sch-rnd files - -Add: file(1) magic for common tEDAx blocks - -Update: file(1) magic for pcb-rnd and librnd changes - -Update: action ref for the latest librnd action doc fixes - - [drc_query] - -Fix: uninitialized memory strdup() in GUI code when drc rule has no desc - - [export_lpr] - -Cleanup: don't include pcb-rnd-specific data.h, it's not required - -Cleanup: use rnd_trace() for debug messages - -Cleanup: remove doxygen from comment and remove unnecessary #includes - -Split: generalize the plugin code so it can be moved out to librnd later - -Split: move config from generic to pcb-rnd-specific part, other ringdove apps won't need it - -Split: move out generic parts of the lpr hid implementation to a separate file that does not depend on pcb-rnd code and can be moved to librnd - -Add: dummy copyright banner - - [export_png] - -Cleanup: move config-like global vars in a struct - -Cleanup: move caches and output count from global vars to context struct - -Cleanup: split out dpi, width/height calculation and gd pixmap setup into a generic reusable function - -Cleanup: move color cache initialization to image creation call - -Cleanup: move image cache uninit into the free_caches call to separate low level from high level - -Cleanup: move xmax/ymax size logics out to a generic function - -Cleanup: simplify the API by merging bbox and size setup function - -Cleanup: move black and white cached colors into the context struct - -Cleanup: move ims to context struct - -Cleanup: move mian im into the context struct - -Cleanup: split generic part of the FILE * file handling from pcb-rnd and photo mode - -Cleanup: separate generic png states from pcb-rnd states, remove unused ones - -Cleanup: move gc cache from global vars into the context struct - -Cleanup: move brush cache from global to context struct - -Cleanup: move last line width cache from global to context struct - -Cleanup: separate generic and specific parts of the initialization API - -Cleanup: move "in_mono" cfg from global var to the context struct - -Cleanup: generic low level png uninit API - -Cleanup: generalize gc make/free - -Cleanup: remove unused drawing mode cache - -Cleanup: generalize more gc setters - -Cleanup: move unerase_override from global var to context struct - -Cleanup: pass context struct to use_gc so it won't depend on globals - -Cleanup: split high level drawing calls from low level, generalize low level calls with the context struct - -Cleanup: low level, generic png draw functionality into a reusable minilib for librnd - -Cleanup: move rgb() from plain png export to photo mode export as nothing else needs it - -Cleanup: remove stale #includes - -Cleanup: cut the last tie between the low level generic png draw part and pcb-rnd specific board.h - -Cleanup: reoarganize color #includes - -Cleanup: namespace prefix in the low level png API - -Cleanup: use the standard error reporting mechanism instead of stderr - -Cleanup: unify error report format in low level png draw - -Cleanup: remove old tunables/rounding-hacks from low level png draw (they were no-ops by now) - -Cleanup: low level draw shouldn't depend on pcb-rnd config - -Cleanup: rename "show_solder_side" config field to ymirror - more portable across different apps - -Cleanup: fully move file format list into low level so that the caller doesn't need to do any compile-time configuration per format - -Cleanup: go by file type index instead of string in finish() for API consistency - -Add: librnd spare fields in public API struct - - [export_ps] - -Fix: reset all pctx fields on init() - -Fix: better error reporting when a ps file fails to open - -Fix: do not write scale 0*0; that combination means "not set", no calibration is required - -Cleanup: remove dead code (disbaled hardwired paste bloat - use cam instead) - -Cleanup: split out the FILE * field of global into a low level ps ctx - -Cleanup: sort out what's really needed in ps.h and why - -Cleanup: rename low level calls to have the rnd_ prefix - -Cleanup: move config fields from global to context - -Cleanup: move size/scale calculation heuristics to low level init - -Cleanup: reentrancy of low level ps draw: lastcap and lastcolor should be part of the context struct - -Cleanup: resolve which parts of the ToC generation would be done by the low level - -Cleanup: split ToC generation to low level - -Cleanup: move out the non-cam part of the new page logic to low level for reuse - -Cleanup: split out switching over to a new file to low level - -Cleanup: dedoxygene comment - -Cleanup: split out page frame rendering to low level - -Cleanup: split out page background rendering to low level code - -Cleanup: split low level draw out from ps.c to draw_ps.[ch] - -Cleanup: remove unnecessary #includes - -Cleanup: move eps config/state from globals to context struct - -Cleanup: remove conf_core ref from low level eps code - -Cleanup: move the as_shown vs. solder side logic out from low level, let the caller decide if we need to mirror - -Cleanup: split low level functions from high level in eps rendering - -Cleanup: split the eps code into a high level and a low level drawing part; the low level should have an API as it will move to librnd - -Cleanup: eps low level API: take FILE * at init, don't depend on the caller setting it up in pctx - -Cleanup: low level draw should depend on librnd config.h not pcb-rnd's - -Add: low level draw API in a header for all the forward declarations - -Add: notice on missing copyright banner - -Add: spares in public structs that are going to be in librnd - -Add: low level eps draw: option for y-mirror (original flip is x-mirror) - - [export_svg] - -Fix: missing transformation in arc render - -Fix: truncate #rrggbb color to 7 bytes long, in case it also included alpha in set-color API - -Cleanup: move config/state from globals to context struct - -Cleanup: remove PCB references from the low level code - -Cleanup: namespace for low level - -Cleanup: split out new svg file creation to low level - -Cleanup: split out the generic part of starting a new layer into low level - -Cleanup: split low level generic drawing functions from the plugin glue functions - -Cleanup: split out low level svg rendering code to separate files that can be eventually moved to librnd - -Cleanup: better error reporting on file open failure - -Cleanup: low level draw should depend on librnd config.h not pcb-rnd's - - [find.c] - -Fix: enable proper poly overlap check on negative bloat - -Fix: poly-poly intersect returns true if one poly is fully embedded in another - -Fix: line-poly isc: bloat has to be added to line thickness twice, because at the end we pass diameter, not radius - -Fix: typo in poly-in-poly (cheked the wrong polygon) - -Fix: do not skip proper polygon calculation in poly-poly-isc if both polygons have the PCB_FLAG_CLEARPOLYPOLY set (the won't guarantee clearing in that situation) - -Fix: reliably identify the poly-clear-poly case in both directions and skip expensive checks when we know we are clearing the other polygon - -Cleanup: better comment explaining an error condition on line poly generation - - [footprint] - -Add: license banner in common*.awk for parametrics - - [fp_fs] - -Fix: quote parametric footprint name with '' so it can contain space and ; - - [import_sch2] - -Fix: avoid infinite loop when conf array set fails in gui->conf conversion - - [io_dsn] - -Add: extend the error message about invalid padstack proto for vias - - [io_eagle] - -Fix: read holes as hole padstack, without copper rings - -Fix: make unpladet hole for - -Fix: footprints need to be Y-mirrored after load because of eagle coord system vs. pcb-rnd coord system - -Fix: add aux layer vectors after loading a footprint - - [io_tedax] - -Fix: don't require term line to precede term geometry - -Fix: bind data padstack rtree when loading subc-as-board so padstacks appear - -Fix: finish registering the subc after load, when loading a footprint-as-board - - [lib_compat_help] - -Fix: remove FOUND flag from smd padstacks after conversion - - [lib_hid_pcbui] - -Add: route style dialog displays padstack proto name - -Cleanup: top window title management shouldn't depend on global PCB - - [libucdf] - -Fix: replace the sketchy "sign extend" algorithm with a better one, which does not fail on armv7 with -O3 - - [propedit] - -Fix: close propedits when board is unloaded - - [query] - -Fix: make sure bloat is always set to 0 in overlap() - -Fix: clean up user functions before compilation instead of expecting the previous compilation succeeded - -Fix: throw error message if there's user function in expression - -Fix: report compilation errors using rnd_message() instead of --debug-only trace - -Fix: reset lex buffer before parsing a new script (matters after a compilation error) - -Add: advanced search: count matches operation - -Add: include last seen line number in compilation error report - - [rtt] - -Update: flag_colors refs for change of polygon point order caused by r36185 - - [scconfig] - -Add: #define LIBRND_SCCONFIG_APP_TREE, will be mandatory for librnd4 + [renumber] + -Fix: ignore subcircuits of extended objects [tests] - -Add: expopt: script for png and svg, reference output - -Add: expopt: compare tests for png, svg, ps and eps - -Fix: conftest needs to set rnd_app (required from librnd 3.2.0 on) + -Fix: filter out pup soft uninit warning to reduce noise + -Fix: strflags: wront printf format for unsigned long int in hex + -Fix: uniq_name: wrong array index integer width for printf %d + -Fix: cam refs: 0 is written as 0.000 in current code + -Add: test board for different disjoint padstack-padstack touches for find.c - [util] - -Fix: replace \ with [] for more portable regex on "." for awk pkg format parser - -Fix: list_dialogs should go for RND_ instead of PCB_ prefix when looking for DAD calls - -Fix: more PCB->RND renames in dialog lister - - -pcb-rnd 3.0.4 (r36160) -~~~~~~~~~~~~~~~~~~~~~~ - [core] - -Change: disable auto_via by default, there are too many corner cases lurking - -Fix: find.c poly-poly isc: when conveting contour lines to polygons, use square cap so tiny round caps are not generated (they are prone to self-intersect in this range) - -Fix: pixmap rendering: calculate rotation not from the input forward, but from the output back to get every pixel filled in - -Fix: ChkLayer() invalid layer ID error message printed the wrong layer name field - -Fix: verify that emergency file name template contains at most one %ld and no other format string - -Fix: "polygon cleared out of existnece" error message uses current grid units, not mm hardwired for reporting bbox center - -Fix: make sure all internal parameters of buffer operations are initialized - -Cleanup: file_act's action list should be static as it is local (namespace pollution) - -Cleanup: use matrix transformation instead of manual cos/sin in pixmap rotation - -Add: hint on what the user could do on "poly cleared out of exitence" warning - -Add: "poly cleared out of existence" error message also prints layer name - - [diag] - -Add: integrity check errors: name offending thing (obj or subc) and use # prefix for id so it's easier to understand the message - - [dialogs] - -Fix: preferences: make thermal scale and board size changes undoable - -Fix: fill in thermal scale initially on board meta tab - -Fix: don't let thermal scale go above 1.5, to avoid self-intersecting polygons - -Fix: preferences: board name change should trigger the appropriate name change event so that the title is updated - -Fix: padstack proto lib: 'new' button: save don't let tree update change the target ID we are going to edit - -Fix: padstack proto lib: refresh the tree after padstack edit, because the name of the edited padstack may have changed - -Cleanup: preferences dialog: remove dependcy on global PCB - - [doc] - -Fix: installation: pcb-rnd is not compiled with or without gui, it merely runs with or without gui - -Fix: missing www. before repo.hu (DNS stability) - -Fix: scripting install doc: it's librnd that needs to be reconfigured when switching to system-fungw - -Del: installation: remove the pre-3.0.0 run-from-source script that was required for librnd separation - -Add: arc tutorial video - -Add: installation: gtkglext is needed only for gtk2's opengl; gtk4 needs libepoxy - -Add: user manual model doc: link layer addressing - -Add: document how to work around OSX library path block - -Update: new version of manmarkup is in fawkml - - [export_gerber] - -Fix: allocate empty-layer dummy aperture instead of hardwiring aperutre 11 - in cam export this results in duplicate apertures - - [export_png] - -Fix: objects drawn on a mech layer should always use the drill color in photo mode so that plain lines on mech layer cut through the board - - [extedit] - -Fix: make sure a subc is picked for extedit, refuse to use any other object type or no-object - - [fontmode] - -Fix: when packign arc for font save, use arc bbox center instead of arc center point; if the arc has a large radius and a small delta, e.g. it's a "parenthesis", the center point falls into a different font cell than the actual graphics of the arc (always consider the graphics, not the invisible arc center) - -Fix: char width calculation should use arc naked bbox X2 instead of cx because of "small delta, big radius" arcs - -Fix: when packing arcs on save, use arc center for new arc center, compensated with ox and oy, instead of bbox center - -Fix: clear all content of symbols before rendering them again for a save - - [footprint] - -Fix: remove bga() stale debug printout - -Fix: bga: when both nx;ny and map are specified, take the larger and do not add 1 row/col (fixes the bug of excess row/col when both specified) - -Fix: common subc awk: subc_proto_create_pad_circle() used the wrong arguments and layer for creating the paste shape - -Add: bga() support for ballmask and ballpaste; calcualte "safe values" from balldia when missing - - [io_dsn] - -Fix: ses import: expect via name as pstk_ID instead of the old via_dia_dia description - -Fix: report ses import errors with a ses prefix, we are not importing dsn - -Fix: re-clip all polygons after ses import for correct clearances - - [io_lihata] - -Fix: typo causing false alarm on unset route style padstack proto - - [lib_hid_pcbui] - -Fix: refresh window title after save as (file name change) - -Fix: typo: wrong number of conf paths for infobar watch - -Cleanup: do not specify the + and - icons locally, use librnd named xpms (these icons are available since 3.1.0 there and pcb-rnd already depends on 3.1.x) - - [lib_netmap] - -Fix: create temporary placement subcircuits on a NULL board instead of the live pcb so that the live pcb's rtree is not polluted - - [propedit] - -Cleanup: remove global PCB dependency from dialog code - - [query] - -Fix: advanced search dialog: when filling strings back in the dialog on a subsequent edit, remove double quotes required by the syntax but not required in the GUI - -Fix: advanced search dialog: don't crash on empty string on the right side - - [scconfig] - -Fix: librnd_ver.o depends on installed librnd config.h so it gets recompiled on librnd version change - -Fix: implicit declaration of librnd ver req min - -Fix: remove #warning, it's not portable + [tool_std] + -Fix: arrow tool timer drops current click timing if the board got unloaded (or switched) meanwhile, to avoid operating on invalid or background board - [tests] - -Fix: conftest implicit declarations made OSX fail to compile - -Fix: conf test: list overwrite sets the higher prio on the subtree that's actually used for the overwrite - -Update: drc_query fullpoly test for more detailed cleared-out-of-existence message - -Add: OSX library path workaround: be able to inject SHELL in Makefiles and use pcb-rnd.wrap in shell scripts (when wrapper is available) -pcb-rnd 3.0.3 (r36039) +pcb-rnd 3.1.0 (r37222) ~~~~~~~~~~~~~~~~~~~~~~ - [act_draw] - -Fix: typo in PolyBool help/syntax text (wrong action name) + [asm] + -Cleanup: rename row[] to cell[] (tree code naming convention) [build] - -Add: check for librnd version, require 3.1.0 - -Add: config.h has a #define for libxml2 presence so that plugins with partial libxml2 dependency can enable/disable parts of their code - -Add: when libxml2 not found, mention that amf model loading is also disabled - - [core] - -Fix: don't attempt to xor-draw hole of a padstack if the prototype is missing - -Fix: do not attempt to draw slot if proto is NULL - -Fix: don't call extobj float pre if there's no valid object - -Fix: plug_io warns for underspecified format only if the format yields multiple yields of _different_ loader functions - -Fix: undo bug: when rotating a padstack off-center so that the padstack's coords also change (move), undo did not move it back, only rotated it back - -Fix: buffer: make sure to not load config when importing a board into paste buffer - -Fix: buffer: when loading a board into buffer, skip side effects such as design dir setting and routing style updates - -Fix: text rotatation: wrong clamp on negative rotation angles resulted in inverted angle - -Fix: buffer rotation: set bottom side text rotation to negative angle so it rotates the same way as top side text - -Fix: change default rendering order so that paste is cut through not only by mech (slots) but holes too - -Fix: remember when picking up buffer from the bottom side and when converted to subc, put subc-aux on the bottom side too - -Fix: convert-to-subc: subc aux layer creation: broken x/y vectors on the bottom side - -Fix: convert-to-subc: when converting a subc on the bottom side and have to create refdes text, place that on bottom side as well as that's the primary side for this subc - -Fix: unbind board.c events on exit - -Fix: wrong uninit sequence caused inf loop on exit - -Fix: lock-floaters and only-floaters are exclusive settings; the menu shall use the display() action instead of the more generic conf() action so that the xor logic is executed - -Fix: library sorting: keep configured order of roots to reflect search order in the library window - -Fix: subc preview draw: reset info to all 0 because there may be fields with side effects in pstk draw that we don't explicitly set - -Fix: do not crash on failed pstk conversion (freeing shapes from uninitialized memory) - -Split: subc preview draw: padstack draw code into a separate function as it will need to be called multiple times for various layers - -Add: subc preview draw: render only visible layers - -Add: subc preview draw: draw mask & paste of padstacks when visible - -Add: subc preview draw: pass on host layers for coloring padstack to match user preference (current board) - -Add: subc preview draw: draw on-padstack objects too on top mask and top paste - -Add: footprint lib code: make it possible to remember format for footprint entries so loading from the lib doesn't need to try different formats again if they were tested during mapping already - -Add: check for librnd minimum version runtime - just in case the executable was compiled with a different version than installed runtime - -Add: include librnd full version string in program ID (CLI: --version; GUI: about box) - -Add: if gtk2 HID is not available, also try gtk4 HID as fallback - - [diag] - -Del: conf diagnostic actions - they got moved to librnd 3.1.0 - - [dialogs] - -Fix: 'save as' initial format guess hides the guess failure message initially (format is surely known) with both the old and the new fsd - -Fix: create doc layer groups on top, bottom and global for the library window footprint preview to serve as a fallback for any courtyard, keepoiut or custom layer (in modern footprints) - -Fix: scroll the tree table widget, not parent box; it's possible from librnd 3.1.0 and fixes scoll-with-arrow-key - -Add: library dialog: subc preview layer visibility control checkboxes so that unwanted layers can be hidden from the preview - -Add: library dialog: get default preview checkbox settings from config - -Add: library preview: copy layer colors from the current board - -Add: preferences: modular tab system; moved generic tabs from pcb-rnd to librnd - - [doc] - -Update: bridges and format list: eagle xml .lbr load - -Update: datasheet for altium boards and protel 98/99 boards, export_stl's amf - -Update: action reference: moved some action between plugins - -Add: tutorials link in the "menu" with cuvoodoo's 'getting started' video is the main tutorial now - -Add: specify minimum librnd version requirement in INSTALL (3.1.0) - -Add: altium board load, protel 98/99 board load, amf export and projector export on the bridges drawing - -Add: appendix file format list: amf and projector exports - - [export_stl] - -Fix: don't pass repeated poly corners in padstack shapes to the triangulation lib - -Fix: don't segfault when stl model not found - -Fix: reverse coords on cutout vertical walls so triangle normals always point out - -Fix: subc rotation is negative on the bottom side - -Add: abstraction layer for different formats; be able to load multiple model formats, independently of export format - -Add: support for the amf format (model load and export) - -Add: vertex hash for amf and later projector - -Add: model load fallback mechanism: try model format matching the output format first then fall back to other model formats - -Add: output-only format: projector(1) - - [export_xy] - -Fix: pick up bottom-pnp-origin (without suffix) - -Cleanup: get rid of xray_theta (always 0) - -Add: support for optional xy::rotate and xy::translate attributes - -Add: --vendor argument so multiple rotate and translate can be used - -Add: xy::translate needs to be rotated around the pcb-rnd origin of the subc because the p&p machine will rotate around the translated point while pcb-rnd rotates around the pcb-rnd origin - -Add: generalize board level pnp-origin function so it will be reusable for multiple origins - -Add: new substs: side-x, side-y, side-padcx, side-padcy that use the bottom-pnp-origin(-*) for reference - -Add: %side-rot% and %side-negrot% substs - -Add: %side-negrot180% subst - -Add: %subc.side-rot180% subst that reproduces original gEDA/pcb behavior - - [find.c] - -Fix: bloated poly vs. poly jump got "too accurate": a thermal doesn't really overlap with the object so it didn't find connection; cheat with a few nanometers of extra bloat - -Fix: poly-poly bloated intersect: don't attempt to use negaive thickness in intersect tester line - -Fix: bloat override on "line vs. polygon" check so that the bloat adjustment used to overcome numeric precision problems can be applied - -Fix: use minimum line thickness 4 nanometer instead of 2 for line-to-poly to avoid self intersecting lines - -Fix: padstack zero-thickness line edge should be taken as 4 nanometer so the line intersection test is actually done - -Cleanup: const correctness on find context and missing cast to any-obj - -Add: TODO on making bloated poly-poly test cheaper - - [footprint] - -Add: stl models for 1206 and SOT23 - - [fp_fs] - -Add: remember format for footprints bundling in multi-footprint file libs - - [io_altium] - -Fix: handle all types without aborting on bool conversion (broken user input shouldn't abort) - -Change: plgin enabled by default, now that we depend on librnd 3.1.0 - - [io_bxl] - -Fix: don't run an extra round of parsing on error - - [io_dsn] - -Fix: wrong return value for boolean func is_protected() - -Fix: loading a board: this format doesn't have a design conf tree in the file, still some config nodes are loaded from other fields; make sure plug_io won't reset the subtree - -Fix: read all rules, not only the first one from structure/rule - -Fix: when loading a board, make sure subcircuits have the sub-aux objets so that subc orientation and side are correct - -Fix: activate bottom side mirror fix in the placement lib so that bottom side rotation+mirror is done right - -Fix: for proper bottom side rotation we need the rotate_first placement strategy, not the mirror_first - -Fix: enable the "space omitted before opening brace" fix for reading eagle produced dsns now that librnd 3.1.0 has the required API - -Cleanup: function with no return value should be void - - [io_eagle] - -Fix: wire layer allocation fail should print the actual layer number not a random number - -Split: function that reads a single package from library read code so it can be reused for loading a single footprint for a lbr file - -Add: set default units to mm for footprint/lib files - -Add: footprint map implementation (somewhat slow as it requires xml parsing) - -Add: layers subtree parse: create bound layers when data is not NULL (for footprint file parsing) - -Add: get_layer() handles footprint context if pcb is not available (when we are reading a footprint file) - -Add: parse the package subtree when laoding a footprint file - -Add: tolerate missing pcb on package parsing for layers and extents (for loading footprints) - -Add: support for loading binary libs - -Add: create layers on get_layer even if they were not in the layer subtree (some binary libs do not have a layer subtree) - - [io_kicad] - -Fix: do not attempt to create empty text objects while loading a board or footprint - - [io_lihata] - -Fix: do not load layer attributes when loading a board into buffer (it's a side effect that would affect menus) - -Fix: loading a pre-v5 board won't have a design conf tree in the file, still some config nodes are loaded from other fields; make sure plug_io won't reset the subtree - -Fix: pre-v7 did not have pixmap support, do no write the pixmap subtree - -Cleanup: use rnd_trace for persistence format preservation debug - -Add: persistent write: preserve numeric format of arc angles (as double) - - [io_pcb] - -Fix: print an error and skip empty text objects while loading (would result in an object that's extremely hard to handle on the GUI) - - [lib_netmap] - -Add: option for alternate y mirroring on bottom side footprints (for io_dsn fix) - - [libcdtr] - -Fix: debug draw should use coords and not rely on int - -Fix: don't hardwire point violation circle radius in debug draw, calculate it from drawing size - -Add: tester command for polygon triangulation - -Add: tester command to draw violations in animator - -Add: Wojciech's fix for floating point precision caused inifinite looping on poly triangulation - -Add: regression tests for the lib compiled with doubles - - [librnd] - -Cleanup: use rnd_hid_fileselect() instead of direct call to hid->fileselect for easier forward porting at version bmp librnd 4.0.0 - - [plugins] - -Update: change plugin state from "WIP" to "works" on plugins that got enough mileage of testing: export_openscad, export_stl, import_sch2, import_ttf, io_bxl, io_pads - - [propedit] - -Fix: recurse to editable subcircuit objects on the first level of subcircuits (floaters, padstacks) when dealing with selection - -Cleanup: reduce code duplication in executing set/del/map on selected objects, so that there is only one TODO#28 to make sure it's always handled the same - - [query] - -Cleanup: remove local_str in favor of const string return from thermal API - - [renumber] - -Fix: do not ask for overwrite permission twice - -Fix: pass on subc to change name on as ptr2 as callee expects that (fixes a crash) - - [shape] - -Fix: make "last point" coords persistent while drawing a rounded rect so in "Majenko's round corner case" when two rounding arcs meets exactly there won't be coord duplication making the resulting poly invalid + -Cleanup: missing #include (exposed by hid.h not always included) + -Cleanup: simplify util Makefiles using vars defined in librnd.mak + -Fix: use detected CFLAGS for compiling utils and tests + -Change: switch over to librnd4 installation - [tests] - -Fix: don't try to directly compile the diag plugin code into the tester but depend on librnd - -Fix: ignore empty lines printed as part of error messages for the menu test - -Fix: fitler out pup loading error messages from the output in tests doing output comparison: some unrelated plugins may be broken - -Update: bottom side subc rotation error in xy due to loading from pcb format was broken - - -pcb-rnd 3.0.2 -~~~~~~~~~~~~~ - -Out-of-order bugfix release: 3.0.1 + a single bugfix - -pcb-rnd 3.0.1 (r35718) -~~~~~~~~~~~~~~~~~~~~~~ - [ar_extern] - -Add: run freerouting.cli and freerouting.net - -Add: provide 3 progress bars for more detailed progress report + [cam] + -Fix: pass on action design as the design-to-be-exported from the cam action (the code doesn't rely on PCB anymore) [core] - -Fix: padstack preview draw should draw slot shapes when hole drawing is enabled so slots are not invisible - -Fix: footprint mass-import (ElementList()), frame placer: line up new subcircuits close to the frame even if the subcircuit origin is far off from 0 - -Fix: footprint mass-import (ElementList()), frame placer: space subcircuits at a fixed distance, accurately along the frame - -Fix: menu actions: when switching drawing mode conf, also force a redraw to make sure the new settings take effect on screen (fixes lesstif no refresh bug) - -Fix: find.c: poly padstack shape vs. polygon intersection check does not ignore bloat anymore (fixes: poly padstack vs. poly clearance vilation missed in drc checks) - -Fix: find.c: poly-poly bloated isc failed to find some matches because of search box was not bloated up (affected axis aligned rectangles mostly) - -Fix: find.c: don't run the padstack thermal optimization if bloat is non-zero - bloat may be a game changer in whether the padstack touches the sorrunding poly - -Add: when xor-drawing padstacks, draw hole or slot; this helps positioning vias but also acts as the only indication for a copperless mounting hole - -Add: utility function to check if a text object has invalid chars in a font - -Add: pcb_thermal_chars2bits() that can convert the 2 byte text representation of per layer thermals back from text to bin (used in query and later in propedit) - -Add: a variant of the therm bits to chars conv function that returns const char * to simplify memory management in query + -Del: remove 'reverted' parameter of pcb_board_replaced() - long unused, incompatible with the GUI moved out to librnd + -Del: config node rc/have_regex: was hardwired 1 for many many years because of genregex + -Fix: do not export heavy terminal marking (overlay) when when export is done from the GUI + -Fix: netlist: do not make 0-sized allocation on subnet mapping + -Fix: crosshair shouldn't register new tools before the GUI is up + -Fix: respect render-above/render-below setting of the GFX object when searching overlapping objects by location + -Fix: gfx rotate operations should generate new pixel content + -Fix: mark the drc flag "omit from list" in flag_str so that the propedit gets to display exportsel which shares the same bit + -Fix: inhibit menu merges while creating a new board so there's no invalid menu handling by a menu update between the old board already free'd and the new board not yet created + -Fix: do notdraw pixmap 'X' on missing pxm render if target is an exporter, not a GUI (at the moment the default should be that we are not exporting pixmaps) + -Change: switch over to librnd's font + -Change: mark conf setting editor.beep_when_finished obsolete [dialogs] - -Fix: fontsel: missing else made per object fontsel unavailable + -Del: preferences dialog, library tab: no need to free tree-table cells, librnd4 will do that + -Fix: use the right config node path for setting CLI history size in preferences general tab + -Fix: set expose context ->design before calling main expose + -Fix: generic view dialog should activate global flip on preview so that the views follow board flips + -Fix: preferences lib tab: memleak on excess strdup() for 'path expanded' label + -Fix: preferences dialog, library tab: used the wrong context pointer in the help button implementation + -Fix: uninitialized variable caused save-as format options showing up randomly + -Fix: strdup() cell value for cell modification, librnd4 API requires that [doc] - -Del: web client from the bridges drawing - won't be finished any time soon - -Add: document the new query function for invalid characters in text - -Add: BXL in bridges - -Add: bridges: separate group for external autorouters - - [drc_query] - -Add: DRC rule for finding text with invalid chars - - [export_stl] - -Fix: coord range to let the GUI enable user to set anything positive for min hole and slot size - -Fix: coord range for override-thickness so the gui lets the user set anything positive + -Fix: list menu keys for all plugins as well + -Fix: pass on LIBRND_LIBDIR to datasheet.sh when run from Makefile to avoid error on gnuism + -Update: menu key list: new format, list all plugins, include source + -Update: key tree svg and txt + -Add: wishlist items (2023-01 wishlist thread) + + [export_c_draw] + -Fix: don't use global design when it is available from argument + -Fix: set expose context ->design before calling main expose + -Del: don't define set_crosshair, use hid_nogui fallback - [import_pxm_gd] - -Fix: used the wrong feature macros for deciding if formats are available (librnd separation related bug) - - [io_dsn] - -Fix: implicit declaration on rnd_strcasecmp() - - [io_tedax] - -Fix: autorouter config import: use the right fields for default value and max value - -Fix: autorouter config import: convert coord values from mm to internal - -Add: implement loading arcs from route result - - [propedit] - -Add: padstack/thermal/lid/ subtree - - [query] - -Add: glue function for counting invalid characters in a text - -Add: allow integers in parenthesis as part of field name path - -Add: support the thermal/lid subtree (same as in propedit) - - -pcb-rnd 3.0.0 (r35609) -~~~~~~~~~~~~~~~~~~~~~~ - [asm] - -Add: exclude_query config node for handling all the optional builds and DNP - - [autoroute] - -Fix: do not generate invalid bounding box for terminals with certain copper/clearance ratio - -Fix: do not ruin the head of the netlist with NULL while trying to remember the last valid net - - [conf] - -Change: rename pcb-conf.lht to conf_core.lht for clarity - - [core] - -Fix: Display(RealignGrid): do not force a new click; when invoked by hotkey or action, just use the current position of the crosshair; this allows the user to take advantage of a coarse grid and object snap - -Fix: remove obsolete checks and restrictions on last copper layer(group) removal - -Fix: don't let the One Subcircuit removed by the operation code in footprint edit mode - -Fix: obj hashing: coord neq comparison should apply the same 4 nanometer tolerance as hash calculation to overcome rounding problems in rotation/mirroring - -Fix: enfroce clearance: enable find-through-rats so disjunct same-net objects can be connected - -Fix: pstk rendering: always set cap style for the unplated sign else the GUI will assert when the drawing contains only unplated holes (e.g. all other layers are turned off) - -Fix: pstk: get clearance at layer: do not crash if the padstack does not have a global clearance and there's no shape on the given layer - -Fix: find.c: corner case on any-layer pstk line shape ISC check on mech (hole/slot) - the layer of the line shape is not known, query mech shape on any layer - -Fix: extobj: do not let extobj floaters be moved to another layer (would break edit objects being edit objects in most extobj implementation) - rather ask the user to change layer bindings instead - -Fix: pcb_subc_alloc_layer_like() should do the layer binding properly when source layer is not a subc (bound) layer but a real board layer - -Fix: polygon clipping: when an object can not be cleared from a polygon, don't abort the whole clearing process, only abort clearing that specific object (fixes a bug with one non-clearing line blocking other objects to clear) - -Fix: 'move selected to current layer': do not stop after the first object moved - -Fix: draw: local default xform uninitialized memory when input xform is NULL - -Fix: hshadow of a padstack is always connected to the plated hole of the padstack (shape can not be off-center) - -Fix: poly validity check low level: check outer countour then holes separately, then check each hole against other holes and the outer contour for intersection - -Fix: adding a hole in a polygon shouldn't remove polygon attributes - -Optimize: find: intersection between pstk and poly: skip expensive polygon calculation if there's a clearance (and no thermal) - -Import: is-angle-in-arc function from libgrbs - -Add: alternative (main) name for Display(ToggleGrid): Display(RealignGrid) for clarity - -Add: pcb_arc_get_angle() that calculates the angle for an x;y - it's more than just an atan2() because of the broken coordinate system we use - -Add: ExecActionFile() alias for ExecuteFile() - this one should be the same in all Ringdove apps - -Add: generic point-on-object utility function - -Add: pcb_arc_get_xy() because of the strange coordinate system we use - -Add: view: remember netnames when the view is about a net - -Add: pcb_poly_to_polygons_on_layer() should return the newly created polygon, the hole-destroys-attribute bugfix will depend on it + [export_debug] + -Fix: don't use global design when it is available from argument + -Del: don't define set_crosshair, use hid_nogui fallback - [data] - -Cleanup: remove /data; move the stock desktop file and file(1) magic to doc/resources/ + [export_dxf] + -Fix: don't use global design when it is available from argument + -Del: don't define set_crosshair, use hid_nogui fallback + + [export_excellon] + -Fix: don't use global design when it is available from argument; set expose context ->design before calling main expose + -Del: don't define set_crosshair, use hid_nogui fallback - [dialogs] - -Del: manage plugins dialog: moved to librnd - -Fix: typo in DrcDialog() syntax text - -Fix: close file after writing padstack - -Fix: padstack proto lib dialog action: no-argument call should default to the new 'auto' mode, which selects either the board (in board edit mode) or the first subc (in footprint edit mode) as target; fixes the bug thta in fp edit mode it popped up an irrelevant context - -Fix: layer binding dialog crash on empty name - -Fix: layer binding: when figuring intern copper layer offset for the dialog box, set it from top or bottom, never from global - -Fix: layer binding: react on changing layer offset (it is a spin widget, compound, so the original test falesly thought it was already handled) + [export_gerber] + -Fix: don't use global design when it is available from argument; set expose context ->design before calling main expose + -Del: don't define set_crosshair, use hid_nogui fallback - [doc] - -Fix: packager's auto gen script: if the checkout is not configured, try /usr or /usr/local - -Fix: pcb-rnd.1: the full name of the hid is gtk2_gdk - -Fix: packager's doc generator: $C hint is /etc/pcb-rnd as the default has changed - -Fix: packager's doc: HID plugins are prefixed with librnd3-, not pcb-rnd- - -Fix: packager's doc: meta pkg needs to depend on the gui lib so the default install works with gui - -Fix: bridges: dsn net is unidirectional - -Fix: broken link: we don't really have a prop list in query yet - -Fix: query: mklist() explanation (copy&paste error) - -Fix: query lang has no native comment, only the file format that contains the script may have comments - -Cleanup: remove reference to devlog/, it got moved out to the knowledge pool long ago - -Update: ircnet is no longer available for support - -Update: INSTALL for the separate librnd dependency - -Update: bridges: dsn board and pads ascii board are both bidirectional - -Update: action ref for "SetGridOffs" and dsn related changes - -Change: rnd is ringdove; link all other ringdove projects, add the logo - -Add: list and explain all directories in README - -Add: test compilation result on IRIX - -Add: missing description for pcb-rnd-import-geo - -Add: packager's changelog for 3.0.0 - -Add: faq entry and INSTALL.librnd.txt mention of ldconfig - -Add: packager's doc: export major version of librnd in auto/ - -Add: start documenting the altium binary file format, as figured from the kicad converter perl script - - [drc_query] - -Fix: dialog: look up rule source lihata node by working back from the native config node, because it may be in an append subtree - -Fix: dialog: copy all rules to design when a read-only-role rule is edited and saved - -Fix: when cursor is lost in the rule or def list, don't throw an error, just fill in all '-' on the right side - -Fix: violation callback: non-null objects are considered true - -Add: dialog: DrcQueryRuleMod(remove) to remove rules - -Add: dialog: remove button for rules in the rule list dialog + [export_oldconn] + -Del: don't beep when finishing the export - [export_dsn] - -Del: reimplemented in io_dsn + [export_openems] + -Fix: don't use global design when it is available from argument; set expose context ->design before calling main expose + -Del: don't define set_crosshair, use hid_nogui fallback + + [export_openscad] + -Fix: don't use global design when it is available from argument; set expose context ->design before calling main expose + -Del: don't define set_crosshair, use hid_nogui fallback - [export_gerber] - -Fix: don't hardwire lib_hid_common dependency by C call (on xpm name resolution), rather use an action - GUI is not mandatory for gerber exporting + [export_png] + -Fix: don't use global design when it is available from argument; set expose context ->design before calling main expose + -Del: don't define set_crosshair, use hid_nogui fallback - [export_lpr] - -Fix: dynamic allocate values[] on start, querying export_ps option list len (fixes a buffer overrun) + [export_ps] + -Fix: don't use global design when it is available from argument; set expose context ->design before calling main expose [export_svg] - -Fix: photo mode: did not work due to a fix went wrong years ago on compositing layers - -Fix: photo mode: missing holes - -Fix: photo mode: flipped export: move bottom copper layers on top of the visibility stack for proper coloring - -Fix: offseted polygon vertex coordinate transformation applied y-flip before the offseting which catapulted polygons out of their intended location in flip-mode renders - -Add: photo mode: blend noise on top to make the result look less artificial (optional) + -Fix: don't use global design when it is available from argument; set expose context ->design before calling main expose - [footprint] - -Fix: tru-hole -> thru-hole rename in make install + [find.c] + -Fix: gfx object should return explicit "no intersection" instead of assert so an accidental {c f} over a pixmap won't cause problems - [import_dsn] - -Del: session import (moved to io_dsn) + [footprint] + -Fix: parametric common: do not generate square pad smaller than 4 nanometer to avoid polygon corner cases + -Fix: parametric common: minimum thickness for smd pads so there's no invalid poly + -Fix: common_subc: subc_proto_create_pad_rect() passed the wrong argument to paste and mask offset calculator + -Fix: common_subc: subc_proto_create_pad_rect() called the wrong function for mask offset calculation (so it used paste defaults when mask was not specified) + -Fix: common_subc: if paste/mask ratio is empty string, don't use it as a value but fall back on defaults - [import_gnetlist] - -Add: direct the user to stderr if external netlister failed (also print the command line for easier manual testing) - -Add: error handling on non-gnetlist (tedax) import failure - - [io_dsn] - -Fix: read: subc keepout layer names shall include "keepout" on parse, else the lookup in predefined layer list won't work - -Fix: read: do not perform polygon offset if offset value is in a few nanometer range - -Fix: read: use the pcb-rnd convention for keepout layer group purpose strings - -Fix: read: attempt to read only numerics as via coords in image - -Fix: read: qarc angle corner case - always go from start to end - -Fix: read: fix buffer overflow in dsn_parse_file() that smashed the stack - -Import: session import code from import_dsn - -Cleanup: rename LoadDsnFrom() to ImportSes() (keep a redirection action on the old name with a bold error message for a while) - -Add: register dsn export for backward compatibility that calls the plugin's save code - -Add: read: parse rule/clearance and set the new drc width and clearance nodes in the conf tree - -Add: provision for enabling no-space-before-parenthesis parsing when librnd 3.1.0 is out - -Add: write: structure/boundary (both drawing area (board extents) and the first outline from the boundary layer) - -Add: write: create a padstack library mapping board and all subcircuit padstacks - this lib will be written out in the (library) section later on - -Add: write: write (library) with (padstack) nodes - -Add: write: export line shape in padstack proto - -Add: write: export off-center circle shape as zero-length line (path) in padstacks - -Add: write: support for hshadow padstack shape - -Add: write: polygon padstack shape - -Add: write: remember layer group names when generating (structure) - -Add: write: print a matching padstack shape for every copper layer but omit anything else (e.g. mask and paste) - -Add: write: put all board level padstacks as vias in wiring - -Add: write: export hole/slot in padstack protos - -Add: write: padstack proto: plated/nonplated - -Add: write: throw io incompatibility errors on rotated vias - the file format does not support that - -Add: write: write footprints in the local lib - -Add: write (pin) subtrees n (library (image)) subtrees - -Add: write: (placement) subtree - -Add: write: build the netlist in the (network) tree - -Add: write: net class with default via geo and trace geo copied from the "pen" - -Add: write: export wire polygons - -Add: write: io_incompat for poly holes - -Add: write: (via) should have a (net) subtree too - -Add: write: support for wire (qarc) - -Add: write: "protect" only locked objects for now - -Add: write: export options for router trace width, clearance and via pstk proto override (for compatibility and for easier access from the CLI) - -Add: read: hint based "fuzzy" logics for test-parse: some CADs export dsn without filling in the quote char or any CAD identification field - -Change: enable the plugin by default - -Change: refine write format with 'specctra' just in case dsn doesn't ring a bell - - [io_eagle] - -Fix: mask and paste should be created with the right comb bits (auto for both, also sub for mask) - -Fix: read: make sure mask and paste layers are always created - - [io_lihata] - -Fix: when loading a padstack v6, set read context version to 6 so that the padstack proto loader function understands the context - - [io_pads] - -Fix: read: corner case when reading hole in rectangular/square pads - -Fix: read: ignore section logic: if it was ignoring an empty section, it accidentally ignored the whole next section as well - -Fix: read: be able to read multiple 2nets per net - -Add: write (save) board capability - -Add: plugin configuration - -Add: read: don't load teardrops when disabled - -Add: read: don't load polygons when disabled - -Fix: read: "CLOSED" piece is not a filled polygon - - [io_tedax] - -Fix: handle the corner case of last line not having a newline termination, when saving a drc_query rule - - [lib_compat_help] - -Split: padstack shape to rectange converter into a reusable API function - -Fix: make sure polygon terminals are clipped before trying to build a padstack of them - - [lib_hid_pcbui] - -Fix: wrong make target for shorthand build - -Fix: layersel: don't use lys fields when it is NULL for enforced layer visibility - -Fix: do not crash in term tootlip popup when rat target layer group is NULL - -Del: online-help xpm (moved to librnd for 3.0.0) - -Add: bind route styles to hotkey {r N} where N is 1..9 - - [lib_netmap] - -Add: map_2nets API (for io_pads write) - -Add: padstack library API: map pcb_data_t * and store all new padstack prototypes in a padstack proto lib - - [librnd separation] - -Fix: link to fungw if a system installed one is available - -Fix: API CHANGE: typo in public symbol prefix (rnd_pcphl_*) - -Fix: typo in conf gen tool path for gsch2pcb-rnd - -Fix: scconfig hooks.c: need to set scconfig template dir in post-arg hook so that libarchdir is already set - -Fix: scconfig: set -L and -I for non-standard librnd installation only after figuring libarchdir - -Fix: gsch2pcb-rnd uses the safe scconfig template path with libarchdir embedded - -Fix: plugin compilation's tmpasm uses safe librnd scconfig template dir with archlibdir embedded - -Fix: use the right librnd scconfig node to figure if gui is available - -Fix: use system installed fungw's -l from librnd's scconfig node - -Fix: gd detection for export_png needs to happen locally because librnd doesn't yet support it in practice - -Del: local svn extern of librnd from src_3rd - pcb-rnd is going to depend on independently installed librnd - -Del: LD_PRELOAD hack from pcb-rnd-src; replace it with an echo that prints a note on the external librnd dep we have from now on - -Del: remove plugins that got split out to librnd from scconfig plugins table - -Del: ./configure --coord; this is set in librnd, pcb-rnd passively follows what's set there - -Del: 'make map_plugins' librnd/hidlib specific hack for the all-plugin list is not needed anymore - -Del: generating buildin list doesn't need to do anything with librnd plugins anymore - -Del: doc: action detail source files for actions moved to librnd - -Cleanup: gsch2pcb-rnd uses -l for linking librnd - -Cleanup: proper librnd uninit sequence in gsch2pcb-rnd - -Cleanup: remove hidlib pup list - it's empty since librnd is not in source tree - -Cleanup: remove unused RND_DAD_CFG_NOLABEL - -Cleanup: remove HL_* from the build - these were relevant to librnd - -Cleanup: remove $LC and $LP from packager's doc - we are not installing anything librnd anymore - -Cleanup: doc: replace developer doc that got moved to librnd with placeholders with links to the new place - -Change: switch over central build and scconfig detections to exclusively use installed librnd instead of depending on a local svn extern - -Update: util makefiles for separate librnd install (affects gsch2pcb-rnd and bxl2txt) - -Update: follow librnd API changes for 3.0.0 - -Update: make local tests compile and run with librnd3 - -Update: packaging doc: deps for the external librnd3 package names - -Add: temporary glue code in gsch2pcb-rnd for -l linking of librnd-hid - -Add: specify host app revision - -Add: set LIBRND_PREFIX in Makefile.conf (for tests) - -Add: Makefile.conf delivers the full path to librnd.mak to simplify test Makefiles - -Add: gsch2pcb-rnd sets rnd_app package, version and revision - -Add: import librnd's plugin state list before calculating plugin deps - -Add: document using non-standard prefix librnd installation - -Add: scconfig hooks.c should create a dedicated variable with the full path to librnd scconfig templates, and that shouldn't hardwire /lib but should use arch specific libdir (e.g. lib64 if the user specified that) - -Add: document --libarchdir match requirement - -Add: static link librnd option: also use librnd.mak for the -L's and -l's - -Add: doc: do an svn checkout from librnd action doc and include librnd actions in the action reference (in a separate details section; marked as RND on the list) + [gsch2pcb-rnd] + -Add: set up exec prefix + [import_sch2] + -Fix: don't crash in path resolver when there's no design path - [menu] - -Add: dedicated text/terminal ID edit submenu for {e t} in the edit menu + [io_hyp] + -Cleanup: decide what to do with parser debug, remove hint on unsupported action arg - [pcblib] - -Rename: pcblib to footprint; by the default config footprints are loaded from: footprint/ from the board file's directory (for existing board files); user dir ~/.pcb-rnd/footprint (and ~/pcblib for compatibility); ../footprint (for running from source); $SHARE/pcb-rnd/footprint (system installed) + [librnd4] + -Update: follow librnd4 API changes - [plugins] - -Cleanup: rename ultimate fallback export basename from pcb-out to pcb-rnd-out in all export plugins + [millpath] + -Fix: don't call text object decompose with NULL transformation in toolpath calculation, that'd lead to a segfault - [puller] - -Cleanup: remove glib's hash table, use genht's htpp - -Cleanup: remove glib dependency from compilation + [oldaction] + -Del: Bell() doesn't beep but throws an error [query] - -Fix: advanced search fialog: do not crash on converting invalid query expression back to gui - -Fix: advanced search dialog: don't ruin user's expression on compilation error - -Fix: net_len: net seg len API needs to get query context else it can not return the segment struct, which depends on the context - -Fix: net_len: properly mark HUB segments and remember at least two connected objects - -Fix: net_len: disable one of the hub removal heuristics because it never removed the hub but the next object - -Fix: net_len: special casing padstack <-> traceobject connection: it is common that trace object only slightly overlaps with the padstack (e.g. via) because of a (now ignored) dog leg connection - -Add: net_len: public API call for accessing low level net segment mapper - -Add: net_len: remember junction hubs and set junction glue fields - -Add: net_len: optional rat inclusion (useful for net mappers) - -Add: net_len: decide and return which of the two objects is a hub object in a T junction - -Add: net_len: detect invalid junction (X-junction, e.g. when two lines intersect in the middle) - -Add: net_len: helper function to decide if an object pair is a padstack and a trace object fully overlapping with the padstack - -Add: net_len: pre-map trace objects fully overlapping with padstacks so they can be ignored later - -Add: net_len: internal API config option for 'stop at terminal' preference - -Add: expose val_free_fields for callers handling query results - -Add: expose low level iterator reset and upgrade it to work with persistent iterators as well - -Add: expose a low level free() for iterator fields - - [route_style] - -Fix: use the new 'last route style selected' cache to get the right style selected when when multiple route styles match - -Fix: non-strict route style match: if a route style doesn't have via proto set, it matches any pen via proto - -Fix: do a route style update after creating a new style to make sure the GUI shows the right style - -Fix: when editing a route style using the dialog box, never jump target to a different style only because of matching fields - - [scconfig] - -Fix: never use -ansi in the c99 compilation: recent gcc generates an error on the ((unused)) attribute for that - -Fix: do not crash when value is missing for --key=value custom args - -Fix: don't run configure program if it failed to compile - -Add: ./configure needs to figure LIBRND_PREFIX before compiling scconfig as parts of the final ./configure binary is coming from librnd - -Add: be able to compile local scconfig with librnd installed to non-standard prefix - -Add: print --prefix and --confdir in configuration summary - -Del: local computation of the final conf dir: librnd3 does that in an unified way and /local/confdir has the final value + -Fix: net_len shouldn't crash on boards without any padstack (don't search NULL padstack tree) - [svg] - -Fix: photo mode export in flip mode: invert photo offset Y on polygons so that the shadow is on the right corner + [report] + -Fix: allow net length (hotkey: {n l o}) searches originating from subc parts (e.g. a terminal) as a fallback [tests] - -Fix: uniq_name doesn't depend on system installed genht - -Optimize: speed up pcbflags test by removing library search and default font using command line config + -Fix: propedit test needs to use locally defined ASSERT(), can't depend on assert() being accessible (it's turned off in production) [tool_std] - -Fix: some old scripts depend on action Mode(PasteBuffer) while our tool is called "buffer" only; add an invisible alternative tool called PasteBuffer so old scripts work + -Del: rat line draw doesn't beep when object clicked is not a terminal (this beep was really a no-op in many cases) + -Fix: allow GFX (pixmap) objects to be locked/unlocked by the lock tool [util] - -Fix: typo (excess $ROOT for librnd paths) in Makefile template - - + -Fix: bxl2txt needs to have an extra -I calculated for librnd4 + -Fix: bxl2txt: use the CFLAGS as detected (-O3 and -DNDEBUG for production) + -Del: deblist.sh - not used by anything anymore + -Del: devhelper's 404.sh: it's enough to keep one copy in librnd + -Del: chglog scripts - use the one in librnd + -Del: include, comment and copyright source crawler scripts - use the one in librnd + -Del: rename scripts - use the ones in librnd + -Del: "TODO grep" scripts - use the one in librnd + -Del: local implementation of awk_on_formats - use librnd's + -Move: html dialogs generator from doc to util to be shared with other apps later + -Cleanup: list_dialogs doesn't get dialogs exrta from a file but from a shell var to make the system more modular and easier to reuse Binary files /tmp/tmpq4pj6yg8/RrneuEjgdc/pcb-rnd-3.0.6/Changelog.3.0.x.gz and /tmp/tmpq4pj6yg8/xameByAAqk/pcb-rnd-3.1.1/Changelog.3.0.x.gz differ diff -Nru pcb-rnd-3.0.6/configure pcb-rnd-3.1.1/configure --- pcb-rnd-3.0.6/configure 2022-08-28 04:56:14.000000000 +0000 +++ pcb-rnd-3.1.1/configure 2022-11-16 10:25:48.000000000 +0000 @@ -4,7 +4,7 @@ then for P in /usr/local /opt/librnd /usr $HOME/usr do - if test -e "$P/include/librnd/core/config.h" + if test -e "$P/include/librnd4/librnd/core/config.h" then LIBRND_PREFIX="$P" break @@ -30,7 +30,7 @@ ;; /usr/include) ;; /usr/local/include) ;; - *) LIBRND_EXTRA_INCLUDE="$LIBRND_PREFIX/include" + *) LIBRND_EXTRA_INCLUDE="$LIBRND_PREFIX/include/librnd4" esac diff -Nru pcb-rnd-3.0.6/debian/changelog pcb-rnd-3.1.1/debian/changelog --- pcb-rnd-3.0.6/debian/changelog 2022-11-02 21:17:25.000000000 +0000 +++ pcb-rnd-3.1.1/debian/changelog 2023-05-24 17:33:43.000000000 +0000 @@ -1,3 +1,15 @@ +pcb-rnd (3.1.1-1) unstable; urgency=medium + + * new upstream version + + -- Bdale Garbee Wed, 24 May 2023 11:33:43 -0600 + +pcb-rnd (3.1.0-1) unstable; urgency=medium + + * new upstream version + + -- Bdale Garbee Tue, 07 Feb 2023 23:45:32 -0700 + pcb-rnd (3.0.6-1) unstable; urgency=medium * new upstream version diff -Nru pcb-rnd-3.0.6/debian/control pcb-rnd-3.1.1/debian/control --- pcb-rnd-3.0.6/debian/control 2022-11-02 21:17:25.000000000 +0000 +++ pcb-rnd-3.1.1/debian/control 2023-05-24 17:33:43.000000000 +0000 @@ -3,7 +3,7 @@ Priority: optional Maintainer: Debian Electronics Team Uploaders: Dima Kogan , Bdale Garbee -Build-Depends: debhelper (>= 11), librnd3-dev (>= 3.1.0), librnd3-cloud, librnd3-lib-gui, imagemagick, libgd-dev, libgtkglext1-dev, libmotif-dev, libstroke0-dev, libxml2-dev, libgenht1-dev, libfungw-dev +Build-Depends: debhelper (>= 11), librnd4-dev, librnd4-cloud, librnd4-lib-gui, imagemagick, libgd-dev, libgtkglext1-dev, libmotif-dev, libstroke0-dev, libxml2-dev, libgenht1-dev, libfungw-dev Standards-Version: 4.6.0 Homepage: http://repo.hu/projects/pcb-rnd Vcs-Git: https://salsa.debian.org/electronics-team/pcb-rnd.git @@ -16,8 +16,8 @@ pcb-rnd-io-standard (= ${binary:Version}), pcb-rnd-io-alien (= ${binary:Version}), pcb-rnd-lib-gui (= ${binary:Version}), - librnd3-hid-gtk2-gl (>=3.2.0), - librnd3-hid-gtk2-gdk (>=3.2.0), + librnd4-hid-gtk2-gl, + librnd4-hid-gtk2-gdk, pcb-rnd-export (= ${binary:Version}), pcb-rnd-export-sim (= ${binary:Version}), pcb-rnd-export-extra (= ${binary:Version}), @@ -163,7 +163,7 @@ Package: pcb-rnd-export Architecture: any -Depends: ${misc:Depends}, ${shlibs:Depends}, pcb-rnd-core (= ${binary:Version}), librnd3 (>= 3.2.0), librnd3-pixmap (>=3.2.0) +Depends: ${misc:Depends}, ${shlibs:Depends}, pcb-rnd-core (= ${binary:Version}), librnd4, librnd4-pixmap Description: Common export plugins. Export the board in vector graphics (svg, ps, eps), raster graphics (png, jpeg, etc.), gerber, 3d model in openscad, xy for pick and @@ -193,7 +193,7 @@ Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends}, pcb-rnd-core (= ${binary:Version}), - librnd3 (>= 3.2.0) + librnd4 Replaces: pcb-rnd (<< 2.2.0-2) Breaks: pcb-rnd (<< 2.2.0-2) Description: Netlist/schematics import plugins. @@ -204,7 +204,7 @@ Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends}, pcb-rnd-core (= ${binary:Version}), - librnd3 (>= 3.2.0), + librnd4, pcb-rnd-lib-io (= ${binary:Version}), pcb-rnd-io-standard (= ${binary:Version}) Description: Autoroute and autoplace. @@ -232,14 +232,14 @@ Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends}, pcb-rnd-core (= ${binary:Version}), - librnd3-lib-gui (>= 3.2.0) + librnd4-lib-gui Description: Support library for building the GUI. Provides pcb-rnd specific dialog boxes (e.g. fontsel) and top window GUI elements. Package: pcb-rnd-core Architecture: any -Depends: ${misc:Depends}, ${shlibs:Depends}, librnd3 (>= 3.2.0) +Depends: ${misc:Depends}, ${shlibs:Depends}, librnd4 Replaces: pcb-rnd (<< 2.2.0-2) Breaks: pcb-rnd (<< 2.2.0-2) Description: pcb-rnd executable with the core functionality @@ -254,7 +254,7 @@ pcb-rnd-core (= ${binary:Version}), pcb-rnd-lib-io (= ${binary:Version}), pcb-rnd-extra (= ${binary:Version}), - librnd3 (>= 3.2.0) + librnd4 Description: File format compatibility with other PCB layout designers. Load and/or save boards in file formats supported by other EDA tools, such as KiCAD, Eagle, protel/autotrax, etc. @@ -263,7 +263,7 @@ Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends}, pcb-rnd-core (= ${binary:Version}), - librnd3-cloud (>= 3.2.0), + librnd4-cloud, pcb-rnd-export (= ${binary:Version}), Description: Networking plugins. 'Cloud' footprint access plugin that integrates edakrill and diff -Nru pcb-rnd-3.0.6/debian/copyright pcb-rnd-3.1.1/debian/copyright --- pcb-rnd-3.0.6/debian/copyright 2022-11-02 21:17:25.000000000 +0000 +++ pcb-rnd-3.1.1/debian/copyright 2023-05-24 17:33:43.000000000 +0000 @@ -127,10 +127,6 @@ Copyright: 1998-2010 Ales Hvezda License: GPL-2+ -Files: util/keylist.sh -Copyright: 2015, 2016 Tibor Palinkas -License: GPL-2+ - Files: debian/* Copyright: 2017-2021 Bdale Garbee 2016 Dima Kogan diff -Nru pcb-rnd-3.0.6/debian/pcb-rnd-debug.lintian-overrides pcb-rnd-3.1.1/debian/pcb-rnd-debug.lintian-overrides --- pcb-rnd-3.0.6/debian/pcb-rnd-debug.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ pcb-rnd-3.1.1/debian/pcb-rnd-debug.lintian-overrides 2023-05-24 17:33:43.000000000 +0000 @@ -0,0 +1 @@ +pcb-rnd-debug: unstripped-binary-or-object [usr/lib/pcb-rnd/plugins/diag.so] diff -Nru pcb-rnd-3.0.6/debian/pcb-rnd-doc.lintian-overrides pcb-rnd-3.1.1/debian/pcb-rnd-doc.lintian-overrides --- pcb-rnd-3.0.6/debian/pcb-rnd-doc.lintian-overrides 2022-11-02 21:17:25.000000000 +0000 +++ pcb-rnd-3.1.1/debian/pcb-rnd-doc.lintian-overrides 2023-05-24 17:33:43.000000000 +0000 @@ -1 +1,2 @@ +pcb-rnd-doc: privacy-breach-logo (http://repo.hu/projects/pcb-rnd/resources/logo16.png) [usr/share/doc/pcb-rnd/keys.html] pcb-rnd-doc: privacy-breach-generic [