@blitzmann blitzmann released this Dec 14, 2018 · 5 commits to master since this release

Assets 3

Many changes to how we do DPS / RR calculations have been made to better support the new Triglavian spool-up modules, courtesy of @DarkFenX! Additionally, we have started to use AppVeyor for Window builds instead of builds directly from @blitzmann's machine. Because of these changes, we are introducing a pre-release a few days before an official release for the December expansion to hopefully iron out any bugs that might crop up. A full list of changes will come with the official release early next week.

Also of note that OS X build isn't included in this pre-release due to lack of access to a build machine right now. It will be available for the official release.

If you notice anything off, please let us know in our issue tracker!

@blitzmann blitzmann released this Nov 23, 2018 · 84 commits to master since this release

Assets 5

v2.6.1

Database:

New:

  • Mutated item import from clipboard (#1803).
    • pyfa now supports importing an Abyssal module from the clipboard. This enables pyfa to support other applications which may export this information, such as mutaplasmid.space's newest feature.

Fixed:

  • Crash when applying Mutaplsamid to BCS (#1800)
  • DPS graph showing DPS for non-active fighters (#1793)

Changed

  • Move Tiamat/Hydra into limited edition group

v2.6.0

Database:

New:

  • Drag/drop implants to Implants "Additions" window (#1778)

Fixed:

  • Implant stats not updating upon removal (#1777)
  • Rate of Fire mutated (maybe others?) attribute was bugged (#1799)

@blitzmann blitzmann released this Nov 23, 2018 · 106 commits to master since this release

Assets 5

Database:

New:

  • Drag/drop implants to Implants "Additions" window (#1778)

Fixed:

  • Implant stats not updating upon removal (#1777)
  • Rate of Fire mutated (maybe others?) attribute was bugged (#1799)

@blitzmann blitzmann released this Oct 16, 2018 · 124 commits to master since this release

Assets 5

v2.5.1

Fixed:

  • Opening some fittings that don't have a race icon (#1767)
  • Attempting to browse Subsystems in market browser results in no icons (#1769)(thanks @tron1point0 !)
  • Changing variation of drone (#1773)

v2.5.0

Database:

New:

  • Undo/redo support!
    • Most actions which affect the fit are supported, including adding modules, toggling state, moving modules, etc. Some more obscure actions, such as setting fighter abilities or setting skills associated with module, are yet to be converted and are considered a lowish priority (#1524)
  • Abyssal module attributes can now be imported/exported with the EFT format! (#1707)
    • When exporting the fit to clipboard, select the Mutated Attributes option
    • This allows users to share fits with the Abyssal modifications intact
    • Please note that, currently, this is a pyfa-specific format - other programs which utilize EFT-style imports will probably choke on it (which is why this is an option instead of default)
    • As part of this, the last export format / option that was used will now be saved between sessions.
  • [OSX] Retina support for ship hull renders and module icons (#1737)(thanks @m-sasha!)
    • This should make the displayed images in pyfa a bit more crisp when viewing on a Retina screen
    • Please note that there are still various icons that have not been reworked - this is focused on ship and module icons
    • Due to limitations with the underlying GUI framework of wxWidgets, similar functionality for scaled Windows and Linux displays is still unsupported (YMMV).

Fixed:

  • Double Clicking files in File Dialog will propogate event to underlying window (#1447)
  • Changing "Factor in reload time" setting via preferences did not immediately apply it (#1656)
  • Price columns were not updating correctly during first fetch of item's price (#1706)(#1715)(special thanks to @feyyd for helping track this down!)
  • Missile ammo wasn't showing an icon in the ammo picker (#1738)(thanks @m-sasha!)
  • GUI issue that caused blurry text on the tabs when display is scaled (ie: Retina screens)(#1735)(thanks @m-sasha!)
  • Crashing that sometimes happened with auto-detected proxy support (#1708)(thanks @minlexx!)
  • Abyssal Small Nos has a blank module name (#1722)
  • Entosis modules not applying Sensor Strength bonus (#1730)
  • Filament Clouds not applying correct effects (#1746)
  • Item Compare error when sorting None values (#1750)
  • Missing effect for Capital Hull Energizer
  • GUI bug causing occasional error when closing fits (#1758)

Changed:

  • Tweaks to the EFS export (per @MaruMaruOO)(#1754, #1755)
  • [WIN] Windows builds now use wxPython 4.0.3 instead of 4.0.0b2

@blitzmann blitzmann released this Oct 16, 2018 · 140 commits to master since this release

Assets 5

Database:

New:

  • Undo/redo support!
    • Most actions which affect the fit are supported, including adding modules, toggling state, moving modules, etc. Some more obscure actions, such as setting fighter abilities or setting skills associated with module, are yet to be converted and are considered a lowish priority (#1524)
  • Abyssal module attributes can now be imported/exported with the EFT format! (#1707)
    • When exporting the fit to clipboard, select the Mutated Attributes option
    • This allows users to share fits with the Abyssal modifications intact
    • Please note that, currently, this is a pyfa-specific format - other programs which utilize EFT-style imports will probably choke on it (which is why this is an option instead of default)
    • As part of this, the last export format / option that was used will now be saved between sessions.
  • [OSX] Retina support for ship hull renders and module icons (#1737)(thanks @m-sasha!)
    • This should make the displayed images in pyfa a bit more crisp when viewing on a Retina screen
    • Please note that there are still various icons that have not been reworked - this is focused on ship and module icons
    • Due to limitations with the underlying GUI framework of wxWidgets, similar functionality for scaled Windows and Linux displays is still unsupported (YMMV).

Fixed:

  • Double Clicking files in File Dialog will propogate event to underlying window (#1447)
  • Changing "Factor in reload time" setting via preferences did not immediately apply it (#1656)
  • Price columns were not updating correctly during first fetch of item's price (#1706)(#1715)(special thanks to @feyyd for helping track this down!)
  • Missile ammo wasn't showing an icon in the ammo picker (#1738)(thanks @m-sasha!)
  • GUI issue that caused blurry text on the tabs when display is scaled (ie: Retina screens)(#1735)(thanks @m-sasha!)
  • Crashing that sometimes happened with auto-detected proxy support (#1708)(thanks @minlexx!)
  • Abyssal Small Nos has a blank module name (#1722)
  • Entosis modules not applying Sensor Strength bonus (#1730)
  • Filament Clouds not applying correct effects (#1746)
  • Item Compare error when sorting None values (#1750)
  • Missing effect for Capital Hull Energizer
  • GUI bug causing occasional error when closing fits (#1758)

Changed:

  • Tweaks to the EFS export (per @MaruMaruOO)(#1754, #1755)
  • [WIN] Windows builds now use wxPython 4.0.3 instead of 4.0.0b2

@blitzmann blitzmann released this Aug 24, 2018 · 242 commits to master since this release

Assets 4

**NOTE: ** This is a pre-release, bugs are expected. Additionally, this version's update checker is bugged and will always notify you that there is an update at startup. Once on this release, feel free to check the "Don't remind me again for this release" checkbox before clicking the "Close" button on the update window. :)

Finally! After years of requests, undo/redo functionality is coming to pyfa!

The goal of this release is to get the current progress in the hands of users so that they can hopefully provide feedback and any error reports that might happen.

What has changed? (user facing)

Hopefully, if everything goes smoothly, the only thing that should have changed is the ability to CTRL+Z to undo an action (and CTRL+SHIFT+Z to redo an undone action). Each fit maintains it's own history of actions, and the action that is undone depends on the currently active fit in the fitting window. It is important to note that actions are stored in memory and aren't persisted - this mean that if you add a module, close pyfa then reopen, you will not be able to "undo" (you could of course remove the module as per usual).

The vast majority of fitting modifications have been converted over to action commands, such as module manipulation, adding fighters, toggling Command fits, etc; however, due to time and generally wanting to get this out the door, I have postponed undo/redo support of certain things for the first iteration (such as fighter ability, booster side effects, mutaplasmid attributes). I will soon create issues on the tracker for conversions that are planned.

Drone split / merge removed. Due to the complexity of this particular functionality (and me being lazy), I've decided to remove the ability to split a drone stack into two stack, or merge two stacks together. The alternative that has been implemented is an option to "Change Quantity" (just like you would change cargo quantity), easily allowing one to reduce / increase the number of drones in a stack. If this is a sorely missed feature, I can certainly revisit adding back to the codebase

What has changed? (technical)

A lot! Basically, the entire system of how the GUI communicated with the backend with regards to fitting changes had to be refactored into a new design pattern. After a bit of research, I decided on using the Command pattern. As a happy surprise, turns out wxPython supports this pattern via wx.Command and wx.CommandProcessor.

If you're familiar with pyfa development, you would know that most of the functions that relate to fit modifications happen int he Fit service - the GUI calls a function on this service, which then does what it needs to do (ie: adds module), commits the change to the database, and then recalculates the fit.

I've broken this out into two different types of commands: Fit and Gui. Fit commands perform the actual work (usually one command does one specific thing to a fit), whereas Gui commands usually act as a proxy to the Fit commands, but can also acts as a context processor, depending on the use case. This was done for two reasons: there are instances where a user action should actually do more than one Fit command, but the GUI should group these as one "command". This is achieved by having the Gui commands incorporate an internal CommandProcessor where we can submit multiple Fit commands. On undo, we loop through the Fit commands and undo each one of those. The second reason is due to the eventual removal of wx.Command dependency on Fit commands, so the Gui command would effectively act as a wrapper for the Fit commands and their custom processor.

I use pyfa code for my project, what do I need to know

Although pyfa has never really officially supported the use case of folks using it's codebase for their own projects, I am aware that there are a few folks out there that do this. You need to know the following:

  • If you only use the eos directory (fitting engine), you shouldn't have any issues. Nothing in the engine proper has changed
  • If you use service/fit.py for it's various helper functions in your project (for adding modules, toggling state, etc), you should know that much of this code has moved to service/fitDeprecated.py and will be removed eventually. The Fit service inherits from deprecated, so theoretically you should still be able to access all the functions within your application, but there will be a deprecated warning when using them. It's highly recommended to start migrating over to the fitting commands in gui/fitCommands/calc/ - most off these are literally 1:1 matches with the things that were in service/fit.py

Reporting issues

As always, all issues should be reported on our tracker: https://github.com/pyfa-org/Pyfa/issues. As stated, there's still a few actions that aren't really considered critical that haven't been ported over to the new design pattern. if you have a request for something to be "undoable", please keep in mind that, as of right now, only fit-specific things are supported

@blitzmann blitzmann released this Aug 22, 2018 · 302 commits to master since this release

Assets 5

Database:

New:

  • New export option available (EFS) (#1688)(thanks @MaruMaruOO!)
    • This export option was developed specifically for a new service being planned, which uses calculated values from pyfa to power the application. It is a format that may also prove useful if you are needing to export some calculated values for your own use.

Fixed:

  • Polycarbon Engine Housing Rigs not applying align time change (#1682)
  • Market browser missing boosters (#1683) (thanks @MaruMaruOO!)
  • Importing fit with implants still defaults to character implants if that feature is turned on (#1684)(thanks @MaruMaruOO!)
  • Dragging module from market sometimes doesn't add correctly (#1690)(thanks @feyyd!)
  • Copying a module that is group restricted causes an error (#1691)(thanks @feyyd!)
  • Rarish error when deleting fit (#1692)(thanks @feyyd!)
  • Dragging module from market into incorrect slot could remove underlying module (#1695)(thanks @feyyd)
  • Missing icons for Porpoise, Azbel, Raitaru, and Sotiyo (#1703)

@blitzmann blitzmann released this Jul 17, 2018 · 371 commits to master since this release

Assets 5

v2.3.1

Fixed:

v2.3.0

Database:

  • Updated to July release 1.2

New:

  • Mutaplasmid support

    • Please see the beta release for details on how this feature is implemented
    • Please see #1597 for feature and development discussion
    • Note that importing a fit with an Abyssal module will actually remove that module. This is due to the fact that we often don't have data on the module that we need in order to do a proper import (we don't have the base item, mutaplasmid, nor mutations). There are some ideas being thrown around, such as prompting the user to enter these values, but nothing is set in stone.
  • In certain situations, there may be errors when starting up the local pyfa server to handle the SSO login request. These errors usually have to do with the client machine's environment, and are difficult to pin down. There is now a message that directs the user to a workaround if we can't start the server for some reason so that they can add their character (#1627)(thanks @WatchMeCalculate!)

  • You can now default to character implants for new fits, instead of fit-specific (#1667)(thanks @MaruMaruOO!)

Fixed:

  • Under certain circumstances, modules get removed after re-enabling fitting restrictions (#1519)(thanks @WatchMeCalculate)
  • Stacking penalty not applied to some drone rigs (#1630)
  • XML file character imports have been re-enabled (#1631)
  • Somewhat rare error when hovering over the fitting tab, related to the tooltip drawing (#1633)(thanks @surculus12!)
  • WD Falloff miscalculation with the Crucifier Navy Issue (#1635)
  • HTML export now provides the EFT fitting instead of linking to o.smium.org, which is no more (#1637)(thanks @burnsypet!)
  • All 5 character not having every skill (#1645)
  • Error when adding Drone Turner implants (#1662)(thanks @MaruMaruOO!)
  • [macOS] Slight tweak to the plist for better rendering of text on Retina screens (icons / images / custom - drawn widgets will still be a bit blurry :/)(#1660)(thanks @flashspys!)
  • Helios drone damage bonus (#1663)(thanks @MaruMaruOO!)
  • Copying a fit now copies more information! (#1671)(thanks @MaruMaruOO )

Technical:

  • There's been a bit of work on icons; how they're generated, stored, and accessed from within the client. This should be a transparent change for most folks. Please let us know if there's any errors relating to icon fetching :) (#1621)

There was probably a few other contributions / fixes that I forgot to add >.<

As always, thanks so much to the community for reporting on bugs, and to the various contributors for helping out with bug fixes and feature implementations!

@blitzmann blitzmann released this Jul 16, 2018 · 376 commits to master since this release

Assets 5

Database:

  • Updated to July release 1.2

New:

  • Mutaplasmid support

    • Please see the beta release for details on how this feature is implemented
    • Please see #1597 for feature and development discussion
    • Note that importing a fit with an Abyssal module will actually remove that module. This is due to the fact that we often don't have data on the module that we need in order to do a proper import (we don't have the base item, mutaplasmid, nor mutations). There are some ideas being thrown around, such as prompting the user to enter these values, but nothing is set in stone.
  • In certain situations, there may be errors when starting up the local pyfa server to handle the SSO login request. These errors usually have to do with the client machine's environment, and are difficult to pin down. There is now a message that directs the user to a workaround if we can't start the server for some reason so that they can add their character (#1627)(thanks @WatchMeCalculate!)

  • You can now default to character implants for new fits, instead of fit-specific (#1667)(thanks @MaruMaruOO!)

Fixed:

  • Under certain circumstances, modules get removed after re-enabling fitting restrictions (#1519)(thanks @WatchMeCalculate)
  • Stacking penalty not applied to some drone rigs (#1630)
  • XML file character imports have been re-enabled (#1631)
  • Somewhat rare error when hovering over the fitting tab, related to the tooltip drawing (#1633)(thanks @surculus12!)
  • WD Falloff miscalculation with the Crucifier Navy Issue (#1635)
  • HTML export now provides the EFT fitting instead of linking to o.smium.org, which is no more (#1637)(thanks @burnsypet!)
  • All 5 character not having every skill (#1645)
  • Error when adding Drone Turner implants (#1662)(thanks @MaruMaruOO!)
  • [macOS] Slight tweak to the plist for better rendering of text on Retina screens (icons / images / custom - drawn widgets will still be a bit blurry :/)(#1660)(thanks @flashspys!)
  • Helios drone damage bonus (#1663)(thanks @MaruMaruOO!)
  • Copying a fit now copies more information! (#1671)(thanks @MaruMaruOO )

Technical:

  • There's been a bit of work on icons; how they're generated, stored, and accessed from within the client. This should be a transparent change for most folks. Please let us know if there's any errors relating to icon fetching :) (#1621)

There was probably a few other contributions / fixes that I forgot to add >.<

As always, thanks so much to the community for reporting on bugs, and to the various contributors for helping out with bug fixes and feature implementations!

@blitzmann blitzmann released this Jun 13, 2018 · 439 commits to master since this release

Assets 4

WARNING As always, this is a beta release of pyfa to test out new features and work out any kinks. Things will probably break. If they do, please report the issue in the respective issue.

This beta release of pyfa focuses mostly on two things: mutaplasmid support, and a slight refactoring of how we store the various icons of pyfa (modules, attributes, market groups, etc).

Mutaplasmids

Please report issues on #1597 (comment)

Of course, the biggest feature missing with our Into the Abyss release was feature parity with relation to Mutaplasmids. This required a bit of research into how to basically mutate existing attributes, but I think we finally have it at a point where it's both functional and user-friendly.

To convert a module to a mutaplasmid:

image

To change the values of the mutable attributes, simply open the item stats. The first tab will give you the panel designated for editing the attributes (still debating on where this tab should go):

image

When changing the values, the fit will recalculate after 1 second with the new values (this prevents calculating multiple times if people are quickly changing the values)

I focused on getting the basic functionality down. As such, at this time, you can't change the base module or the Mutaplasmid used - those will hopefully come later. If you need to change it, simply remove the Mutaplasmid through the Module context menu, and re-apply. :)

This is a large change, and I expect some brokenness / suggestions to come out of this beta release. Please try to break it with various shenanigans. If you run into anything, or want to generally discuss the feature, please head over to the issue page linked above. :)

Icons

Please report issue on #1621

pyfa is testing out a new way of fetching icons in an effort to update some of it's scripts. This required a bit of refactoring to how they are stored and accessed. I believe all the places that needed to be fixed are fixed, however there may very well be places in some parts of the code that I haven't tested that may still spawn an error. If you happen across anything like this, please report the issue in the thread linked above.

Other things

This also includes some other tweaks and fixes, such as font sizes closer to the 1.x releases for the tabs, some bug fixes, and maybe another feature or two that I'm missing.