Skip to content

Releases: MewPurPur/GodSVG

1.0-alpha10

08 Jun 16:44
5e2df81
Compare
Choose a tag to compare
1.0-alpha10 Pre-release
Pre-release

The 10th alpha of GodSVG has arrived! This prerelease introduces the ability to import multiple SVGs at once, improves tab management, brings some enhancements and fixes several major bugs.

Changes to file importing and tabs

Wanting to import a few SVGs at once is common, for example with icon sets. But in GodSVG, you had to do it one by one. I've now added functionalities for importing multiple SVGs at once. This works for all scenarios I'm aware of:

  • Dragging multiple SVGs into the window. This would previously only check the first file, resulting in some unexpected behaviors.
  • Selecting multiple SVGs in a file dialog. Both the native and the built-in file dialogs would previously only allow selecting one when importing SVGs.
  • "Open with..." types of options when right-clicking multiple SVGs, which was added in the previous alpha, but had edge cases that didn't work well.

All three of these cases now use the same standardized robust system, and file dialogs allow selecting multiple files when you're importing SVGs. For convenience, dragging files into GodSVG now also focuses the window. And all non-SVG files are discarded right away, so you can drop files even from folders with a lot of clutter.

multi_import.webm

The custom file dialog went through a rewrite and received some minor enhancements and bugfixes.

Surrounding this change, I investigated whether it's a good idea to allow unlimited tabs, as previously, the limit was 50. I've decided to lift this restriction. To make it easier to manage tabs, I've added new actions for closing all empty or all saved tabs, and @Kiisu-Master" made scrolling through a lot of tabs work better.

Other improvements

The default layout has been changed, the inspector is now the first tab by default as I meant it to be. Max UI scale is no longer rounded down to a multiple of 5%, as this was counterproductive.

The <use> element is now somewhat supported. It will show its "x" and "y" attributes in the inspector, and they also add a handle to the viewport. This element isn't available in the GUI, since it's not that well-supported yet, but if you type it in the code editor or encounter it in existing SVGs, you can now have a smoother experience with it. This was implemented by {% gh "Jordyfel" %}.

I've made it so incorrectly nested elements no longer affect aspects of the GUI. For example, incorrectly nested shapes won't show their handles in the editor, and unavailable gradients won't be presented in color pickers.

Bugfixes

This prerelease's main goal was to quickly address some major bugs:

  • Fixed an issue where some transform lists with commas could parse incorrectly, resulting in imported SVGs being broken
  • Fixed an issue that could result in corrupted tabs in various situations
  • Fixed an issue where upon first opening GodSVG, the first tab's contents wouldn't save
  • Fixed a regression where dimensionless SVGs would crash when edited
  • Fixed occasional glitchy handle movement on Android and Web (by @Jordyfel)
  • Fixed various stability issues at high zoom levels and large coordinates

Other smaller bugfixes:

  • Fixed a rare visual issue with elliptical arc path commands
  • Fixed an edge case where <rect> elements were drawn as rounded when they shouldn't be
  • Fixed code editor's scrollbar placement

Translations

The source comments have been tweaked a bit so they can work around a bug in POEdit, thanks to a discovery made by @Kiisu-Master.

Thanks to @AlejandroMoc for adding a Spanish translation!

Thanks to @Kiisu-Master, @freeducks-debug, @Swarkin, and @Felipe-Sena for keeping existing translations up to date!


Click "Expand Assets" below this announcement to download GodSVG for your platform. Keep in mind the Android build is still experimental. Shoutout to GodSVG-Mobile from @syntaxerror247 who is trying to make a more comprehensive mobile port of GodSVG.

Please consider making a donation on Github sponsors, Ko-Fi, or Patreon. Even small donations will allow me to dedicate a lot more time to GodSVG while balancing other responsibilities. Without the donations I've received so far, the project would be far behind where it is today. If you find GodSVG valuable and are able to donate, I would be very grateful!

Check out https://godsvg.com for more information and a web editor.

1.0-alpha9

18 May 23:08
f00f4f3
Compare
Choose a tag to compare
1.0-alpha9 Pre-release
Pre-release

GodSVG releases its ninth alpha! This prerelease is mainly focused on stability, setting the stage for future alphas, but it also introduces something big - configurable layouts!

Thanks to @jas31415, @JinEnMok, @Swarkin, and @Kiisu-Master for keeping translations up to date.

What's new?

I've implemented the ability to configure the application's layout. For now, this means you can change the positions of the code editor and the inspector, make them into separate tabs, or completely hide them. This is all done through a new popup to avoid cluttering the general UI. This should make it way easier to get comfortable with GodSVG. The new default layout is also different, showing the inspector and the code editor as two tabs that can be switched between. If you prefer the old UI, you can easily change back to it through the new system.

layouts.mp4

Other new things

  • "Check for Updates" menu overhaul
    • This widget has existed for a while, but it didn't work in release versions. Now it has been fixed by @Swarkin
    • The UI has been improved by me
  • Support for opening multiple SVGs at once via CLI (by @FlooferLand)
    • This also makes GodSVG work well as a default app for SVG files
  • Fullscreen shortcut (by me)
  • Previews for unsaved tabs (by @FlooferLand and me)
  • UI scale can now be set to 250% (by me)
  • New button in the exporting dialog to copy the SVG as image or text (by @FlooferLand)
  • Grid color setting (by me)
  • Android: Added support for arm32 (by @syntaxerror247)
  • Translation comments to help translators (by me)
  • Other small tweaks and improvements

Fixes

Crashes / Undefined behavior:

  • Fixed undefined behavior and broken highlighting when non-ASCII characters are entered into the code editor (by me)
  • Fixed crash when opening SVGs via the CLI (by @FlooferLand)
  • Fixed undefined behavior and other bugs that could happen when clicking to edit a shortcut with some keys already being pressed (by me)
  • MacOS: Fixes to shortcuts and the native menu (by me)

Major fixes:

  • Fixed initial tab being marked as unsaved, rather than empty, when first opening GodSVG (by me)
  • Fixed broken parsing of exponents with decimal dot in pathdata and transform lists (by me)
  • Fixed Ctrl + Middle Mouse Button zooming not staying centered on the starting position (by @Kiisu-Master)
  • Shortcut fixes and improvements (by me)
    • Fixed possibility of triggering multiple shortcuts at once
    • Buttons can now show their main shortcut in the tooltip
    • Fixed context menu popups presenting the last shortcut instead of the first
    • Fixed "Select all" shortcut not working on text if changed to something other than Ctrl+A
    • Read-only shortcuts are no longer blocked from working if a duplicate exists
    • TextEdit and LineEdit no longer swallow "Ctrl+[Key]" inputs
  • Fixed inspector layout not always handling deeply nested elements well

Smaller fixes:

  • Color-related fixes and improvements (by me)
    • Fixed rare edge cases where color picker values were off by one
    • Fixed common edge cases where HSL format parsing was off by one
    • Fixed color fields with alpha enabled not parsing the rgba(r, g, b, a) and hsla(h, s, l, a) formats correctly
  • Fixes and tweaks in the "About" menu (by me)
  • Fixed file dialog always having "Save SVG" as its title, even if you're saving a different format (by me)
  • Fixed pasting palette XML not being available if the XML starts with text or comments (by me)
  • Fixed caret display on top of tabs in code editor's overtype mode (by me)

Other things

GodSVG's website was overhauled! Go check it out: https://godsvg.com!

You can use GodSVG in your browser from the new website too: https://godsvg.com/editor

You can also find all previous releases neatly accessible at: https://godsvg.com/releases

And GodSVG now has a blog! Find it at: https://godsvg.com/blog. This prerelease has its own article!

Concluding

Click "Expand Assets" below this announcement to download GodSVG for your platform. Keep in mind the Android build is still experimental. Shoutout to GodSVG-Mobile from @syntaxerror247 who is trying to make a more comprehensive mobile port of GodSVG.

Please consider making a donation on Github sponsors, Ko-Fi, or Patreon. Even small donations will allow me to dedicate a lot more time to GodSVG while balancing other responsibilities. Without the donations I've received so far, the project would be far behind where it is today. If you find GodSVG valuable and are able to donate, I would be very grateful!

1.0-alpha8

15 Mar 18:48
e6f3eab
Compare
Choose a tag to compare
1.0-alpha8 Pre-release
Pre-release

GodSVG releases its 8th alpha! This release introduces tabs in GodSVG and massively improves stability and performance.

Thank You to everyone who contributed to this pre-release!

Thanks to @Felipe-Sena for translating GodSVG in Brazilian Portuguese!
Thanks to @Swarkin, @thatoddshade, @JinEnMok for keeping existing translations up to date.
Thanks to @Kiisu-Master for helping with Windows exports and implementing middle-mouse-button closing in the new tab system.

What's New?

Highlights:

  • Implemented tabs
    • The initial implementation is quite comprehensive and polished
    • Tabs have all the basic functionalities and some extras, like closing multiple tabs, tooltips, and reasonable UX with many tabs
  • Significant performance improvements
  • Fixes and improvements to SVG rendering and rasterizing
  • Resolved GodSVG not running on some Windows devices

Other additions and improvements:

  • Implemented a "Show SVG in File Manager" option
  • "Save SVG" has been split into "Save SVG" and "Save SVG as..."
  • UI Scale is now a single setting that only shows the valid options
    • "Auto" (same as "Auto UI Scale" used with the "1.0" UI scale before)
    • A range of appropriate hard-coded values that should be safe
    • "Max" option; for example, if the maximum determined UI scale is 145%, you can now use that instead of being forced to use 125%
  • Palettes now have a "Save as XML" option. The "Paste XML" option was quite destructive, so now it's only available when creating a new palette
  • The "About" dialog was likely not comprehensive enough to comply with some third-party licenses; this has now been addressed
  • Redundant transforms in the transform popup are now grayed out
  • Repeated shortcuts for the same action are now tinted as warnings
  • Improved rect->path conversion for rounded rectangles without vertical or horizontal segments
  • The window's minimum size was increased by 1.5625%, I hope that's okay with everyone

Bugfixes

Highlights:

  • Fixed regression from alpha 7 where the language didn't persist between sessions
  • Fixed View in List functionality not working well with path commands and polygon/polyline points
  • Fixed Export formatter only applying the XML formatting settings
  • Web: Fixed issue where the auto display scale could get too low if the window or the usable area (like in itch.io) is small

Fixes to undefined behavior:

  • When removing a directory from which you've recently imported a file
  • When importing an invalid SVG
  • When making rect->polygon and line->polyline conversions
  • When opening the popup to insert a path command after the last one
  • When using your keyboard to add path commands to a newly created path in certain situations

Functional fixes:

  • Improved the stability of the camera
  • Fixed issues with text selection in the SVG text editor
  • Fixed issue where after importing or pasting a palette XML, subsequent edits to the palette didn't get saved
  • Fixed selection not updating when clicking a handle of an already selected path, polygon, or polyline
  • Fixed uppercase "E" for exponent notation still not being recognized in pathdata and transform lists
  • Fixed issue where changing an "id" attribute didn't create an Undo action
  • Fixed shortcuts not handled correctly in the savedata
  • Fixed shapes added from viewport's right-click popup not using the correct position if the viewbox is independent from the width and height of the graphic
  • Removed "Convert To" option from unrecognized XML nodes
  • Fixed issue with wrong undo/redo state if the Undo action was created on the same frame that a continuous change to an attribute was started
  • Fixed "Copy path" of the built-in file dialog not working correctly with directories
  • Fixed issue where clicking outside of read-only single line text fields didn't deselect the text
  • Fixed edge cases with the "Show handles" setting
  • Fixed selection remaining the same when editing attribute fields of the root element
  • Fixed several usability issues with the custom file dialog
  • Fixed text fields unfocusing when you scroll outside of their area
  • Fixed "Convert To" option erroneously appearing for multi-selections
  • Fixed export menu not handling certain configurations (gigantic or miniature dimensions) correctly
  • Fixed undo/redo options of single line text fields not being disabled when they should be
  • Fixed element not getting selected when clicking unrecognized attribute fields

Visual fixes:

  • Fixed blurry tooltips
  • Fixed some UI elements sometimes being blurry even at 1.0 scale
  • Fixed visual issues when adding another Z path command before an existing one
  • Fixed various issues where hover indication for handles would not update, or fail to work correctly
  • Fixed several visual issues with the animated bounding boxes
  • Fixed selected element frames becoming translucent when initiating a Drag & Drop action anywhere in the editor
  • Fixed "currentColor" inside gradients resulting in wrong previews
  • Fixed warning for solid color gradients being unreliable in some edge cases
  • Invalid shortcuts no longer appear in context popups

Known issues

This alpha release introduces a major regression: Most old savefiles will be corrupted (for reasons outside of my control). The previously edited SVG will also not be applied.

You should save anything in the savedata folder that matters to you before opening alpha 8.

  • You can view it from "View savedata" from the three dots.
  • You can copy palettes as XML through the UI in alpha 7 and then paste or import them back in alpha 8.

Also, in general, I should note that given how much has changed in this release, I haven't managed to test MacOS. At best, the MacOS-specific functionalities will be a bit outdated; at worst, there will be major issues.

Other relevant regressions

There are still a lot of issues with shortcuts, including:

  • MacOS shortcuts were reported to not work, I didn't test yet
  • Shortcuts can often clash (like Ctrl+Tab and Ctrl+Shift+Tab happening all at once)
  • Shortcuts can interfere or work when they shouldn't

MacOS's native menu is now outdated and untested.

Number sliders now frequently trigger drag & drop.

Concluding

Expand Assets below this announcement to download GodSVG for your platform. Keep in mind the Android build is still experimental. Shoutout to GodSVG-Mobile from @syntaxerror247 who is trying to make a more comprehensive mobile port of GodSVG.

Use GodSVG on web: https://godsvg.com/editor

Please consider making a donation on Github sponsors, Ko-Fi, or Patreon. Any financial support would really help me push GodSVG to the finish line!

1.0-alpha7

12 Jan 15:45
b3b580c
Compare
Choose a tag to compare
1.0-alpha7 Pre-release
Pre-release

GodSVG releases its seventh alpha! This release focuses on stability, setting the stage for bigger changes in the upcoming alpha releases.


Thanks to @thatoddshade for translating GodSVG in French!

Thanks to volkov, @Swarkin, @mikelei8291, and @jas31415 for keeping existing translations up to date.

Critical regressions: Two big bugs have been introduced in this alpha release:

  • Language settings no longer carry over sessions
  • A crash can happen when removing a directory from which you recently imported a file

Both of them have already been fixed for the upcoming alpha 8 release.

What's new?

New features:

  • Improved Export menu
  • Reworked formatters to be simpler, with just an Editor and an Export formatter
  • Introduced partial support for the "currentColor" keyword and "color" attribute. (But they can't be added through the GUI yet)
  • Improved savefile robustness
    • Reduced file IO operations
    • Better backwards compatibility to alpha 7 from future versions
  • Linux: Added a .desktop file for future reference.

Bugfixes:

  • Fixed precision issues of transform attributes
  • Fixed issue where a capital exponent "E" wouldn't be parsed correctly
  • Fixed various issues with UI scale
  • Tightened up many quirks of how colors are handled and presented
  • Fixed various usability issues with attribute fields of the root SVG element
  • Fixed graphic getting messed up when percentages are used on indirect children of the root SVG element
  • Fixed "Open SVG file" functionality not being available if you import an SVG
  • Fixed issue with pixels poking out of the eyedropper frame
  • Fixed issue where pressing Z in the viewport to create a path command didn't create an undo action
  • Fixed incorrect translation percentages
  • MacOS: Fixed "About GodSVG" button in the global menu not working.

GodSVG on mobile!

@syntaxerror247 has done a lot of work to help me make an Android port of GodSVG. It's currently experimental. You can find it in the assets below.

A few adjustments have been made to optimize GodSVG for touch controls, which shouldn't affect Desktop platforms. The most notable addition is a configurable floating panel, enabled only on Android, which provides easy access to frequent actions. It's meant as a replacement for shortcuts on Desktop.

Many elements of GodSVG have not yet been optimized for touch input, which makes certain operations awkward. The mobile port will remain experimental for the time being. In future versions, we want to improve the controls further and implement the native file picker.

Development on mobile will for now continue on another repository that's not managed by me: https://github.com/syntaxerror247/GodSVG-Mobile. @syntaxerror247 will implement riskier features there, that may eventually be implemented in the main repository too. This will allow me to focus on the big changes I've planned for Desktop platforms, without worrying about breaking the app on Android.


Expand Assets below to download the alpha release for your platform.

Please consider making a donation on Github sponsors, Ko-Fi, or Patreon. Any financial support would really help me get GodSVG to the finish line!

See GodSVG's website for more information about the project: https://godsvg.com/

Don't want to download anything? Check out the web build at https://godsvg.com/editor. But keep in mind GodSVG is at its heart a desktop application, so the web build suffers from worse performance, slow load times, and certain limitations.

1.0-alpha6

07 Dec 17:19
462eb01
Compare
Choose a tag to compare
1.0-alpha6 Pre-release
Pre-release

GodSVG releases its sixth alpha! This release focuses on stability, setting the stage for bigger changes in the upcoming alpha releases.


Thanks to @Vovkiv and @Swarkin for helping with keeping translations up to date.

What's new?

  • Added support for XML comments, CDATA, and text nodes.
    • Text still can't be rendered, but at least it won't break when it goes through GodSVG.
  • Added direct support for the <polygon> and <polyline> elements.
  • Improved editing of formatters and color palettes.
  • A lot of bugfixes and enhancements.
    • Fixed precision-related issues (i.e., you should no longer get 12.399998 instead of 12.4)
    • Fixed issues when dragging handles while UI scale is different from 1.0
    • Optimizations to the built-in file dialog
    • Fixed issues with exports on Web not respecting some of the configuration options
    • Reference images are finally implemented on Web
    • Fixed issues when opening various popups on Web that do clipboard checks
    • Added an option to open the file that's currently being worked on via the OS
    • Color fields in settings can now handle SVG syntaxes with alpha
    • Fixed various small issues in attribute fields and other LineEdits
    • Fixed various bugs that could cause selections to not work as intended, as well as a crash
    • Fixed rasterization of SVGs with fractional size
    • Fixed viewBox not handling exponent syntax (i.e., "2e3")
    • Fixed crash when color attributes reference a URL other than linearGradient or radialGradient
    • Path popups now only disable path commands that would result in an invalid syntax, others are marked as warnings and still allowed
    • Fixes issue where shortcut buttons can displace the UI if the shortcut text is big
    • Fixes bug where camera limits are broken for very small SVG dimensions
    • General optimizations compared to alpha 5
    • And some smaller things...

Please consider making a donation on Github sponsors, Ko-Fi, or Patreon. Any financial support would really help me get GodSVG to the finish line!

See the website for more information about the project: https://godsvg.com


Expand Assets below to download the alpha release for your platform.

Don't want to download anything? Check out the web build at https://godsvg.com/editor. But keep in mind GodSVG is at its heart a desktop application, so the web build suffers from worse performance, slow load times, and certain limitations.

1.0-alpha5

01 Sep 12:29
d5d87d2
Compare
Choose a tag to compare
1.0-alpha5 Pre-release
Pre-release

GodSVG releases its fifth alpha, which includes a necessary core refactor that enabled a lot of important features and bugfixes. Heartfelt thanks to everyone who contributed! ❤️

With alpha 5, we're entering a late alpha stage. It should be way less buggy than all previous alphas. Still, there are some regressions:

  • There is a common crash when deleting the last command of a path. You don't need to worry about losing information, as GodSVG saves the data on every operation. To work around this crash, use the inspector on the left.
  • On Windows and MacOS, you might get "Your video card drivers seem not to support the required OpenGL 3.3 version​". If you do, then I'm sorry, you can't use GodSVG right now. I'll try to resolve this by the next pre-release, but for now, the easiest way to still use GodSVG would be to download the source code from Github and run it inside Godot Engine. This has been described in the README.
  • The performance in this alpha may be worse than that of alpha 4. We'll work on improving this later on.
  • Old settings, as well as the old session data, will be erased. You can find the savefiles here:
    image

The only files that are still necessary between sessions are these:
image

Before getting into the new features, I want to thank @Kiisu-Master for his help in improving the building process of GodSVG.

These are the biggest features in alpha 5:

  • Simplified Chinese translation and Dutch translation have been added, and all other translations have been updated. Thanks, translators!
  • Added support for groups (by @MewPurPur)
  • Added support for gradients (by @MewPurPur)
  • Various overhauls of how attributes and elements work (by @MewPurPur)
  • Added support for percentages in numeric attributes and HSL syntax in color attributes (by @MewPurPur)
  • Elements can now show a warning when their configuration is incorrect (by @MewPurPur)
  • Added a native top menu for MacOS (by @aaronfranke and @MewPurPur)
  • Added an eyedropper to the color picker (by @MewPurPur)
  • Improvements to settings and formatting (by @MewPurPur, I also want to thank @Swarkin and DotMouse for helping out)
  • Some SVG rendering and UI-related fixes (by Godot and ThorVG contributors)
  • Other bugfixes and enhancements (by @MewPurPur and @Kiisu-Master)

Please consider making a donation on Github sponsors, Ko-Fi, or Patreon. Any financial support would really help me get GodSVG to the finish line!

See the website for more information about the project: https://godsvg.com


Expand Assets below to download the pre-release for your platform.

Don't want to download anything? Check out the web build at https://godsvg.com/editor. But keep in mind GodSVG is at its heart a desktop application, so the web build suffers from worse performance, slow load times, and certain limitations.

1.0-alpha4

06 Jun 17:27
472f7af
Compare
Choose a tag to compare
1.0-alpha4 Pre-release
Pre-release

GodSVG releases its fourth alpha, focused on quality of life, stability, and performance. Many thanks to everyone who contributed! ❤️

Mostly unrelated to the release, but there's also now a website: https://godsvg.com

Please consider making a donation on Github sponsors, Ko-Fi, or Patreon. Any financial support would really help me get GodSVG to the finish line!


Expand Assets below to download the pre-release for your platform.

Note: I've received inconsistent reports about whether the MacOS build works. Use alpha 3 if it doesn't work for you. I'm sorry for the inconvenience. Don't blame me, blame the awfulness of the MacOS support process.

Don't want to download anything? You can check out the web build at https://godsvg.com/editor. But keep in mind GodSVG is at its heart a desktop application, so it suffers from worse performance and slow load times on the web. The web build is still considered experimental.

1.0-alpha3

17 Apr 23:39
Compare
Choose a tag to compare
1.0-alpha3 Pre-release
Pre-release

After months of hard work, GodSVG releases its third alpha! Many thanks to everyone who contributed ❤️

Please consider making a donation on Github sponsors or Ko-Fi. Any financial support would make it significantly easier to push GodSVG to the finish line.

The biggest changes:


Expand Assets below to download the version for your platform.

Known issue: The UI is now tiny on big displays. There will be another alpha release soon that will fix this. In the meanetime, go to the Settings, Other, and increase the UI scale. In the dropdown, you can choose at most 2, but if you use the LineEdit, it actually allows up to 2.5

1.0-alpha2

21 Dec 12:40
Compare
Choose a tag to compare
1.0-alpha2 Pre-release
Pre-release

There is now an experimental web build for GodSVG! It's not tested thoroughly and might have some bugs: https://mewpurpur.github.io/GodSVG/web-build/ https://godsvg.com/editor

Lots of thanks to @aaronfranke for working out MacOS exports with me, and @aladvs for working out web exports with me.

The biggest changes:

  • Added optimizer that automatically formats attributes (by @MewPurPur)
  • Implemented the ability to drag and drop SVG files inside the window (by @Kiisu-Master)
  • Implemented CLI file opening and the ability to use GodSVG in "Open With..." dialogs (by @ilikefrogs101)
  • Various improvements to input handling in the viewport (by @Kiisu-Master)
  • Added handles for circle and ellipse radii and for rect sides (by @MewPurPur)
  • Added the ability to convert between tag types (by @MewPurPur)
  • A lot of small improvements
  • Bugfixes
  • New bugs

1.0-alpha1

05 Dec 14:09
Compare
Choose a tag to compare
1.0-alpha1 Pre-release
Pre-release

Finally, GodSVG releases its first development build, GodSVG 1.0-alpha1! Currently only on Windows and Linux, but the process will improve before the first release and it will become available on more platforms. Thanks a lot to everyone who has contributed!