Repository navigation
v1.0.0-beta3
Pre-release
Pre-release
·
857 commits
to main
since this release
What's Changed
- Replace ilammy/msvc-dev-cmd with egor-tensin/vs-shell (Node 20 deprecation) by @dwaynebailey in #3571
- Scope the release job's auto-generated notes to the real previous tag by @dwaynebailey in #3572
- Ellipsis convention: use real '…' character, not '...' by @dwaynebailey in #3574
- httpclient.py: replace os.name check with platform.is_windows by @dwaynebailey in #3575
- Replace deprecated Gtk.STOCK_* constants with translatable labels by @dwaynebailey in #3576
- Replace mutable default arguments with None sentinels by @dwaynebailey in #3577
- Extract SignalTracker helper, replace 7 reinvented copies by @dwaynebailey in #3580
- libi18n/locale.py: raise ctypes.WinError() instead of a bare raise by @dwaynebailey in #3584
- Catch source files missing from po/POTFILES.in authoritatively by @dwaynebailey in #3585
- Add PluginController.for_backend(), replace 3 reinvented _load_models() bootstraps by @dwaynebailey in #3582
- Extract Configurable mixin, replace 3 reinvented load_config/save_config pairs by @dwaynebailey in #3581
- mainview.py: reduce init complexity by @dwaynebailey in #3579
- Extract select_backends() helper, replace 3 reinvented ~40-line copies by @dwaynebailey in #3583
- storecellrenderer.py: account for embedded placeable widgets when estimating TextView row height by @dwaynebailey in #3586
- Add mention to pycairo and cairo in building instructions by @rffontenelle in #3591
- Fix a real hang and an orphaned-process leak, both found diagnosing #3586's CI failure by @dwaynebailey in #3593
- docs/building.rst: correct the cairo dependency notes by @dwaynebailey in #3596
- Add the ability to disable a web look-up by @dwaynebailey in #3588
- Save a plugin's Configure dialog changes immediately, not just at quit by @dwaynebailey in #3600
- Add the virtaal-manual-test-plan skill by @dwaynebailey in #3597
- Add a Redo feature by @dwaynebailey in #3589
- Fix a hang quitting while a modal dialog is still open by @dwaynebailey in #3610
- Disable Undo/Redo from construction, not just reactively by @dwaynebailey in #3611
- Read/write config files as UTF-8 explicitly by @dwaynebailey in #3615
- Fix the welcome screen's Open link swallowing the chosen file by @dwaynebailey in #3612
- Key saved web look-ups by a stable id, not the translated display_name by @dwaynebailey in #3613
- Disable Cut/Copy/Paste before any store-closed event too by @dwaynebailey in #3614
- Bind libintl for GtkBuilder translations at normal startup too by @dwaynebailey in #3618
- bin/virtaal: add a --lang CLI flag by @dwaynebailey in #3619
- CI: cache pip downloads, batch Windows installs, cache flatpak runtime by @dwaynebailey in #3620
- Add a UI language selector by @dwaynebailey in #3592
- Once-off prek run --all-files cleanup by @dwaynebailey in #3623
- Migrate from intltool to plain gettext tooling by @dwaynebailey in #3624
- --pseudo-translation: regenerate its locale on every run by @dwaynebailey in #3627
- i18n: Add Chinese (Simplified) Translation by @CodeFreer in #3626
- po: strip stale Pootle headers from translations by @dwaynebailey in #3628
- Replace remaining deprecated GTK styling calls with CSS providers by @dwaynebailey in #3629
- Set a coverage floor at 57% by @dwaynebailey in #3630
- Add test coverage for localtm.py's port selection and teardown by @dwaynebailey in #3631
- Add test coverage for currentfile.py's TM matching logic by @dwaynebailey in #3633
- Add test coverage for tmcontroller.py's match dedup/ranking logic by @dwaynebailey in #3635
- Add test coverage for the local-file terminology backend's lookups by @dwaynebailey in #3636
- AutoCompletor.remove_words(): catch ValueError, not just KeyError by @dwaynebailey in #3639
- Vendor translate-toolkit's project/bundle storage modules by @dwaynebailey in #3638
- Add test coverage for AutoCorrector's remaining pure-logic branches by @dwaynebailey in #3641
- Add test coverage for StoreController by @dwaynebailey in #3634
- Add test coverage for AutoCompletor's word-matching logic by @dwaynebailey in #3640
- Add test coverage for maincontroller.py's save/export/close logic by @dwaynebailey in #3642
- Add test coverage for mainview.py's window/menu/store-signal logic by @dwaynebailey in #3643
- Update Brazilian Portuguese translation by @rffontenelle in #3644
- Add test coverage for TextBox's placeable selection and suggestion handling by @dwaynebailey in #3645
- Add test coverage for tmview.py/tmwidgets.py, fix two bugs found along the way by @dwaynebailey in #3646
- Add the virtaal-l10n-review skill by @dwaynebailey in #3647
- Add test coverage for the Poedit/Lokalize migration plugin by @dwaynebailey in #3648
- Add test coverage for SearchMode's replace/navigation logic by @dwaynebailey in #3649
- Add test coverage for the Pontoon terminology backend by @dwaynebailey in #3650
- Add test coverage for main.py and cli.py by @dwaynebailey in #3651
- Add test coverage for the rarely-shown views by @dwaynebailey in #3652
- Add test coverage for the remote/opt-in TM backends by @dwaynebailey in #3653
- Add test coverage for GObjectWrapper by @dwaynebailey in #3654
- Add test coverage for depcheck.py's dependency checks by @dwaynebailey in #3658
- Add test coverage for get_bytes() by @dwaynebailey in #3657
- Add test coverage for httpclient.py's request/queue logic by @dwaynebailey in #3655
- Remove get_unicode() by @dwaynebailey in #3659
- Exclude dev-only tooling from coverage accounting by @dwaynebailey in #3660
- Replace vendored selector.py/wsgi.py with Bottle in tmserver by @dwaynebailey in #3656
- Replace deprecated Gtk.StyleContext.get_font() call by @dwaynebailey in #3665
- po/testlocalisations: replace intltool-update --pot with update-pot by @dwaynebailey in #3666
- Replace deprecated GTK styling calls with CSS providers by @dwaynebailey in #3668
- Replace 4 deprecated GTK widget API calls by @dwaynebailey in #3671
- Pass label= as a keyword to Gtk.MenuItem()/Gtk.Button() by @dwaynebailey in #3672
- Add test coverage for the remaining mode files by @dwaynebailey in #3673
- Add test coverage for placeablesguiinfo.py by @dwaynebailey in #3674
- Add test coverage for storecellrenderer.py's remaining gaps by @dwaynebailey in #3675
- Add test coverage for cellrendererwidget.py by @dwaynebailey in #3677
- Add test coverage for spellchecker.py by @dwaynebailey in #3690
- Fix invisible validation-error dialog in Add Missing Language by @dwaynebailey in #3692
- Replace Gtk.Table with Gtk.Grid throughout by @dwaynebailey in #3676
- Add test coverage for autoterm.py by @dwaynebailey in #3694
- Replace deprecated Gtk.Widget.size_request()/get_style() calls by @dwaynebailey in #3700
- Remove two dead, unimportable files found during a coverage sweep by @dwaynebailey in #3703
- Add test coverage for support/tutorial.py by @dwaynebailey in #3704
- Fix dialog focus, sizing, and behavior bugs from the #3676 review by @dwaynebailey in #3702
- Fix conftest's deprecation-warning gate to actually fail on new warnings by @dwaynebailey in #3701
- Bump codecov/codecov-action from 6 to 7 in the github-actions group by @dependabot[bot] in #3707
- Bump https://github.com/astral-sh/ruff-pre-commit from v0.16.7 to 0.16.8 in the pre-commit-hooks group by @dependabot[bot] in #3708
- Add test coverage for views/welcomescreenview.py by @dwaynebailey in #3709
- Add test coverage for views/propertiesview.py by @dwaynebailey in #3710
- Fix apertium.py's got_translation() debug-log format args by @dwaynebailey in #3713
- Add test coverage for views/widgets/storetreeview.py by @dwaynebailey in #3712
- Add test coverage for controllers/plugincontroller.py by @dwaynebailey in #3714
- Add test coverage for common/pan_app.py by @dwaynebailey in #3715
- Add test coverage for support/statsdb.py by @dwaynebailey in #3716
- Add test coverage for views/langview.py by @dwaynebailey in #3717
- Parameterize the filetotals INSERT in statsdb.py by @dwaynebailey in #3718
- Add test coverage for prefsview.py and prefscontroller.py by @dwaynebailey in #3719
- Add test coverage for views/widgets/popupwidgetbutton.py by @dwaynebailey in #3720
- Add test coverage for views/widgets/listnav.py by @dwaynebailey in #3721
- Add test coverage for terminology plugin's termview.py and termcontroller.py by @dwaynebailey in #3722
- Add test coverage for controllers/langcontroller.py by @dwaynebailey in #3726
- Add test coverage for views/widgets/popupmenubutton.py by @dwaynebailey in #3723
- Add test coverage for controllers/welcomescreencontroller.py by @dwaynebailey in #3724
- Fix StatsCache.close() to actually clear the class-level cache registry by @dwaynebailey in #3727
- Add test coverage for views/storeview.py by @dwaynebailey in #3725
- Fix a native-crash-prone test in test_prefsview.py by @dwaynebailey in #3728
- Add test coverage for support/mosesclient.py by @dwaynebailey in #3731
- CI: stop treating Python 3.15 as experimental by @dwaynebailey in #3730
- Add test coverage for support/tmclient.py by @dwaynebailey in #3732
- Stop open_file's wait loop from shadowing gettext's _ by @dwaynebailey in #3734
- Remove .claude/skills references from test_spellchecker.py by @dwaynebailey in #3735
- Add test coverage for support/libi18n/locale.py by @dwaynebailey in #3733
- tm: fix source of >100% TM matches, remove the defensive clamp by @dwaynebailey in #3736
- Preview fonts with the current language pair's own endonym by @dwaynebailey in #3729
- Remove an unsafe second-app-instance test in test_storeview.py by @dwaynebailey in #3737
- Automate AppData screenshot generation by @dwaynebailey in #3742
- Fix Virtaal's own translations never loading in a frozen build by @dwaynebailey in #3745
- Add non-English languages to the Windows installer by @dwaynebailey in #3739
- Fix fix_libintl() passing str instead of bytes to bindtextdomain by @dwaynebailey in #3747
- Fix the local test driver's file-open dialog automation by @dwaynebailey in #3744
- Don't warn about window width during a real fullscreen toggle by @dwaynebailey in #3743
- Register a deliberate Preferences keyboard accelerator by @dwaynebailey in #3741
- Prepare 1.0.0-beta3 by @dwaynebailey in #3750
- po: regenerate virtaal.pot for the 1.0.0-beta3 version bump by @dwaynebailey in #3756
- po: treat virtaal/version.py as pot-relevant in check-pot-freshness.sh by @dwaynebailey in #3759
- Document the macOS "app is damaged" Gatekeeper message by @dwaynebailey in #3757
- Fix GtkBuilder translatable strings never translating by @dwaynebailey in #3758
- Audit file I/O for missing explicit encoding (#3609) by @dwaynebailey in #3754
- Fill icon conformance gaps from existing artwork (no new design needed) by @dwaynebailey in #3711
- Localise the installer's own file-type labels by @dwaynebailey in #3752
- Bind libintl's bundled macOS copy, not a system one, for GtkBuilder by @dwaynebailey in #3762
- docs/releases/1.0.0.rst: note the Navigation-combo known issue by @dwaynebailey in #3764
New Contributors
- @CodeFreer made their first contribution in #3626
Full Changelog: v1.0.0-beta2...v1.0.0-beta3