Releases: fbiville/headache
Getting Better Everyday πͺ
Lots of internal improvements in this release πΎ
- [#33] Migrate to Go modules
- [#47] Define build in
Makefile
- Enable Dependabot (or as I call it: dπΌπ€) for the few deps
headache
has - [#69] Adhere to Go standard layout
- [#49] Improve execution tracking by directly serializing configuration and template to the tracker file
And now, on new features and user-facing improvements:
- [#22] The
DashDash
(--
) style has been added, thanks @redpanda - [#22] The
SemiColon
(;
) style has been added, thanks @redpanda - [#22] The
REM
style has been added, thanks @Psycokwet - [#22] The
SlashStarStar
(/**
) style has been added, thanks @AElMehdi - Various efforts (#50, #64 and other commits) to make header matching (especially at the first-ever run) more lenient on punctuation, newline and whitespace differences (this is a huge and ongoing effort π )
- [#37] The comment styles can now be configured in aNy CaSe YoU LikE πΊπ. Thanks @dialaya for the suggestion!
- More logs now, so what is going on is now (hopefully) clearer π²
βοΈ incompatible change βοΈ
go get github.com/fbiville/headache
won't work anymore πΏ
You need to run go get github.com/fbiville/headache/cmd/headache
instead π₯³
I hope you will give headache
a try! A new bug report template will help you summarize any issue you encounter when running headache
on your project π€
And if you want to contribute, there is still a lot of work ahead.
If you live around Paris π«π·, you can also pair-program with me on headache
every month at Hackergarten Paris β€οΈ
A More Flexible Way To Handle Dates... and more!
- [#27] Track used configuration file path so it can be read at the next execution to match existing headers
- [#22] Add the new comment style Hash (
#
) - thanks @dialaya! π₯ - Upgrade to Go 1.12 π
- Ignore pure copies and renames when processing changed files
- [#41] Discard copyright year in the future π
- [#43] Introduce
StartYear
andEndYear
, renameYear
toYearRange
π (check out the README for more information) - [#45] Assume current configuration path if the previous one was not tracked
- Improve logs π²
Note that #43 introduced a schema change, this version of headache
references https://fbiville.github.io/headache/v1.0.0-M03/schema.json.
If you want to contribute, there are a bunch of "good first issues" waiting for ya! πͺ
A Tiny Yet Embarrassing Mistake -- Fixed!
Sadly, 1.0.0-M01
was broken due to a very stupid mistake in the schema loading implementation π
Upgrade now!
Here are a few changes of note: π΅οΈββοΈ
- [#11] internal: all tests are now migrated to Ginkgo
- [#35] Fix schema location and tolerate loading errors
And that's it for now. Stay tuned for the next milestone release! π
A Massive Improvement
Due to my stupid mistake related to the configuration schema loading, this release is broken. Upgrade to https://github.com/fbiville/headache/releases/tag/1.0.0-M02 at least!
A lot has been done since the last version:
- [8372f00] there is now a code of conduct
- [#5][#9] Copyright years are now based on versioning information and the lowest bound, if found, is always preserved
- [#14]
headache
tracks its last execution and only consider source files that have changed since - [#20] Contributing new comment styles should now be easier (see #22 - help much appreciated)
- [#16] A first step towards license switch has been implemented, although a big question (#29) remains open (input much appreciated as well)
- [#3] Several improvements have been gradually pushed to enhance header detection (although it's still a big ball of regex π±)
- dry-run mode has been implemented and finally removed as it has been deemed too complex and without much value (project maintainers can discard the changes they do not want!)
- [#24]
headache
configuration is now validated against a JSON schema
The objectives to reach for 1.0.0
are about (at least for now):
- [#3] moving towards a reliable header detection
- [#22] supporting more comment styles
- [#16] improving the license switch journey (depends on #29)
- [#23] allowing to co-locate multiple configurations for polyglot projects
They will be released in subsequent milestones.
Any help is welcome and much appreciated, make sure to watch the issues and grab the low hanging fruits π΄
Not Quite There Yet
Glob syntax is now supported in patterns.
However, copyright years are still based on configuration and not on versioning information. As you probably know by now, this is not correct!
Getting closer than last time, but still a long way to go π
A Youthful Mistake
This first release introduces the first configuration blocks of headache
.
However, it suffers from several limitations:
- glob syntax is not supported in inclusion/exclusion patterns
- the whole approach of blindlessly generating the copyright years is wrong, as explained here
We Must Do Better πͺ