Skip to content

Commit 2999c0d

Browse files
authored
feat!: release version 11.0.0 with breaking changes (#2338)
* fix!: remove super_clipboard from flutter_quill_extensions and move it to quill_super_clipboard (#2322) * chore!: remove the controller from the configuration class, remove the quill toolbar and editor provider widgets, and other minor breaking changes * chore!: remove SimpleSpellCheckerService from flutter_quill_extensions * chore!: remove experimental support for spell checking, remove the deprecated support for YouTube in flutter_quill_extensions, and other minor breaking changes * chore(deps): remove equatable * chore!: remove quill shared configuration and toolbar shared configuration * chore!: remove QuillController.setContents() * chore!: remove QuillController.editorFocusNode * chore: remove outdated comments * chore: always call setState() in _markNeedsBuild() in QuillRawEditorState even if dirty is already true (revert to old behavior) * chore: extract code from _requestKeyboard() and add docs comment for _requireEditorCurrentState * chore!: remove classes related to editor element options, minor docs updates in editor config, rename isOnTapOutsideEnabled to onTapOutsideEnabled * chore!: rename 'Configurations' to 'Config' * chore!: refactor build method of the embed block interface * chore!: remove the experimental table support from flutter_quill_extensions * chore!: remove old deprecated properties * chore!: rename rawItemsMap to items for font family and font size options * chore!: remove deprecated formula embed support from flutter_quill_extensions * chore!: remove deprecated class SuperClipboardService, rename the directory models to config in flutter_quill_extensions * chore: add commnet in imageProviderBuilder code docs comment in flutter_quill_extensions * docs: fix typos in migration * docs(readme): replace deprecated flutter_quill_internal.dart with internal.dart * docs(readme): improve README * docs(readme): add the GitHub flutter_quill code snippet back * docs: add more details to the migration guide * fix(ios): use the localized strings for 'open', 'copy', and 'remove' * chore: rename the file quill_controller_configurations.dart to quill_controller_config.dart * chore!: avoid storing quill editor config inside Document * chore: restore search within embed objects feature (revert removal of editor config inside the QuillController) * chore: add @experimental to some APIs * docs: add emojis to the migration guide, add the migration guide link in README.md * chore: removes quill controller web files, updates QuillControllerConfig.onClipboardPaste to allow overriding the default paste handling * docs: fix typos in the migration guide * chore: minor change in the migration guide * docs: update link of QuillControllerConfig.onClipboardPaste in the migration guide * chore: fix dart analysis issues * chore: mark QuillEditorConfig.customLeadingBlockBuilder as experimental * chore!: avoid exporting OptionalSize * chore: rename _restoreToolbar to _restoreToolbarAfterMagnifier in text_selection.dart * chore: annotate QuillEditorConfig.magnifierConfiguration as experimental * chore: minor cleanup to magnifier feature * chore: export missing class, fix #2333 * chore: fix dart analysis * chore(release): temp changes to publish 11.0.0 (will revert changes of this commit) * chore: add temp dependency_overrides to fix CI failure * chore: temp changes to publish 11.0.0-dev.1 * ci(publish): temp change to fix CI failure * chore: restore previous publish workflow (revert), update min version of flutter_quill in test and extensions packages, remove pubspec_overrides.yaml * chore: revert CHANGELOG.md and publish.yml changes * chore: revert a change in #2026 (see comment https://github.com/singerdmx/flutter-quill/pull/2026/files#r1679744497) * chore: revert change of reverting the removal of _handles check introduced by #2026 * docs(migration): clarify the removal of the QuillToolbar widget * docs(migration): improve removal of the QuillToolbar section * docs: add the custom toolbar page link in: removal of the QuillToolbar * docs: add important info at the top of the migration guide * feat(toolbar): add the base button options feature back, supports flutter_quill_extensions's buttons too. * chore: fix analysis warnings * docs: add more details in the migration guide in the breaking behavior with code snippets * chore: minor change to the 'Breaking behavior' section * chore(deps): improve dependencies constraints for compatibility - Fix #2341 - Fix #2347 * docs(migration): explain that QuillToolbar is not a visual widget like QuillSimpleToolbar * docs: minor changes to README.md and migration guide * feat: clipboard paste callbacks, partial fix to #2350 * docs: update outdated link in the migration guide * chore: rename deltaToPaste() to getDeltaToPaste() * docs: improve CHANGELOG.md format and quality, fixing #2211 * ci: pass the GitHub token to an action * docs: fix format of CHANGELOG.md * ci: use cider for CHANGELOG.md format validation * ci: add a TODO to improve CHANGELOG.md validation * chore: remove flutter_quill_extensions from publishing * chore: publish flutter_quill_extensions and add 'insertVideo' in quill_en.arb * chore(release): prepare to publish 11.0.0-dev.3 * ci: increase _expectedTranslationKeysLength due to 'insertVideo' * ci: use a GitHub action to update the release notes * chore(release): publish flutter_quill_extensions 11.0.0-dev.3 * chore(release): prepare to publish 11.0.0-dev.4 * ci: remove the release notes file creation * chore(example): delete the current example to recreate * chore: recreate the example (fix #2249), minor changes to flutter_quill_extensions * docs(readme): update the screenshots of the example app * docs(readme): update sample page link, remove 'breaking changes' from table of contents only * feat: add the option to disable rich text paste feature, partial fix to #2350 * chore(release): prepare to publish 11.0.0-dev.5 * chore: regenerate translations to reflect #2358 * chore: ignore deprecations * docs: fix a minor issue in the Contributing guide * chore(example): add file read access for macOS * feat(l10n): localize "insert video" for Khmer language Source: #2358 (comment) * chore: simplify PR template * docs: update development notes * docs(readme): use images from GitHub repo instead of relative path to load on pub.dev
1 parent f122cf9 commit 2999c0d

File tree

344 files changed

+8921
-19905
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

344 files changed

+8921
-19905
lines changed

β€Ž.github/PULL_REQUEST_TEMPLATE.md

+15-30
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,35 @@
11
<!--
2-
3-
Thank you for contributing.
4-
5-
Provide a description of your changes below and a general summary in the title.
6-
7-
Consider reading the Contributor Guide: https://github.com/singerdmx/flutter-quill/blob/master/CONTRIBUTING.md.
8-
9-
The changes of `CHANGELOG.md` and package version in `pubspec.yaml` are automated.
10-
2+
Briefly describe your changes and summarize in the title.
3+
Contributor Guide: https://github.com/singerdmx/flutter-quill/blob/master/CONTRIBUTING.md
4+
Package versioning is automated; add updates to `Unreleased` per [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format.
115
-->
126

137
## Description
148

15-
*Replace this paragraph with a description of what this PR is doing. If you're modifying existing behavior, describe the existing behavior, how this PR is changing it, and what motivated the change.*
9+
*Describe what this PR does. If modifying behavior, explain the current and new behavior, along with the motivation.*
1610

1711
## Related Issues
1812

1913
<!--
20-
2114
Replace this paragraph with a list of issues related to this PR from the [issue database](https://github.com/singerdmx/flutter-quill/issues). Indicate, which of these issues are resolved or fixed by this PR.
22-
23-
-->
24-
25-
<!-- *e.g.* -->
15+
*e.g.*
2616
- *Fix #123*
2717
- *Related #456*
18+
-->
2819

2920
## Type of Change
3021

31-
<!---
32-
33-
Put an x in all the boxes that apply:
34-
35-
- [x] **Example:**
36-
22+
<!---
23+
Check the boxes that apply with x and leave the others empty. For example:
24+
- [ ] ✨ **New feature:** Adds new functionality without breaking existing features.
25+
- [x] πŸ› οΈ **Bug fix:** Resolves an issue without changing current behavior.
3726
-->
3827

39-
- [ ] ✨ **New feature:** Adds new functionality without breaking existing features.
28+
- [ ] ✨ **Feature:** New functionality without breaking existing features.
4029
- [ ] πŸ› οΈ **Bug fix:** Resolves an issue without altering current behavior.
41-
- [ ] 🧹 **Code refactor:** Code restructuring that does not affect behavior.
42-
- [ ] ❌ **Breaking change:** Alters existing functionality and requires updates.
43-
- [ ] πŸ§ͺ **Tests:** Adds new tests or modifies existing tests.
30+
- [ ] 🧹 **Refactor:** Code reorganization, no behavior change.
31+
- [ ] ❌ **Breaking:** Alters existing functionality and requires updates.
32+
- [ ] πŸ§ͺ **Tests:** New or modified tests
4433
- [ ] πŸ“ **Documentation:** Updates or additions to documentation.
4534
- [ ] πŸ—‘οΈ **Chore:** Routine tasks, or maintenance.
46-
- [ ] βœ… **Build configuration change:** Changes to build or deploy processes.
47-
48-
## Suggestions
49-
50-
<!-- Optional -->
35+
- [ ] βœ… **Build configuration change:** Build/configuration changes.

β€Ž.github/workflows/changelog.yml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: πŸ“ Changelog File Check
2+
3+
# This workflow only validates if the CHANGELOG.md file was updated and doesn't validate the format.
4+
5+
on:
6+
pull_request:
7+
types: [assigned, opened, synchronize, reopened, labeled, unlabeled]
8+
branches:
9+
- master
10+
11+
jobs:
12+
changelog:
13+
name: πŸ” Verify Changelog Modification
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: βœ… Check if CHANGELOG.md was modified
17+
uses: tarides/changelog-check-action@v2
18+
with:
19+
changelog: CHANGELOG.md
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: πŸš€ Update GitHub Release Notes from CHANGELOG.md
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
release-notes:
9+
name: πŸ“ Publish Release Notes from Changelog
10+
permissions:
11+
# Required for updating GitHub release notes
12+
contents: write
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: πŸ“¦ Checkout Repository
16+
uses: actions/checkout@v4
17+
18+
- name: βœ‚οΈ Extract Release Notes from CHANGELOG.md
19+
id: extract-release-notes
20+
uses: ffurrer2/extract-release-notes@v2
21+
with:
22+
changelog_file: CHANGELOG.md
23+
24+
- name: πŸ–‹οΈ Update Release Notes
25+
uses: irongut/EditRelease@v1.2.0
26+
with:
27+
token: ${{ secrets.GITHUB_TOKEN }}
28+
id: ${{ github.event.release.id }}
29+
body: ${{ steps.extract-release-notes.outputs.release_notes }}

β€Ž.github/workflows/main.yml

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
name: πŸ§ͺ Run Tests
22

3+
# TODO: Split the tests into tests.yml and quality checks into checks.yml once start using https://pub.dev/packages/melos
4+
35
on:
46
push:
57
branches: [master, dev]
@@ -49,4 +51,11 @@ jobs:
4951
run: flutter test
5052

5153
- name: πŸ” Check the translations
52-
run: dart ./scripts/ensure_translations_correct.dart
54+
run: dart ./scripts/translations_check.dart
55+
56+
- name: πŸ“₯ Install cider
57+
run: dart pub global activate cider
58+
59+
# TODO: Need a more strict way to validate the format that uses https://keepachangelog.com/en/1.1.0/
60+
- name: πŸ” Validate CHANGELOG.md format
61+
run: $HOME/.pub-cache/bin/cider list CHANGELOG.md

β€Ž.github/workflows/publish.yml

+33-30
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,24 @@
11
name: πŸš€ Publish to pub.dev
22

3+
# Note: This workflow only publishes flutter_quill package, the flutter_quill_extensions
4+
# need to be manually published.
5+
36
on:
47
push:
58
tags:
69
- 'v[0-9]+.[0-9]+.[0-9]+*'
710

811
jobs:
912
publish:
10-
name: Publish the packages
13+
name: Publish the flutter_quill package
1114
permissions:
1215
id-token: write
13-
# Give the default GITHUB_TOKEN write permission to commit and push the changed files to the repository.
14-
# Also required for uploading files to the Release assets
16+
# Required for uploading files to the release assets of GitHub.
1517
contents: write
1618
runs-on: ubuntu-latest
1719
steps:
1820
- name: πŸ“¦ Checkout repository
1921
uses: actions/checkout@v4
20-
# Needed for commit and push changes
21-
with:
22-
# TODO: Try to not hardcode the branch name
23-
ref: master
24-
fetch-depth: 0 # To get all tags
2522

2623
- name: πŸ“„ Upload LICENSE file to release assets
2724
uses: softprops/action-gh-release@v2
@@ -50,8 +47,6 @@ jobs:
5047
# - name: Update the authorization requests to "https://pub.dev" to use the environment variable "PUB_TOKEN".
5148
# run: dart pub token add https://pub.dev --env-var PUB_TOKEN
5249

53-
# Before publishing the new packages, update the version for all the packages first
54-
5550
# Extract version from the tag (handles the 'v' prefix)
5651
- name: 🏷️ Extract version from tag as pubspec.yaml version
5752
id: extract_version
@@ -71,33 +66,41 @@ jobs:
7166
id: release_tag
7267
run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
7368

74-
- name: πŸ“‘ Fetch release notes from Github API and create a required file by the next step
75-
run: dart ./scripts/create_version_content_from_github_release.dart "${{ github.repository }}" "${{ steps.release_tag.outputs.tag }}"
69+
# TODO: Validate the tag, the version must match the one in pubspec.yaml, publishing the package will throw an error
70+
71+
# TODO: Might automate some changes of the CHANGELOG.md (outdated TODO)
72+
73+
- name: πŸ“ Update package version in pubspec.yaml
74+
run: dart ./update_pubspec_version.dart ./pubspec.yaml ${{ steps.extract_version.outputs.VERSION }}
75+
76+
# - name: πŸ“ Update CHANGELOG.md to reflect the change
77+
# uses: thomaseizinger/keep-a-changelog-new-release@v2
78+
# with:
79+
# tag: ${{ steps.release_tag.outputs.tag }}
80+
# changelogPath: ./CHANGELOG.md
81+
82+
- name: πŸ“ Update CHANGELOG.md to reflect the change
83+
run: dart ./update_changelog_version.dart ./CHANGELOG.md ${{ steps.extract_version.outputs.VERSION }}
84+
85+
- name: πŸ“„ Print updated pubspec.yaml
86+
run: |
87+
echo "===== πŸ“œ pubspec.yaml ====="
88+
cat pubspec.yaml | tee /dev/stderr
89+
echo "==========================="
7690
77-
- name: πŸ“ Update version and CHANGELOG for all the packages
78-
run: dart ./scripts/update_package_version.dart ${{ steps.extract_version.outputs.VERSION }}
91+
- name: πŸ“ Print updated CHANGELOG.md
92+
run: |
93+
echo "===== πŸ“ CHANGELOG.md ====="
94+
cat CHANGELOG.md | tee /dev/stderr
95+
echo "==========================="
7996
8097
- name: πŸ’Ύ Commit updated version and CHANGELOG
81-
id: auto-commit-action
82-
uses: stefanzweifel/git-auto-commit-action@v5
98+
uses: EndBug/add-and-commit@v9
8399
with:
84-
commit_message: "chore(version): update to version ${{ steps.extract_version.outputs.VERSION }}"
85-
86-
- name: πŸ” Verify changes made by the script
87-
if: steps.auto-commit-action.outputs.changes_detected == 'true'
88-
run: echo "βœ… Changes have been committed."
100+
message: "chore(release): prepare to publish ${{ steps.extract_version.outputs.VERSION }}"
89101

90102
- name: πŸ”„ Check if package is ready for publishing
91103
run: flutter pub publish --dry-run
92104

93105
- name: πŸ“€ Publish flutter_quill
94106
run: flutter pub publish --force
95-
96-
- name: πŸ“€ Publish flutter_quill_extensions
97-
run: flutter pub publish --force
98-
working-directory: ./flutter_quill_extensions/
99-
100-
- name: πŸ“€ Publish flutter_quill_test
101-
run: flutter pub publish --force
102-
working-directory: ./flutter_quill_test/
103-

β€Ž.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,5 @@ example/ios/Podfile.lock
7575
!**/ios/**/default.mode2v3
7676
!**/ios/**/default.pbxuser
7777
!**/ios/**/default.perspectivev3
78+
# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspec-lock.
7879
pubspec.lock

0 commit comments

Comments
Β (0)