ihatemoney


Nameihatemoney JSON
Version 6.1.5 PyPI version JSON
download
home_pagehttps://github.com/spiral-project/ihatemoney
SummaryA simple shared budget manager web application.
upload_time2024-03-19 22:52:25
maintainerNone
docs_urlNone
authorAlexis Métaireau & contributors
requires_pythonNone
licenseCustom BSD Beerware
keywords web budget
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # I hate money

[![GitHub Actions Status](https://github.com/spiral-project/ihatemoney/actions/workflows/test-docs.yml/badge.svg)](https://github.com/spiral-project/ihatemoney/actions/workflows/test-docs.yml)
[![Translation status from Weblate](https://hosted.weblate.org/widgets/i-hate-money/-/i-hate-money/svg-badge.svg)](https://hosted.weblate.org/engage/i-hate-money/?utm_source=widget)
[![Donate](https://img.shields.io/liberapay/receives/IHateMoney.svg?logo=liberapay)](https://liberapay.com/IHateMoney/donate)
[![Docker image](https://img.shields.io/badge/-Docker%20image-black?logo=docker)](https://hub.docker.com/r/ihatemoney/ihatemoney)

*I hate money* is a web application made to ease shared budget
management. It keeps track of who bought what, when, and for whom; and
helps to settle the bills.

-   [Online documentation](https://ihatemoney.readthedocs.io)
-   [Hosted version](https://ihatemoney.org)
-   [Cloud Providers](https://ihatemoney.readthedocs.io/en/latest/installation.html#cloud)
-   [Mailing
    list](https://mailman.alwaysdata.com/postorius/lists/info.ihatemoney.org/)
    (to get updates when needed).

The code is distributed under a BSD *beerware* derivative: if you meet
the people in person and you want to pay them a craft beer, you are
highly encouraged to do so.

## Requirements

-   **Python**: version 3.7 to 3.11.
-   **Backends**: SQLite, PostgreSQL, MariaDB (version 10.3.2 or above),
    Memory.

## Contributing

Do you wish to contribute to IHateMoney? Fantastic! There's a lot of
very useful help on the official
[contributing](https://ihatemoney.readthedocs.io/en/latest/contributing.html)
page.

You can also [donate some
money](https://liberapay.com/IHateMoney/donate). All funds will be used
to maintain the [hosted version](https://ihatemoney.org).

**Join the other contributors.**

[![](https://contrib.rocks/image?repo=spiral-project/ihatemoney)](https://github.com/spiral-project/ihatemoney/graphs/contributors)
 
## Translation status

[![Translation status for each language](https://hosted.weblate.org/widgets/i-hate-money/-/i-hate-money/multi-blue.svg)](https://hosted.weblate.org/engage/i-hate-money/?utm_source=widget)

# Changelog

This document describes changes between each past release.

## 6.1.5 (2024-03-19)

- Fix README and changelog not being displayed on PyPI
- Fix ability to change project settings when project has existing currency (#1292)
- Update translations for Dutch and German


## 6.1.4 (2023-12-14)

- Fix missing markdown include in manifest (#1274)
- Update translations for Chinese, Turkish, Czech, Spanish (Latin America), Swedish


## 6.1.3 (2023-11-23)

- Revert update to flask and werkzeug 2.3 because of a regression (see #1272)


## 6.1.2 (2023-11-19)

- Fix password generation command line crash (#1242)
- Update to flask and werkzeug 2.3 (#1244)


## 6.1.1 (2023-10-04)

### Currency conversion API workarounds

We are using an external API for currency conversion.  This API recently
started requiring an API key, and this broke I Hate Money in many ways.

This release adds a set of workarounds for this issue.  This should restore
basic functionality such as adding bills.  However, we had to disable
some operations to prevent crashing:

- Setting or changing the default currency on an existing project is no longer possible.
  However, setting a project to "No currency" is still possible.
- Adding or editing a bill with a currency that differs from the default currency
  of the project is no longer possible

[Longer-term solutions are being discussed](https://github.com/spiral-project/ihatemoney/issues/1232).
If you are using currencies in your projects, your input is welcome.

### Added

- Simplifies adding a bill with keyboard only (#1221)
- Add details of bills in history (#1223)
- Remember last "For whom?" field when adding a new bill (#1222)
- Speed up unit tests (#1214)
- Update translations for Spanish, Russian, Kannada, Swedish, Polish, German, and Italian

### Fixed
- Fix remembering the last selected payer when switching project (#1224)


## 6.1.0 (2023-07-29)

### Added
- Add RSS feed for each project (#1158)
- Security: require private code to edit a project settings (#1204)

### Fixed
- Fix 404 page crash (#1201)


## 6.0.1 (2023-07-22)

### Added
- Add support for `APPLICATION_ROOT` in Docker container (#1189)
- Improve docker-compose example: admin password and volume for database (#1169)

### Fixed
- Fix docker-compose example quoting (#1164)
- Fix crash when using existing sessions (migrate them to dict) (#1194)
- Add newly created projects to the list of projects (#1193)


## 6.0.0 (2023-07-13)

### Breaking changes
- Drop Python 3.6 support
- Add Python 3.11 support

The minimum supported version is now Python 3.7, and the project is
tested with up to Python 3.11

### Added
- Enable new languages: Catalan, Czech, Spanish, Persian, Hebrew, Hungarian, Kannada, Serbian, Telugu, Thai
- Build ARM64 and ARMv7 Docker image (#1141)
- Allow bills with an amount of zero (#1133)
- Add confirmation for expense deletion (#1096)
- Display a QR code when inviting people (#1000)
- Add a cancel button when editing a bill for better UX (#1013)

### Fixed
- Fix project deletion in the dashboard (#1094)
- Fix duplicate project name in dropdown list (#1082)
- Fix captcha validation, it should be case insensitive on both side (#1061)
- Fix CSRF on logout (#1040)
- Fix XSS when inviting people by email (#1044)

### Changed
- Use a better quality favicon (#1102)
- Use Flask-Limiter to implement rate limiting (#1054)

## 5.2.0 (2022-04-07)

### Added

- Make docker image production-ready: support PostgreSQL, allow customizing port, PUID, PGID (#919)
- List supported currencies in API under api/currencies (#961)
- Allow to import bills in CSV format, compatible with Cospend (#951)
  Note that there is a [known issue with this new feature](https://github.com/spiral-project/ihatemoney/issues/980)

### New settings

- Add [SHOW_ADMIN_EMAIL](https://ihatemoney.readthedocs.io/en/latest/configuration.html#show-admin-email)
  setting (#965)

### Changed settings

- [MAIL_DEFAULT_SENDER](https://ihatemoney.readthedocs.io/en/latest/configuration.html#mail-default-sender)
  is now a string instead of a tuple.  The old syntax is still accepted but support will be dropped on
  the next major release (#1007)

### Fixed

- Fix support for project IDs with uppercase characters (#925, #934)
- Purge project history on deletion (#989)
- Prevent large integer inputs to avoid crash (#994)
- [Performance] Get weight sum along with bills to scale (#949)
- Do not require a captcha when using the API (#931)
- Fix default "legal link" value in docker (#950)
- Fix showcase images in case of subdir installation (#974)
- Check that chosen language is in the supported list (#971)

### Changed

- User interface fixes, especially for mobile devices (#901, #904, #905, #929, #943, #944, #945, #991)
- Always display topmost buttons in the list of bills: new bill button & pagination (#956)
- Display monthly statistics for the range of months where the project was active (#885)
- Hide "each" amount when there's only one recipient (#1008)
- Display admin email in error message for password reminder (#965)
- Send an email when the project is created via the API (#938)
- Add compatibility with Python 3.10 (#921)
- Support WTForms 3 (#916)

## 5.1.1 (2021-10-26)

-   No actual change, fixup release because 5.1.0 did not upload to pypi

## 5.1.0 (2021-10-26)

### Added

-   Add the option to display a "legal link" at the bottom of pages (#883)

### New settings

-   Add [LEGAL_LINK](https://ihatemoney.readthedocs.io/en/latest/configuration.html#legal-link)
    setting (#883)

### Changed

-   Improve performance of balance and statistics computation (#890)
-   Reduce the resolution of showcase pictures by 50% (#880)
-   Improve pagination style in the list of bills (#873)

## 5.0.1 (2021-10-20)

-   Include images in the package archives (#872)

## 5.0.0 (2021-10-19)

### Breaking changes

-   Include project code into project authentication token. This
    invalidates all existing API tokens and invitation links from
    previous versions (#802 #843)
-   Drop support for Python 2 (#483)
-   Drop support for Python 3.5 (#571)
-   Drop support for MySQL (#743)
-   Require MariaDB version 10.3.2 or above (#632)
-   Enable session cookie security by default (#845)
-   Change token path authentication to /{project}/join/{token} (#843)

The minimum supported version is now Python 3.6, and the project is
tested with up to Python 3.9

See [upgrade instructions](https://ihatemoney.readthedocs.io/en/latest/upgrade.html)
to make sure the upgrade goes smoothly.

### Security

-   Add CSRF validation on destructive actions (#796)
-   Ask for private code to delete project or project history (#796)
-   Add headers to mitigate Clickjacking, XSS, and other attacks:
    [X-Frame-Options]{.title-ref}, [X-XSS-Protection]{.title-ref},
    [X-Content-Type-Options]{.title-ref},
    [Content-Security-Policy]{.title-ref}, [Referrer-Policy]{.title-ref}
    (#845)
-   Add URL validation to external link to prevent XSS (#846)

### Added

-   Allow to import previously exported json data (#518)
-   Add new optional field "external link" in bill form (#429)
-   Add optional currencies to project and bills (#541, #864)
-   Add new statistics showing monthly expenses (#526)
-   Add pagination to the list of bills (#480)
-   Add sorting, pagination, and searching to the admin dashboard (#538)
-   Add Project History page that records all changes (#553)
-   Add token-based authentication to the API (#504)
-   Add illustrations as a showcase, currently only for French (#544)
-   Add a page for downloading mobile application (#688)
-   Add optional support for a simple CAPTCHA (#844)
-   Add translations for Greek, Esperanto, Italian, Japanese, Portuguese
    and Swedish
-   Publish an [official docker
    image](https://hub.docker.com/r/ihatemoney/ihatemoney)

### New settings

-   Add
    [ENABLE_CAPTCHA](https://ihatemoney.readthedocs.io/en/latest/configuration.html#enable-captcha)
    setting (#844)
-   Use and document
    [SESSION_COOKIE_SECURE](https://ihatemoney.readthedocs.io/en/latest/configuration.html#session-cookie-secure)
    setting (#845)
-   Use and document
    [BABEL_DEFAULT_TIMEZONE](https://ihatemoney.readthedocs.io/en/latest/configuration.html#babel-default-timezone)
    setting (#590)

### Changed

-   Use the external debts lib to solve settlements (#476)
-   Remove balance column in statistics view (#323)
-   Make language choice persistent (#547)
-   Localize date strings in the current language (#590)
-   Differenciate "flash alerts" notifications (#594)
-   Display "flash messages" persistently instead of making them
    disappear (#856)
-   Improve menu bar spacing, put history and settings in a submenu
    (#739)
-   Change Dockerfile to install python dependencies at build time
    (#793)
-   Updating project settings doesn\'t require to enter or update
    project code (#774)
-   Bump dependencies: WTForms (#768) jinja2 (#753) itsdangerous (#756)
    flask (#755 #757 #764)
-   Remove requirements files in favor of setup.cfg pinning (#558)
-   Make language choice persistent (#547)
-   Flash messages must be dimissed manually (#856)
-   Increased the font size of the logo (#828)

### Fixed

-   Improve input of email addresses when inviting people to join a
    project (#133)
-   Fix order of participants in the statistics page (#608)
-   Clarify project edition form: private code is not required (#774)
-   Fix Python dependency contraints to be less strict
-   Improve documentation (#781 #819 #821)
-   Fix datepicker that was displayed twice on some browsers (#221)
-   Members weight are now rounded to 2 decimal (#838)

### Documentation

-   Reorganize "Contributing" documentation to be more accessible to
    new contributors
-   Improve documentation regarding database migrations (#569)
-   Added a page about [the security
    model](https://ihatemoney.readthedocs.io/en/latest/security.html)
    (#858)

## 4.1.5 (2020-07-26)

This release fixes a [serious security
issue](https://github.com/spiral-project/ihatemoney/security/advisories/GHSA-67j9-c52g-w2q9).

All users are encouraged to upgrade.

### Fixed

-   Fix unauthorized access and modification of project data
    (CVE-2020-15120) (#663)

### Changed

-   Change mobile icon link (#598)
-   Improve French translation of email templates (#593)

### Added

-   Add translations for Portuguese (Brazil), Tamil, Hindi

## 4.1.4 (2020-06-07)

This is a bugfix-only release. It is almost certainly the last release
to support Python 2: you should upgrade to Python 3!

### Fixed

-   Fix failed installation because dependencies were not being pinned
    (#540, #545, #558)
-   backend: Trim usernames to remove leading or trailing spaces. This
    avoids a situation where different names can be visually identical
    (#367)
-   backend: Fix API to forbid project creation when the
    [ALLOW_PUBLIC_PROJECT_CREATION]{.title-ref} setting is set to false
    (#496)
-   backend: Fix crash when a localized email template is missing (#592)
-   backend: Fix language code parsing (#589)
-   backend: Improve error handling when sending emails (#595)
-   UI: Fix datepicker that was being displayed twice on some browsers
    (#221)
-   UI: Fix "Submit and add a new one" button that had no effect when
    adding a bill (#498)
-   UI: Prevent bill cancellation when cancelling autocomplete (#506)
-   UI: Fix responsive width of homepage on small screns (#549)
-   UI: Fix color of the "Add a member" button (#499)
-   UI: Fix missing HTML tag (#583)
-   UI: Fix a small typo in the french project-reminder email (#486)
-   UI: Fix typo on message displayed when adding a member (#575)
-   UI: Fix incorrect tool-tip message about the private code (#623)
-   UI : Fix bug on tool-tip message (#635)

### Added

-   Add translations for German, Spanish (latin-america), Norwegian
    (bokmål), Indonesian, Polish, Russian, Chinese, Turkish, Ukrainian
-   Update translations for all languages

## 4.1.3 (2019-09-18)

### Fixed

-   Fix packaging. Previous (4.1) release wasn\'t pip-installable on all
    systems.
-   Fix readme and requirements.txt to upload to PyPI.

### Changed

-   Display password reminder message on a new page rather than on a
    flash message (#455, #469)

## 4.1 (2019-09-08)

### Added

-   Add a `compress_assets` target in the makefile to compress PNG
    (#459)
-   Document how to use systemd (#435)
-   Add support for python 3.7
-   Add links to documentation, mobile app and git repository in the
    footer (#445)
-   Use weblate to handle translations
-   Add dutch translation
-   Add project switcher on login page if already logged (#445)

### Changed

-   Documentation has been cleaned and reorganised.
-   Display a placeholder when no entries are present in the bill list.
    (#457)
-   Disable the "add bill" action until members are present (#457)
-   Improve invitations UX (#451)
-   In the bills list, display the "added on" column as a tooltip
    (#443)
-   Updated bootstrap to latest stable (#440)
-   Improved "project already exists" message (#442)
-   Improve usability specially for small screen (#441)
-   Replace export forms by links (#450)
-   Rework homepage design (#445)
-   Docker now downloads IHM from PyPI or the reference git repo (#446)
-   Arrange navbar items by functions (#445)

## 4.0 (2019-01-24)

### Added

-   Add CORS headers in the API (#407)
-   Document database migrations (#390)
-   Allow basic math operations in amount field (#413)
-   Add bill.creation_date field (#327)
-   Document PostgreSQL configuration (#415)

### Fixed

-   Do not allow negative weights on users (#366)
-   Fix docker image (#398)
-   minor documentation changes

### Changed

-   Update API project list (#405)

## 3.0 (2018-11-25)

### Fixed

-   Fix broken install with pip ≥ 10 (#340)
-   Fix the generation of the supervisord template (#309)
-   Fix Apache conf template (#359)
-   Regenerate translations and improve fr translations (#338)
-   Fix the validation of the hashed password (#310)
-   Fix infinite loop that happened when accessing / (#358)
-   Fix email validation when sending invites
-   Fix double-click when deleting a bill (#349)
-   Fix error escaping (#388)
-   Fix form error on already existing participant (#370)
-   Fix documentation for create bills via api (#391)
-   Fix docker ADMIN_PASSWORD configuration (#384)
-   Fix docker bug where conf is duplicated at each run (#392)
-   Fix cffi installation in Dockerfile (#364)

### Added

-   Document MySQL setup (#357)
-   Add a favicon.ico (#381)
-   Document external mail server configuration (#278)
-   Improve settings documentation styling (#251)
-   Add a ihatemoney delete-project command to delete a project (#375)
-   Add nice 404 error pages (#379)

### Changed

-   Enhance translation tooling (#360)
-   Improve Makefile (#387)
-   Sort members alphabetically in the new bill form. (#374)
-   Underline actions links on hover (#377)

### Removed

-   Remove Sentry, as it\'s not used anymore on prod. (#380)

## 2.1 (2018-02-16)

### Changed

-   Use flask-restful instead of deprecated flask-rest for the REST API
    (#315)
-   Make sidebar scrollable. Usefull for large groups (#316)

### Fixed

-   Fix the "IOError" crash when running [ihatemoney
    generate-config]{.title-ref} (#308)
-   Made the left-hand sidebar scrollable (#318)
-   Fix and enhanche Docker support (#320, #321)

### Added

-   Statistics API (#343)
-   Allow to disable/enable member via API (#301)
-   Enable basic Apache auth passthrough for API (#303)

## 2.0 (2017-12-27)

### Breaking changes

-   `ADMIN_PASSWORD` is now stored hashed. The
    `ihatemoney generate_password_hash` command can now be used to
    generate a proper password HASH (#236)
-   Turn the WSGI file into a python module, renamed from
    budget/ihatemoney.wsgi to ihatemoney/wsgi.py. Please update your
    Apache/Gunicorn configuration! (#218)
-   Admin privileges are now required to access the dashboard (#262)
-   [password]{.title-ref} field has been removed from project API GET
    views (#289)

### Changed

-   Logged admin can see any project (#262)
-   Simpler and safer authentication logic (#270)
-   Use token based auth to reset passwords (#269)
-   Better install doc (#275)
-   Use token based auth in invitation e-mails (#280)
-   Use hashed passwords for projects (#286)

### Added

-   `ihatemoney generate-config` to give working examples of config
    files (#275)
-   Statistics tab (#257)
-   Python3.6 support (#259)
-   ALLOW_PUBLIC_PROJECT_CREATION setting (#262)
-   Projects can be edited/deleted from the dashboard (#262)
-   ACTIVATE_ADMIN_DASHBOARD setting (#262)
-   Link to the dashboard in the navigation bar (#262)
-   Dockerfile
-   Documentation explaining the upgrade process

### Fixed

-   Fix [PUT api/project/:code/members/:id]{.title-ref} API endpoint
    (#295)
-   Fix member name uniqueness validation on API (#299)

### Removed

-   Remove unused option in the setup script

## 1.0 (2017-06-20)

### Added

-   Apache WSGI Support (#191)
-   Brush up the Makefile (#207, #201)
-   Externalize the settings from source folder (#193)
-   Makefile: Add new rule to compile translations (#207)
-   Project creation can be restricted to admin (#210)
-   More responsive layout (#213)

### Changed

-   Some README enhancements
-   Move tests to budget.tests (#205)
-   The demo project can be disabled (#209)

### Fixed

-   Fix sphinx integration (#208)

## 0.9 (2017-04-04)

-   First release of the project.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/spiral-project/ihatemoney",
    "name": "ihatemoney",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "web, budget",
    "author": "Alexis M\u00e9taireau & contributors",
    "author_email": "alexis@notmyidea.org",
    "download_url": "https://files.pythonhosted.org/packages/a8/58/73e9cc517dc7bffdaea9ff89c2e39de47e5fa41b6bf6be52f65dced5f26d/ihatemoney-6.1.5.tar.gz",
    "platform": null,
    "description": "# I hate money\n\n[![GitHub Actions Status](https://github.com/spiral-project/ihatemoney/actions/workflows/test-docs.yml/badge.svg)](https://github.com/spiral-project/ihatemoney/actions/workflows/test-docs.yml)\n[![Translation status from Weblate](https://hosted.weblate.org/widgets/i-hate-money/-/i-hate-money/svg-badge.svg)](https://hosted.weblate.org/engage/i-hate-money/?utm_source=widget)\n[![Donate](https://img.shields.io/liberapay/receives/IHateMoney.svg?logo=liberapay)](https://liberapay.com/IHateMoney/donate)\n[![Docker image](https://img.shields.io/badge/-Docker%20image-black?logo=docker)](https://hub.docker.com/r/ihatemoney/ihatemoney)\n\n*I hate money* is a web application made to ease shared budget\nmanagement. It keeps track of who bought what, when, and for whom; and\nhelps to settle the bills.\n\n-   [Online documentation](https://ihatemoney.readthedocs.io)\n-   [Hosted version](https://ihatemoney.org)\n-   [Cloud Providers](https://ihatemoney.readthedocs.io/en/latest/installation.html#cloud)\n-   [Mailing\n    list](https://mailman.alwaysdata.com/postorius/lists/info.ihatemoney.org/)\n    (to get updates when needed).\n\nThe code is distributed under a BSD *beerware* derivative: if you meet\nthe people in person and you want to pay them a craft beer, you are\nhighly encouraged to do so.\n\n## Requirements\n\n-   **Python**: version 3.7 to 3.11.\n-   **Backends**: SQLite, PostgreSQL, MariaDB (version 10.3.2 or above),\n    Memory.\n\n## Contributing\n\nDo you wish to contribute to IHateMoney? Fantastic! There's a lot of\nvery useful help on the official\n[contributing](https://ihatemoney.readthedocs.io/en/latest/contributing.html)\npage.\n\nYou can also [donate some\nmoney](https://liberapay.com/IHateMoney/donate). All funds will be used\nto maintain the [hosted version](https://ihatemoney.org).\n\n**Join the other contributors.**\n\n[![](https://contrib.rocks/image?repo=spiral-project/ihatemoney)](https://github.com/spiral-project/ihatemoney/graphs/contributors)\n \n## Translation status\n\n[![Translation status for each language](https://hosted.weblate.org/widgets/i-hate-money/-/i-hate-money/multi-blue.svg)](https://hosted.weblate.org/engage/i-hate-money/?utm_source=widget)\n\n# Changelog\n\nThis document describes changes between each past release.\n\n## 6.1.5 (2024-03-19)\n\n- Fix README and changelog not being displayed on PyPI\n- Fix ability to change project settings when project has existing currency (#1292)\n- Update translations for Dutch and German\n\n\n## 6.1.4 (2023-12-14)\n\n- Fix missing markdown include in manifest (#1274)\n- Update translations for Chinese, Turkish, Czech, Spanish (Latin America), Swedish\n\n\n## 6.1.3 (2023-11-23)\n\n- Revert update to flask and werkzeug 2.3 because of a regression (see #1272)\n\n\n## 6.1.2 (2023-11-19)\n\n- Fix password generation command line crash (#1242)\n- Update to flask and werkzeug 2.3 (#1244)\n\n\n## 6.1.1 (2023-10-04)\n\n### Currency conversion API workarounds\n\nWe are using an external API for currency conversion.  This API recently\nstarted requiring an API key, and this broke I Hate Money in many ways.\n\nThis release adds a set of workarounds for this issue.  This should restore\nbasic functionality such as adding bills.  However, we had to disable\nsome operations to prevent crashing:\n\n- Setting or changing the default currency on an existing project is no longer possible.\n  However, setting a project to \"No currency\" is still possible.\n- Adding or editing a bill with a currency that differs from the default currency\n  of the project is no longer possible\n\n[Longer-term solutions are being discussed](https://github.com/spiral-project/ihatemoney/issues/1232).\nIf you are using currencies in your projects, your input is welcome.\n\n### Added\n\n- Simplifies adding a bill with keyboard only (#1221)\n- Add details of bills in history (#1223)\n- Remember last \"For whom?\" field when adding a new bill (#1222)\n- Speed up unit tests (#1214)\n- Update translations for Spanish, Russian, Kannada, Swedish, Polish, German, and Italian\n\n### Fixed\n- Fix remembering the last selected payer when switching project (#1224)\n\n\n## 6.1.0 (2023-07-29)\n\n### Added\n- Add RSS feed for each project (#1158)\n- Security: require private code to edit a project settings (#1204)\n\n### Fixed\n- Fix 404 page crash (#1201)\n\n\n## 6.0.1 (2023-07-22)\n\n### Added\n- Add support for `APPLICATION_ROOT` in Docker container (#1189)\n- Improve docker-compose example: admin password and volume for database (#1169)\n\n### Fixed\n- Fix docker-compose example quoting (#1164)\n- Fix crash when using existing sessions (migrate them to dict) (#1194)\n- Add newly created projects to the list of projects (#1193)\n\n\n## 6.0.0 (2023-07-13)\n\n### Breaking changes\n- Drop Python 3.6 support\n- Add Python 3.11 support\n\nThe minimum supported version is now Python 3.7, and the project is\ntested with up to Python 3.11\n\n### Added\n- Enable new languages: Catalan, Czech, Spanish, Persian, Hebrew, Hungarian, Kannada, Serbian, Telugu, Thai\n- Build ARM64 and ARMv7 Docker image (#1141)\n- Allow bills with an amount of zero (#1133)\n- Add confirmation for expense deletion (#1096)\n- Display a QR code when inviting people (#1000)\n- Add a cancel button when editing a bill for better UX (#1013)\n\n### Fixed\n- Fix project deletion in the dashboard (#1094)\n- Fix duplicate project name in dropdown list (#1082)\n- Fix captcha validation, it should be case insensitive on both side (#1061)\n- Fix CSRF on logout (#1040)\n- Fix XSS when inviting people by email (#1044)\n\n### Changed\n- Use a better quality favicon (#1102)\n- Use Flask-Limiter to implement rate limiting (#1054)\n\n## 5.2.0 (2022-04-07)\n\n### Added\n\n- Make docker image production-ready: support PostgreSQL, allow customizing port, PUID, PGID (#919)\n- List supported currencies in API under api/currencies (#961)\n- Allow to import bills in CSV format, compatible with Cospend (#951)\n  Note that there is a [known issue with this new feature](https://github.com/spiral-project/ihatemoney/issues/980)\n\n### New settings\n\n- Add [SHOW_ADMIN_EMAIL](https://ihatemoney.readthedocs.io/en/latest/configuration.html#show-admin-email)\n  setting (#965)\n\n### Changed settings\n\n- [MAIL_DEFAULT_SENDER](https://ihatemoney.readthedocs.io/en/latest/configuration.html#mail-default-sender)\n  is now a string instead of a tuple.  The old syntax is still accepted but support will be dropped on\n  the next major release (#1007)\n\n### Fixed\n\n- Fix support for project IDs with uppercase characters (#925, #934)\n- Purge project history on deletion (#989)\n- Prevent large integer inputs to avoid crash (#994)\n- [Performance] Get weight sum along with bills to scale (#949)\n- Do not require a captcha when using the API (#931)\n- Fix default \"legal link\" value in docker (#950)\n- Fix showcase images in case of subdir installation (#974)\n- Check that chosen language is in the supported list (#971)\n\n### Changed\n\n- User interface fixes, especially for mobile devices (#901, #904, #905, #929, #943, #944, #945, #991)\n- Always display topmost buttons in the list of bills: new bill button & pagination (#956)\n- Display monthly statistics for the range of months where the project was active (#885)\n- Hide \"each\" amount when there's only one recipient (#1008)\n- Display admin email in error message for password reminder (#965)\n- Send an email when the project is created via the API (#938)\n- Add compatibility with Python 3.10 (#921)\n- Support WTForms 3 (#916)\n\n## 5.1.1 (2021-10-26)\n\n-   No actual change, fixup release because 5.1.0 did not upload to pypi\n\n## 5.1.0 (2021-10-26)\n\n### Added\n\n-   Add the option to display a \"legal link\" at the bottom of pages (#883)\n\n### New settings\n\n-   Add [LEGAL_LINK](https://ihatemoney.readthedocs.io/en/latest/configuration.html#legal-link)\n    setting (#883)\n\n### Changed\n\n-   Improve performance of balance and statistics computation (#890)\n-   Reduce the resolution of showcase pictures by 50% (#880)\n-   Improve pagination style in the list of bills (#873)\n\n## 5.0.1 (2021-10-20)\n\n-   Include images in the package archives (#872)\n\n## 5.0.0 (2021-10-19)\n\n### Breaking changes\n\n-   Include project code into project authentication token. This\n    invalidates all existing API tokens and invitation links from\n    previous versions (#802 #843)\n-   Drop support for Python 2 (#483)\n-   Drop support for Python 3.5 (#571)\n-   Drop support for MySQL (#743)\n-   Require MariaDB version 10.3.2 or above (#632)\n-   Enable session cookie security by default (#845)\n-   Change token path authentication to /{project}/join/{token} (#843)\n\nThe minimum supported version is now Python 3.6, and the project is\ntested with up to Python 3.9\n\nSee [upgrade instructions](https://ihatemoney.readthedocs.io/en/latest/upgrade.html)\nto make sure the upgrade goes smoothly.\n\n### Security\n\n-   Add CSRF validation on destructive actions (#796)\n-   Ask for private code to delete project or project history (#796)\n-   Add headers to mitigate Clickjacking, XSS, and other attacks:\n    [X-Frame-Options]{.title-ref}, [X-XSS-Protection]{.title-ref},\n    [X-Content-Type-Options]{.title-ref},\n    [Content-Security-Policy]{.title-ref}, [Referrer-Policy]{.title-ref}\n    (#845)\n-   Add URL validation to external link to prevent XSS (#846)\n\n### Added\n\n-   Allow to import previously exported json data (#518)\n-   Add new optional field \"external link\" in bill form (#429)\n-   Add optional currencies to project and bills (#541, #864)\n-   Add new statistics showing monthly expenses (#526)\n-   Add pagination to the list of bills (#480)\n-   Add sorting, pagination, and searching to the admin dashboard (#538)\n-   Add Project History page that records all changes (#553)\n-   Add token-based authentication to the API (#504)\n-   Add illustrations as a showcase, currently only for French (#544)\n-   Add a page for downloading mobile application (#688)\n-   Add optional support for a simple CAPTCHA (#844)\n-   Add translations for Greek, Esperanto, Italian, Japanese, Portuguese\n    and Swedish\n-   Publish an [official docker\n    image](https://hub.docker.com/r/ihatemoney/ihatemoney)\n\n### New settings\n\n-   Add\n    [ENABLE_CAPTCHA](https://ihatemoney.readthedocs.io/en/latest/configuration.html#enable-captcha)\n    setting (#844)\n-   Use and document\n    [SESSION_COOKIE_SECURE](https://ihatemoney.readthedocs.io/en/latest/configuration.html#session-cookie-secure)\n    setting (#845)\n-   Use and document\n    [BABEL_DEFAULT_TIMEZONE](https://ihatemoney.readthedocs.io/en/latest/configuration.html#babel-default-timezone)\n    setting (#590)\n\n### Changed\n\n-   Use the external debts lib to solve settlements (#476)\n-   Remove balance column in statistics view (#323)\n-   Make language choice persistent (#547)\n-   Localize date strings in the current language (#590)\n-   Differenciate \"flash alerts\" notifications (#594)\n-   Display \"flash messages\" persistently instead of making them\n    disappear (#856)\n-   Improve menu bar spacing, put history and settings in a submenu\n    (#739)\n-   Change Dockerfile to install python dependencies at build time\n    (#793)\n-   Updating project settings doesn\\'t require to enter or update\n    project code (#774)\n-   Bump dependencies: WTForms (#768) jinja2 (#753) itsdangerous (#756)\n    flask (#755 #757 #764)\n-   Remove requirements files in favor of setup.cfg pinning (#558)\n-   Make language choice persistent (#547)\n-   Flash messages must be dimissed manually (#856)\n-   Increased the font size of the logo (#828)\n\n### Fixed\n\n-   Improve input of email addresses when inviting people to join a\n    project (#133)\n-   Fix order of participants in the statistics page (#608)\n-   Clarify project edition form: private code is not required (#774)\n-   Fix Python dependency contraints to be less strict\n-   Improve documentation (#781 #819 #821)\n-   Fix datepicker that was displayed twice on some browsers (#221)\n-   Members weight are now rounded to 2 decimal (#838)\n\n### Documentation\n\n-   Reorganize \"Contributing\" documentation to be more accessible to\n    new contributors\n-   Improve documentation regarding database migrations (#569)\n-   Added a page about [the security\n    model](https://ihatemoney.readthedocs.io/en/latest/security.html)\n    (#858)\n\n## 4.1.5 (2020-07-26)\n\nThis release fixes a [serious security\nissue](https://github.com/spiral-project/ihatemoney/security/advisories/GHSA-67j9-c52g-w2q9).\n\nAll users are encouraged to upgrade.\n\n### Fixed\n\n-   Fix unauthorized access and modification of project data\n    (CVE-2020-15120) (#663)\n\n### Changed\n\n-   Change mobile icon link (#598)\n-   Improve French translation of email templates (#593)\n\n### Added\n\n-   Add translations for Portuguese (Brazil), Tamil, Hindi\n\n## 4.1.4 (2020-06-07)\n\nThis is a bugfix-only release. It is almost certainly the last release\nto support Python 2: you should upgrade to Python 3!\n\n### Fixed\n\n-   Fix failed installation because dependencies were not being pinned\n    (#540, #545, #558)\n-   backend: Trim usernames to remove leading or trailing spaces. This\n    avoids a situation where different names can be visually identical\n    (#367)\n-   backend: Fix API to forbid project creation when the\n    [ALLOW_PUBLIC_PROJECT_CREATION]{.title-ref} setting is set to false\n    (#496)\n-   backend: Fix crash when a localized email template is missing (#592)\n-   backend: Fix language code parsing (#589)\n-   backend: Improve error handling when sending emails (#595)\n-   UI: Fix datepicker that was being displayed twice on some browsers\n    (#221)\n-   UI: Fix \"Submit and add a new one\" button that had no effect when\n    adding a bill (#498)\n-   UI: Prevent bill cancellation when cancelling autocomplete (#506)\n-   UI: Fix responsive width of homepage on small screns (#549)\n-   UI: Fix color of the \"Add a member\" button (#499)\n-   UI: Fix missing HTML tag (#583)\n-   UI: Fix a small typo in the french project-reminder email (#486)\n-   UI: Fix typo on message displayed when adding a member (#575)\n-   UI: Fix incorrect tool-tip message about the private code (#623)\n-   UI : Fix bug on tool-tip message (#635)\n\n### Added\n\n-   Add translations for German, Spanish (latin-america), Norwegian\n    (bokm\u00e5l), Indonesian, Polish, Russian, Chinese, Turkish, Ukrainian\n-   Update translations for all languages\n\n## 4.1.3 (2019-09-18)\n\n### Fixed\n\n-   Fix packaging. Previous (4.1) release wasn\\'t pip-installable on all\n    systems.\n-   Fix readme and requirements.txt to upload to PyPI.\n\n### Changed\n\n-   Display password reminder message on a new page rather than on a\n    flash message (#455, #469)\n\n## 4.1 (2019-09-08)\n\n### Added\n\n-   Add a `compress_assets` target in the makefile to compress PNG\n    (#459)\n-   Document how to use systemd (#435)\n-   Add support for python 3.7\n-   Add links to documentation, mobile app and git repository in the\n    footer (#445)\n-   Use weblate to handle translations\n-   Add dutch translation\n-   Add project switcher on login page if already logged (#445)\n\n### Changed\n\n-   Documentation has been cleaned and reorganised.\n-   Display a placeholder when no entries are present in the bill list.\n    (#457)\n-   Disable the \"add bill\" action until members are present (#457)\n-   Improve invitations UX (#451)\n-   In the bills list, display the \"added on\" column as a tooltip\n    (#443)\n-   Updated bootstrap to latest stable (#440)\n-   Improved \"project already exists\" message (#442)\n-   Improve usability specially for small screen (#441)\n-   Replace export forms by links (#450)\n-   Rework homepage design (#445)\n-   Docker now downloads IHM from PyPI or the reference git repo (#446)\n-   Arrange navbar items by functions (#445)\n\n## 4.0 (2019-01-24)\n\n### Added\n\n-   Add CORS headers in the API (#407)\n-   Document database migrations (#390)\n-   Allow basic math operations in amount field (#413)\n-   Add bill.creation_date field (#327)\n-   Document PostgreSQL configuration (#415)\n\n### Fixed\n\n-   Do not allow negative weights on users (#366)\n-   Fix docker image (#398)\n-   minor documentation changes\n\n### Changed\n\n-   Update API project list (#405)\n\n## 3.0 (2018-11-25)\n\n### Fixed\n\n-   Fix broken install with pip \u2265 10 (#340)\n-   Fix the generation of the supervisord template (#309)\n-   Fix Apache conf template (#359)\n-   Regenerate translations and improve fr translations (#338)\n-   Fix the validation of the hashed password (#310)\n-   Fix infinite loop that happened when accessing / (#358)\n-   Fix email validation when sending invites\n-   Fix double-click when deleting a bill (#349)\n-   Fix error escaping (#388)\n-   Fix form error on already existing participant (#370)\n-   Fix documentation for create bills via api (#391)\n-   Fix docker ADMIN_PASSWORD configuration (#384)\n-   Fix docker bug where conf is duplicated at each run (#392)\n-   Fix cffi installation in Dockerfile (#364)\n\n### Added\n\n-   Document MySQL setup (#357)\n-   Add a favicon.ico (#381)\n-   Document external mail server configuration (#278)\n-   Improve settings documentation styling (#251)\n-   Add a ihatemoney delete-project command to delete a project (#375)\n-   Add nice 404 error pages (#379)\n\n### Changed\n\n-   Enhance translation tooling (#360)\n-   Improve Makefile (#387)\n-   Sort members alphabetically in the new bill form. (#374)\n-   Underline actions links on hover (#377)\n\n### Removed\n\n-   Remove Sentry, as it\\'s not used anymore on prod. (#380)\n\n## 2.1 (2018-02-16)\n\n### Changed\n\n-   Use flask-restful instead of deprecated flask-rest for the REST API\n    (#315)\n-   Make sidebar scrollable. Usefull for large groups (#316)\n\n### Fixed\n\n-   Fix the \"IOError\" crash when running [ihatemoney\n    generate-config]{.title-ref} (#308)\n-   Made the left-hand sidebar scrollable (#318)\n-   Fix and enhanche Docker support (#320, #321)\n\n### Added\n\n-   Statistics API (#343)\n-   Allow to disable/enable member via API (#301)\n-   Enable basic Apache auth passthrough for API (#303)\n\n## 2.0 (2017-12-27)\n\n### Breaking changes\n\n-   `ADMIN_PASSWORD` is now stored hashed. The\n    `ihatemoney generate_password_hash` command can now be used to\n    generate a proper password HASH (#236)\n-   Turn the WSGI file into a python module, renamed from\n    budget/ihatemoney.wsgi to ihatemoney/wsgi.py. Please update your\n    Apache/Gunicorn configuration! (#218)\n-   Admin privileges are now required to access the dashboard (#262)\n-   [password]{.title-ref} field has been removed from project API GET\n    views (#289)\n\n### Changed\n\n-   Logged admin can see any project (#262)\n-   Simpler and safer authentication logic (#270)\n-   Use token based auth to reset passwords (#269)\n-   Better install doc (#275)\n-   Use token based auth in invitation e-mails (#280)\n-   Use hashed passwords for projects (#286)\n\n### Added\n\n-   `ihatemoney generate-config` to give working examples of config\n    files (#275)\n-   Statistics tab (#257)\n-   Python3.6 support (#259)\n-   ALLOW_PUBLIC_PROJECT_CREATION setting (#262)\n-   Projects can be edited/deleted from the dashboard (#262)\n-   ACTIVATE_ADMIN_DASHBOARD setting (#262)\n-   Link to the dashboard in the navigation bar (#262)\n-   Dockerfile\n-   Documentation explaining the upgrade process\n\n### Fixed\n\n-   Fix [PUT api/project/:code/members/:id]{.title-ref} API endpoint\n    (#295)\n-   Fix member name uniqueness validation on API (#299)\n\n### Removed\n\n-   Remove unused option in the setup script\n\n## 1.0 (2017-06-20)\n\n### Added\n\n-   Apache WSGI Support (#191)\n-   Brush up the Makefile (#207, #201)\n-   Externalize the settings from source folder (#193)\n-   Makefile: Add new rule to compile translations (#207)\n-   Project creation can be restricted to admin (#210)\n-   More responsive layout (#213)\n\n### Changed\n\n-   Some README enhancements\n-   Move tests to budget.tests (#205)\n-   The demo project can be disabled (#209)\n\n### Fixed\n\n-   Fix sphinx integration (#208)\n\n## 0.9 (2017-04-04)\n\n-   First release of the project.\n",
    "bugtrack_url": null,
    "license": "Custom BSD Beerware",
    "summary": "A simple shared budget manager web application.",
    "version": "6.1.5",
    "project_urls": {
        "Homepage": "https://github.com/spiral-project/ihatemoney"
    },
    "split_keywords": [
        "web",
        " budget"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a85873e9cc517dc7bffdaea9ff89c2e39de47e5fa41b6bf6be52f65dced5f26d",
                "md5": "9e69c3310ba4922756f276db7538895a",
                "sha256": "32f5234892af6909a0f4b40da01a0b0af2f16497a335305cdf380f8e3b26eed7"
            },
            "downloads": -1,
            "filename": "ihatemoney-6.1.5.tar.gz",
            "has_sig": false,
            "md5_digest": "9e69c3310ba4922756f276db7538895a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 1671534,
            "upload_time": "2024-03-19T22:52:25",
            "upload_time_iso_8601": "2024-03-19T22:52:25.537772Z",
            "url": "https://files.pythonhosted.org/packages/a8/58/73e9cc517dc7bffdaea9ff89c2e39de47e5fa41b6bf6be52f65dced5f26d/ihatemoney-6.1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-19 22:52:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "spiral-project",
    "github_project": "ihatemoney",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "ihatemoney"
}
        
Elapsed time: 0.20434s