Releases: ilius/starcal
3.2.5
What's Changed
- Fix
install-auto.shandinstall-pipscripts recursively running each other - Fix icon name in startup
.desktopfile - Pray Times: fix typo in disclaimer message
- Pray Times: add Iraq cities, and more cities from Afghanistan and Turkey
- Fix broken Drag & Drop into month/week calendar widget
- Fix warning about deprecated
thread.getName()instopRunningThreads - Fix not saving "Horizontal offset for day right-click menu" in Preferences -> Advanced
- Possible bug fix in
event_lib: two class constructors not using_idarg:EventGroupsHolder,EventAccountsHolder - Fix ignoring user plugins in
~/.starcal3/plugins - Add to
status-iconsdirectory:black-minimal-green.svg,add black-minimal-cyan.svg distro/base/install.py: fix typos, format, add types- Generate and load Python bytecode (in
~/.cache/) when running installed package - Fix minor bug: check result of
get_selection_boundsto prevent exception on "Copy" menu item - Fix bug in
core.py:sys.path.insert(libDir) - Fix
ExDatesEventRule.changeCalTypenot returningTrue(success) - Avoid printing exception in
FloatField(in SpinButon) when text is empty - Bug fix: DayCalWindow Customize: [CalType]: Month Name: Back: two steps back
- Fix bug in
scal3/ui_gtk/toolbox.py: usingonClickinstead ofonPress - Time Line Preferences: remove non-implemented "Modify Key" menu item
- Use png in
get_pixbuf_hashforapp indicator icon, fix #77 - Bug fix: DateEventRule: Duplicate Event: missing param caused it to be today's date (via event.copyFrom)
- Do not crash if more than 1 instances are already running
- Fix typo in
TimeListOccurSet.__repr__ - Fix outdated
scripts/run.pyw - Update Hijri months for 1405 Persian Calendar
- Update plugins for 1405 Persian Calendar
Full Changelog: 3.2.4...3.2.5
3.2.4
What's Changed
- Add the next year's lunar Hijri months lengths by @ebraminio in #76
- Update plugin data for 1404
- Mark Python 3.13 as supported
- Update
Comment[fa]in .desktop file - Fix and update installers and build scripts
- Remove
.ruff_cacheand.mypy_cachebefore building package - Fix
distro/archlinux/Dockerfile: usearchlinux:multilib-devel - Support building package for AlmaLinux using docker
- Add missing dependency
python3-sixto install scripts - Add
python3-setuptoolsto Debian dependencies - Update
distro/freebsd/install.sh - ArchLinux: update
archlinux-keyringpackage before build
- Remove
Full Changelog: 3.2.3...3.2.4
3.2.3
This a bug fix release
Full Changelog: 3.2.2...3.2.3
Commits:
- 936a981 fix AttributeError (handled) in
getScreenSizeandgetWorkAreaSizeAttributeError: NoneType object has no attribute get_geometryhappened on Python 3.12.0, gi 3.46.0, also tested on 3.11.4, gi 3.44.1
- 492539b mark Python 3.12 as supported
- 99ae422 update codeql action
- a800ec9 fix broken
VcsDailyStatEvent - 0a8d36a bug fix in Right Panel:
mainWinRightPanelResizeOnTogglenot saved - a495e55 remove unused
math.logimport inscal3/event_search_tree.py - 4313347 fix shellcheck error in
install-pip - b280d3e fix
install-pip: no./install
3.2.2
Changes since StarCalendar 3.2.1
Changes to dependecies
- Mark Python 3.11 as supported
General bug fixes
- Window Controller: handle bad bg color from user theme, and fallback to dark mode
- Fix Label Box not hiding when unchecked/disabled from Customize dialog
- Fix bug in
WeekMonthEventRule: bad/missing conflict list - Fix failing tests for Hijri calendar
Installers' bug fixes
- Fix
install-pip: changepython-igraphtoigraph - Fix
distro/base/install.py(used for BSD and Slackware) incleanupstep - Fix
distro/base/install.sh: missing quotes - Fix
uninstall: it just exited after parsing args, also fixshellcheckerrors
Regional support
- Update hijri months for 1403 calendar
- Update plugins data based on 1403 calendar
License
- Change license from GPL to AGPL (Affero GPL)
3.2.1
Changes since StarCalendar 3.2.0
- Update Hijri months, #71
- Debian installer: add
python3-pkg-resourcesto dependencies - Fedora installer: add
python3-setuptoolsto dependencies - SUSE installer: add
python3-setuptoolsto dependencies install-pip: addsetuptoolsdistro/base/install.sh: cleanup all*.pkg.*files
3.2.0
Changes since StarCalendar 3.1.13
New icon/logo
- SVG (scalable), made with Inkscape
Major changes in Main Window and Customize window
-
Add "Right Panel" to see user events and plugins' text
- In Persian, it's located on the left, so it's translated to "Left Panel"
- You can still disable Right Panel, and enable Events and Plugins below the calendar
-
Re-design the layout of "Customize" window
- Use a mix of vertical and horizontal layout for root widgets (first page of "Customize")
- Allows Customize window to be smaller and work in smaller screens
- Avoid automatically resizing Customize window
- Improves the UX, and allows better use of space
- Pagination similar to familiar UX of tablets and smart phones
-
Allow freely resizing main window
- In previous versions user could not resize the window vertically
- User had to change the height of Month/Week/Day Calendars in Customize window
- Month/Week/Day Calendars are expanded when window is resized
- Height option is no longer needed and removed from Month/Week/Day Calendars
- In previous versions user could not resize the window vertically
-
Rewrite Events view widget (below calendar and in Right Panel), with some new features
- It was a GtkHBox with many children, not it's only one GtkTreeView
- Allow customizing separator between summary and decription of event
- Add "Copy Event Text" item to right-click menu
Re-design Preferences window and Customize window
- Split everything into multiple pages (using Gtk.Stack)
- Makes the UX much better
- Organizes the options better
- Makes the window smaller, and compatible with smaller screens
- Becomes more similar to touchscreen operating systems
- Can switch to parent page by pressing Backspace (equal to "Back" button)
Add Day Calendar Window, aka "Desktop Widget"
- To use as a desktop widget, and alternative for status icon
- Plus the Customize window for it
- Add option to Preferences:
General -> [ ] Open desktop widget on start
More features and options for Day Calendar as part of Main Window
- Most of the code is shared with Desktop Widget
- Options of Customize window are mostly the same, but values are independent
- i.e. changing options of one does not effect the other
- New features (both in main window desktop widget)
- Allow enabling week day name
- With "Abbreviate" and "Uppercase" checkbox options
- Show buttons to go to previous day, today and next day
- Allow enabling week day name
Time Line: Features, improvements and refactoring
- Add Preferences for Time Line
- Add 3 buttons (left, right, stop) for controlling movement in time
- Fix/improve animation
- Minor features / improvements:
- Show helper line on button-press when moving/resizing event box
- Add a zoom icon that opens to menu to jump to specific round zoom levels
Window Controller: switch to svg, and add more options
- Allow customizing the size of icons (since svg is scalable)
- Allow customizing border (around buttons) and spacing (between buttons)
- Add a button to show/hide Right Panel
Replace most of .png icons with scalabale .svg icons
- Add
.svgicons for some menu items and button without icon - Add support for svg images in some parts of program that lacked support
Minor features and improvements
- Month Calendar: allow disabling day numbers of non-primary cal types
- Event Manager -> Import Events -> Switch to Stack (like Customize)
- Rename sub-menu "Add to" to "Add Event to" in day right-click menu
- Some optimization in Week Calendar
- Preferences -> Appearance -> Status Icon -> click on image selector button
- Add preview in File Chooser dialog
- Replace "Font Family" chooser widget
- It was a ComboBox, not it opens a dialog that allows search on type and shows preview
- Used in Week Calendar customize options, and Status Icon preferences
- WeekCal: add Customize option to enable "Row Gradient" (as replacement for grid lines)
Switch away from Gtk's deprecated APIs and fix deprecation warnings
- Widget constructor calls with non-keyword arguments
- Gtk stock items (switch to icon names)
height-requestandwidth-requestpropertiesGtk.HButtonBoxGtk.FontButton.get_font_nameGdk.Window.get_pointerGdk.Window.cairo_createGtk.Label.set_alignmentGtk.Dialog(buttons=...)Gtk.FileChooserButton.new_with_dialogResourceWarning: unclosed file ...onopen(...).read()andopen(...).write(...)
Changes in package dependencies:
- Drop support for
python3.5topython3.7- Now only support
python3.8or later
- Now only support
- Depend on
python3-gi >= 3.24- Because Gtk.FontChooser.set_level is added in version 3.24
- Optional dependency to
gtksource-4/gtksourceview4 - Optional dependency to
ntpdate - Optional dependency to
python3-pygit2
Improvements in install scripts:
-
Move all scripts to distro directory
- Create symbolic links (to
install-*) to keep compatibility
- Create symbolic links (to
-
Add
install-auto.shwhich automatically detects distribution -
Debian:
- Add
postrmscript- to completely clean up
/usr/share/starcal3after package removal
- to completely clean up
- Use
aptinstead ofgdebito install the package- Fallback to
dpkg -iifaptwas not found - If
dpkg -ifailed, runapt-get -f installto fix broken dependencies
- Fallback to
- Add
-
Add installers for FreeBSD, MidnightBSD, Alma Linux
-
Update install-windows.bat
Switch from %-formatting to f-strings (added in python3.6)
- Use
str.formatfor localized strings
Switch to Python's logging completely (no more print)
Add types and comments
Refactoring, cleaning, removing some legacy code and PEP-8 fixes
Add compatibilty with official Islamic calendar 1423 - 1426
3.1.13
Changes since StarCalendar 3.1.12
Updates in plugins and localization
- b3522a9 Update plugins according to Iranian calendar 1401
- 00d1ece Fix Ramadan 1432
- 2008f30 Update Hijri months, with tests
- c7e32fe Update
plugins/iran-gregorian-2-data.txt - d86177e Fix typo in
plugins/iran-hijri-data.txt - fe37590 Plugins: remove duplicates and extra space
- c92fe13 Plugins: remove some comments
- f4df32a Pray Times: Location Dialog: allow 6 digits precision for lat/lng
- d8d6359 Fix typo in
locale.d/fa.po
Bug fixes and improvements
- d3705f2 Export to HTML: change event seperator
- ce906e3 Adjust System Time: prevent exception when window icon is not found in theme
- ec1c8f6 set
isMaximized = Falsewhen start resizing main window after maximized - ca2a5c4 Add support for Slackware in timezone library
- or any other distro where
/etc/localtimeis not symlink
- or any other distro where
Improvements in install scripts
- fcc1e52 update
install-pip - 2e951e3
install-pip: try to install pip with ensurepip - a8c88f5
install-pip: make compatible with freebsd - 306e84f
install-archlinux: install fakeroot and binutils if needed - 8dea7df
install: add--systemflag for other distros like Slackware - 264b12e fix
install --portable - 085b241
install: removeuninstallscript if building distro package - 15ae9b1
install-debian: useapt-get install --reinstall - 11c7757 fix detecting openSUSE in
installscript - ab1c288 add
install-nix-depsandinstall-nutyx - c36928b Fix shebang of bash scripts for other unix-like operating systems
Improvements and refactoring in version handling
- d2cd486
scal3/core.py: fix git-based version to be standard PEP 440 - e322274 Replace
scal3/get_version.pywithscripts/versionin distro installers - 99c4279 Add
scripts/version.pyand use it as fallback ininstallscript - 26c529b Fix/rewrite
scripts/version.pyto handle git versions - eb3fad9 Make
scripts/version.pycompatible with Python 3.5
3.1.12
Changes since StarCalendar 3.1.11
-
Add support for Python 3.10
-
Fix critical bug in Monthly Event
-
Fix bug of sorting events in a group by first occurrence
-
Fix VCS event groups:
- Fix non-working
scal3/vcs_modules/git.py, switch topygit2 - Add
pygit2as optional dependency - Add
vcsBranchproperty and some more fixes
- Fix non-working
-
Fix bug of duplicating periodic events
-
Fix non-working feature: University Term -> Weekly Schedule -> Export to SVG
-
Changes in installer scripts:
- Add pycairo (
python3-cairo) to Debian and pip dependencies install-debian: change python dependency topython3(>=3.5), fix #67- More improvement in
install-debian
- Add pycairo (
-
Improvements in some GUI dialogs
-
Update README.md
-
Forward-compatibility (with
nextbranch):- Add
lifetimeas alias tolifeTimeevent group (renamed innextbranch) - Add
pixmaps/event/green_clover.pngfile
- Add
3.1.11
Changes since StarCalendar 3.1.10
- Fix compatibility with FreeBSD
- Fix error message in
install-fedoraandinstall-suse - Minor improvement in Search Events
- Add "Search Events" icon to Main Window toolbar
- Update Hijri months based on Iranian official calendar for 1400
- Update Iran's plugins based on Iranian official calendar for 1400
- Minor improvements in Persian translations
- Update Indian national month names
- Add Persian translation for Indian month names
3.1.10
Changes since StarCalendar 3.1.9
- Fix
install-pip: installpython-igraph, notigraph - Fix incompatibility with Python 3.5 because of f-string in
event_lib.py, #60 - Fix non-effective cache for events
- Caused by commit 295190a, introduced in version 3.1.0
- Avoid printing timezone name with
--version install-fedora: add python 3.8, and fix shebang error onlibs/bson/setup.pyinstall-suse: add python 3.8, and fix error