All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Federated project sharing!
- Project filter
- Bill filter
- Add cumulated balance for current user in navigation sidebar footer (disabled by default)
- Unified search provider for projects @julien-nc #304
- Replace "eval" by algebric parsing to perform amount calculations
- Compute balances from past bills only
- Make encoded_icon columns larger @julien-nc #309
- Style issues in cat/pm/curr cancel countdown
- Set min and max NC version to 30
- Improve style of bill list item
- Show project currency everywhere amounts are displayed
- Fix needed permission to delete link or user share in the frontend @julien-nc #269
- In mobile view, show bill list on load @julien-nc #280
- update npm pkgs
- new OCS public and authenticated API (will replace the old ones for clients, already used by public and authenticated web frontend)
- bruteforce protection for all public API endpoints (old and new)
- expose app version as public capability
- Document all new API endpoints so that OpenAPI specs can be generated by the Nextcloud OpenAPI extractor
- factorize public auth token/password/permission check in a middleware
- factorize authenticated user permission check in a middleware
- remove all deprecated guest access and anonymous creation related code/endpoints/frontend
- test user permission middleware
- fix saving setting values broken when refactoring events in the frontend
- fix balance 'counter' max width
- update nc/vue to 8.4.0
- make sure timestamps are not negative when setting db columns type to unsigned bigint
- new feature: Archive projects #236 @j0hannesr0th
- better error message when importing a Splitwise csv #238 @Jolg42
- use unsigned BIGINT with default 0 for all date DB columns
- no delay to move single bill to trashbin, add confirmation to clear trashbin
- bill form: only show delete button if deletion is not disabled
- fix bill deletion from bill form not removing item in bill list
- new trashbin feature
- Move from NcMultiSelect to NcSelect
- Use NcCheckbox instead of natvie checkboxes
- Bill deletion occ command
- update npm pkgs, use latest @nextcloud/vue
- use NcRichContenteditable in bill form for comment
- do not show move action for new bills
- fix all vue warnings about accessibility or deprecated props
- fix bill repetition bug producing way too many bills #201 @v3DJG6GL @ouaisbahouais
- fix main empty content buttons in mobile view
- lazy load frontend scripts
- update npm pkgs
- adjust to changes in NcActionInput, fix public link label and password inputs
- fix bill repetition, get user timezone and use immutable dates #191 @jonasbb
- User migration for projects and personal settings
- Add 'duplicate bill' action on bill list item
- visual bug with a checkbox in the settings dialog
- safer failure when importing the circles manager
- Fix scroll not working on mobile #184 @eliandoran
- Fix content shifting to the top in bill form #183 @eliandoran
- fix bill items style by removing list marker
- change color action
- get guest avatar color when creating member
- check if category/pm icons are valid utf-8 chars when importing
- Bring back svg api (just in cospend) for QRCode embedded logo
- Right click support for navigation items
- Implement CospendTogglableAvatar to simplify the avatar mess everywhere
- use @nc/vue 7.0.0-beta.7
- lot of adjustments to make it work with the new design
- move bill between projects #165 @Almamu
- better search icon (member or user avatar)
- improve import performance by grouping the db requests in a transaction
- click on current project: deselect user and reload bill list, emphasize selected member name #168 @siccovansas
- invisible colors for navigation items #160 @Ezwen
- make import more resistant to malformed csv files #97 @mrclschstr
- fix splitwise import #159 @iluvatyr
- new "payer" stats filter
- option to choose between pie chart and histograms for some stat charts
- search and filter by amount #135 @Zaptro
- parse some common date formats in bill edition form #139 @xstable
- basic history/path/url state management
- move to material design icons
- many style improvements
- filtering is now done on the server side #135 @Zaptro
- use ListItem component from @nextcloud/vue
- reset selected bill after creation #146 @marcelklehr
- use latest vue-chartjs and chartjs (4.1.1 and 3.8.0)
- improve stats table style with sticky average column
- emphasize hovered stat table cell in the related line chart
- bug when duplicating a bill that was just created #140 @xstable
- get rid of SVG api requests as it's been removed in NC 25
- bill owers effectiveness for new bills
- changed instances of 'she/he', 'his/hers', etc to 'they'/'them'/'their' @hexadecatrienoic
- move project import in new project actions #104 @derMart
- app-content not displayed when loaded in mobile view #126 @brunothg
- warning in API (edit and create bill) #127 @rm76
- improve filters and multi-select in bill list
- immediate bill form save after editing repeat, freq and includeAllActive
- use MemberMultiSelect in user association
- hide old password protected access stuff by default
- use CategoryMultiSelect and PaymentModeMultiSelect for stats filters and bill list filters
- generate cospend+http:// QRCode links when page is accessed with http, supported by MoneyBuster >= v0.1.16
- cast bill timestamp and share IDs to int in API
- fix QRCode modal size
- add missing hardcoded categories in stats
- fix bill list 'new bill' visibility condition
- fix auto share deletion when renaming a member linked with a user
- fix multiselect issue when selecting the selected item
- fix project import with spaces in member names #97 @mrclschstr
- new MemberMultiSelect component (used in stats and bill form)
- new CategoryMultiSelect component (only used in stats for the moment)
- update JS deps
- improve CI tests: multiple DB systems, php versions, server branches
- avoid disabled members as default payers when creating a bill
- remove pending new bill if a member is edited
- provide access level on getProjectInfo web and private API endpoints
- provide guest access level as 'myaccesslevel' in public API
- typos leading to warning logs #121 @daniel1v
- shorten category and paymentMode tables names to avoid crash on fresh install
- improve release action
- clarify JS dependencies
- bump js libs
- update translations
- individual settlement bugs #94 @redpixy
- amount formula evaluation, replace comas only when a coma is typed #86 @aniqueta
- member edition/deletion failure because of color check #90 @quizilkend #92 @datenangebot
- member order in sidebar #89 @valkalon
- use DatetimePicker component for "repeat until"
- strange scroll issue in settings dialog
- category and payment mode creation directly in bill form multiselect
- custom payment modes #69 @AllesMeins
- password protection for share links #9 @simonspa
- bill list filters (category and payment mode) #80 @webflo-dev
- QRCode for share links (to add the project in mobile clients)
- set current time as default to new bills #73 @TtuxX
- allow bill creation with only one member #62 @hellojaccc #18 @xetyr
- many design improvements
- progressively get rid of public access stuff
- fix import with files that were edited with LibreOffice like software #79 @TtuxX
- change export format, keep import compatible with the old one
- fix error when user ID is null in activity provider #74 @arifer612 #75 @apg1980 #83 @Thovi98
- make bill form left column a bit more responsive #82 @siccovansas
- button to duplicate selected bill as new bill #70 @TtuxX
- issues with issing accessibility stuff in public pages or when accessibility app is not installed #70 @TtuxX #68 @la-balisa
###Β Added
- Project activity sidebar tab
- move navigation settings to a modal dialog
- issue with decimal numbers in new bill custom share mode #20 @mayonezo
- add member in public pages #68 @la-balisa
- now possible to change bill list width (drag right side)
- click on member => filter bills
- new setting to choose member order in navigation (balance or name)
- public link labels
- new member monthly spent stats table/chart #58 @Raspikabek
- new 'most used' and 'most recently used' category orders #26 @itatabitovski
- hover interactions between stats tables and charts (both ways)
- new average column for category and payment mode monthly stat tables
- improve QRCode design, embed svg image with complementary color
- make link management consistent with Files app
- improve payer/category/paymentMode selection in bill edition
- improve style almost everywhere
- improve stats line charts style
- improve stats tables design (sticky header and first column)
- round numbers in line charts tooltips
- bump min NC version to 22
- don't fetch dashboard widget content if tab is not visible
- improve activity and notifications icons and content
- allow empty bill title on creation and edition #28 @whtv
- some class injections
- remove calls to deprecated stuff
- padding issues in settlement/stats tables
- PHP 7.2 compatibility
- character escaping in projects/bills titles #60 @sihagen
- mistakely using new DB methods #57 @rettenbs
- php 7.2 compatibility
- replace home made user search by OCS search request
- refactor and cleanup project service
- use comment field when searching bills
- display date, time and currency in unified search results
- issue with global user search in some cases #54 @susinths
- auto delete shares with unexisting users
- fix payment mode in stats again #52 @jonasbb @Byter3
- missing fallback payment mode in stats #52 @jonasbb @Byter3
- new option to display/set dates instead of datetimes #46 @pawlosck
- bill repetition frequency for daily, weekly, monthly and yearly #47 @pawlosck
- payment mode stats (monthly and global)
- new bill default time is 00:00:00 #46 @pawlosck
- use absolute URLs for activity icons
- fix perso amounts and custom owed amount with coma #44 @ndi123
- fix strange JS number operations behaviour #44 @ndi123
- fix member avatar color with Avatar wrapper component handling custom color prop
- use user timezone in statistics generation #45 @pawlosck
- bill deletion activity
- avoid some db queries in activity manager
- individual settlement #29 @FrouxBY
- adjust project navigation item icons
- custom mode selected for existing bills when switching from new bill #42 @mayonezo
- get rid of old avatars, reduces load on server #37 @normen
- use svg icon instead of UTF-8 char
- bump nc-vue to fix issue with iOS devices #33 @ndi123
- bump js libs
- add move icon next to draggable categories
- automated release process is now launched locally
- db queries with functions, issues with Postgres #30 @lkempf
- popover scroll problem
- option to disable bill deletion #13 @LJJS
- choose between alphabetical and manual categories order #26 @itatabitovski
- reorder categories by drag'n'drop #26 @itatabitovski
- new bill creation mode 'custom shares' (ignoring member weights or not) #20 @stildalf
- improve categories and currencies design
- bills count and total spent in sidebar
- biweekly and semi monthly repetition frequencies #19 @DrMantisTobbogan
- hint about repetition in UI
- button to repeat a bill 'now' #22 @Nadeige
- improve simple member multiselect item design
- refactor loops and network calls
- parse GET params and select project if an ID was given
- add missing primary key for projects table #24 @acsfer
- animations in bill list and stats
- improve last stats 'who paid for whom' table
- code quality improvements in backend and frontend
- bump js libs
- new field when settling: max date, impacts table, auto settlement and settlement export
- new stats table to know who paid for whom
- improve style of bill item counter
- line charts didn't fill color of first dataset
- members monthly stats bug with disabled members
- crash when missing window.OCA.Theming.cacheBuster #17 @xetyr
- automatic releases with GitHub actions
- automatically add/remove shared access to NC users when adding/removing them as project members #6 @simonspa
- empty content for project list, bill list, main content #7 @simonspa
- loading icons here and there
- multi selection mode to delete or assign category/payment mode to multiple bills @pichette
- partial initial bill list load, load the rest with infinite scrolling #11 @simonspa
- protocol based mobile client QRCode links
- bump all JS libs
- improve some labels
- use AppContentDetails component for main content (bill form, stats, settlement)
- big style improvements in stats and bill form
- move GitLab wiki to files in the repo
- improve dashboard widget empty content
- declare navigation in info.xml
- more popovers (cat/cur management, on stats table rows...)
- style cleanup, most images are now loaded by webpack
- ambiguous
- all eslint errors/warnings, no more props mutation
- internal search reacting to wrong event
- another custom icon path...
- custom icon path
- move to GitHub
- use Webpack 5
- use stylelint
- get rid of vue2-transitions
- major UI performance problem: render category edition only in edition mode (emoji picker was loaded many times)
- bump vue libs
- use Psr logger
- hide member actions menu if user is not at least maintainer
- fix padding of disabled mask in some cases
- unified search now triggers internal search as well
- fix paginated unified search
- allow 2 digits member weight #121 @ratte-rizzo
- option to choose project list sorting criteria #114 @ratte-rizzo
- unified search for bills
- dashboard widget showing activity
- add 'max precision' setting to display correct precise balances #117 @ja-nko
- use latest nc-vue 2.6.5
- use nc-vue emoji picker instead of emoji-button
- many design improvements in category/currency management, qrcode hints...
- clean UI code, now eslint-compliant
- really delete members when possible #116 @mrbenjoi
- String.replaceAll does not exist in chrome based browsers #113 @Neutrino1986
- show 'delete' for members with balance close to 0
- fix comma replacement in simple math #15 @simonspa
- sharing access level disabled conditions
- don't show public links with more permissions than the current user
- settlement bills payment mode was not set #112 @simonspa
- simple math for amount fields in bill form #15 @rouvenV
- a few animations with vue2-transitions
- member (and access) management in settings sidebar tab
- no more JQuery, using axios for ajax requests
- improve QRCode component
- move QRCode to sharing sidebar tab
- improve category management style
- improve date display and use nc-vue datetimepicker
- improve bill form design
- select all owers by default in new bill
- update nv-vue components
- duplicated route problem
- bug when doing repetitive shared access add/del
- disabled flag was not sent in member edition request
- bill form display on mobile view #109 @Joniator
- delay member color edition to avoid many requests
- restore old route to allow MoneyBuster getting project list
- complete UI rewrite in Vue.js #103 @call-me-matt @archit3kt @simonspa @newhinton
- avoid some backend crashes related to circles
- bill counter #100 @miguelangel.caballerobracero
- improve payer/ower naming (you -> all except A, B) #101 @call-me-matt
- begin to use vue.js, currency management fully converted
- import project (some bills were missing) #100 @miguelangel.caballerobracero
- amount preview with negative amount #100 @miguelangel.caballerobracero
- include port number in guest link #102 @singulosta
- use more placeholders
- improve QRCode generation #42 @call-me-matt
- new bill in guest access page #99 @pflegende
- shift+enter keybinding to create bill #97 @nicoe
- fix public page, don't register search #98 @DavidMStraub
- avoid getting member avatar in public pages
- now able to center settlement on one member MB#28 @patxiku
- online service payment mode mistake
- mistake in getBills when using 'lastchanged' #96 @simonspa
- new payment mode: online service
- improve search !169 @simonspa
- improve splitwise import: import categories #95 @madevr
- optimize SQL queries when getting bill list #95 @madevr
- now possible to link Nextcloud user with project member !166 @Plunts
- basic search in bill list with Nextcloud search field
- new "comment" field for bills
- escape key closes some edition areas
- use avatars in every possible place (stats, shared access, balance, bill item...)
- simpler translation updates management
- number formatting in category stats !167 @Plunts
- use timestamp for date filters, make filter bounds inclusive
- always encode utf-8 symbols to avoid database problems #92 @loetermann @lenalebt @fperget
- allow comas in fields, fix export/import accordingly
- no more dirty html string generation, use jquery instead
- bug in bill repetition
- monthly stats per category and per member (table and chart) !165 @simonspa
- refactor JS !160 @chiefbrain
- convert hardcoded categories to real ones that can be edited/deleted #87 @simonspa
- don't ask for project id anymore when creating a project, generate it from project name #90 @g--work
- simpler export name to fix import #89 @simonspa
- fix export, missing timestamp #89 @simonspa
- design fixes
- bug with some project ids
- now able to share projects with multiple public links with specific roles #80 @call-me-matt
- right click open items context menu
- emoji picker for category icon
- share permissions become roles (viewer, participant, maintener, admin) #80 @call-me-matt
- improve project sharing design a lot
- remove external project feature
- bill edition design/icons improvements
- improve settlement table design
- clearer labels for project id/name/title #81 @call-me-matt
- weight edition bugs @archit3kt
- webkit style compatibility
- guest permissions edition in public access #80 @call-me-matt
- remove constraint on bill breaking link to public file #83 @Dunkelschunkel
- new translations
- add constraints on many fields (back and frontend)
- mistake in add bill public api #79 @call-me-matt
- add 'time' field for bills #48 @mikoladz @rexkani
- private API route to create project as a user
- improve CSV project import
- switch to npm+webpack!
- fix 'all except reimbursement' stat filter #77 @jonfin
- occ export-project command #69 @schwerpunkt
- bank transfer payment mode
- circle share #31 @sunjam1
- show filtered balance in stats (if different from general balance) #58 @archit3kt
- project screenshots
- improve error messages
- upgrade tools used in CI
- remove minimum value for 'amount' field in bill edition #72 @schwerpunkt
- avoid mess when changing displayed bill during saving request #73 @schwerpunkt
- project currencies management and conversion #36 #46 @archit3kt @Allirion @deepbluev7 @puerki
- custom categories #65 @Helloha
- show avatars where it's possible
- improve spent value display in bill edition form #68 @jaroslaw.gerin
- improve weight value display in member list item #68 @jaroslaw.gerin
- use proper templates for public pages (guest access)
- utf8 characters in avatar #67 @jaroslaw.gerin
- option to change output directory #57 @xsus95
- permissions for guest access and user/group shares #34 @yward
- option to include all active members when repeating a bill #53 @quizilkend
- new REST API which requires login
- able to import projects files exported from splitwise !152 @denics
- new 'reimbursement' category that can be used to filter stats #24 @mr-manuel
- able to set a max repetition date #29 @eldiep
- monthly stats #23 @mr-manuel
- pie and polar area charts in stats
- now possible to edit member color
- show amount owed by each member in bill form
- design improvements
- improve category list #58 @archit3kt
- improve disabled design
- make all tables sortable
- now able to import/export all bill/members values
- move 'create bill(s)' button
- don't include disabled members when repeating #53 @quizilkend
- always get global user balance in stats even with filters
- import/export csv #53 @quizilkend
- share icon was hidden by some adblockers #53 @quizilkend
- huge bug in bill repetition date condition
- support activity stream for add/del/edit/repeat bill and share/unshare project
- new occ command: cospend:repeat-bills to manually trigger repeat system
- new api route for getBills with more information (to help client to perform partial sync)
- refactor controllers code
- use repeat/category/payment mode when exporting/importing
- fix repeat system for 31th #49 @PL5bTStMZLduri !158 @PL5bTStMZLduri
- fix repeat system if it wasn't triggered during several days #49 @eneiluj
- fix some strings and design mistakes
- bug when NC color code is compact
- some categories
- show total payed in statistics #43 @nerdoc
- project auto export
- payment modes #12 @llucax #44 @nerdoc
- bill categories
- statistics filters #12 @llucax #44 @nerdoc
- color management now done by the server avatar service
- sort member list by lowercase name
- fix notification system for NC17
- improve settlement process (use https://framagit.org/almet/debts)
- adjust Notifications to NC 17
- compatible with NC >= 17
- make QRCode label more explicit
- use Migration DB system !81 @werner.schiller
- handle custom server port in links/QRCodes #32 @derpeter1
- share autocomplete design
- concurrency problem when creating multiple bills simultaneously !111 @klonfish
- improved user/group sharing design
- avoid 0 weight #26 @MoathZ
- make tests compatible with phpunit 8 (and use it in CI script)
- test with sqlite, mysql and postgresql
- keep validation button for new bill in normal mode #14 @swestersund
- change opacity of member name/icon
- fix all/none buttons behaviour for 'personal part' bill #14 @swestersund
- fix project selection behaviour (in menu), toggle != select
- fix float-related DB stuff (crashing with PostgreSQL)
- jshint warnings
- stupid bug in some SQL queries (was invisible in SQLite...) #22 @Questlog
- don't put disabled users in share autocomplete #17 @redplanet
- ability to share a project with a group #17 @redplanet
- new bill type: even split with personal parts #14 @swestersund
- controller tests
- use NC DB methods instead of plain SQL
- change share button color when share input is displayed
- test with NC16beta2
- external project renaming field
- UI fix after delete bill error
- replace deprecated addAllowedChildSrcDomain
- CI PhpUnit tests
- QRCode and https link to import project in MoneyBuster
- now able to add external projects (hosted in another Nextcloud instance)
- design improvements: selected project bg color
- make password optional for new projects #13 @MrCustomizer
- remove settle/stats button from settings
- ability to add public link to NC files in bill name #4 @poVoq
- import/export project as csv #6 @eneiluj
- export project stats and settlement plan as csv #6 @poVoq
- button to apply settlement by automatically adding corresponding bills #2 @eneiluj
- option to periodically repeat a bill (day/week/month/year) #3 @poVoq
- let user give custom amount per member for new bills => creates several bills #7 @poVoq
- make app description translatable
- slash is now forbidden in project ID
- add missing loading icons
- balance number display when close to 0
- avoid saving bill if values haven't changed
- SQL queries compat with PostgreSQL
- loading icon everywhere
- display 'no bill' when necessary
- UI improvements
- app name : payback -> cospend
- focus on fields when necessary
- remove modern js template string to make l10n.pl work correctly
- avoid one useless browser password saving
- ability to share projects to NC users
- the app
- from nothing, it appeared
- fix the world with this app, no more, no less