Blisk 歷史版本列表
Blisk 是一個基於鉻的瀏覽器,用於 web 開發的基本工具。將其用於同時構建和測試您的網站的桌面和移動版本。 Blisk 使開發人員能夠同時在多個設備上編碼,預覽其更改! 4 使用原因 Blisk:TIME SAVING以光速發展!現在您不需要一直刷新頁面,搜索並滾動到所需的元素。 Blisk 從根本上節省了開發和測試的時間。瀏覽器將使你的生產力達到 200%。所以你可以把你的工作快兩倍,把時... Blisk 軟體介紹更新時間:2022-12-27
更新細節:
What's new in this version:
New:
- Improved UI on high-DPI displays
- Export content to video (MP4, WebM, MKV)
- Preset effects and text animations
- Tools for drawing and editing freeform shapes
- Line drawing animation
- Morphing animation
- Elements can show across multiple scenes
- Custom elements from HTML/CSS/JavaScript
- Support embedding HTML folders or packages into HTML widgets
- Image elements support img tags and inline SVG images
- Custom line dashes, line join types, line cap types for shapes and freeforms
Enhancements:
- Resize multiple selected elements on Canvas proportionally
- Scale multiple selected animation segments on Timeline proportionally
- Search elements and animations in Timeline and Elements pane
- Copy/paste/delete elements in Timeline
- Ignore mouse and touch events on non-painted areas of elements
- Option to fit a symbol to its content
- Class names for scenes
- Keyframes for changing element text content
- Allow converting built-in shapes to freeforms for editing
- Allow creating keyframes automatically within a predefined time range
- Preview a project in only one browser tab
- Copy/paste SVG paths from vector graphic editors as freeforms
- Copy/paste and drag/drop images from other applications
- Create motion path animations from shape paths of elements on Canvas
- Create freeform shapes from motion path animations
- Lots of other minor improvements
Fixed:
- Some minor bugs fixed
更新時間:2022-11-26
更新細節:
What's new in this version:
Fixed:
- java.sourceSets.main.output.classesDirs no longer depends on the classes task in Gradle 7.6
- File system events ignored after file watcher error
- Issue with parallel project model building
- frequent StackOverflowError in execution plan
- Gradle-side API to power buildscan.background callbacks in configuration-cache compatible way
- java.lang.ClassCastException: class org.gradle.execution.plan.CompositeNodeGroup cannot be cast to class org.gradle.execution.plan.OrdinalGroup
- Custom ValueSource erroneously tracks files etc used in obtain() when ValueSource parameters are passed in
- Dependency verification - rollback key ring disambiguation
- Gradle 7.6 (UnsupportedOperationException -> PreResolvedResolvableArtifact.getModuleVersion)
- ConcurrentModificationException when excluding multi tasks from command line (-x) in a subproject with configureondemand
- Report @Input annotation misapplied to File/Directory-based properties as warnings
- Investigate regression on changes to artifact resolution
- Configuration cache fails when using includeBuild(".")
- `test-report-aggregation` docs are missing mention of `--continue` flag
- JacocoReportAggregationPlugin doesn't work with JvmTestSuitePlugin
- Gradle build package has snakeyaml dependency for plugins has a CVE with high base score
- 7.5.1 gradle version - java.lang.StackOverflowError at org.gradle.execution.plan.FinalizerGroup$FinalizesMembers.getFilteredSuccessorsFor(FinalizerGroup.java:297)
- 7.5: mustRunAfter(configuration) causes ActionNode cannot be cast to TaskNode
- Add deprecation logging to org.gradle.util.GradleVersion.getNextMajor()
- Deprecate `org.gradle.api.internal.artifacts.dsl.dependencies.DependencyFactory`
- Gradle distribution jar is not reproducible due to fastutil minification transform
- Report deprecations for deprecated members from the org.gradle.util package
- dependency resolution error should be thrown in the same way regardless of whether config caching is enabled or not
- "withVariantReselection" API broken
- JavaCompile and Test tasks silently ignore explicit executable if it does not exist
- --rerun fails on configuration cache hit
- Can't exclude composite build tasks
- Incremental compilation after failure issues when all classes are not removed
- Could not set system property in the new Checkstyle task and finally failed by NPE when using "ENTITY" feature in configuration files
- Toolchain probing cannot cope with warnings from java
- Include klib extension as KNOWN_ZIP_EXTENSIONS for java normalization
- NullPointerException when using convention mapping and a Property for the same name
- chore: move JUnit and TestNG "dummy" tests to textFixtures
- StackOverflowError in FinalizerGroup.isCanCancel when handling build failure
- Add support for JDK19
- Broken link to processResources on the Java Plugin doc page
- Cannot extract contents of Renjin 3.5 beta76 archive
- "Unable to make progress running work" redux
- Poor performance for fully up-to-date builds on machines with many CPU cores
- :incubationReport txt reporter broken on Kotlin function signatures spanning multiple lines
- Gradle does not recover from dependency resolution failures that happen while writing to the cache
- Introduce Strongly Typed Dependency Block
- Incremental Annotation Processing Issue when recompiling annotated source dependency
- Document behavior around `--` to differentiate between task options and Gradle command-line flags
- StackOverflowError thrown from internal Gradle code.
- Adding files to variants created from ComponentMetadataRules does not work when SNAPSHOT versions are used
- ProjectBuilder tests failing when exercising Kotlin multiplatform plugin
- Deprecate org.gradle.kotlin.dsl.precompiled.accessors.strict=false or unset
- Add docs and snippets for Sharing Configuration Between Test Suites
- can't view KDoc or source code of generated Kotlin dependency extensions in IDE
- Gradle init doesn't escape single quotes
- Upgrade Kotlin to 1.7.0 and maybe try out the K2 compiler?
- Artifact transforms execute before all dependencies are ready
- Add priority order for disambiguation rules to resolvableConfigurations report
- Composite builds fail when reusing configuration cache
- `Manifest.from(Object...)` does not support merging Manifest implementations
- Accept Provider for configuring testing framework versions
- `startScripts` relies on `chmod` being in the PATH.
- Stop computing a logging string that is not used
- Incorrect warning in "Working with files" documentation
- Typo in docs: version should be versionRef.
- Plugin variants are ignored when plugin is added as buildSrc common dependency
- Test task avoidance is not working since Gradle 7.4.x
- Buildscript jars are not keeping their original compression
- `CachingJvmMetadataDetector` caches metadata of invalid installations for the lifetime of the daemon, not build
- Instrument invokedynamic-based Groovy bytecode for configuration cache input detection
- IdentityTransform fails with FileNotFound after updating to 7.5-rc1
- Gradle should log empty javac arguments as quotes pair in debug mode
- Add https://pgp.mit.edu to the list of default key servers.
- Task buildNeeded and buildDependents resolve configuration too early
- Config cache exception on JDK 17: InaccessibleObjectException CopyOnWriteArrayList.writeObject
- @Classpath with @NormalizeLineEndings fails to capture differences in zip entries on JDK8
- Follow up for optimistic locking changes #20687
- Precompiled Kotlin script plugins are broken in explicit API mode
- Fix implicit command-line ordering test in AbstractIdeLifecycleIntegrationTest
- JVM 9+ No Way to Enable Remote Debugging
- Option to rerun only requested tasks
- InitBuild task should convert Maven `compile` scope to `api`, not `implementation`
- Documentation for how to access gradle.properties values in settings.gradle could be enhanced
- error during build: BuildOperationType.java unmappable character (0x9D) for encoding windows-1252
- No way to apply --no-daemon: current process arguments format bug
- Re-use Scala compiler between runs
- Implicit Dependency deprecation warning links to default "Authoring Tasks" in Build Scans
- DirectDependenciesMetadata removals "mutate" previously returned DirectDependencyMetadata instances, removeAll(Collection) is completely broken‼
- When using the jacoco report aggregation plugin, some classes are not clickable in the report.
- Incremental java compiler does not detect changes to classes used in type parameters in some cases
- `./gradlew projects` fails the second time with configuration cache enabled
- Update vulnerable and old dependencies in gradle distribution (7.4.2)
- "--offline" execution option should be considered as configuration input
- JaCoCo Report Aggregation Plugin uses JARs not class directories in allCodeCoverageReportClassDirectories configuration
- Support Java 19
- Version Catalogs documentation is outdated regards using values defined in Versions scope
- Consider removing the deprecation on catalog names
- publish using maven-publish resulting in shrinked pom.xml version
- Key exporting writes out duplicate keys
- Regression in primary task ordering
- Composite Builds Hierarchical Multirepo Sample - fails when following the instructions
- Gradle 7.4 regression in toolchain support, gradle reports `Invalid encoding name "UTF8"`
- JVM Test Suite Plugin for integrationTest, how to add all test dependencies to integrationTest task in multi module project
- `publish` task from `maven-publish` plugin should work with configuration cache
- Update DefaultJvmTestSuite and BuildInit to use JUnit 5 when applying useKotlinTest
- Improve TestLauncher interface
- VERSION_CATALOGS feature fails if any dir in project path starts with character "u": "illegal unicode escape"
- Upgrade embedded Kotlin to 1.7.10
- Improve outputContains output for integration testing
- Make compile tasks incremental after a failure
- Incremental cache lost after a compilation error when using Micronaut
- Throws TimeoutException during configuration (after 1 minute, Gradle Kotlin IO impl)
- Document where to find Options from tasks
- JavaToolchainService not available on JVM ecosystem projects
- gradleTestKit not available in test suite
- Named argument notation not supported for dependencies in test suite plugin
- Support "Zulu OpenJDK Discovery API" for auto provisioning toolchains
- Remove internal `org.gradle.kotlin.dsl.accessors` feature flag
- [Build Scans] Class-based Settings Plugin breaks build scans when using pluginManagement.includeBuild(...)
- Add a classifier property to the Distribution type
- Update bundled JUnit 5 launcher
- Precompiled Kotlin DSL scripts fix the JVM target to 8
- Allow setting a custom timeout for gradle wrapper download
- `dependencies` task is not compatible with the configuration cache
- Report the number of tasks scheduled for execution to TAPI clients
- Support serializable lambdas for up-to-date checks
- IBM JDK is detected but never selected
- DependencyHandler create method is missing configure with Action overload
- "properties" task is not configuration cache compatible
- Retry connection connection closed during resolution.
- Support auto-download of Java toolchains for more vendors than just AdoptOpenJDK
- Configuration cache - patterns are not serialized for the file tree
- TestLauncher TAPI improvements
- Gradle javaToolChains - output is misleading
- javaToolchains task provides insufficient error information
- gradle init should not create buildSrc but use included build logic builds
- Public API for deciding whether config caching is enabled
- No java incremental compile after compile failure - "unable to get source-classes mapping relationship from last compilation."
- Re-use compiler daemons between builds
- Improve test setup and documentation for Java & JVM projects
- Build script class names depend on the absolute path
-Ability to re-run selected tasks
-Task action implementation is not tracked when added via Task.doLast(String, Action)
-Add ability to specify "name" for task.onlyIf actions (and possibly others like upToDateWhen)
-Remove wrapper zip after unzipping
-Project.afterEvaluate execution order is not specified in documentation
- Regression in 7.6-rc-1 when using invalid Maven repository name
- Add extra entries to JavaVersion for future compatibility
- 7.6 RC1: UnsupportedNotationException for version catalog dependency bundle
- 7.6 RC1/2: UnsupportedNotationException for version catalog bundle dependency constraint
- "Unable to make progress running work" redux2
- "Unable to make progress running work" using 7.6-rc-3
- 7.6 RC3: DependencyAdder.invoke cannot be called with the arguments supplied
更新時間:2022-10-13
更新細節:
What's new in this version:
New devices in Blisk:
- IPhone 14, iPhone 14 Plus, iPhone 14 Pro, iPhone 14 Pro Max are ready to use in the Blisk app, where you can run a mobile test, a responsive test, or a cross-device test. These devices are preinstalled in the Blisk app, so you don't need to download or install anything other than the Blisk app. The latest iPhones run directly on your PC, Mac, or Linux, and the code runs locally, avoiding potential data loss or security issues.
- Starting with v.19.1.122.126, Blisk opens new possibilities for running different kinds of mobile tests on iPhone 14, iPhone 14 Plus, iPhone 14 Pro, iPhone 14 Pro Max: responsive test, multi-device test, touch events test, performance test, landscape orientation test, dark mode test, test for page errors, slow Internet connection test, etc.
更新時間:2022-08-06
更新細節:
What's new in this version:
Fixed:
- JavaVersion.VERSION_18 is still marked @Incubating
- NullPointerException when passing certain types of config properties to Checkstyle
- Finalizers of finalizers no longer execute when upstream task fails
- CheckStyle fails because it has no javaLauncher configured
- Update upgrading guide to warn about change in Checkstyle working directory
- Storing a task property set to a ValueSource provider with ValueSourceParameters.None parameter type into configuration cache fails
- Gradle 7.5 Javadoc plugin is broken for multi-module aggregation (due to setting --source-path)
- Scala compilation fails with 'rt.jar (class sbt.internal.inc.DummyVirtualFile) is not supported'
更新時間:2022-07-24
更新細節:
更新時間:2022-07-15
更新細節:
What's new in this version:
Support for Java 18:
- Gradle now supports running on and building with Java 18
Support for Groovy 4:
- Gradle now supports building software using Groovy 4.0. Note that Groovy DSL buildscripts still use Groovy 3
Scala Zinc has been updated:
- The default Scala Zinc version was updated to 1.6.1
- Zinc is the Scala incremental compiler that allows Gradle to always compile the minimal set of files needed by the current file changes. It takes into account which methods are being used and which have changed, which means it’s much more granular than just interfile dependencies.
Continuous Build is much more responsive on Windows and macOS with Java 9+:
- Continuous Build automatically re-executes the build with the same requested tasks when inputs change. This allows for continuous feedback during development.
- Because of the internal changes in the JDK, Continuous Build did not work well on Windows and macOS on Java 9 and higher. It could take up to 10 seconds to detect a change and trigger a build.
- Now Gradle picks up changes nearly instantly on Windows and macOS for all Java versions as well, making Continuous Build respond quickly on all major operating systems. This is because Gradle now uses its own robust and natively implemented file system watching system instead of relying on the generic API in the JDK.
Improved diagnostic reports for dependency resolution:
Outgoing Variants:
- The outgoingVariants report now provides additional information that allows further insight into variant aware dependency resolution results
- This report is useful when determining why a particular variant of this producer project was selected by another consumer project when the producer depends upon the consumer. Run the report from the producer project, to list every variant built by it (including secondary variants only visible to other local projects). The output contains the capabilities and attributes present on each variant of the producer, along with other information detailed below. This output can be compared against the output of the new resolvableConfigurations report run in the consumer.
- Descriptions are now printed for secondary variants, if present
- Configurations using @Incubating attributes are marked with an (i)
- The legend at the bottom of the report clarifies the usage of secondary variants
- The formatting (and coloring for rich console) of the output is now clearer and more consistent with other reports
- Capabilities, Attributes and Artifact lists are alphabetically sorted
- (not shown) Classifiers are now printed next to artifacts if present
- (not shown) New messages when using --all and --variant options to better describe results (or the lack thereof)
Description available on secondary variants:
- When defining secondary variants, which are variants available only to other local Gradle projects, there is a new ConfigurationVariant method available to supply a note or description for the variant. These descriptions will be printed by the outgoingVariants report and defaults have been added for existing secondary variants produced by the Java plugin.
Resolvable Configurations:
- There is a new resolvableConfigurations report available which will display information about all the configurations in a project that can be resolved
- This report compliments the outgoingVariants report and is meant to be run from the consumer side of a dependency to determine why a particular variant of a producer project was selected by this consumer project when the consumer depends upon the producer. It includes the following information:
- Description, Attributes and (directly) extended Configurations
- A --recursive option flag can be set to display all configurations which are extended transitively
- Attributes affected by Compatibility or Disambiguation rules during resolution listed
- A --configuration option can limit this report to a single configuration
- A --all option flag can be set to include legacy configurations which are both resolvable and consumable; these will be hidden by default
- See the ResolvableConfigurationsReportTask DSL reference for more details
Dependency Insights:
- The dependencyInsight report provides information about a specific dependency, including what variant was selected, and the attributes used during resolution.
- The report now uses a table to display variants, which makes it easier to tell where attribute values are from, and see why a particular variant was selected
- The variant name is listed at the top, after the word "Variant"
- The variant output is now in table format.
- Attributes only present in the variant's metadata only contain text in the "Provided" column
- Attributes present in both the variant's metadata and requested by the configuration contain text in both columns
- Attributes only requested by the configuration only contain text in the "Requested" column
- As seen in (3) and (5), items are colored orange if they are not present in one column. The table is sorted first by groups (3), (4), and (5); then alphabetically inside each group.
Dependency resolution results can be used as task inputs:
- Tasks may need to access dependency resolution results. For example, built-in tasks like dependencies and dependencyInsight do so in order to provide reporting about resolved artifacts and dependency graphs. Other tasks may produce file outputs based on dependency resolution results. Previously, it was only possible by performing dependency resolution in a task action. However, this resulted in suboptimal performance.
- Starting with Gradle 7.5 it is now possible to declare dependency resolution results as task inputs.
- This allows writing tasks which consume dependency resolution results. Declaring such inputs instead of doing undeclared dependency resolution in task actions allows Gradle to optimise for build incrementality. Additionally, these new types of task inputs are fully supported by the configuration cache.
- You can learn more in the Authoring Tasks user manual chapter and with the dedicated sample
Configuration cache improvements:
- The configuration cache improves build time by caching the result of the configuration phase and reusing this for subsequent builds
- Running external processes at configuration time:hg
- Previously, external processes started with exec or javaexec APIs were ignored by configuration cache, and it could be a potential correctness issue if the output of the external process affects the configuration.
- A new Provider-based API is now available to obtain the output of the external process in the configuration-cache-compatible way. The exec and javaexec APIs are now disallowed if the configuration cache is enabled in order to prevent potential issues.
- If a more complex interaction with the external process is necessary, then a custom ValueSource implementation can be used. The injected ExecOperations service should be used to run the external process.
Files read at configuration time become build configuration inputs:
- Files read at configuration time with FileInputStream or some Kotlin APIs now automatically become build configuration inputs. The configuration cache is invalidated if the contents of such file(s) change between builds.
- Previously, file reads were ignored, and it could be a potential correctness issue if the contents of the file(s) affected the configuration
New ways to access environment without unnecessary invalidations of the configuration cache:
- Since the automatic build configuration inputs detection was introduced in Gradle 7.4, some common patterns of reading subsets of environment variables or system properties were causing excessive invalidations of the configuration cache, leading to suboptimal performance. For example, iterating over all environment variables to find the ones with names starting with some prefix caused all available variables, even the unrelated ones, to become configuration inputs.
- Two new options are now available to mitigate that. For simpler use cases, there are the Provider-based APIs to access system properties or environment variables with names starting with some prefix. Advanced processing, like filtering names with regular expression, can be done inside a custom ValueSource implementation. Reading a file, an environment variable, or a system property no longer adds a build configuration input inside the implementation of the ValueSource. The value of the ValueSource is recomputed each time the build runs, and the configuration cache entry is only invalidated if the value changes.
New compatible plugins and tasks:
- The kotlin-dsl plugin is now compatible with the configuration cache
- The dependencyInsight, outgoingVariants and resolvableConfigurations tasks are now compatible with the configuration cache
New STABLE_CONFIGURATION_CACHE feature flag:
- Configuration caching introduces a number of requirements regarding the build logic. Many problems are already reported in the HTML report. At the moment, adjusting the build logic to be fully compatible with configuration cache can be a significant effort for complex builds.
- This release introduces the STABLE_CONFIGURATION_CACHE flag allowing gradual rollout of the most potentially disruptive requirements. This flag currently enables validations like detecting undeclared shared build service usage and external processes used at configuration time.
- It is recommended to enable this flag as soon as possible in order to be ready for when the flag is removed and make the linked features enabled by default
JVM toolchains improvements:
- Java toolchains provide an easy way to declare which Java version your project should be built with. By default, Gradle will detect installed JDKs or automatically download new toolchain versions.
- Java toolchains can download any JDK by automatically selecting between Adoptium and AdoptOpenJDK
- Gradle now checks the Adoptium API first when downloading JDKs, rather than only using the legacy AdoptOpenJDK API. This allows downloading the new JDK 18 releases, which are not available via AdoptOpenJDK, while still maintaining the ability to download versions that are no longer supported by Adoptium, such as JDK 9-10 and 12-16.
- In case you are using an internal mirror to download JDKs, there is a new Gradle property org.gradle.jvm.toolchain.install.adoptium.baseUri to control the Adoptium base URI. This is in addition to theorg.gradle.jvm.toolchain.install.adoptopenjdk.baseUri property, which is still used if a JDK is not found in the Adoptium API.
IDE integration improvements:
Improved test sources separation in Eclipse:
- This release provides improved support for test sources in Eclipse.
- The Eclipse classpath file generated by the eclipse plugin has the following changes:
- Project dependencies defined in test configurations get the test=true classpath attribute
- All source sets and dependencies defined by the JVM Test Suite plugin are also marked as test code by default
- The eclipse plugin DSL exposes properties to configure test sources
Query a single property with the properties task:
- The built-in properties task prints all project properties to the console. Now, the task takes an optional --property argument which configures it to display the selected property only.This is useful for keeping track of specific properties on CI systems, and requires much less parsing and filtering than before.
Groovydoc exposes more options:
The Groovydoc task now exposes more options:
- access: for controlling the access levels included in the documentation, defaults to PROTECTED
- includeAuthor: for controlling whether the author is displayed in the documentation, defaults to false
- processScripts: for controlling whether scripts are included in the documentation, defaults to true
- includeMainForScripts: for controlling whether a script's main method is included in the documentation, defaults to true
- These defaults are the same as what was previously used, so there should be no changes to the default behavior
show-version (-V) flag:
- The -V flag (long form --show-version) instructs Gradle to first print version information and then continue executing any requested tasks. This is in contrast to the pre-existing -v (long form --version) flag which prints version information and then immediately exits.
- This flag may be useful in CI environments to record Gradle version information in the log as part of a single Gradle execution
Performance Improvements:
- Checkstyle tasks use toolchains and execute in parallel by default
- The Checkstyle plugin now uses the Gradle worker API to run Checkstyle as an external worker process, so that multiple Checkstyle tasks may now run in parallel within a project. This can greatly increase overall build performance when several of these tasks exist within a single project. You can adjust the memory used by the Checkstyle process via the minHeapSize and maxHeapSize properties on the Checkstyle task. In case of out of memory errors please see the Gradle 7.x upgrade guide.
- Checkstyle now uses JVM toolchains in order to minimize JDK installation requirements. In Java projects, Checkstyle will use the same version of Java required by the project. In other types of projects, Checkstyle will use the version of Java that is used by the Gradle daemon.
Run a single PMD task on multiple threads:
- PMD is a quality analysis tool that runs on the Java source files of your project
- With this version of Gradle, the thread parameter PMD offers is now exposed through the PMD extension and tasks. This allows configuration of PMD to run its analysis on more than one thread.
- See the documentation for more information
Better test compatibility with Java 9+:
- When running on Java 9+, Gradle no longer opens the java.base/java.util and java.base/java.lang JDK modules for all Test tasks. In some cases, this would cause code to pass during testing but fail at runtime.
- This change may cause new test failures and warnings. When running on Java 16+, code performing reflection on JDK internals will now fail tests. When running on Java 9-15, illegal access warnings will appear in logs. While this change may break some existing builds, most failures are likely to uncover suppressed issues which would have only been detected at runtime.
- For a detailed description on how to mitigate this change, please see the upgrade guide for details
Fixed:
- 88 issues have been fixed in Gradle 7.5
- "Unable to make progress running work" using 7.5-rc-3
- StackOverflowError thrown from internal Gradle code
- Broken links for 7.5-rc-2 release notes
- Fix implicit command-line ordering test in AbstractIdeLifecycleIntegrationTest
- `mustRunAfter` constraint is violated by `finalizedBy` dependency
- Incorrect task ordering in Gradle 7.5-rc-1 (and possibly earlier versions)
- Build fails with "Task was never scheduled for execution" exception when configuration cache is enabled
- Misdetected cycle on combination of `finalizedBy` and `mustRunAfter` constraints
- `ResolvedArtifactResult` cannot be fingerprinted when there are outputs in 7.5-rc-1
- Remember to double check the releases.xml update after RC2 is built
- `ArtifactCollection.getResolvedArtifacts()` is not compatible with configuration cache if combined with artifact views
- Misdetected cycle issue after upgrading to 7.5-rc-2
- Gradle refresh in IntelliJ IDEA fails with IllegalStateException: Unexpected parent dependency id error with spring-boot 2.6.7
- Gradle worker should not open any packages during tests
- 7.5 nightly slows down or hangs when many tasks are requested on the command-line
- Wrong inputs detected when using large filtered file trees
- Regression in ArtifactTransforms for transforming artifactType from jar to directory
- Creator-destroyer relationship for tasks from different projects not upheld during parallel execution
- Possible unexpected state in scheduler causing deadlock
- Clarify docs re: CLI task ordering
- Toolchain not downloading Java18 for specific vendor
- Failing to fingerprint the class API should not fail the entire zip/jar
- Support latest JDK features while inspecting classes
- Task outputs are wrongly detected in conjunction with filtered file trees
- Using `rename { ... }` in `Copy` task silently breaks configuration cache
- configureondemand causes build failure in multi module project with different group name
- Adjust documentation in Jacoco Report Agreggation plugin and Test Report Aggregation
- Configuration cache failure in 7.4.2 caused by kapt
- Toolchain cannot download JDK 18
- Dependency resolution depends on existence of external POMs
- Build with included builds fails with "Unable to make progress running work"
- gradle depends on an insecure third-party JAR package that contains the CVE vulnerability
- Imported BOM parsing fails if published with Gradle Module Metadata
- Add "threads" configuration option to PmdExtension
- Support annotationProcessor in Test Suites' dependencies block
- Dependency verification fails for signed klib artifacts
- Build cache miss with TYPESAFE_PROJECT_ACCESSORS
- Plugin Development plugin declares inputs with custom equals()
- notCompatibleWithConfigurationCache failed to force errors into warnings
- Tests should run after `jar` task
- Dependency constraint on project with newer version does not upgrade dependency on Maven artifact
- Setting bootClasspath can cause build failure with obscure message on Windows only after upgrade to 7.3.x
- Support xfs for file watching. Report file system type when found to be unsupported
- Pattern `fileCollection.filter(predicate).getAsFileTree().matching(patternSet)` is not supported by the configuration cache
- Fix DefaultMutableAttributeContainer behavior when updating attributes using both eager and lazy values
- Default checkstyle version does not support sealed modifier
- Unix start script doesn't respect JAVA_OPTS when xargs isn't installed
- Document limitations of continuous build
- Remove https://keys.fedoraproject.org from key servers
- Add new ResolvableVariants Report
- Extend `PropertyReportTask` to allow specifying which property to query
- Allow Gradle Enterprise plugin to read access key files during configuration phase
- Relative paths for detected file inputs are wrong in the configuration cache report
- Take filename into account for caching artifact transform results
- Upgrade embedded Kotlin to 1.6.10
- Support JDK 18
- Make obscure "no signature of method" error message useful
- Strange JVM target warning from Kotlin DSL in buildSrc
- Wrong Gradle 7.2 documentation for version conflict resolution when only ranges involved
- Generalize `TaskInputsListeners`
- Kotlin DSL "classpath mode" leniency doesn't capture after evaluation exceptions
- Incorrect result when TestNG 7.x test times out
- Be able to skip implicit adding of gradlePluginPortal repo
- Properly analyze jar files without directory entries during test scanning
- Configuration cache doesn't capture system property updates during configuration
- `project.sync` is not allowing to specify `preserve` even though the `Sync` task does and the documentation explicitly mentions it
- Eclipse classpath should be able to use test fixtures in implementation dependencies
- dependencyInsight task is not configuration cache compatible
- Review types excluded from annotation analysis
- Confusing error message when build cache can't clean output directory
- Deadlock when task outputs are calculated from input configuration
- IterationOrderRetainingSetElementSource#add takes time linear in the collection size
- NullPointerException during isolation of artifact transform parameters and shared build service configuration
- Scala 2.13 with Zinc 1.4.3 fails with NoSuchMethodError
- Gradle Windows scripts don't propagate exit codes correctly
- DirectoryProperty.files() resolves incorrectly
- Invalid closure configuration methods lead to cryptic error messages
- Custom Remote Build Cache does not work with configuration cache enabled
- Provide a configuration cache friendly way of looking up a subset of system properties and environment variables
- Task dependency is silently dropped with mismatching setter.
- Project properties not accessible from settingsEvaluated
- Introduce APIs to represent a resolved dependency graph in a lazy manner
- Add flag to hide welcome message
- Use same infrastructure for VFS retention and continuous build
- Gradle 5.6.2 and TestNG 7.0.0 incompatibility
- Deprecate `IncrementalTaskInputs`
- Javadoc does not take into account custom options
- Continuous build responsiveness is too slow on mac
更新時間:2022-05-23
更新細節:
What's new in this version:
- new features: iOS 15 and iPadOS 15
- New devices
- Improvements for CPU and Memory usage
- Settings: max number of devices
- Support for New technologies
- Latest Security fixes
更新時間:2022-05-23
更新細節:
更新時間:2022-05-23
更新細節:
What's new in this version:
Data editor:
- Numbers formatting: digit group size option was added
- Problem with unexpected change of timestamp values was fixed
- Smooth scrolling on MacOS was improved
- Data transfer: XML format export was improved (encoding information)
SQL editor:
- Results tab reuse behavior was fixed + new config option was added
- Result logging was added for script execute task
- Redundant "Problems" view popup was removed
- Keywords highlighting was fixed (problem with identifiers which start with underscore)
Diagrams:
- Connected entities highlighting was added
- Entities and columns search was improved
- New diagram routing was added
- Problem with unreadable comments was fixed (dark theme)
- Export in SVG and Graphml formats was improved
- Pseudo columns were removed from diagrams
- Diagram re-arrange was fixed
- Many minor bugs were fixed
Connections:
- Creating connection from JDBC URL was improved
- Opening connection using CLI was improved (extra option -save was added)
- Preference pages: problem with small font size ws resolved
PostgreSQL:
- SSPI authentication support was added (problem with JNA library conflicts was resolved)
- Read-only connections support was improved (restrict of DML queries)
- Scheduled jobs management was added
SQL Server:
- External tables metadata read was fixed
- NTLM authentication support was fixed
- Italian localization was improved
- Chinese localization was improved
更新時間:2022-05-19
更新細節:
What's new in this version:
New device: iPhone SE 2022:
- The latest iPhone SE 2022 released by Apple recently is now available in Blisk. The device specification with viewport, screen size, device pixel ratio, CSS media query is available in iPhone SE 2022 overview. The specs of other devices are located in our Device center.
Improvements for CPU and Memory usage:
- Blisk v.18 features improvements for CPU and Memory usage. The reworked Developer mode was optimized to reduce the calls for the application resources and save CPU and RAM. As a result, each tab uses less resources and has improved user experience - we managed to prevent flashing of tab contents for the device sets with up to 6-8 devices (the number depends on your device OS and CPU).
Settings: max number of devices:
- One of the features that are often requested by users is increasing the number of devices in a device set. This feature has a high demand for the users that are performing device tests on multi-monitor systems or large TVs. By default, Blisk limits device set to have 8 devices to prevent high load on the CPU. Since version 18, you can change the limit of devices in Developer Mode Settings.
New technologies support in Blisk:
DevTools: CSS Grid editor:
- When an HTML element on your page has display: grid or display: inline-grid applied to it, you can see an icon appear next to it in the Styles pane. Click the icon to toggle the CSS grid editor. Here you can preview the potential changes with the on-screen icons (e.g. justify-content: space-around) and author the grid appearance with just one click.
- DevTools: Support for const redeclarations in the Console:
- The Console now supports redeclaration of const statement, in addition to the existing let and class redeclarations. The inability to redeclare was a common annoyance for web developers who use the Console to experiment with new JavaScript code.
- This allows developers to copy-paste code into the DevTools console to see how it works or experiment, make small changes to the code and repeat the process without refreshing the page. Previously, DevTools threw a syntax error if the code redeclared a const binding.
DevTools: Improved CORS debugging:
- CORS-related TypeErrors in the Console are now linked to the Network panel and Issues tab. Click on the two new icons next to the CORS-related error message to view the network request, or understand the error message further and get potential solutions in the Issues tab.
DevTools: Change color format in the Computed pane:
- You can now change the color format of any element in the Computed pane by Shift + click on the color preview
DevTools Preview feature: New CSS Overview panel:
- Use the new CSS Overview panel to identify potential CSS improvements on your page. Open the CSS Overview panel, then click on Capture overview to generate a report of your page’s CSS.
- You can further drill down on the information. For example, click on a color in the Colors section to view the list of elements that apply the same color. Click on an element to open the element in the Elements panel.
DevTools: New CSS length authoring tools:
- DevTools added an easier yet flexible way to update lengths in CSS! In the Styles pane, look for any CSS property with length (e.g. height, padding). Hover over the unit type, and notice the unit type is underlined. Click on it to select a unit type from the dropdown.
Relative indexing method for Array, String, and TypedArrays:
- Relative indexing via negative indices is a feature that enjoys popularity in other languages (e.g. Python) as well as having been requested by JS programmers
- As a result, the new method was implemented, named at(), to Array.prototype, String.prototype, and the TypedArray prototypes, that permit relative indexing with negative indices.
crypto.randomUUID():
- Generating random UUIDs is a common need for web applications (the uuid module on npm is installed > 200,000,000 times a month). Developers who have not been exposed to RFC 4122 might naturally opt to invent their own approaches to UUID generation, potentially using insufficient PRNG implementations. Standardizing a UUID method, which dictates that a CSPRNG must be used, helps protect developers from security pitfalls.
- Details: The method crypto.randomUUID() is used for generating RFC 4122 version 4 identifiers. The method returns the namespace specific string representation (for example, "6e4decd0-6066-4a25-98e3-0227317cda52").
AbortSignal.abort() static method:
- AbortSignal.abort() is a static method that allows creating a new AbortSignal object that is already aborted. It is similar in spirit to Promise.reject(), and provides improved developer ergonomics.
- Web developers have found aborted AbortSignal objects to be useful for a variety of purposes. It signifies to JavaScript APIs that no work should be done.
ALPACA attack protection:
- Connections to HTTP, HTTPS or FTP servers of ports 989 and 990 will fail
- These ports are used by the FTPS protocol, which has never been implemented in Chrome. However, FTPS servers can be attacked in a cross-protocol attack by malicious web pages using carefully-crafted HTTPS requests.
- This is a mitigation for the ALPACA attack. See https://alpaca-attack.com/.
- CSS Flexbox: support alignment keywords start, end, self-start, self-end, left, right:
- Flexbox previously only obeyed center, flex-start, and flex-end. The additional alignment keywords (start, end, self-start, self-end, left, right) allow authors to more easily align the flex items in the face of varying writing modes and flex flows.
- Without these additional keywords, developers need to change the keyword values whenever they change the writing mode, text direction, or flex reversal properties (flex-direction: row/column-reverse or align-content: wrap-reverse). The keywords implemented here let them set alignment once.
CSS module scripts:
Solutions for including CSS in component definitions are lacking. Current practices all have one or more of the following rough edges:
- Side effects like appending <style&rt; elements to the document. If this is done in the top-level scope of the document then it breaks shadow root style scoping. If it is done inside a shadow root then each individual instance of the component must include its own <style&rt; element in its shadow root instance.
- Inlined CSS text as a string in JavaScript. This is not optimally performant (it's processed by both the JS and CSS parsers) and is a poor developer experience.
- Dynamically fetch()ing CSS is generally not statically analyzable and requires careful dependency management by the developer for complex applications.
- Details: CSS module scripts solve these issues by extending the ES modules infrastructure to allow importing a CSS StyleSheet object from a CSS file, which can then be added to the document or a shadowRoot via the adoptedStyleSheets array.
CSS Overflow: scrollbar-gutter:
- The "scrollbar-gutter" property provides control over the presence of scrollbar gutters (the space which may be reserved to display a scrollbar), allowing authors to prevent layout changes as content expands while avoiding unwanted visuals when scrolling isn't needed.
- Note that the presence of the scrollbars themselves is determined by the "overflow" property and the decision of whether to use classical or overlay scrollbars is up to the User Agent
- This property provides authors with more control over how their layouts interact with the scrollbars provided by the browser. For example, authors will be able to prevent excessive layout changes as the content expands while avoiding unwanted visuals when scrolling isn't needed. Note that the presence of the scrollbars themselves is determined by the overflow property and the decision of whether to use classical or overlay scrollbars is up to the browser/OS.