Releases: albertms10/cabin_booking
Releases · albertms10/cabin_booking
Version 0.8
What's Changed
- chore(deps): bump ossf/scorecard-action from 2.0.6 to 2.1.0 by @dependabot in #145
- chore(deps): bump actions/setup-java from 3.8.0 to 3.9.0 by @dependabot in #146
- chore(deps): bump github/codeql-action from 2.1.36 to 2.1.37 by @dependabot in #147
- chore(deps): bump ossf/scorecard-action from 2.1.0 to 2.1.1 by @dependabot in #149
- chore(deps): bump ossf/scorecard-action from 2.1.1 to 2.1.2 by @dependabot in #150
- chore(deps): bump actions/cache from 3.0.11 to 3.2.1 by @dependabot in #152
- refactor(holiday)!: extend
DateRange
instead ofDateRangeItem
by @albertms10 in #153 - refactor(model): rename
fromJson
constructors by @albertms10 in #154 - test(model): add tests for
SchoolYear
andDateRange
JSON methods by @albertms10 in #155 - test(date_range): add test for
toString
method by @albertms10 in #156 - refactor(date_range): rename
fromDate
factory constructor by @albertms10 in #157 - build(pubspec): bump versions as of
dart_code_metrics
5.3.0 by @albertms10 in #158 - test(iterable_extension): use
const
by @albertms10 in #159 - refactor(current_time_indicator): rename
hideLabel
by @albertms10 in #160 - fix(date_time_extension): rewrite
addLocalTimeOfDay
UTC operation by @albertms10 in #161 - fix(recurring_booking): use correct
copyWith
default values by @albertms10 in #162 - refactor(single_booking): replace
recurringBookingId
with referenced object by @albertms10 in #163 - chore(deps): bump actions/cache from 3.2.1 to 3.2.2 by @dependabot in #165
- fix(single_booking): use correct
copyWith
default values by @albertms10 in #166 - fix(booking_preview_panel_action_bar): pass a copy of the booking object to
BookingDialog
by @albertms10 in #167 - refactor(single_booking): replace
cabinId
with referenced instance by @albertms10 in #164 - feat(date_ranger): implement new
textualDateTime
methods by @albertms10 in #168 - refactor!: rename
Manager
→Collection
by @albertms10 in #169 - fix(booking): call
textualDateTime
method ontoString
by @albertms10 in #170 - test(date_range): test case local
DateTime
range by @albertms10 in #171 - chore(deps): bump actions/cache from 3.2.2 to 3.2.3 by @dependabot in #173
- chore(deps): bump actions/upload-artifact from 3.1.1 to 3.1.2 by @dependabot in #172
- test(model): add test cases for
Item.copyWith
methods by @albertms10 in #174 - refactor(cabin): remove redirection methods to
BookingCollection
by @albertms10 in #175 - test(date_range_item): add test cases for main class methods by @albertms10 in #176
- chore(deps): bump github/codeql-action from 2.1.37 to 2.1.38 by @dependabot in #177
- refactor(cabin): expose
BookingCollection
from constructor by @albertms10 in #178 - fix(date_ranger): exclude
endDate
instant inincludes
by @albertms10 in #180 - refactor(school_year): use
textualDateTime
fortoString
by @albertms10 in #181 - refactor(model): move constructor bodies to initializer list by @albertms10 in #182
- refactor(booking_collection): use
singleBookingFromId
by @albertms10 in #183 - perf(booking_form): set
Cabin
reference onCabinDropdown
changed by @albertms10 in #184 - refactor(booking_collection): rewrite serializable methods by @albertms10 in #185
Full Changelog: v0.7...v0.8
Version 0.7
What's Changed
- build(macos): bump deployment target to 10.13 by @albertms10 in #79
- feat(utils): add
roundToNearest
methods fornum
andTimeOfDay
by @albertms10 in #80 - refactor(time_of_day_extension): use
increment
method by @albertms10 in #81 - refactor(model): rewrite enum members by @albertms10 in #82
- refactor(cabin_icon): rewrite Widget adding a
.progress
constructor by @albertms10 in #84 - feat: remove booking status by @albertms10 in #83
- refactor(constants): add
defaultSlotDuration
by @albertms10 in #86 - perf: prefer
Iterable.of
by @albertms10 in #85 - fix(date_range_item): correctly initialize members by @albertms10 in #88
- refactor(booking): store start and end
DateTime
s instead ofTimeOfDay
s by @albertms10 in #87 - feat(model): consistently store UTC
DateTime
s by @albertms10 in #90 - fix(booking): return
dateOnly
ondate
getter by @albertms10 in #91 - feat(date_time_extension): add relative date getters by @albertms10 in #92
- refactor(utils): throw
ArgumentError
instead ofassert
by @albertms10 in #94 - fix(map_extension): prevent from mutating this Map in
fillEmptyKeyValues
by @albertms10 in #95 - docs(utils): document methods by @albertms10 in #93
- test(utils): add tests for
Color
andMap
extensions by @albertms10 in #96 - refactor(icon_menu_item_content): remove unused Widget by @albertms10 in #97
- refactor(color_extension): throw
RangeError
whensamples
is not greater than zero by @albertms10 in #98 - chore(vscode): add recommended extensions by @albertms10 in #101
- chore(vscode): add workspace settings by @albertms10 in #100
- refactor: use directionality utilities by @albertms10 in #99
- build(windows): migrate to set version information by @albertms10 in #103
- docs(recurring_booking): fix assert message by @albertms10 in #104
- chore(l10n): generate untranslated messages file by @albertms10 in #106
- refactor(model): rethink
SingleBooking
hierarchy by @albertms10 in #105 - refactor: remove unnecessary default values by @albertms10 in #108
- feat(jump_bar): initial implementation by @albertms10 in #69
- feat(string_extension): add
matchesWith
method by @albertms10 in #109 - feat(model): add
searchBookings
method by @albertms10 in #110 - refactor(home_page): unify page destination list by @albertms10 in #112
- fix(cabin_icon): use
headline5
text color by @albertms10 in #113 - refactor(floating_action_button_menu): move methods to Widgets by @albertms10 in #114
- feat(jump_bar): show booking search results by @albertms10 in #111
- refactor: sort named arguments to match parameters declaration by @albertms10 in #115
- feat(jump_bar): improve animation and fields alignment by @albertms10 in #116
- refactor(booking_form): cast local variable instead of member by @albertms10 in #117
- refactor(home_page): expose
HomePageState
via.of
method by @albertms10 in #118 - refactor(home_page): move
ActionableFocusedShortcuts
down the Widget tree by @albertms10 in #119 - feat(jump_bar): navigate to booking page on tap a result by @albertms10 in #120
- fix(map_extension): revert Map copy in
fillEmptyKeyValues
by @albertms10 in #121 - perf(date_time_extension): simplify
addTimeOfDay
method by @albertms10 in #122 - refactor(date_time_extension): add
dayOfWeek
method by @albertms10 in #123 - perf(cabins_table): simplify
occupiedDurationPerWeek
date range by @albertms10 in #124 - refactor(date_range): extract, document and test mixin and class by @albertms10 in #125
- fix(recurring_booking): use
startDateTime
instead ofdate
only by @albertms10 in #126 - test(date_range): add test cases and document missing members by @albertms10 in #127
- test: show parentheses in group names by @albertms10 in #128
- test(cabin): add tests for Cabin classes by @albertms10 in #129
- refactor: rename
startDateTime
→startDate
anddate
→dateOnly
by @albertms10 in #131 - docs(model): initial model documentation by @albertms10 in #130
- refactor(date_ranger): move methods from Booking by @albertms10 in #132
- refactor(booking): extend
DateRangeItem
by @albertms10 in #133 - refactor(model): improve
==
andhashCode
methods by @albertms10 in #134 - fix(date_time_extension): keep UTC information by @albertms10 in #135
- ci(analysis): continue on error Upload Coveralls by @albertms10 in #136
- test(model): add tests for booking and holiday classes by @albertms10 in #137
- refactor(map_int_color_extension): move to root
utils
dir and add tests by @albertms10 in #138 - refactor(heat_map_day): lift up padding and color thresholds logic by @albertms10 in #139
- ci(scorecards): add analysis workflow by @albertms10 in #140
- feat(day_navigation): allow changing to days out of school year by @albertms10 in #141
- ci(scorecards): upload SARIF file artifact by @albertms10 in #142
- chore(deps): bump github/codeql-action from 2.1.27 to 2.1.36 by @dependabot in #143
- ci: pin actions versions and restrict permissions by @albertms10 in #144
Full Changelog: v0.6...v0.7
Version 0.6
What's Changed
- perf: prefer product over division by 2 by @albertms10 in #44
- fix(floating_action_button): show proper tappable children by @albertms10 in #43
- refactor(material): use proper
MaterialType.transparency
by @albertms10 in #45 - fix(recurring_booking): start count at 1 by @albertms10 in #46
- chore(lints): enable stricter lints by @albertms10 in #47
- refactor(map_int_color_extension): extract
colorFromThreshold
method by @albertms10 in #48 - refactor(heat_map_day): use proper
ConditionalParentWidget
by @albertms10 in #49 - feat(booking_preview_panel): implement new preview overlay by @albertms10 in #42
- feat(popular_times_bar_chart): improve layout and highlight current time by @albertms10 in #50
- perf(home_page): prevent calling
setState
on the same navigation index by @albertms10 in #51 - refactor(summary_page): extract Statistics Widgets by @albertms10 in #52
- refactor(item): save UTC DateTime fields by @albertms10 in #53
- fix(summary_page): remove unneeded Consumer Widget by @albertms10 in #54
- perf(map_int_color_extension): return the color if
threshold
key exists by @albertms10 in #55 - chore(deps): bump versions as of Flutter 2.10.3 by @albertms10 in #58
- refactor(date_range): split from Item hierarchy by @albertms10 in #56
- refactor(time_of_day): extract
increment
method by @albertms10 in #59 - chore(pubspec): replace unauthenticated
git://
protocol by @albertms10 in #61 - fix(time_of_day_extension): return proper Duration on
difference
by @albertms10 in #60 - ci(flutter): ignore irrelevant paths on
push
andpull_request
by @albertms10 in #62 - refactor(items_table): fix indices typo by @albertms10 in #64
- ci(flutter): extract Flutter SDK version variable and improve workflow syntax by @albertms10 in #63
- feat(utils): add tokenized string RegExp functions by @albertms10 in #65
- feat(cabin_booking_app): add keyboard shortcuts support by @albertms10 in #66
- perf(tests): wrap main test functions by @albertms10 in #67
- chore(pubspec): bump versions as of
dart_code_metrics
4.15.0 by @albertms10 in #68 - fix(bookings_stack): revert extracting first element by @albertms10 in #71
- chore(pubspec): bump versions as of Flutter 3.0.1 by @albertms10 in #70
- refactor: bump versions as of Flutter SDK 3.3.8 by @albertms10 in #72
- chore(deps): bump actions/upload-artifact from 2 to 3 by @dependabot in #73
- ci: rewrite analysis and build workflows by @albertms10 in #74
- refactor: prefer int literals by @albertms10 in #75
- refactor: adopt
library_private_types_in_public_api
lint rule by @albertms10 in #76 - refactor(heat_map_calendar): rename methods starting with
get
by @albertms10 in #77 - refactor: prefer asserts with message by @albertms10 in #78
New Contributors
- @dependabot made their first contribution in #73
Full Changelog: v0.5...v0.6
Version 0.5
UI
- (feat) Add responsive
BottomNavigationBar
variant for small screens by @albertms10 in 97d7c44 - (fix) Tweak app
ThemeData
by @albertms10 in 5f383c8 - perf(home_page): use
PageView
to preserve state by @albertms10 in #14 - feat(app_styles): set
waitDuration
to 200 ms by @albertms10 in #39
Bookings page
- (feat) Improve locked booking style by @albertmir in #7
- (feat) Rewrite table adding support for horizontal scrolling by @albertmir in #8
- fix(bookings_table): wrap with
Material
Widget by @albertms10 in #27 - feat(day_navigation): improve week day display and responsiveness by @albertms10 in #28
- feat(cabin_icon): add percent occupied tooltip by @albertms10 in #29
- fix(day_navigation): use
hintColor
by @albertms10 in #33 - feat(day_navigation): display non-school days badge by @albertms10 in #40
Items table
- perf(items_table): extract selected state from source data by @albertms10 in #26
Model
- (fix) Add parameter type to
Item
equality operator by @chdzma in #11 - feat(model): reduce JSON properties key length by @albertms10 in #18
- feat(file_manager): read and write gzip-compressed files by @albertms10 in #19
- refactor(model): extract as a
src
private library by @albertms10 in #20 - perf: use NanoID instead of UUID by @albertms10 in #21
- feat(school_year_manager): read and write gzip-compressed files by @albertms10 in #22
- fix(day_handler): pass
notifyListeners
toSchoolYearManager
by @albertms10 in #24 - fix(managers): properly assign default values whether empty file by @albertms10 in #25
- fix(file_manager): remove unnecessary JSON file extension by @albertms10 in #31
- fix(school_year_manager): check if the last school year includes
dateTime
by @albertms10 in #38
Codebase
- (perf) Add null-safety support by @albertms10 in #6
- (refactor) Merge
DisabledBookingCard
intoBookingCard
by @albertmir in #7 - (refactor) Rewrite util functions as extension methods by @albertms10 in d89a526
- (refactor) Adopt broader and stricter lints from
very_good_analysis
by @albertms10 in #12 - (refactor) Adopt new Dart code metrics rules by @albertms10 in #16
- (test) Add test for
utils
and upload to Coveralls by @albertms10 in 5f8b5d7 617c4a6 #15 - Create CODE_OF_CONDUCT.md by @albertms10 in #13
- test(iterable_extension): include empty Iterable cases by @albertms10 in #15
- refactor(analysis): add
dart_code_metrics
analysis by @albertms10 in #16 - refactor(iterable_extension): rename
compactConsecutive
method by @albertms10 in #17 - refactor(web): unsupport platform by @albertms10 in #23
- refactor(localization): provide parameters type info by @albertms10 in #30
- refactor: bump versions as of Flutter 2.8 by @albertms10 in #32
- refactor: relax null checks
!.
and prefer?.
by @albertms10 in #34 - refactor(app_styles): rewrite using a functional approach by @albertms10 in #35
- test(time_of_day_extension): add Comparable tests by @albertms10 in #37
- chore(vscode): add configuration files by @albertms10 in #36
- refactor(iterable_extension): rename
whereTruthy
method by @albertms10 in #41
New Contributors
- @albertmir made their first contribution in #7
- @chdzma made their first contribution in #11
Full Changelog: v0.4...v0.5
Version 0.4
UI
- (refactor) Add
ItemsTable
as an abstraction for bothCabinsTable
andSchoolYearsTable
- (feat) Replace occupancy rate
ProgressIndicator
with occupancy per week line chart
Summary page
- (feat) Add bookings count info
- (feat) Add cabins count info
- (feat) Add school years count info
- (feat) Add most booked day
- (feat) Add bookings count per day heat map calendar (with school year
RadioButtonList
) - (feat) Add popular times bar chart
Bookings page
- (feat) Improve
BookingCard
style- (feat) Add
BookingStatus
info button
- (feat) Add
- (feat) Animate
BookingCard
andEmptyBookingSlot
time changes - (fix) Allow to change an existing
Booking
↔RecurringBooking
inBookingsForm
School Years page
- (feat) Add
SchoolYearsTable
Model
- (feat) Save
SchoolYearManager
to file - (refactor) Change
FileManager
following the Singleton pattern
Codebase
Version 0.3
UI
Item modal
- (feat) Add creation and modification date info
Cabins page
- (feat) Add
FloatingActionButton
for the newCabin
form - (feat) Add cabin selection toolbar with the ability to empty or delete a
Cabin
- (feat) Allow sorting the
DataTable
- (feat) Allow specifying a cabin’s components either on creation or on edit
- (feat) Add accumulated time column with occupancy rate percentage bar
- (feat) Add most booked time ranges column
- (feat) Improve
CabinsTable
accessibility semantics (e.g. tooltips)
Bookings page
- (feat) Add
RecurringBooking
form info - (feat) Add
Cabin
occupancy progress indicator - (feat) Show
EmptyBookingSlot
only for future events - (feat) Show recurring occurrence number out of total occurrences in recurring booking cards
Model
- (refactor) Extract
Item
superclass withid
, creation and modification dates logic - (refactor) Extract
Cabin
components member to a more specificCabinComponents
object
Codebase
- (refactor) Rewrite l10n using
flutter gen
andintl
- (perf) Strictly use
const
constructors in Widgets that allow it
GitHub Actions
- (perf) Improve
Flutter CI
workflow job tree setup - (feat) Provide
macos
,windows
andweb
Flutter build artifacts in.tar.bz2
Version 0.2
UI
- (feat) Add
NavigationRail
as the main navigation - (feat) Add cabins page
Cabins page
- (feat) Add
DataTable
ofCabin
with booking count and occupancy rate
Bookings page
- (feat) Add
FloatingActionButton
with main actions - (feat) Add support for
RecurringBooking
- (feat) Add support for
Booking.isDisabled
(locked ranges) - (feat) Improve
EmptyBookingSlot
generation
Codebase
- (style) Pass
pendantic
linter check
Version 0.1
UI
Daily time table for bookings in each cabin:
- (feat) Implement current view date navigation
- (feat) Show red line with the current time
- (feat) Implement add/edit
Booking
(dialog)
Model
- (feat) Implement data model for
Cabin
andBooking
- (feat) Save to and read from JSON file