Skip to content
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

What's New panel #1284

Merged
merged 40 commits into from
Jan 19, 2022
Merged

What's New panel #1284

merged 40 commits into from
Jan 19, 2022

Conversation

krzychu124
Copy link
Member

@krzychu124 krzychu124 commented Jan 15, 2022

Important!
Savegame created with this version won't be loadable by any previous version of the mod.
Improved backward/forward compatibility

EDIT: Markup guide https://github.com/CitiesSkylinesMods/TMPE/wiki/Changelogs#whats-new-panel

Basic implementation of What's new panel.

  • read simplified markup from changelog file
  • automatically show panel at first open of the main menu in-game, depends on version of last shown panel.
  • save and load information about new What's New panel and TM:PE assembly version used.
  • added link-to-changelog support (optional)
  • updated changelogs to latest version

Build (Stable) zip
Build (Test) zip

Closes #118

image

@krzychu124 krzychu124 added feature A new distinct feature high priority Affects lots of users Usability Make mod easier to use UI User interface updates labels Jan 15, 2022
@krzychu124 krzychu124 added this to the 11.6.0 milestone Jan 15, 2022
@krzychu124 krzychu124 self-assigned this Jan 15, 2022
@originalfoo
Copy link
Member

What's the plan with the title text?

Also, would it be worth adding text link in window footer that when clicked will open full changlog in browser?

@krzychu124
Copy link
Member Author

What's the plan with the title text?

Also, would it be worth adding text link in window footer that when clicked will open full changlog in browser?

Hmm, I will experiment with that.
I was thinking about extended or full changelogs for TEST, and simplified for Stable (good fit for link, but where should it direct?)

@krzychu124
Copy link
Member Author

Changelogs updated, attached Test build since Appveyor build target is Stable

@krzychu124
Copy link
Member Author

@aubergine10
Since anchors to changelog are <url(readme.md/changelog.md)>#tmpe-version-build-release_date_string I can add new [link] element and make Title clickable
e.g.:

What's do you think? We can add more features later 😉

@krzychu124
Copy link
Member Author

WIP - latest version,

  • changelog of current version is bigger and text is white
  • other changelogs are smaller and text is in shade of gray
  • links should navigate to changelog entry (currently fake, I forgot to add latest Test releases to Changelog.md)

image

@krzychu124
Copy link
Member Author

krzychu124 commented Jan 16, 2022

## Important!
### Savegame created with this version won't be loadable with any previous version of the mod.

@originalfoo originalfoo added the Settings Road config, mod options, config xml label Jan 16, 2022
@originalfoo
Copy link
Member

originalfoo commented Jan 16, 2022

The larger/brighter text for current version is a bit weird IMO.

image

Also, do we need to state Traffic Manager for each release note block? It's already in the title bar of the What's new in TM:PE window.


Instead of using [*] for list items, would it be better to use a keyword? For example, currently the .txt file contains stuff like this:

[*] New Speed Limits UI #1168
...
[*] fixed: regression: Auto TTL should set-up dedicated turning lanes properly #1242
...

Why not specify keyword for each item, eg:

[New] Speed Limits UI overhaul #1168
...
[Fixed] Auto TTL should set-up dedicated turning lanes properly #1242
...

The New, Fixed, Updated, Removed keywords could translate in to an enum, eg: Dictionary<ItemType, string>, the list can then be sorted by the enum to put new items top, etc. - that ensures ordering of items is consistent across releases, and would allow us to make release notes look something like this (ignore the grey line down the side I did the mockup in html and forgot to remove it):

image

  • Dark grey (panel bg): rgb(36,41,46)
  • Light grey (text color): rgba(255,255,255,0.65)
  • Purple (version number bg): rgb(111,66,193)
  • Green (added/new): rgb(40,167,69)
  • Blue (fixed/updated/improved): rgb(3,102,214)
  • Red (removed): rgb(215,58,73)

@originalfoo
Copy link
Member

Also, why are we storing the what's new version in the savegame rather than global xml? Does user need to see what's new each time they load a different city?

@krzychu124
Copy link
Member Author

Also, why are we storing the what's new version in the savegame rather than global xml? Does user need to see what's new each time they load a different city?

I'm rewriting that part to move version info outside current tmpe data container, so users and we will be able to load new savegame using older version of mod, even just for tests/performance comparison, but now when I think of it, that's not necessary. I was thinking about using it to notify about required actions after load like reset vehicles, cims etc.

Also, you probably noticed that what's new version is a bit different.
Currently because of AssemblyVersion setting in SharedAsssemblyInfo (11.6.2.*) that * is dynamic and value is related to built time only. When I build version at about 1am, I'll get value ~2000, but when built at 5pm it will be ~30000. Day doesn't matter so I can't use version number to order entries or find current version which is PITA

@kvakvs
Copy link
Collaborator

kvakvs commented Jan 16, 2022

If this is to show what's changed since savegame version, then last shown whats new should be stored in the savegame together with savegame version.
if this is to show what's changed since user updated TM:PE, then store last whatsnew shown version in global config

@krzychu124
Copy link
Member Author

@aubergine10 cool mockup, I'll add some code to the parser and include suggestions 😉

Returns `true` if current build `BRANCH == "STABLE"`
Delete whats_new_stable.txt - No longer required.

Rename `whats_new_development.txt` -> `whats_new.txt`
This is now master changelog for all builds.
Doesn't seem to be any need for it to be public
This should simplify future localisation efforts as it's now same text used in panel title.
@originalfoo
Copy link
Member

originalfoo commented Jan 18, 2022

Implemented [Stable] keyword - now everything is in single whats_new.txt file and changelogs are displayed depending on which release is built. Should make ongoing maintenance a bit easier.

Also simplified some text as per #1288

@originalfoo
Copy link
Member

Unreleased version:

image

Released as TEST vs. STABLE:

image

Makes the purple pills look a bit grim though - wonder if there's a way to shrink version number a bit and then put TEST|STABLE as smaller text underneath version number?

@krzychu124
Copy link
Member Author

Awesome! I was about to make some changes but you did all 😄

Makes the purple pills look a bit grim though - wonder if there's a way to shrink version number a bit and then put TEST|STABLE as smaller text underneath version number?

Quick uglu mockup?

when are you wanting to merge?

if you want to add something we can wait. I see you've put #1267 into 11.6.3 and added it to changelog as (pending), sooo I can wait😄

@krzychu124
Copy link
Member Author

krzychu124 commented Jan 18, 2022

Oh, I noticed that "Not released yet" is not showing on Stable (no [Stable]) 😕 Only 11.5.2 is visible (has [Stable])🤔

image

[Edit]
In this case maybe we don't need Stable/Test in version label as only Stable are shown?

@originalfoo
Copy link
Member

originalfoo commented Jan 18, 2022

Quick uglu mockup?

Something like this....?

image

But with version number similar to current size and STABLE/TEST in smaller text. Version number should be the primary focus visually.

I see you've put #1267 into 11.6.3 and added it to changelog as (pending), sooo I can wait😄

It doesn't need to be in 11.6.3 - just shoved it in there for now so it wasn't in the main 11.6.0 milestone. Assuming there will be an 11.6.4 milestone I'll create that at move it in to there.

Would be better to get 11.6.3 out to TEST workshop asap so people can be testing it prior to the update for new DLC/CCP as you mentioned earlier.

Oh, I noticed that "Not released yet" is not showing on Stable (no [Stable]) 😕 Only 11.5.2 is visible (has [Stable])🤔

When 11.6 stuff is released to STABLE, each of the 11.6 entries in the whats_new.txt will have [Stable] keyword added = they'll all appear in the stable What's New panel. Question then is do we want them all appearing in TEST builds, heh, but that can be sorted later (it's easy to filter - see becf74b ).

BTW, I've now sorted all the 11.6 stuff in to relevant milestones on github. Going to do another check through everything to make sure nothing missed; there's still some PRs without milestone so I'll try and sort those too. Then I'll update all the changelogs, releases, etc., to ensure they are all consistent.

@krzychu124
Copy link
Member Author

Done :) Changes pushed. I'll release it later today (as is 0:30am). If you want to do some tweaks, go ahead 😉

image

@originalfoo
Copy link
Member

I'll push a commit with updated whats_new.txt in an hour or three. 100% of PRs are now assigned correct release milestone and there were loads of things missing from the 11.6.0 release and few from subsequent releases too.

- Added missing entries
- Namecheck bug reporters
- Namecheck translators
@originalfoo
Copy link
Member

Updated whats_new.txt - see commit description for details.


Before I forget, I can't find the PR that fixes this issue anywhere:

[Fixed] Cannot setup timed traffic lights on monorail nodes #1160 PR??? (Adreos, krzychu124)

@originalfoo
Copy link
Member

got another update to the .txt incoming in an hour or two - found some stuff that was listed as released in 11.6.0 was actually released in 11.5.1, also some issue numbers were wrong, etc.

- Added few more stable versions
- Some entries were actually released in 11.5.1
- Corrected version numbers for STABLE
@originalfoo
Copy link
Member

done

@krzychu124 krzychu124 merged commit 4a89e38 into master Jan 19, 2022
@krzychu124 krzychu124 deleted the whats-new-panel branch January 19, 2022 20:20
@originalfoo originalfoo mentioned this pull request May 9, 2022
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A new distinct feature high priority Affects lots of users Settings Road config, mod options, config xml UI User interface updates Usability Make mod easier to use
Projects
None yet
Development

Successfully merging this pull request may close these issues.

What's new!
3 participants