- 
                Notifications
    
You must be signed in to change notification settings  - Fork 34
 
Restore 1.1 support #526
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Restore 1.1 support #526
Conversation
| 
           Thank you for this huge fix! Although I have doubts about how many users of Yafc are still on 1.1 - it's an ever-decreasing number because I think there is nothing holding a person on 1.1 aside from an ongoing run.  | 
    
| 
           I should have included more information: #507 was already fixed by dac00bc, but the reporter can't upgrade to a version with that fix. They're using Space Exploration, which is still tied to 1.1. This allows them to use a fixed version. (And also get all the new features we've added in the past year.)  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am fine with supporting v1.1 if people are using it (or are 'forced' to use).
But I wonder how much maintenance burden it would become this way. Each time something gets changed related to something 2.0 (or 1.1) we need to be aware to fence it off from the other version... I feel the distinctive support of either version will break if we are not careful.
Wouldn't it better to make a v1.1 branc, and backport important (generic, not v2.0-speific) changes that we would to provide to 1.1 users as well?
We can release them separately (when something gets changed) and we can choose when/how to burden us with v1.1 support per feature.
          
 That is the disadvantage of supporting both, but most parts of yafc aren't version-aware. Even most of FactorioDataDeserializer isn't version-aware. My other in-progress branches don't have conflicts with this PR, though https://github.com/ApocDev/yafc-ce/tree/spoilage-automation-support does. 
 Maybe, but which changes? I originally thought #507 was a duplicate of #306. I found dac00bc by bisecting, but I also had to apply most of this PR before I could test. I expect it would be similarly difficult to find other bugs that affect 0.9 but are fixed in 2.x.  | 
    
| 
           True, having a separate branch also has its disadvantages. If you say that there aren't many places were we need version checking then we could give it a try in a single branch. We can always decide later to split off a v1.1 branch I guess (it 'only' requires cleaning version specific code in both branches after splitting)  | 
    
| 
           Personally, I think this is the best of the available choices, where the other two are "officially abandon 1.1", and "maintain separate branches for 1.1 and 2.0". (Unless someone wants to make an automatic 1.1-to-2.0 mod converter, but I am not volunteering for that task.)  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will need a cursory check after resolving the merge conflicts. Overall, looks fine. Thank you for the fix!
This restores support for Factorio 1.1, and incidentally fixes #507. We could just abandon 1.1, but I've never really been happy with that idea, given that many mods (e.g. SE, Angel's) still aren't updated, and others (e.g. IR3) will explicitly never be updated.
I used a customized version of my dump-data branch (e.g. suppressing properties that didn't exist in 0.9.1) to compare the objects loaded by 0.9.1 and this branch.